Notas del lanzamiento
4D 20 R7
Lea Novedades en 4D 20 R7, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R7.
Lo más destacado
- Las columnas de los list box y de los encabezados de tipo hora ahora soportan la opción "blankIfNull".
- Nuevas propiedades en
.getBoxInfo()
y.getBoxList()
. - Ahora puede añadir y eliminar componentes utilizando la interfaz del gestor de componentes.
- Nuevo modo de tipado directo en el que declara todas las variables y parámetros en su código usando las palabras clave
var
y#DECLARE
/Function
(sólo modo soportado en nuevos proyectos). La función de verificación de sintaxis se ha mejorado en consecuencia. - Soporte de singletones de sesión y nueva propiedad de clase
.isSessionSingleton
. - Nueva palabra clave de función
onHttpGet
para definir funciones singleton u ORDA que pueden ser llamadas a través de peticiones HTTP REST GET. - Nueva clase
4D.OutgoingMessage
para que el servidor REST devuelva cualquier contenido web. - Qodly Studio: ahora puede adjuntar el depurador Qodly a 4D Server.
- Nuevas llaves Build Application para que las aplicaciones 4D remotas validen las signatures y/o los dominios.
- Lenguaje 4D:
- Nuevos comandos: Process info, Session info, SET WINDOW DOCUMENT ICON
- Comandos modificados: Process activity, Process number
- 4D Write Pro:
- Nuevo comando: WP DELETE SECTION
- Comandos modificados: WP DELETE SUBSECTION y WP RESET ATTRIBUTES
- Novedades en 4D Write Pro Reference.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R7.
Cambios de comportamiento
- La documentación del Lenguaje 4D y del Lenguaje 4D Write Pro ya está disponible en developer.4d.com. Descubra todas las novedades y cambios relativos a estas documentaciones en esta nota de la versión.
- The
File
command (as well as4D.File.new()
) is stricter when it comes to checking the syntax of the path supplied as a parameter.
4D 20 R6
Lea Novedades en 4D 20 R6, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R6.
Lo más destacado
- Soporte de operadores de comparación en las referencias de objeto y las referencias de colección.
collection.query()
ahora soporta las referencias de objeto y de colección como valores de consulta. - Cuando un componente tiene un espacio de nombres declarado, sus clases ahora se comparten automáticamente entre todos los componentes cargados en el proyecto del host por
cs.<namespace>
. - Gestión de componentes: soporte de componentes almacenados en GitHub.
- Nueva función
entitySelection.clean()
y API REST$clean
para obtener una nueva entity selection basada en la entity selection original pero sin sus entidades eliminadas. - Nueva función
session.getPrivileges()
y API REST$info/privileges
para inspeccionar los privilegios de sesión más fácilmente durante la depuración. - Nuevo archivo 4DCEFParameters.json para personalizar las áreas web anidadas de 4D.
- Nueva clase HTTPAgent y nueva propiedad
agent
para la clase HTTPRequest. - Nuevas funciones
enableState()
ydisableState()
para controlar los estados de las páginas Qodly desde el servidor. - Nueva \\` API$singleton para llamar las funciones singleton expuestas desde REST y nuevos privilegios asociados.
- Un nuevo botón de parámetros le ayuda a actualizar su proyecto para utilizar el modo REST "conexión forzada" (el método base
On REST Authentication
es ahora obsoleto). - Una nueva pestaña de parámetros permite definir la generación de advertencias de forma global.
- Varios comandos, principalmente del tema "Entorno 4D", ahora son hilo seguro (ver la lista completa), así como algunos selectores de los comandos
SET DATABASE PARAMETER
/Get database parameter
. - Nuevo componente 4D-QPDF que ofrece el comando
PDF Get attachments
para extraer los archivos adjuntos de un documento PDF/A3. - Comandos del lenguaje 4D: página Novedades en doc.4d.com.
- 4D Write Pro: página Novedades en doc.4d.com.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R6.
Cambios de comportamiento
- Soporte de encadenamiento de desplazamiento en los formularios: los subformularios principales ahora se desplazan automáticamente cuando los objetos integrados deslizables (verticalmente u [horizontalmente](. /FormObjects/properties_Appearance.md#horizontal-scroll-bar)) han llegado a sus límites y el usuario sigue desplazándose utilizando el ratón o el trackpad (desplazamiento excesivo).
- La API REST
$catalog
ahora devuelve singletons (si los hay).
4D 20 R5
Lea Novedades en 4D 20 R5, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R5.
Lo más destacado
- Nuevo Gestor de componentes para gestionar componentes a través de un archivo
dependencies.json
. - Soporte de estructuras de gestión de errores
Try...Catch...End try
. - La capa de red QUIC ahora soporta broadcasting, SSO, e IPv6.
- Soporte de selecciones de entidades restringidas.
- Soporte de clases compartidas y de clases singleton. Nuevas propiedades de clase:
isShared
,isSingleton
,me
. - Soporte para inicializar una propiedad de clase en su línea de declaración.
- Nuevo modo forzar login para peticiones REST con un soporte específico en Qodly Studio for 4D.
- Nuevo parámetro REST $format.
- El objeto
Session
está ahora disponible en sesiones de usuario remotas y en sesiones de procedimientos almacenados. - Comandos del lenguaje 4D: página Novedades en doc.4d.com.
- 4D Write Pro: página Novedades en doc.4d.com.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R5.
Cambios de comportamiento
- Los plug-ins 4D Internet Commands y 4D for OCI ya no se incluyen en los instaladores de 4D. Para obtener estos plug-ins, necesita conectarse al portal de descarga de productos 4D.
- Los cambios realizados en el editor de estructura en relación con el aspecto gráfico de las tablas y de los campos (color, posición, orden...) ahora se guardan en un archivo separado llamado
catalog_editor.json
almacenado en la carpetaSources
del proyecto.
4D 20 R4
Lea Novedades en 4D 20 R4, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R4.
Lo más destacado
- Soporte de formato de cifrado ECDSA\\` para certificados TLS.
- Las conexiones TLS cliente/servidor y servidor SQL ahora se configuran dinámicamente (no se requieren archivos de certificado).
- Formato HTML directo para exportaciones de definición de estructura.
- Nuevo Code Live Checker que mejora el control del código durante los pasos de declaración, comprobación de sintaxis y compilación para evitar errores de ejecución.
- Los parámetros de métodos declarados en prototipos
#DECLARE
ya no son necesarios en métodos "Compiler_". - Soporte de formatos personalizados de fecha y hora
- Nueva palabra clave
Try(expression)
para tratar casos de error simples. - Nuevo comando
HTTP Parse message
. - Nueva opción de compatibilidad Impresión no bloqueante.
- Nuevo modo de edición en el Explorador de datos.
- Comandos del lenguaje 4D: Página de novedades en doc.4d.com.
- 4D Write Pro: página Novedades en doc.4d.com.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R4.
Cambios de comportamiento
- El uso de una sintaxis heredada para declarar parámetros (por ejemplo,
C_TEXT($1)
ovar $1 : Text
) es obsoleto y genera advertencias en los pasos de escritura de código, verificación de sintaxis y compilación. - La coherencia de las selecciones ahora se mantiene después de que se hayan eliminado algunos registros y se hayan creado otros (ver esta entrada de blog).
- En la actualización de la librería OpenSSL, el nivel de seguridad SSL/TLS por defecto se ha cambiado de 1 a 2. Las llaves RSA, DSA y DH de 1024 bits o más y menos de 2048 bits, así como las llaves ECC de 160 bits o más y menos de 224 bits, ya no están permitidas. Por defecto, la compresión TLS ya estaba desactivada en versiones anteriores de OpenSSL. En el nivel de seguridad 2 no se puede activar.
- In order to allow password verification when the 4D user directory uses the bcrypt algorithm, the "password" value in the connectionInfo parameter of the
Open datastore
command is now sent in clear form by default. Asegúrese de que su método base "On REST authentication" puede manejar contraseñas en claro (el tercer parámetro es entonces False) y queOpen datastore
encripta su conexión pasando la opción "tls" a True en connectionInfo. En casos concretos, también se puede utilizar una nueva opción "passwordAlgorithm" por compatibilidad (ver el comandoOpen datastore
).
4D 20 R3
Lea Novedades en 4D 20 R3, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R3.
Lo más destacado
- Nueva función
collection.multiSort
. - Support of context parameter in
Formula from string
. - Soporte de la propiedad
headers
en el parámetro connectionHandler de 4D.WebSocket.new. - Sello de modificación global para ayudar a implementar módulos de sincronización de datos. Nuevas funciones:
ds.getGlobalStamp
yds.setGlobalStamp
. - La asignación de referencias de archivo a atributos imagen/blob está soportada en ORDA.
- Soporte para inicializar el valor de la variable y el tipo de datos en la línea de declaración.
- Los parámetros del archivo de registro se guardan ahora con el archivo de datos actual
- Nueva sintaxis para declarar parámetros variádicos
- 4D View Pro: soporte de la importación y de la exportación de documentos 4D View Pro al formato Blob.
- Comandos del lenguaje 4D: Página Novedades en doc.4d.com.
- 4D Write Pro: página Novedades en doc.4d.com.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R3.
Cambios de comportamiento
- Algunos errores eran detectables por su método de gestión de errores solo en modo interpretado. Se ha realizado una corrección para que los siguientes errores se detecten también en modo compilado: Indice fuera de rango, Tipo incompatible y Derreferenciación de un puntero Null. Sin embargo, para tales errores en los procesadores Intel, el procedimiento se sigue interrumpiendo como antes, mientras que en los procesadores Apple Silicon el procedimiento solo se interrumpe si se llama al comando
ABORT
. - 4D ya no incluye un intérprete PHP interno. Necesita configurar y ejecutar su propio intérprete PHP para utilizar comandos PHP.
4D 20 R2
Lea Novedades en 4D 20 R2, la entrada del blog que muestra todas las nuevas funcionalidades y mejoras en 4D 20 R2.
Si sus aplicaciones 4D utilizan conexiones TLS, se recomienda actualizar a 4D 20 R2 HF1 build 100440 o superior. Para más información, consulte este Boletín de seguridad.
Lo más destacado
- Nueva clase WebSocket para crear y gestionar conexiones WebSocket cliente desde 4D.
- Nueva capa de red QUIC configuración de interfaz.
- 4D View Pro: soporte del formato de archivo .sjs para la importación y la exportación de documentos.
- Comandos del lenguaje 4D: Página Novedades en doc.4d.com.
- 4D Write Pro: página Novedades en doc.4d.com.
- Interfaz Write Pro 4D: nuevo Asistente de tablas.
- Lista de bugs corregidos: lista de todos los bugs que se han corregido en 4D 20 R2.
Cambios de comportamiento
- Atención: el valor inicial
offset
de los objetos 4D.FileHandle estaba incorrectamente definido en 1 en lugar de 0. Se ha hecho una corrección en 4D a partir de las versiones 20.1 HF1 y 20 R2 y el valor ahora es 0.
4D 20.x LTS
Consulte Notas de la versión 4D 20.x LTS.
Tabla de la librería
Librería | Versión actual | Actualizado en 4D | Comentario |
---|---|---|---|
BoringSSL | 0aa300b | 20 R6 | Utilizado para QUIC |
CEF | 128 | 20 R7 | Chromium 6613 |
Hunspell | 1.7.2 | 20 | Utilizado para la corrección ortográfica en formularios 4D y 4D Write Pro |
ICU | 73.2 | 20 | Esta importante actualización obliga a reconstruir automáticamente los índices alfanuméricos, texto y objeto. |
libldap | 2.6.7 | 20 R6 | |
libsasl | 2.1.28 | 20 | |
Libuv | 1.48 | 20 R6 | Utilizado para QUIC |
libZip | 1.9.2 | 20 | Utilizado por los componentes zip class, 4D Write Pro, svg y serverNet |
LZMA | 5.4.1 | 20 | |
OpenSSL | 3.3.2 | 20 R7 | Se ha actualizado el nivel de seguridad TLS/SSL por defecto. Ver Cambios de comportamiento para la versión 20 R4 |
PDFWriter | 4.3 | 20 | Dependencia FreeType en 12.2.1 |
PHP | 8.2.4 | 20 | |
SpreadJS | 17.1.0 | 20 R7 | Consulte esta entrada de blog para obtener una visión general de las nuevas funciones |
webKit | WKWebView | 19 | |
Zlib | 1.2.13 | 20 |