26 September, 2024.
See also the Tcl 9 page on the Tcl homepage: https://www.tcl-lang.org/software/tcltk/9.0.html
Tcl Changes
Major Features
64-bit capacity: Data values larger than 2 GB
- Strings can be any length (that fits in your available memory)
- Lists and dictionaries can have very large numbers of elements
Internationalization of text
- Full Unicode range of codepoints
- New encodings: utf-16/utf-32/ucs-2(le|be), CESU-8, etc.
- encoding options -profile, -failindex manage encoding of I/O.
- msgcat supports custom locale search list
- source defaults to -encoding utf-8
Zip filesystems and attached archives
- Packaging of the Tcl script library with the Tcl binary library, meaning that the TCL_LIBRARY environment variable is usually not required.
- Packaging of an application into a virtual filesystem is now a supported core Tcl feature.
Unix notifiers available using epoll() or kqueue()
- This relieves limits on file descriptors imposed by legacy select() and fixes a performance bottleneck.
New Numeric Syntax
- 0NNNN gets decimal interpretation, not octal
- 0dNNNN forces decimal interpretation
- NN_NNN_NNN, underscores allowed in numbers for digit grouping
Changes to Tcl Commands
New Commands
New Subcommands
Expanded Syntax / New Options
Changes to Tcl variables
New encodings
- utf-16, utf-16le, utf-16be
- ucs-2, ucs-2le, ucs2be
- CESU-8
Removed encoding
Changed Tcl behavior
- source defaults to encoding utf-8
- Unqualified varnames resolved in current namespace
- Invalid encoding during I/O raises error by default
- Pathnames no longer interpret ~ as home directory
Tk Changes
Changes to Tk Commands
New Subcommands
Expanded Syntax / New Options
Changed Tk behavior
- Scaling-aware widgets and themes with SVG support
- Improved support of two-finger gestures
Changes to Bundled Packages
New packages
- cookiejar 0.2.0
- tcl::idna 1.0.1
Updated packages