Notas de la versión
Es conveniente leer la información siguiente antes de actualizar a esta versión
Última actualización
¿Te fue útil?
Es conveniente leer la información siguiente antes de actualizar a esta versión
Última actualización
¿Te fue útil?
Ver .
Se ha identificado una vulnerabilidad relacionada con el manejo de conexiones HTTP2, asignada como CVE-2024-39936. Esta falla permite enviar datos a un servidor con un certificado TLS no coincidente que puede ser explotado mediante técnicas Man-in-the-middle en casos como redirección y otros.
Para evitar el problema con servidores web no conocidos en aplicaciones que utilicen y , se recomienda desactivar HTTP2.
En Velneo podremos hacerlo mediante la configuración de una clave beta:
http2NotSupported
= C5A39F2332858154F02E045F64F7FFF8985F4F41
Las claves beta son entradas en la rama beta de Velneo del registro del sistema operativo. Se recomienda generarlas desde un proceso con el comando de instrucción de proceso para establecerlos, ejecutándolo en 1er plano (si vamos a usar esos objetos en el cliente) o en 3er plano (si los vamos a usar en el servidor). Los parámetros se resolverán como indicamos a continuación:
Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "
http2NotSupported", "
C5A39F2332858154F02E045F64F7FFF8985F4F41")
Clave de registro http2NotSupported
con el valor C5A39F2332858154F02E045F64F7FFF8985F4F41
. Si esta clave está activa, el uso de HTTP2 no se permite.
Estas medidas aseguran la seguridad de las aplicaciones en entornos donde esta vulnerabilidad podría ser explotada.
Si actualizamos a la versión 35.2 de Velneo vServer debemos actualizar también la vLanzadera a la versión 35.2; en caso contrario, el login dejará de funcionar.
El nuevo motor JavaScript es más potente y versátil, adaptado a la nueva generación de motores JavaScript. Ya disponible durante varias versiones con clave beta, se unifican ahora el motor Javascript de Velneo con el que ya estabas disfrutando en QML.
Incluye soporte de Ecmascript 7 Mejora del sistema de detección de errores en caso de include, indicando el fichero y la línea del fichero incluido que tiene el error. Prueba tus scripts para comprobar que funcionan correctamente y cumplen las normas de Ecmascript 7, ayúdate de la opción de Verificar sintaxis del Editor de scripts. Comprueba que todas las variables usadas en tus javascript tienen correctamente definido el ámbito de ejecución (scope), ya que se trata del error más habitual, que el anterior motor no detectaba. En el caso de que el motor lo detecte, indicará un error de referencia que deberás subsanar en el código, y verificar que el script funciona como esperas.
Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "scriptEngine", "7EFBF36FB471A2235790C210208E41380D5ADE76" )
El procedimiento sería:
Ejecutar la aplicación, lanzar el proceso en primero y/o tercer plano, según donde queramos activarla.
En el ámbito del cliente, las claves serán operativas en siguientes sesiones que se lancen del mismo.
En el ámbito del servidor, las claves serán operativas en cuanto se reinicie.
En el caso de vModApache se configurará en el fichero donde tengamos configurados los location. Se aplicará a nivel general, no en el ámbito de cada location. Para ello usaremos una directiva propia llamada VelneoBetaKey. Ejemplo:
Se añadirá al fichero httpd.conf lo siguiente:
VelneoBetaKey scriptEngine=7EFBF36FB471A2235790C210208E41380D5ADE76
En el antiguo motor de JavaScript la sentencia "use strict" no se aplicaba, por lo que era menos estricto con la interpretación y ejecución del código.
En el nuevo motor JavaScript, sí se aplica, por lo código que veníamos usando y funcionaba en versiones anteriores, puede fallar. Por ejemplo, la gestión documental de vERP. Donde se utilizaban variables sin declarar. Por ejemplo, en el código siguiente, se usa una variable i que no ha sido declarada previamente:
Esto provocará un error de la ejecución del componente de Velneo cuando se ha aplicado previamente la sentencia "use strict". El código correcto sería:
O así:
Los estáticos de la vLanzadera se actualizan automáticamente en la migración de datos al ejecutar por primera vez la lanzadera en vClient y aceptar el diálogo de actualización. Para los usuarios que hayáis hecho modificaciones en el estático de body.html y lo tengáis marcado como personalizado, no se actualizará el estático y tendréis que modificar el registro manualmente.
Al final del documento hay que añadir una línea con %%CUSTOMIZED%%, de modo que quede así (incluimos solo el bloque de código afectado):
Con esta versión finaliza el soporte de QML QtQuick 1.x y QtQuick.controls 1.x. Se tendrán que migrar a Qt Quick 2 obligatoriamente. Habrá que migrar los controles a Qt Quick Controls 2.
Las próximas versiones serán compatibles de forma completa con los nuevos procesadores Apple con ARM. No será necesario el uso del soporte de Rosseta, aprovechando de esta forma las mejoras de rendimiento e integración que aportan las versiones ARM puras.
Pero también estamos trabajando para soportar procesadores Intel usando la misma instalación, por lo que no quedarán obsoletos los equipos que aún mantengan el uso de procesadores Intel.
La versión 35 de Android e iOS pasan a usar una nueva versión de librerías de integración con el sistema, lo que implica:
Cambios en el motor JavaScript también pero, a diferencia de los componentes de escritorio, será único, no se podrá volver al motor anterior.
Cambios en QML, se tendrán que migrar a Qt Quick 2 obligatoriamente. Habrá que migrar los controles a Qt Quick Controls 2.
Cambios en módulos de QML, como GraphicEffects, entre otros, que es deprecated.
En el caso de que hayas actualizado a la versión 35 y aún no has hecho los cambios necesarios en el QML para que tu desarrollo funcione con esta versión, aquí tienes los enlaces para descargar el vClient de Android de la versión 34.
En la versión 36 pasaremos el resto de los componentes de la plataforma a la nueva versión de librerías de integración con el sistema.
Opciones para cambiar el nuevo comportamiento de teclado virtual en controles de edición al aceptar
Por medio de una clave beta podemos alterar el comportamiento y evitar que se vuelva a abrir el teclado cuando aceptamos en un formulario en el que únicamente hay un control de edición.
enableVirtualKeyboardWorkaround = 12904136A037B5417B399964F2D899D7A2737C9C
Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "
enableVirtualKeyboardWorkaround", "
12904136A037B5417B399964F2D899D7A2737C9C" )
Se implementa la gestión local de Últimas soluciones y servidores de desarrollo, que desde la versión 35 es local y por dispositivo, y no es compartida entre dispositivos.
En la versión actual no es funcional la cámara en dispositivos Android cuando la usamos desde QML.
en iOS la ventana de los submenús se abre detrás de la ventana del menú padre.
Cuando desde un QML y un objeto lista QML, lanzamos la señal “selectionChanged” esta señal no la captura Velneo y por tanto, no lanza el formulario de edición asociado al objeto listaQML.
Sí son funcionales los informes nativos.
Si quieres disfrutar de la versión beta de estas opciones, debes activar ciertas claves beta correspondiente en el cliente (en el caso de los objetos de interfaz) y también en el servidor (en el caso de procesos).
Configuración de sistema: Escribir cadena de texto ( "Velneo", "beta", "clave", "valor" )
El procedimiento sería:
Ejecutar la aplicación, lanzar el proceso en primero y/o tercer plano, según corresponda.
En el ámbito del cliente, las claves serán operativas en siguientes sesiones que se lancen del mismo.
En el ámbito del servidor, las claves serán operativas en cuanto se reinicie.
En el caso de vModApache se configurará en el fichero donde tengamos configurados los location. Se aplicará a nivel general, no en el ámbito de cada location.
Para ello usaremos una directiva propia llamada VelneoBetaKey. Deber tener la siguiente sintaxis:
VelneoBetaKey clave=valor
Las claves beta se leen en el arranque del componente donde se apliquen.
En vClient: se puede ver en consola. En el caso de Windows podremos comprobarlo ejecutando Velneo vClent desde la ventana de comandos del sistema (CMD) redirigiendo la salida a un fichero de texto.
Ejemplo: vClient.exe > c:\log\logvClient.exe.
En el caso de Velneo vModAapche, tras arrancar el servicio de Apache debería aparece un mensaje similiar al siguiente en el fichero error.log de Apache: "Activando la clave beta NombreDeClave."
Estas son las distintas claves beta que podemos configurar:
Clave: optimizarRejillasClient
Valor: 8DF627183E075E86BADCF82C11D4F931E8BF62D8
Ámbito: cliente.
Clave: optimizarFormulariosClientFormulas
Valor: ED979A19EEFC93EE0E4F58FB93F432BF258E1E33
Ámbito: cliente.
Procesos, optimización de parámetros:
Clave: optimizarInstruccion
Valor: F15868161C0B05825E38ADE94001D5D9926CDFB7
Ámbito: cliente, servidor y Apache.
A partir de la versión 35, activamos por defecto el de Velneo. Este cambio afecta tanto a la ejecución en el cliente como en el servidor. Te recomendamos comprobar el correcto funcionamiento de los procesos JavaScript de tus aplicaciones con el nuevo motor antes de desplegar.
Con este motor deja de ser operativa la JavaScript que había en versiones anteriores, así como las funciones asociadas como print().
Si, por el motivo que sea, queremos que se siga usando el motor anterior, podemos crear la siguiente clave beta en registro del sistema operativo. Se recomienda generarla desde un proceso con el comando de instrucción de proceso para establecerla, ejecutándolo en 1º (para activarla en el cliente) y 3º plano (para activarla en el servidor). Los parámetros se resolverán como indicamos a continuación:
A continuación puedes descargar un archivo que incluye dos procesos: uno que crea la clave beta y otro que la borra. Para incluirlos en un proyecto no tienes más que usar la opción del de Velneo vDevelop. Recuerda que debes lanzarlos en primer plano para crear/borrar la clave en el ámbito del cliente y en tercer plano para crearla/borrarla en el del servidor.
En la aplicación , se añade un nuevo registro en de customized.js. Para su funcionamiento se ha modificado el body.html y se ha añadido una línea.
El ya no es funcional para las plataformas Android e iOS. Para el resto de las plataformas, desaparecerán en la versión 36. En el enlace anterior se indica la alternativa que recomendamos aplicar.
Consideramos obsoleto el uso de funciones remotas para interactuar con el servicio de . En su lugar se ha de usar el servicio REST.
Estos cambios ya fueron .
Otra posibilidad es distribuir en Android un de la versión 34 y así no se forzará la actualización a ninguna otra versión.
Las claves beta son entradas en la rama beta de Velneo del registro del sistema operativo. Se recomienda generarlas desde un proceso con el comando de instrucción de proceso para establecerlos, ejecutándolo en 1er plano en este caso. Los parámetros se resolverán como indicamos a continuación:
También es posible para esos casos.
ha provocado que no se pueda acceder a las cámaras de forma nativa (sigue sin poder accederse en Android desde QML).
En versiones anteriores, en plataformas móviles los informes personalizados solamente eran funcionales en Android. En esta versión, debido al , no son funcionales.
En el no son funcionales los procesos con origen ficha, ya que no toma correctamente el contexto de ejecución.
A partir de esta versión se deja de distribuir esta librería porque queda obsoleta. En su lugar se recomienda usar peticiones HTTP a través de Velneo que, además, es multiplataforma.
En el caso de que se necesite seguir usando se podrá usar la de la versión 34 o anteriores. .
Estamos trabajando también en mejoras de rendimiento en , un nuevo motor , optimizadas y fórmulas en .
Las claves beta son entradas en la rama beta de Velneo del registro del sistema operativo. Se recomienda generarlas desde un proceso con el comando de instrucción de proceso para establecerlos, ejecutándolo en 1º y 3º plano según corresponda. Los parámetros se resolverán como indicamos a continuación:
En el caso de Velneo vServer se informará mediante mensajes en el Velneo vAdmin en el arranque.
En vServer: en consola y también se verá en el panel de al arrancar el servicio.
estándar, carga y movimiento optimizado (requiere el Optimizado):
Si activamos esta clave debemos tener en cuenta que los deben ser calculados en tercer plano.
, fórmulas optimizadas: