Après 15 mois de développement, Tcl/Tk 8.6.14, un langage de programmation dynamique distribué avec une bibliothèque multiplateforme d'éléments GUI de base, a été publié. Tcl est largement utilisé comme plate-forme de création d'interfaces utilisateur et comme langage intégré, mais Tcl convient également au prototypage rapide, au développement Web, à la création d'applications réseau, à l'administration et aux tests de systèmes. Le code du projet est distribué sous licence BSD.
Parmi les changements :
- La normalisation des chemins de fichiers et le traitement du caractère « ~ » dans les chemins ont été portés sous une forme multiplateforme.
- Un nom de chemin commençant par « // » n'est pas remplacé par « / », y compris dans Cygwin et QNX.
- Autoriser le mode vide dans [chan create] (« [chan create {} $cmd] ») pour autoriser la version refchan de [socket -server].
- Amélioration des performances du fork lors de l'utilisation du multithreading avec vfork/spawn.
- Assurez-vous que getsockname(2) est appelé dans Tcl_MakeFileChannel(3) uniquement lorsque cela est nécessaire.
- La sécurité Tcl/tclsh est améliorée à l'aide de la fonction promise(2) d'OpenBSD ou de mécanismes similaires.
- tcltest adapté pour prendre en charge Tcl 9 (>= tcltest 2.5.7).
- Activation de l'utilisation d'un caractère de remplacement lors du décodage de séquences Unicode incomplètes.
- Ajout de la vérification de mknod, tcdrain et uname dans les scripts de build pour VxWorks ou d'autres plates-formes.
- Cygwin 32 bits est terminé, donc l'argument "--enable-64bit" de Cygwin n'est plus nécessaire.
- Tcl_VarEval n'est plus obsolète.
- "[interp limit time -seconds]" a résolu le problème 2038.
- L'option utf16 a été supprimée de win/makefile.vc.
- zlib a été mis à jour vers la version 1.3.1.
- libtommath mis à jour vers la version 1.2.1.
- install-sh a été mis à jour vers la version 2020-11-14.01.
- Ajout de la prise en charge d'Unicode 15.1.
- La base de données des fuseaux horaires a été mise à jour pour publier tzdata2024a.
- Les métadonnées de la licence binaire Windows mentionnent l'Université de Californie.
- Correction d'un bug avec un formatage incorrect des arguments dans la page de manuel.
- Correction d'un bug lié à des informations manquantes concernant Windows 11 dans tcl_platforms.
- Correction d'un bug avec des comparaisons de chaînes incorrectes sur les systèmes avec un ordre d'octets big endian.
- Correction d'un crash avec tcl_precision égal à 15..18.
- Correction de crashs rares lors de la suppression d'un flux Memchan.
- Correction d'un problème avec la commande zip affichant une erreur lorsque le commentaire/nom de fichier est trop long ou n'est pas en codage iso-latin-1.
- Correction d'un problème lié au retour des µs de Tcl_GetTime. Windows.
- Correction d'un crash lors de l'application d'une transformation de canal sur un socket client TCP.
- Lecture incorrecte empêchée dans Tcl_UtfToUniChar.
- В macOS La version 13 du SDK a déprécié la fonction sprintf().
- Débordement d'argument de position fixe dans [scan %num$mode].
- Correction d'un crash lors d'un appel final.
- Correction de bugs avec l'analyse de l'horloge et l'ajout de l'horloge dans des cas erronés ou avec des options raccourcies.
- Correction d'un bug avec l'ignorance des encodages incomplets à deux octets, par exemple dans [encoding convertfrom gb12345 x].
- Correction du crash de tclvfs tkt lors de la sortie de l'interpréteur avec tclvfs chargé.
- Correction d'un problème où Tcl_GetUniChar lisait les caractères au-delà de la longueur de la chaîne pour les chaînes ASCII.
- Correction d'un bug dans la version MS WindowsLes fichiers Emoji sont trouvés via glob, mais ne sont pas identifiés via file exists ou open.
- Correction d'une erreur de compilation avec la version VC6 core-8-6-branch : "erreur C2065 : 'int16_t' : identifiant non déclaré".
- Correction de bugs dans ClockGetdatefieldsObjCmd() : dépassement d'entier signé et comportement indépendant de la plate-forme.
- Correction d'un bug avec l'initialisation de fakeObject.refCount dans tclOO.c.
- Correction d'un bug où l'utilisation après retour dans AddressSanitizer interromprait les tests NRE et les coroutines.
- Corrigez les fausses erreurs de [format d'horloge].
- Correction de la réallocation [exec %var%] dans MS WindowsCela a été interdit le 8 juin 2013.
- Correctif de documentation pour Tcl_PkgRequire : la ligne de spécification de version fait référence à « package require ».
- Correction d'un bug dans [tcl_startOfPreviousWord string end-1].
- Correction d'un crash survenu lorsque Tcl_ReadChars était appelé sur des objets Unicode.
- Correction d'une boucle lors du remplacement de proc::history.
- Correction d'une boucle lorsque ::unknown est déplacé dans un espace de noms.
Source: opennet.ru
