# Notas de la versión 37

**Ver** [**requerimientos de la versión**](/velneo/requerimientos-de-velneo.md).

Ver [recomendaciones para actualizar instalaciones en producción a una nueva versión de Velneo](/velneo-vdevelop/buenas-practicas-de-programacion/recomendaciones-para-actualizar-instalaciones-en-produccion-a-una-nueva-version-de-velneo.md).

## Ya no se soportan los protocolos inseguros TLS 1.0 y TLS 1.1

A partir de esta versión, Velneo vServer deja de soportar los protocolos TLS 1.0 y TLS 1.1 por considerarse inseguros. La [versión mínima soportada es la 1.2](/velneo-vserver/instalacion-y-configuracion/parametros-configurables-de-velneo-vserver.md#limitar-las-versiones-de-tls-activas).

## Actualización de librerías OpenSSL a la versión 3.6.1

Se han actualizado las librerías de [OpenSSL](https://www.openssl.org/) a la versión 3.6.1. Esta actualización incorpora mejoras de seguridad y correcciones de estabilidad. Si tu aplicación utiliza certificados o configuraciones específicas de OpenSSL, te recomendamos verificar su correcto funcionamiento tras la actualización.

## Actualización de la compilación de Android a Qt 6.5.10

Se ha actualizado la compilación de Android a Qt 6.5.10 para cumplir con el requisito de Google Play de tamaños de página de 16 KB en librerías nativas. Este requisito es obligatorio para nuevas publicaciones en Google Play.

## Obligatoriedad de actualizar la solución de vLanzadera a su versión 37

Si actualizamos a la versión 37 de vServer, es obligatorio actualizar también la aplicación vLanzadera a su versión 37, ya que las versiones anteriores de vLanzadera no son funcionales en Velneo 37.

Podrás obtenerla en nuestra [página de descargas](https://velneo.es/mivelneo/descargas/). Una vez instalada, debemos reiniciar la instancia, ejecutarla y dejar que se lancen los procesos de migración.

## Los comandos de consumo de servicio web y XmlHttpRequest usan HTTP/2 por defecto

En versiones anteriores, los comandos de [consumo de servicio web](/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/consumo-servicio-web.md) y la clase [XmlHttpRequest](/velneo-vdevelop/scripts/lenguajes/javascript/clases/xmlhttprequest.md) utilizaban HTTP/1.1 por defecto, y HTTP/2 estaba disponible únicamente mediante una [clave beta](https://doc.velneo.com/velneo/notas-de-la-version#activar-soporte-http2). En esta versión, **HTTP/2 es el protocolo por defecto**.

{% hint style="info" %}
Se recomienda comprobar el correcto funcionamiento de los procesos que consumen servicios web externos y de los scripts que usen XmlHttpRequest tras la actualización, especialmente aquellos que dependan de cabeceras HTTP. Recuerda que para asegurar la compatibilidad entre HTTP/1 y HTTP/2, las cabeceras HTTP deben definirse en minúsculas.
{% endhint %}

Si algún servicio externo al que conectes no es compatible con HTTP/2, podemos forzar el uso de HTTP/1 mediante una nueva [clave beta](/velneo/funcionalidades-comunes/creacion-de-claves-beta.md):

* **Clave**: disableHttp2
* **Valor**: FAE25622943A43D81F00A2D73B3F545D887C776E
* **Ámbito**: cliente, servidor y Apache

## Desaparecen los comandos de instrucción de proceso del grupo Scripts

En la versión 36 [dejaron de ser funcionales](https://doc.velneo.com/v/36/velneo/notas-de-la-version#dejan-de-ser-funcionales-los-comandos-de-instruccion-de-proceso-del-grupo-scripts) los comandos de instrucción de proceso del [grupo Scripts](https://doc.velneo.com/36/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/basicos/scripts-grupo-de-comandos). En esta versión se eliminan definitivamente del árbol de comandos de instrucción y del combo de selección de comandos en vDevelop.\
\
Si aún tenías referencias a estos comandos en tus proyectos, debes sustituirlos por [procesos JavaScript](/velneo-vdevelop/scripts/lenguajes/javascript/procesos-javascript.md) o [fórmulas JavaScript](/velneo-vdevelop/scripts/lenguajes/javascript/formulas-javascript.md).

## Nueva firma digital con Azure Trusted Signing

Se ha implementado el proceso de [Trusted Signing de Azure](https://learn.microsoft.com/es-es/azure/trusted-signing/) para la firma de ejecutables (.exe) y librerías en Windows, sustituyendo el sistema de firma anterior. Esto no afecta a la funcionalidad de las aplicaciones, pero el certificado de firma es diferente al de versiones anteriores. Este nuevo sistema garantiza el origen y procedencia de los ejecutables y asegura "la reputación" para evitar mensajes de advertencia ante la instalación.

## Nuevo servicio HTTPS

{% hint style="info" icon="circle-exclamation" %}
Para los usuarios del cloud de Velneo que tengan activado el servicio de Velneo vModApache, tras actualizar a la versión 37 se debe [reiniciar la URC completa](/velneo-cloud/panel-de-control-vserver-cloud/urc.md).
{% endhint %}

[Velneo vServer](https://doc.velneo.com/37/velneo-vserver/que-es-velneo-vserver) incorpora un **servicio HTTPS ligero** con una potente funcionalidad de *virtual hosts* que permite, en un Velneo vServer, acceder a las APIs configuradas en las [instancias](/velneo-vadmin/gestion-de-aplicaciones/instancias.md) de las aplicaciones.

En local, creará un *virtual host* por defecto para el puerto 443.

En [Velneo Cloud](https://doc.velneo.com/37/velneo-cloud/que-es-velneo-cloud), el puerto establecido es el 8000 y no puede cambiarse. **Dicho puerto no está abierto y disponible**, sino que se redirige por proxy inverso desde Apache, por el puerto que se tenga configurado. En el caso de desarrollo, se puede ver en el panel el puerto HTTPS asignado.

En el caso de producción, usará el estándar 443 correspondiente a HTTPS y estará también visible en el panel de control.

En Cloud, en servidores con Apache, se usará también el puerto estándar 443. Permitirá el acceso a vAdminWeb y vDataClientWeb, por ejemplo: [https://c3.velneo.com:XXXX2/login](https://doc.velneo.com/velneo/https:/c3.velneo.com:XXXX2/login), y la creación de *paths*/*location* para servir aplicaciones de Velneo en el *virtual host* por defecto, en sustitución de vModApache.

Los *location* de vModApache prevalecen sobre los del servicio HTTPS de Velneo. A medida que los vayan eliminando, se podrá usar ese mismo *path* para el servicio HTTPS de Velneo.

* En Cloud en desarrollo, se redirigirá al puerto correspondiente terminado en 2. Solo será posible usar vAdminWeb y vDataClientWeb, por ejemplo: [https://c3.velneo.com:XXXX2/login](https://doc.velneo.com/velneo/https:/c3.velneo.com:XXXX2/login)
* Esto es así porque el servicio HTTPS es un servidor ligero que requiere un proxy inverso anterior.

Mediante este servicio también podremos ejecutar directamente en nuestros servidores tanto [vAdmin](/velneo/velneo-web.md#administrar) como [vDataClient Web](/velneo/velneo-web.md#gestionar-bbdd).

## Incidencias

### Error en el generador de interfaz (Resuelta en versión 37.1)

El [generador de interfaz](/velneo-vdevelop/interfaz-de-velneo-vdevelop/menu-objetos.md#generar-interfaz-control--g), al generar el código fuente para el formulario de menú `ID_TABLA_MEN`, específicamente en el evento de búsqueda `TXT_BUS_KEY`, escribe fuera del bloque los subprocesos o funciones secundarias definidos dentro de una estructura condicional (`If` / `ElseIf`).

### Rejillas editables: cambio de comportamiento con la edición de registros al usar teclas de cursor (Resuelta en versión 37.1)

En versiones anteriores de Velneo, al editar un registro en una rejilla editable y utilizar las teclas de cursor arriba/abajo, el sistema permitía editar el registro anterior o siguiente automáticamente. Sin embargo, en la versión 37, aunque el foco se mueve al otro registro, este no entra en modo de edición automáticamente.

## Velneo vERP 37 pendiente de publicación

La versión 37 de la plantilla está pendiente de publicar.

## Mejoras de rendimiento en beta

Estamos trabajando también en mejoras de rendimiento en distintos ámbitos.

Si quieres disfrutar de la versión beta de estas mejoras, debes [activar ciertas claves beta](/velneo/funcionalidades-comunes/creacion-de-claves-beta.md) correspondientes en el cliente, en el caso de los objetos de interfaz, y también en el servidor, en el caso de los procesos.

Estas son las distintas claves beta que podemos configurar:

#### [Rejillas](/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/rejilla.md) estándar, carga y movimiento optimizados (requiere el [estilo](/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/rejilla.md#estilos) *Optimizado*)

* **Clave**: optimizarRejillasClient
* **Valor**: 8DF627183E075E86BADCF82C11D4F931E8BF62D8
* **Ámbito**: cliente

{% hint style="danger" %}
Si activamos esta clave, debemos tener en cuenta que los [totales de los pies de rejilla](/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/rejilla/propiedades-de-columna.md#tipo-contenido-pie) deben calcularse en **tercer plano**.
{% endhint %}

#### [Formularios](/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/formulario.md), fórmulas optimizadas

* **Clave**: `optimizarFormulariosClientFormulas`
* **Valor**: `ED979A19EEFC93EE0E4F58FB93F432BF258E1E33`
* **Ámbito**: cliente

#### Procesos, optimización de parámetros

* **Clave**: `optimizarInstruccion`
* **Valor**: `F15868161C0B05825E38ADE94001D5D9926CDFB7`
* **Ámbito**: cliente, servidor y Apache

#### Optimizaciones de rendimiento del servidor HTTP

Habilita *TLS session resumption* (*session tickets*, *session sharing*, *session persistence*) para evitar *full handshake* en cada conexión.

Prioriza *ciphers* ECDHE+AES-GCM con aceleración hardware AES-NI.

Habilita preferencia de *cipher* del servidor

Reduce *timeout* de *handshake* SSL a max 5s (por defecto es 10s).

* **Clave**: `enableOptimizarHttpServer`
* **Valor**: `758A2F71FA7CEB82E0A89BFEB470951D623B03F4`
* **Ámbito**: servidor


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/velneo/notas-de-la-version.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
