Pärast 15 kuud arendust on välja antud Tcl/Tk 8.6.14, dünaamiline programmeerimiskeel, mida levitatakse koos platvormidevahelise graafilise liidese põhielementide teegiga. Tcl on peamiselt levinud kasutamiseks kasutajaliideste loomisel ja kui sisseehitatud keel, kuid Tcl sobib ka kiirusprototüüpimiseks, veebiarenduseks, võrgurakenduste loomiseks, süsteemihaldamiseks ja testimiseks. Projekti kood on litsentseeritud BSD all.
Muudatuste hulgas:
- Failiteede normaliseerimine ja sümboli „~” töötlemine teedes on viidud platvormidevahelisele kujule.
- Teepikkus, mis algab ‘//’ ei asendata ‘/’ läbi, sealhulgas Cygwinis ja QNX-is.
- Tühi režiim on lubatud [chan create] („[chan create {} $cmd]”) refchan versiooni [socket -server] lubamiseks.
- Forkimise jõudlust on parandatud, kasutades mitmerealist tööd vfork/spawn abil.
- getsockname(2) kutse Tcl_MakeFileChannel(3) sees tehakse ainult siis, kui see on hädavajalik.
- Tcl/tclsh kaitset on tugevdatud pledge(2) funktsiooni abil OpenBSD-s või sarnaste mehhanismide kaudu.
- tcltest on kohandatud Tcl 9 toetamiseks (>= tcltest 2.5.7).
- Tagas tähendab, et ebakorrektsed Unicode'i järjestused dekodeeritakse asendussümboliga.
- VxWorks'i või muude platvormide koostamisfailidesse on lisatud mknod, tcdrain ja uname kontroll.
- 32-bitine Cygwin on lõpetanud oma olemise, seega ei ole Cygwin'i jaoks enam vajalik argument «—enable-64bit».
- Tcl_VarEval ei pea enam vananenuks.
- «[interp limit time -seconds]» lahendab 2038. aasta probleemi.
- win/makefile.vc failist on eemaldatud utf16 valik.
- zlib on uuendatud versioonile 1.3.1.
- libtommath on uuendatud versioonile 1.2.1.
- install-sh on uuendatud versioonile 2020-11-14.01.
- Unicode 15.1 tugi on lisatud.
- Ajavööndite andmebaas on uuendatud väljaandele tzdata2024a.
- Windows'i binaarfailide litsentsi metainfo sisaldab California ülikooli viidet.
- Man-lehe argumentide vale vormindamise viga on parandatud.
- Windows 11 andmed olid tcl_platforms'is puudulikud, see on parandatud.
- Big endian süsteemides stringide vale võrdlemise viga on parandatud.
- TCL_precisi väärtusvahemikus 15..18 katkestuste viga on parandatud.
- Memchan voolu puhastamise harva esinevad katkestused on parandatud.
- Parandatud viga zip-käsu veateate kuvamisel, kui failikommentaar või failinimi on liiga pikk või ei ole iso-latin-1 kodeeringus.
- Parandatud probleem usec taastamisega funktsioonis Tcl_GetTime Windowsis.
- Parandatud krahh TCP kliendi sokeli kanali muundurite rakendamisel.
- Ennetatud vale lugemine Tcl_UtfToUniChar funktsioonis.
- macOS 13 SDK-s on funktsioon sprintf() kuulutatud aegunuks.
- Parandatud argumentide positsiooni ülevool [scan %num$mode] puhul.
- Parandatud krahh tail call'i puhul.
- Parandatud vead clock scan ja clock add funktsioonides vigastes juhtumites või lühendatud valikute korral.
- Parandatud viga, kus poolikuid kahekordseid baitkodeerimisi ignoreeriti, näiteks funktsioonis [encoding convertfrom gb12345 x].
- Parandatud tclvfs tkt kokkuvarisemine tõlgendi sulgemisel koos laaditud tclvfs-iga.
- Parandatud probleem, mis tekkis juhul, kui Tcl_GetUniChar luges sümboleid stringi pikkusest kaugemale ASCII stringide puhul.
- Parandatud viga MS Windowsi versioonis: failid emodžidega leitakse glob-funktsiooniga, kuid ei tuvastata file exists või open abil.
- Parandatud kompileerimisviga VC6 abil core-8-6-branch versioonis: "error C2065: 'int16_t': undeclared identifier".
- Parandatud vead ClockGetdatefieldsObjCmd(): allkirjastatud täisarvude ületäitumine ja platvormideülene käitumine.
- Parandatud viga fakeObject.refCount initsialiseerimisel tclOO.c failis.
- Parandatud viga, kus use-after-return AddressSanitizer'is lõhkus NRE-testid ja korutiinid.
- Parandatud valevead [clock format] puhul.
- Parandatud reaalokatsioon [exec %var%] MS Windowsis. See oli 8.6.13 versioonis keelatud.
- Parandatud dokumentatsioon Tcl_PkgRequire jaoks: versioonispetsiifiline rida kuulub 'package require' alla.
- Parandatud viga [tcl_startOfPreviousWord string end-1] puhul.
- Eemaldatud tõrge, mis tekkis, kui Tcl_ReadChars kutsuti välja Unicode-objektide puhul.
- Eemaldatud lõputu tsükkel, kui proc ::history ülekirjutatakse.
- Eemaldatud lõputu tsükkel, juhul kui ::unknown on tõstetud nimede ruumi.
Allikas: opennet.ru
