Release Notes
4D 20.x
Lisez Les nouveautés de 4D 20, le billet de blog qui liste toutes les nouvelles fonctionnalités et améliorations de 4D 20.
For internal reasons, the version of remote clients connecting to 4D Server v20.2 and later must be at least 4D 20.2.
Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettre à jour 4D en release 20.2 LTS build 100956 ou plus. Pour plus d'informations, reportez-vous à ce bulletin de sécurité.
Avertissement concernant la reconstruction de l'index
4D 20 inclut une mise à jour de la bibliothèque ICU (voir ci-dessous) qui forcera une reconstruction automatique des index de type alpha, texte et objet. En fonction de la taille du fichier de données, cette opération peut prendre un certain temps et nécessiter une planification.
4D 20.1 comprend également une mise à jour de la bibliothèque ICU, ce qui a les conséquences suivantes :
- Elle forcera une reconstruction automatique des index de type alpha, texte et objet.
- Pour des raisons de cohérence des tris, il est nécessaire que les clients distants 4D et le serveur 4D utilisent la même version : seuls les clients distants 4D 20.1 peuvent se connecter au serveur 4D 20.1 et vice versa.
Points forts
- SpreadJS updated to version 16.2.6 in 4D 20.2 HF1.
- 4D 20.2 est certifié sur macOS Sonoma (macOS 14).
- (4D 20.1) Nouvelle propriété
plugins
dans le paramètre options de la commandeCompile project
. - 4D Server intègre automatiquement plusieurs journaux : Restauration automatique.
- Classe IMAP Transporter:
.getBoxInfo()
renvoie id,.selectBox()
renvoie id, flags et permanentFlags,.addFlags()
et.removeFlags()
supportent les mots-clés personnalisés. - Nouvelles classes WebSocketServer et WebSocketConnection pour créer et gérer des connexions WebSocket à partir de 4D.
- Prise en charge du mot-clé
property
dans les définitions des classes d'utilisateurs. - Nouvelles fonctions pour verrouiller/déverrouiller le datastore :
.flushAndLock()
,.locked()
,.unlock()
. - Nouvelle fonction
.at()
dans la classe Entity selection. - Nouvelles fonctions dans la classe Collection :
.at()
,.first()
,.flat()
,.flatMap()
,.includes()
,.last()
,.reduceRight()
. - Éditeur de code : amélioration des fonctionnalités de recherche et de remplacement.
- Nouvel élément linguistique "property" recherchable dans la boîte de dialogue Find in design....
- Pour simplifier le code, certains opérateurs de comparaison peuvent désormais être utilisés avec des valeurs Undefined sans générer d'erreurs.
- Prise en charge du paramètre headerOnly dans
POP3Transporter.getMail()
. - Prise en charge de l'option
count values
dans les fonctionsentitySelection.distinct()
etcollection.distinct()
. - Nouvelle fonction
entitySelection.distinctPaths()
. - Prise en charge de l'option
count values
dans les fonctionsentitySelection.distinct()
etcollection.distinct()
. - Les logs des requêtes ORDA sont maintenant disponibles sur le serveur, nouveau paramètre pour la fonction
.startRequestLog()
. - Nouveaux outils pour l'exécution de code en CLI : tool4d et 4D Server en mode utilitaire.
- Data Explorer: nouveau bouton et affichage dans une fenêtre 4D.
- Nouvelles propriétés pour les boutons, les cases à cocher et les boutons radio : Image hugs title et Horizontal Alignment.
- Prise en charge de
WinIcon
dans la fonctionfile.setAppInfo()
. - Nouvelle option
validateTLSCertificate
pour4D.HTTPRequest.new()
permettant de contrôler la validation automatique des certificats. - Commandes du langage 4D : Liste des nouveautés sur doc.4d.com.
- 4D Write Pro : Liste des nouveautés sur doc.4d.com.
- Fixed bug lists: 4D 20 - 4D 20.1 - 4D 20.2 - 4D 20.3 - 4D 20.4.
Changements de comportement
- As of 20.3, 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. Make sure your "On REST authentication" database method can handle passwords in clear form (third parameter is then False) and thatOpen datastore
encrypts your connection by passing the "tls" option to True in connectionInfo. In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (seeOpen datastore
command). - À partir de la version 20.2, 4D 20 LTS n'est plus compatible avec Windows Server 2012 R2.
- Attention : La valeur de départ
offset
des objets 4D.FileHandle avait été 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. - Pour des raisons de conformité avec la RFC HTTP, la propriété
HTTPRequestClass.response.headers
renvoie désormais tous les noms d'en-têtes en minuscules. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriétéHTTPRequestClass.response.rawHeaders
. - Les certificats TLS sont désormais automatiquement validés par 4D lors de l'envoi de requêtes HTTP avec
4D.HTTPRequest.new()
, et rejetés avec une erreur s'ils ne sont pas valides. Une nouvelle propriété option vous permet de contrôler cette validation. - TLS v1.0 et TLS v1.1 sont obsolètes, ils ne sont plus pris en charge par
Min TLS version
sur 4D Server. La version 1.3 est désormais sélectionnée par défaut et est automatiquement utilisée si les constantes_o_TLSv1_0
ou_o_TLSv1_1
sont définies avecSET DATABASE PARAMETER
. - Par souci de cohérence, tous les boutons, cases à cocher et boutons radio sont désormais rendus avec un type "3D" au moment de l'exécution : respectivement
Object type 3D button
,Object type 3D checkbox
, etObject type 3D radio button
sont renvoyés parOBJECT Get type
pour ces objets. - Depuis 4D 20, 4D for Mobile n'est plus installé par défaut dans l'environnement 4D. Pour bénéficier des fonctionnalités de développement de 4D for Mobile dans 4D, vous devez installer le composant 4D Mobile App dans le dossier "Components" de vos projets. Si un projet converti utilise des fonctionnalités du composant 4D Mobile App Server, veillez à l'installer également dans le dossier "Components" du projet.
4D 19 R8
Lisez Les nouveautés de 4D 19 R8, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations dans 4D 19 R8.
Points forts
- Des méthodes de gestion des erreurs peuvent être mises en place pour les contextes d'exécution globaux et les contextes d'exécution des composants.
- Les listboxes avec des sources de données collections ou entity selection prennent en charge désormais la propriété de colonne Automatic Row Height .
- ORDA : Prise en charge du fichier roles.json pour définir les privilèges attribués à la session avec
setPrivileges()
. - Prise en charge du mode SDI dans le mode test application sous Windows.
- 4D View Pro :
-
prise en charge des thèmes dans les tables : nouvelles commandes VP SET TABLE THEME et VP Get table theme , prise en charge des options de thème dans VP CREATE TABLE
-
nouvelle commande VP Get table dirty rows
-
- 4D Language commands: What's new page on doc.4d.com.
- 4D Write Pro: What's new page on doc.4d.com.
- Liste des bugs corrigés: liste de tous les bugs qui ont été corrigés dans 4D 19 R8.
Changements de comportement
- Pour des raisons de conformité avec la RFC HTTP, la propriété
HTTPRequestClass.response.headers
renvoie désormais tous les noms d'en-têtes en minuscules. Si vous souhaitez que votre code continue à fonctionner comme auparavant, utilisez la nouvelle propriétéHTTPRequestClass.response.rawHeaders
. - Lorsqu'une action standard est attribuée à un bouton bevel avec un menu contextuel lié, l'action standard n'est plus générée si une option de menu contextuel est sélectionnée.
- Dans les zones Web utilisant blink (CEF), les dialogues affichés à partir de scripts externes sont désormais bloquants s'ils ne sont pas appelés à partir d'une fonction JS
setTimeout()
. Cela est dû aux mises à jour actuelles du CEF, dans lesquelles les dialogues affichés par des fonctions telles quealert()
ouprint()
ne sont plus gérés par le système d'exploitation mais par la zone Web. VoirWA Evaluate JavaScript
etWA EXECUTE JAVASCRIPT
.
4D 19 R7
Lisez Les nouveautés de 4D 19 R7, l'article de blog qui liste toutes les nouvelles fonctionnalités et améliorations dans 4D 19 R7.
Points forts
- Les données liées et les attributs calculés/alias peuvent être affichés dans l'explorateur de données .
- Nouvelle classe FileHandle et nouvelle fonction
.open()
dans la classeFile
. - Classe Entity selection :
.add()
prend en charge un paramètre entitySelection ,.minus()
prend en charge un paramètre keepOrder . - Prise en charge des options automaticRedirections et decodeData dans
4D.HTTPRequest.new()
. - Nouveau fichier journal 4DHTTPClientLog.txt.
- 4D View Pro : nouvelles commandes de table VP Find table, VP Get table column attributes, VP Get table column index, VP Get tables, VP INSERT TABLE COLUMNS, VP INSERT TABLE ROWS, VP REMOVE TABLE COLUMNS, VP REMOVE TABLE ROWS, VP RESIZE TABLE, VP SET TABLE COLUMN ATTRIBUTES.
- Les espaces de noms des composants sont maintenant affichés dans l'explorateur.
- Les objets de type zone de texte et formulaire d'entrée prennent désormais en charge la propriété corner radius.
- 4D Language commands: What's new page on doc.4d.com.
- 4D Write Pro: What's new page on doc.4d.com.
- Liste des bugs corrigés: liste de tous les bugs qui ont été corrigés dans 4D 19 R7.
Changements de comportement
- Pour des raisons de cohérence avec les interfaces standard (par exemple, les explorateurs de fichiers des OS), les règles des list box pour la sélection des lignes/le glisser-déposer ont été modifiées. Une sélection continue ou discontinue de lignes peut être glissée en cliquant simplement sur une ligne sélectionnée et en la déplaçant ; la touche Alt n'est plus nécessaire (mais peut toujours être utilisée comme dans les versions précédentes). Lorsque la touche Maj ou Ctrl/Commande est enfoncée, un clic de souris est pris en compte lorsque le clic est vers le bas. Pour plus d'informations sur le glisser-déposer dans les list box, vous pouvez consulter ce billet de blog et télécharger ce projet HDI 4D.
- La numérotation interne de 4D a été modifiée à partir de 4D 19 R7 :
- les releases jusqu'à 4D 19 R6 (incluses) sont numérotées 282xxx,
- les releases à partir de 4D 19 R7 seront numérotées 100xxx.
Notez qu'une version spécifique de 4D est toujours identifiée de manière unique par un nom de branche et un numéro de build. Le numéro de build augmente par ordre chronologique.
- La possibilité d'utiliser le protocole REST de Wakanda/4D Mobile pour appeler une méthode de projet a été supprimée. Vous pouvez utiliser les fonctions de classe du modèle de données ORDA ou les urls /4DACTION à la place.
4D 19 R6
- Nouvelle classe HTTPRequest .
- Les fonctions de collection qui peuvent appeler du code prennent désormais en charge les objets function en tant que paramètre formula :
.every()
,.filter()
,.find()
,.findIndex()
,.map()
,.orderByMethod()
,.reduce()
,.some()
,.sort()
- Listbox cells support horizontal and vertical padding.
- 4D View Pro : nouvelles commandes VP CREATE TABLE et VP REMOVE TABLE pour gérer les tableaux dans les feuilles.
- Possibilité de voir les attributs liés, calculés et alias dans le data explorer web.
- Pour nous aider à améliorer nos produits, nous collectons désormais automatiquement des données concernant les statistiques d'utilisation des applications 4D Server en cours d'exécution. Cela n'aura aucun impact sur les performances. Voir la nouvelle page expliquant pourquoi et comment 4D collecte des données.
- Composants compilés pour Silicon : Sur les plateformes macOS Silicon (Apple ARM CPUs), les composants doivent être recompilés avec 4D 19 R6 ou plus pour être utilisés avec cette version.
4D 19 R5
-
Le fichier directory.json du projet peut désormais être intégré dans le serveur au moment du build, ce qui vous permet de déployer une application client/serveur avec une configuration de sécurité de base pour les utilisateurs et les groupes.
-
Vous pouvez désormais désélectionner les modules inutiles dans les applications que vous avez créées.
-
La bibliothèque MeCab est incluse par défaut dans toutes les applications 4D sur macOS. Dans les versions précédentes, cette bibliothèque, spécialement conçue pour gérer le texte japonais, n'était disponible que dans la version japonaise de 4D sur macOS. Si vous n'avez pas besoin de cette bibliothèque dans vos applications finales, vous pouvez maintenant la désélectionner.
-
Client/Server optimization: New class functions allow you to handle the ORDA cache and the contents of an optimization context. Voir Préconfiguration des contextes et Cache ORDA pour plus d'informations.
Ces fonctions sont destinées aux développeurs qui ont besoin de personnaliser les fonctions par défaut d'ORDA pour des configurations spécifiques. Dans la plupart des cas, vous n'aurez pas besoin de les utiliser.
-
Classe DataClass: La nouvelle fonction .getCount() renvoie le nombre d'entités dans une classe de données.
-
Le fichier 4DDiagnosticLog.txt n'enregistre par défaut que des informations de haut niveau (INFO level). Vous pouvez maintenant sélectionner le niveau d'information à enregistrer (par exemple les informations du niveau DEBUG) en utilisant le sélecteur
Diagnostic log level
de la commandeSET DATABASE PARAMETER
ou le fichier de configuration du journal. -
L'appel à
Use()
sur un objet non partagé ou une collection non partagée ne fait rien (il ne génère plus d'erreur). Ainsi, il est désormais inutile de tester si l'objet ou la collection passé(e) à Use() est effectivement partagé(e). -
Pour plus de clarté, deux commandes SQL ont été préfixées :
GET DATA SOURCE LIST
a été renommée enSQL GET DATA SOURCE LIST
,Get current data source
a été renommée enSQL Get current data source
. -
4D View Pro:
- The new VP SET DATA CONTEXT, VP Get data context, VP SET BINDING PATH, VP Get binding path commands allow you to create data contexts and bind their contents to sheet cells.
- VP EXPORT DOCUMENT and VP Export to object now accept the new
includeBindingSource
option that exports the contents of a data context as cell values. - (Windows uniquement) Les zones de 4D View Pro utilisent désormais une nouvelle fenêtre de paramètres d'impression.
-
Web areas:
- Nouveau moteur de rendu du système Windows : Les zones Web utilisant le moteur de rendu du système Windows sont désormais basées sur Microsoft Edge WebView2. Cela a un impact sur les caractéristiques suivantes :
- Les commandes
WA Create URL history menu
etWA GET URL HISTORY
ne renvoient que l'URL en cours.
- La variable Progression n'est plus mise à jour.
- Les fonctions de glisser-déposer sont gérées par une API Windows qualifiée d'"expérimentale" par Microsoft. Par conséquent, les zones web peuvent ne pas fonctionner comme prévu lorsque cette API n'est pas installée : le glisser-déposer peut sembler autorisé même si la préférence
WA enable URL drop
a été réglée sur False. Cependant, l'action de dépôt est bloquée par défaut et vous pouvez contrôler les URL autorisées à l'aide de l'événementOn Window Opening Denied
(voir ci-dessous).
- Les commandes
- (Windows uniquement) Lorsque l'utilisateur sélectionne Print... à partir d'une zone Web utilisant le moteur de rendu Web intégré, une nouvelle fenêtre de paramètres d'impression s'affiche.
- Pour refléter leur effet réel dans les zones web (augmentation ou diminution du niveau de zoom de la page), deux commandes ont été renommées :
WA SET PAGE TEXT LARGER
a été renomméWA ZOOM IN
,WA SET PAGE TEXT SMALLER
a été renomméWA ZOOM OUT
. - Sécurité renforcée dans les zones web qui utilisent le moteur de rendu web intégré ou le moteur de rendu du système Windows (basé sur Microsoft Edge WebView2) :
- Les règles CORS s'appliquent désormais à l'accès aux fichiers sur disque dans les espaces web. Par exemple, lors de l'ouverture d'un fichier .html avec
WA OPEN URL
, ce fichier .html ne peut pas contenir de liens pointant vers des fichiers situés en dehors de son dossier - Le dépôt de contenus externes dans les zones web est désormais toujours bloqué et déclenche l'événement
On Window Opening Denied
lorsque la préférenceWA enable URL drop
est définie sur True (lorsqu'elle est définie sur False, la préférenceWA enable URL drop
ne modifie que l'icône du curseur de dépôt et filtre l'événementOn Window Opening Denied
). Pour permettre une action de dépôt, vous devez exécuter un code supplémentaire dans la méthode objet de la zone web :
- Les règles CORS s'appliquent désormais à l'accès aux fichiers sur disque dans les espaces web. Par exemple, lors de l'ouverture d'un fichier .html avec
- Nouveau moteur de rendu du système Windows : Les zones Web utilisant le moteur de rendu du système Windows sont désormais basées sur Microsoft Edge WebView2. Cela a un impact sur les caractéristiques suivantes :
WA OPEN URL(* ; "WebArea";WA Get last filtered URL(* ; "WebArea"))
4D 19 R4
- Les attributs Alias sont disponibles dans les classes ORDA.
- Prise en charge des instructions break et continue dans les boucles.
- Prise en charge de l'instruction return et de l'expression return pour renvoyer des valeurs.
- Support des opérateurs d'assignation composés, des opérateurs en court-circuit et de l'opérateur ternaire
- L'éditeur de code comprend désormais un outil déroulant et prend en charge les marqueurs pour une meilleure navigation dans le code.
- Nouvelles préférences : options Inclure les tokens dans les fichiers source du projet et Afficher les presse-papiers sur la page Méthodes.
- Nouvelle requête REST pour verrouiller/déverrouiller les entités.
- Le chapitre 4D View Pro a été ajouté avec de nouvelles commandes : VP Copy to object, VP MOVE CELLS, VP PASTE FROM OBJECT.
- Nouvelle classe SystemWorker.
- La constante
Alias selection
a été renomméeAllow alias files
pour résoudre un conflit résultant de la prise en charge des attributs d'alias dans ORDA. - Pour une meilleure conformité avec les spécifications ORDA, la propriété de champ Mapper les valeurs NULL en valeurs vides est désormais décochée par défaut dans les bases de données créées avec 4D 19 R4 et plus. Vous pouvez également activer ce comportement par défaut dans vos bases de données converties à partir de versions antérieures en sélectionnant le paramètre de compatibilité Mapper les valeurs NULL en valeurs vides non coché par défaut lors de la création des champs. Il est désormais recommandé de travailler avec des valeurs nulles, car elles sont entièrement prises en charge par ORDA.
- En raison de la prise en charge de l'opérateur ternaire, les deux points " :" ne sont plus autorisés dans les noms de variables, de champs, de constantes, de fonctions, de plugins et de méthodes de projet. Si votre base de données/projet contient des identifiants avec des deux-points, vous devez les remplacer avant de la convertir à la v19 R4 ou à une version plus récente, sinon des erreurs peuvent se produire dans votre code. Par exemple, si vous avez une variable nommée a:b, elle peut être interprétée comme une syntaxe d'opérateur ternaire :
$value:=($size>1000)? a:b // Ici, "a:b" est considéré comme un opérateur ternaire.
4D 19 R3
- Les propriétés calculées sont disponibles dans les classes.
- Les attributs calculés sont disponibles dans les classes ORDA. Ils sont similaires aux propriétés calculées mais prennent également en charge les fonctions query et orderBy.
- Nouveaux attributs de dataclass ORDA :
exposed
etreadOnly
. - Les archives ZIP prennent maintenant en charge les algorithmes de compression LZMA et xz.
- Une nouvelle option de build permet d'inclure plus facilement les clients Silicon Mac dans les applications serveur sous Windows.
- Extension du support du mode sombre sur macOS.
- Support de l'objet token OAuth2 dans
IMAP New transporter
,POP3 New transporter
etSMTP New transporter
. - Les utilisateurs peuvent maintenant charger un fichier de configuration des journaux en utilisant un bouton dans la fenêtre d'administration du serveur.
- Le traitement des paramètres optionnels est plus souple dans le langage 4D lorsqu'il s'agit d'accéder à des paramètres déclarés mais non passés. Par exemple, le code suivant ne provoque plus d'erreur :
// Fonction "concate" de myClass
Function concate ($param1 : Text ; $param2 : Text)
ALERT($param1+""+$param2)
// Appel de la méthode
$class:=cs.myClass.new()
$class.concate("Hello" ;" world") // Affiche "Hello world"
$class.concate("Hello") // Affiche "Hello "
$class.concate() // Affiche " "
Pour plus d'informations, veuillez vous référer à ce billet de blog. Pour bénéficier de cette simplification globale, vous devez recompiler à la fois les méthodes appelantes et les méthodes appelées ; les composants doivent donc être recompilés.
-
Le débogage des sessions du serveur web est plus facile avec 4D Server.
-
Le nouveau composant 4D NetKit vous permet de vous connecter à des API tierces telles que Microsoft Graph.
-
4D 19 R3 utilise un algorithme de hachage plus puissant pour les mots de passe des utilisateurs 4D : Bcrypt. Ce nouvel algorithme est automatiquement utilisé lorsqu'un mot de passe est modifié à l'aide de la boîte à outils, de la commande
CHANGE PASSWORD
ou de la commandeSet user properties
. Une fois le mot de passe modifié, l'ouverture de la base de données avec une version antérieure à 4D 19 R3 entraînera un refus d'authentification pour ce compte. Si vous utilisez les mots de passe 4D, il est fortement recommandé de sauvegarder le fichier .4db (bases de données binaires) ou le fichier directory.json (projets) avant d'effectuer la mise à jour vers 4D 19 R3 ou une version ultérieure. -
Par souci d'exactitude, la constante
4D digest
a été renommée4D REST digest
. -
Gestion des fins de ligne et des nomenclatures pour les commandes XML : Lorsqu'ils sont ouverts dans 4D 19 R3, les projets ou bases de données créé(e)s avec les versions précédentes se comportent différemment en ce qui concerne les caractères de fin de ligne par défaut et la gestion des BOM dans les documents XML : les caractères de saut de ligne (LF) sont utilisés à la place de CR (sur macOS), et les marques d'ordre d'octet (BOM) ne sont pas incluses. Cela permet une meilleure compatibilité avec les outils VCS. Si nécessaire, vous pouvez rétablir le comportement de la v19 R2 en utilisant la commande
XML SET OPTIONS
. Dans les projets ou les bases de données converti(e)s à partir de versions antérieures à 19 R2, ces options sont gérées par deux paramètres de compatibilité. -
Suppression du raccourci "Runtime Explorer" dans les projets générés : Le raccourci Cmd/Ctrl+Shift+F9 n'affiche plus la fenêtre Runtime Explorer dans les applications de projets fusionnés mono-utilisateurs. Ce raccourci peut désormais être un raccourci d'application utilisateur. Vous pouvez appeler la fenêtre Runtime Explorer à l'aide de la nouvelle commande
OPEN RUNTIME EXPLORER
. -
Capacités de débogage étendues avec 4D Server : En mode interprété, 4D Server peut désormais déboguer tous les types de process, y compris les sessions web évolutives. Cette fonction est disponible lorsque le débogueur est attaché au serveur ou à un client distant.
Attention : En mode interprété, afin de rendre le débogage étendu disponible sur la machine serveur, tous les process serveur sont maintenant automatiquement exécutés en mode coopératif lorsque le débogueur est attaché au serveur (paramètre par défaut). Cela peut avoir un impact significatif sur les performances de vos applications converties lorsqu'elles fonctionnent avec 4D Server v19 R3 et plus. Pour rétablir l'exécution préemptive sur le serveur dans ce cas, il suffit de détacher le débogueur du serveur (et de l'attacher à un client distant si nécessaire). -
Sous Windows, les projets et les bases de données créés avec 4D 19 R3 et releases ultérieures utilisent l'API DirectWrite dans les formulaires. Cette API améliore le rendu du texte, en particulier dans les configurations à DPI élevé. DirectWrite est utilisé pour le rendu de textes statiques et de textes saisis, de cases à cocher, de boutons et de boutons radio. Notez que les listbox utilisent déjà DirectWrite. A compatibility option allows you to enable DirectWrite in projects and databases created with previous 4D ersions.
-
Si vous utilisez des composants compilés avec 4D 19.0 for Silicon (Apple ARM CPUs) qui appellent la commande
Count parameters
, nous vous recommandons de les recompiler avec 4D 19 R3 pour assurer la compatibilité avec 4D 19 R3 et les releases ultérieures. Si un composant n'est pas compilé pour Silicon, il n'est pas nécessaire de le recompiler.
4D 19 R2
- A default .gitignore file can be created with new projects
- Nouvelle class API Blob pour gérer de nouveaux objets
4D.Blob
- Prise en charge de
no-bom
et nouveaux caractères de fin de ligne par défaut dans.setText()
Versions précédentes
Cliquez pour voir les notes de mise à jour des versions précédentes
4D 19
Si vos applications 4D utilisent des connexions TLS, il est recommandé de mettre à jour 4D en release 19.7 LTS build 288986 ou plus. Pour plus d'informations, reportez-vous à ce bulletin de sécurité.
- Classe IMAPTransporter: nouvelles fonctions
.createBox()
,.deleteBox()
,.renameBox()
,.subscribe()
, et.unsubscribe()
. - Classe File : nouvelles fonctions
setAppInfo()
etgetAppInfo()
. - New 4DEACH transformation tag.
- Serveur Web : nouveau paramètre SameSite pour les cookies de session.
- Prise en charge des couleurs dark et light pour les formulaires et les feuilles de style
- Nouveaux thèmes dark et light par défaut dans les préférences de l'éditeur de code.
- Compilation native pour les processeurs Silicon.
- La propriété Calcul de variable est désormais prise en charge par les colonnes des listbox entity selection.
- Nouvelle page CLI complète.
4D 18 R6
- Classe Entity Selection: les fonctions
.average()
,.max()
et.min()
renvoient désormais undefined si l'entity selection est vide. - IMAP Mail, POP3 Mail et SMTP Mail : la propriété
authenticationMode
active OAuth 2.0 - IMAP Mail: nouvelles fonctions
.expunge()
et.append()
- Nouveau composant serveur web WebAdmin
- Nouvelle interface DataExplorer
- Nouvelles sessions web et leur API.
Library table (4D 20 LTS)
Bibliothèque | Version courante | Mise à jour dans 4D | Commentaire |
---|---|---|---|
ICU | 73.2 | 20.1 | Cette mise à jour majeure entraîne une reconstruction automatique des index alphanumériques, texte et objets. |
CEF | 118 | 20.3 | Chromium 5993 |
Hunspell | 1.7.2 | 20 | Utilisé pour la vérification orthographique dans les formulaires 4D et 4D Write Pro |
PDFWriter | 4.3 | 20 | FreeType dependency dans 12.2.1 |
SpreadJS | 16.2.6 | 20.2 HF1 | Moteur 4D View Pro |
16.0.4 | 20 | ||
OpenSSL | 3.1.6 | 20.4 HF2 | |
libZip | 1.9.2 | 20 | Utilisé par les classes zip, 4D Write Pro, les composants svg et serverNet |
LZMA | 5.4.1 | 20 | |
Zlib | 1.2.13 | 20 | |
webKit | WKWebView | 19 | |
PHP | 8.2.4 | 20 | |
libldap | 2.6.4 | 20 | |
libsasl | 2.1.28 | 20 |