Release Notes
4D 20 R7
Lisez Les nouveautés de 4D 20 R7, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R7.
Points forts
- Les colonnes et les en-têtes des list box de type heure prennent désormais en charge l'option "blankIfNull".
- Nouvelles propriétés dans
.getBoxInfo()
et.getBoxList()
. - Vous pouvez désormais ajouter et supprimer des composants à l'aide de l'interface du Gestionnaire de composants.
- Nouveau mode de typage direct dans lequel vous déclarez toutes les variables et paramètres dans votre code en utilisant les mots-clés
var
et#DECLARE
/Function
(seul mode supporté dans les nouveaux projets). La fonctionnalité de vérification de syntaxe a été adaptée en conséquence. - Prise en charge des singletons de session et nouvelle propriété de classe
.isSessionSingleton
. - Nouveau mot-clé de fonction
onHttpGet
pour définir des fonctions singleton ou ORDA qui peuvent être appelées par des requêtes HTTP REST GET. - Nouvelle classe
4D.OutGoingMessage
pour que le serveur retourne n'importe quel contenu web. - Qodly Studio : Vous pouvez maintenant attacher le débogueur Qodly à 4D Server.
- Nouvelles clés Build Application pour que les applications 4D distantes valident les signatures et/ou les domaines des autorités de certification des serveurs.
- Langage 4D :
- Nouvelles commandes : Process info, Session info, SET WINDOW DOCUMENT ICON
- Commandes modifiées : Process activity, Process number
- 4D Write Pro :
- Nouvelle commande : WP DELETE SECTION
- Commandes modifiées : WP DELETE SUBSECTION, WP RESET ATTRIBUTES
- Liste des nouveautés dans le manuel 4D Write Pro Reference.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R7.
Changements de comportement
- Les documentations du Langage 4D et du Langage 4D Write Pro sont maintenant entièrement disponibles sur developer.4d.com. Découvrez toutes les nouvelles fonctionnalités et les modifications concernant ces documentations dans cette release note.
- Les directives de compilation (
C_XXX
) sont désormais obsolètes et ont été renommées_O_C_XXX
(par exemple,C_TEXT
a été renommé_O_C_TEXT
). - 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
Lisez Les nouveautés de 4D 20 R6, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R6.
Points forts
- Prise en charge des opérateurs de comparaison sur les références d'objet et les références de collection.
collection.query()
prend maintenant en charge les références d'objet et de collection en tant que valeurs de requête. - Lorsqu'un composant a un espace de noms déclaré, ses classes sont maintenant automatiquement partagées entre tous les composants chargés dans le projet hôte via
cs.<namespace>
. - Gestionnaire de composants : Prise en charge des composants stockés sur GitHub.
- Nouvelle fonction
entitySelection.clean()
et API REST$clean
pour obtenir une nouvelle entity selection basée sur l'entity selection originale mais sans ses entités supprimées. - Nouvelle fonction
session.getPrivileges()
et API REST$info/privileges
pour inspecter les privilèges de session plus facilement lors du débogage. - Nouveau fichier 4DCEFParameters.json pour personnaliser les zones Web embarquées dans 4D.
- Nouvelle classe HTTPAgent et nouvelle propriété
agent
pour la classe HTTPRequest. - Nouvelles fonctions
enableState()
etdisableState()
pour contrôler les states des pages Qodly depuis le serveur. - Nouvelle API
$singleton
pour appeler les fonctions singleton exposées depuis REST et nouveaux privilèges associés. - Un nouveau bouton de paramètre vous aide à mettre à niveau votre projet pour utiliser le mode REST "connexion forcée" (la méthode base
On REST Authentication
est maintenant obsolète). - Un nouvel onglet de paramètres vous permet de définir la génération de warnings de manière globale.
- Plusieurs commandes, principalement du thème "Environnement 4D", sont maintenant thread-safe (voir la liste complète), ainsi que certains sélecteurs des commandes
SET DATABASE PARAMETER
/Get database parameter
. - Nouveau composant 4D-QPDF qui fournit la commande
PDF Get attachments
pour extraire les pièces jointes d'un document PDF/A3. - Commandes du langage 4D : Liste des nouveautés sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R6.
Changements de comportement
- Prise en charge de l'enchaînement de défilement dans les formulaires : les parents des sous-formulaires défilent désormais automatiquement lorsque les objets intégrés défilables (verticalement ou horizontalement) ont atteint leurs limites et que l'utilisateur continue de faire défiler à l'aide de la souris ou du trackpad (overscrolling).
- L'API REST
$catalog
retourne maintenant les singletons (le cas échéant).
4D 20 R5
Lisez Les nouveautés de 4D 20 R5, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R5.
Points forts
- Nouveau Gestionnaire de composants permettant de contrôler les composants à travers un fichier
dependencies.json
. - Prise en charge des structures de gestion d'erreur
Try...Catch...End try
. - La couche réseau QUIC prend désormais en charge le broadcasting, SSO et IPv6.
- Prise en charge des restricted entity selections.
- Prise en charge des classes partagées et des classes singleton. Nouvelles propriétés de classe :
isShared
,isSingleton
,me
. - Prise en charge de l'initialisation d'une propriété de classe dans sa ligne de déclaration.
- Nouveau mode de connexion force login pour les requêtes REST avec une prise en charge spécifique dans Qodly Studio for 4D.
- Nouveau paramètre REST $format.
- L'objet
Session
est maintenant disponible pour les sessions utilisateur à distance et les procédures stockées. - Commandes du langage 4D : Liste des nouveautés sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R5.
Changements de comportement
- Les plug-ins 4D Internet Commands et 4D for OCI ne sont plus inclus dans les installateurs 4D. Pour obtenir ces plug-ins, vous devez vous connecter au portail de téléchargement des produits 4D.
- Les modifications apportées à l'éditeur de structure concernant l'apparence graphique des tables et des champs (couleur, position, ordre...) sont maintenant sauvegardés dans un fichier séparé nommé
catalog_editor.json
stocké dans le dossierSources
.
4D 20 R4
Lisez Les nouveautés de 4D 20 R4, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R4.
Points forts
- Prise en charge du format de cryptage
ECDSA
pour les certificats TLS. - Les connexions TLS client/serveur et serveur SQL sont désormais configurées dynamiquement (aucun fichier de certificat n'est requis).
- Format HTML direct pour les exports de définition de structure.
- Nouveau Code Live Checker qui améliore le contrôle du code pendant le typage, la vérification de la syntaxe et les étapes de compilation afin d'éviter les erreurs d'exécution.
- Les paramètres de méthode déclarés dans les prototypes
#DECLARE
ne sont [plus nécessaires dans les méthodes "Compiler_"(../Concepts/parameters.md#compilation). - Prise en charge des formats de date et d'heure personnalisés
- Nouveau mot-clé
Try(expression)
pour gérer les cas d'erreur simples. - Nouvelle commande
HTTP Parse message
. - Nouvelle option de compatibilité Impression non bloquante.
- Nouveau mode édition dans le Data Explorer.
- Commandes du langage 4D : page What's new sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R4.
Changements de comportement
- L'utilisation d'une ancienne syntaxe pour la déclaration des paramètres (par exemple
C_TEXT($1)
ouvar $1 : Text
) est maintenant dépréciée et génère des warnings lors du typage du code, de la vérification syntaxique et de la compilation. - La cohérence des sélections est désormais préservée lorsque certains enregistrements sont supprimés puis d'autres créés (voir ce billet de blog).
- Dans la mise à jour de la bibliothèque OpenSSL, le niveau de sécurité SSL/TLS par défaut a été modifié de 1 à 2. Les clés RSA, DSA et DH de 1024 bits et plus et de moins de 2048 bits ainsi que les clés ECC de 160 bits et plus et de moins de 224 bits ne sont plus autorisées. Par défaut, la compression TLS était déjà désactivée dans les versions précédentes d'OpenSSL. Au niveau de sécurité 2, il ne peut pas être activé.
- Afin de permettre la vérification du mot de passe lorsque l'annuaire des utilisateurs 4D utilise l'algorithme bcrypt, la valeur "password" dans le paramètre connectionInfo de la commande
Open datastore
est maintenant envoyée en clair par défaut. Assurez-vous que votre méthode base "On REST authentication" peut gérer les mots de passe en clair (le troisième paramètre est alors False) et queOpen datastore
chiffre votre connexion en passant l'option "tls" à True dans connectionInfo. Dans certains cas spécifiques, l'option "passwordAlgorithm" peut également être utilisée pour la compatibilité (voir la commandeOpen datastore
).
4D 20 R3
Lisez Les nouveautés de 4D 20 R3, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R3.
Points forts
- Nouvelle fonction
collection.multiSort
. - Prise en charge du paramètre context dans
Formula from string
. - Prise en charge de la propriété
headers
dans le paramètre connectionHandler de 4D.WebSocket.new. - Marqueur de modification global pour faciliter la mise en œuvre de modules de synchronisation des données. Nouvelles fonctions :
ds.getGlobalStamp
etds.setGlobalStamp
. - L'assignation de références de fichiers à des attributs picture/blob est prise en charge dans ORDA.
- Prise en charge de [l'initialisation de la valeur et du type de données de la variable dans la ligne de déclaration](../Concepts/variables/#initialisation des variables dans la ligne de déclaration).
- Les paramètres du fichier journal sont désormais sauvegardés avec le fichier de données courant
- Nouvelle syntaxe pour déclarer des paramètres variadiques
- 4D View Pro : Prise en charge de l'importation et de l'exportation des documents 4D View Pro au format Blob.
- Commandes du langage 4D : page What's new sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R3.
Changements de comportement
- Certaines erreurs ne pouvaient être interceptées par votre méthode de gestion des erreurs qu'en mode interprété. Une correction a été apportée, de sorte que les erreurs suivantes seront désormais également détectées en mode compilé : Indice hors de l'intervalle, Type incompatible, et Déréférencement d'un pointeur Null. Cependant, pour de telles erreurs sur les processeurs Intel, la procédure est toujours interrompue comme auparavant, alors que sur les processeurs Apple Silicon, la procédure n'est interrompue que si vous appelez la commande
ABORT
. - 4D n'inclut plus d'interpréteur PHP interne. Vous devez configurer et exécuter votre propre interpréteur PHP pour utiliser les commandes PHP.
4D 20 R2
Lisez Les nouveautés de 4D 20 R2, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20 R2.
Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettre à jour 4D en release 20 R2 HF1 build 100440 ou plus. Pour plus d'informations, consultez ce Bulletin de sécurité.
Points forts
- Nouvelle classe WebSocket pour créer et gérer les connexions WebSocket clientes depuis 4D.
- Nouvelle option d'interface pour la couche réseau QUIC.
- 4D View Pro : Prise en charge du format de fichier .sjs pour l'importation et l'exportation de documents.
- Commandes du langage 4D : page What's new sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- 4D Write Pro Interface : Nouveau Table Wizard.
- Liste des bugs corrigés : liste de tous les bugs qui ont été corrigés dans 4D 20 R2.
Changements de comportement
- Attention : La valeur de départ
offset
des objets 4D.FileHandle était incorrectement fixée à 1 au lieu de 0. Une correction a été apportée dans 4D à partir des versions 20.1 HF1 et 20 R2 et la valeur est maintenant 0.
4D 20.x LTS
Voir Release Notes pour 4D 20.x LTS.
Tableau des bibliothèques
Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire |
---|---|---|---|
BoringSSL | 0aa300b | 20 R6 | Utilisé pour QUIC |
CEF | 128 | 20 R7 | Chromium 6613 |
Hunspell | 1.7.2 | 20 | Utilisé pour la vérification orthographique dans les formulaires 4D et 4D Write Pro |
ICU | 73.2 | 20 | Cette mise à jour majeure entraîne une reconstruction automatique des index alphanumériques, texte et objets. |
libldap | 2.6.7 | 20 R6 | |
libsasl | 2.1.28 | 20 | |
Libuv | 1.48 | 20 R6 | Utilisé pour QUIC |
libZip | 1.9.2 | 20 | Utilisé par les classes zip, 4D Write Pro, les composants svg et serverNet |
LZMA | 5.4.1 | 20 | |
OpenSSL | 3.3.2 | 20 R7 | Le niveau de sécurité TLS/SSL par défaut a été relevé. Voir Changements de comportement pour la version 20 R4 |
PDFWriter | 4.3 | 20 | FreeType dependency dans 12.2.1 |
PHP | 8.2.4 | 20 | |
SpreadJS | 17.1.0 | 20 R7 | Voir ce blog post pour un aperçu des nouvelles fonctionnalités. |
webKit | WKWebView | 19 | |
Zlib | 1.2.13 | 20 |