Tcl/Tk 9.1 has arrived with improvements to both the Tcl programming language and the Tk graphical toolkit, with accessibility and internationalization among the most notable changes.
On the Tk side, version 9.1 introduces screen reader support, improving accessibility for applications built with the toolkit. Initial support for bidirectional text and right-to-left languages has also been added, extending Tk’s capabilities for interfaces using languages such as Arabic and Hebrew.
Another visible addition is the new ttk::toggleswitch widget, providing applications with a native toggle-style control. Tk 9.1 also adds rotated text support for labels, extended states for ttk::treeview and ttk::notebook, improved listbox selection colors, and better handling of dialogs to prevent them from extending beyond the screen width.
Tcl 9.1 introduces a new unicode command for Unicode normalization, alongside corresponding C APIs. In addition, a new timer command provides access to a monotonic clock with microsecond resolution. The new lfilter command allows selecting matching items from a list.
Other language-side changes include new options for subst and switch, additional C99 mathematical functions available through expr, improved large-list memory efficiency, and broader support for 64-bit sizes.
Regarding platform-specific work, Tcl now handles case-insensitive filesystem paths on macOS. Executable searching through auto_execok and exec has been reworked on Windows. Finally, Tk drops obsolete support for Windows XP visual appearances.
Source code and additional details about Tcl/Tk 9.1 are available from the project’s official website.
