From: Donald G P. <don...@ni...> - 2024-09-26 18:25:36
|
Tk 9.0.0 Release Announcement ============================== September 26, 2024 The Tcl Core Team is pleased to announce the release of Tk 9.0.0. This is the first stable release of Tk 9.0. This should replace all prior alpha or beta releases. The Tk Toolkit is an extension to Tcl, providing commands and supports for the creation of graphical user interfaces. Tk originates with John Ousterhout and his team at U.C. Berkeley in the late 1980s. Its development is continued by the efforts of a global network of volunteers guided by the Tcl Core Team. We would like to express our gratitude to all those who submit bug reports and patches. This information is invaluable in enabling us to identify and eliminate problems. Such reports can be submitted here. > [Tk Ticket Tracker](https://core.tcl-lang.org/tk/ticket) We ask that you log in (anonymous if you wish) to create tickets. This deters abuse of the ticketing system: > [Tk Contributor Login](https://core.tcl-lang.org/tk/login) Where to get the new releases ============================= Tk 9.0.0 sources are freely available as open source from the Tcl SourceForge project's file distribution area: > [Tcl Source Distribution](https://sourceforge.net/projects/tcl/files/) The Tk 9.0.0 distribution is source code only. We keep links to some third parties offering pre-built binaries for various systems here: > [Tcl Binary Distribution](https://www.tcl-lang.org/software/tcltk/bindist.html) Tk 9 Release Summary ===================== This is a new major version of Tk. When compared with the prior release Tk 8.6, there are new features to be enjoyed. There are incompatibilities to be considered. A summary of the most noteworthy changes is found below. Tk 9.0.0 does not support Tcl 8.6. Tk 9.0.0 extends Tcl 9.0.0. To make use of Tk 9.0.0, first the new Tcl release, Tcl 9.0.0, needs to be present. As new Tk features are developed, expect them to appear in Tk 9, but not necessarily in Tk 8.6. We believe many Tcl programs written for Tcl/Tk 8 will run unchanged in Tcl/Tk 9. We believe many more Tcl programs can be modified in small and simple ways to produce a new program that runs in both Tcl 8 and Tcl 9. We expect that extensions and applications using public C APIs of Tcl and Tk will involve more effort, but that it is still within reasonable reach to produce source code supporting both Tcl 8 and Tcl 9 while both releases remain in widespread use. The experiences of Tcl/Tk 8 users adapting their code to Tcl/Tk 9 will determine the need for possible Tcl 8.7 releases that might supply additional lifecycle and migration support. Please use the Ticket Trackers to share your experiences and difficulties. See the following links for an accumulation of migration advice: [Migrating C extensions to Tcl 9] (https://core.tcl-lang.org/tcl/wiki?name=Migrating+C+extensions+to+Tcl+9) [Migrating scripts to Tcl 9] (https://core.tcl-lang.org/tcl/wiki?name=Migrating+scripts+to+Tcl+9) There has been much progress already porting many known applications, extensions, and packages in the Tcl world to compatibility with Tcl/Tk 9: [Apps confirmed to work with Tcl/Tk 9] (https://wiki.tcl-lang.org/page/Apps+confirmed+to+work+with+Tcl+9) [Porting extensions to Tcl 9] (https://wiki.tcl-lang.org/page/Porting+extensions+to+Tcl+9) Tcl Improvement Proposals (TIPs) ================================ Each new user-visible feature in Tk should find its origins in a Tcl Improvement Proposal (TIP). TIPs are published, edited, considered and voted in public, and should contain valuable information about how a feature came to be the way it is. See the full collection here: > [TIP Index](https://tip.tcl-lang.org/) Tk Changes Summary =================== The source code for Tk is managed by fossil. Tk developers coordinate all changes to the Tk source code at > [Tk Source Code](https://core.tcl-lang.org/tk/) Release Tk 9.0.0 arises from the check-in with tag core-9-0-0. Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, with focus on changes important to programmers using the Tk library and writing Tcl scripts containing Tk commands. ## Many improvements to use of platform features and conventions - Built-in widgets and themes are scaling-aware - Improved support of two-finger gestures, where available - The `tk windowingsystem` "aqua" needs macOS 10.10 or later ## New commands and options - `tk sysnotify` — Access to the OS notifications system - `tk systray` — Access to the OS tray facility - `tk print` — Access to the OS printing facility ## Widget options - New `ttk::progressbar` option: **-text** - `$frame ... -backgroundimage $img -tile $bool` - `$menu id`, `$menu add|insert ... ?$id? ...` - `$image get ... -withalpha ...` - All indices now accept the forms **end**, **end-int**, **int+|-int** ## Improved widget appearance - `ttk::notebook` with nondefault tab positions ## Images - Partial SVG support - Read/write access to photo image metadata ## Known bugs - [Use of Tcl_Obj vs char * in Widget storage](https://core.tcl-lang.org/tk/tktview/f91aa2) - [Tilde file syntax not available on 9.0 but used by "~/.Xdefaults"](https://core.tcl-lang.org/tk/tktview/fcfddc) - [many PIXEL options don't keep their configured value](https://core.tcl-lang.org/tk/tktview/29ba53) - [Canvas widget handles pixel objects incorrectly in Tk 9.0](https://core.tcl-lang.org/tk/tktview/610a73) - [Inconsistent reporting of child geometry changes to grid container](https://core.tcl-lang.org/tk/tktview/beaa8e) - [Inconsistency in whether widgets allow negative borderwidths](https://core.tcl-lang.org/tk/tktview/5f739d) - [Enter key works differently in Windows and Linux](https://core.tcl-lang.org/tk/tktview/b3a1b9) - [slow widget creation if default font is not used](https://core.tcl-lang.org/tk/tktview/8da7af) - [The wm manage command does not work on current macOS versions](https://core.tcl-lang.org/tk/tktview/8a6012) - [Slow processing irregular transparencies](https://core.tcl-lang.org/tk/tktview/919066) - [text's cursor width on 0th column](https://core.tcl-lang.org/tk/tktview/47fbfc) - [text widget breaks graphemes with combining diacritical marks](https://core.tcl-lang.org/tk/tktview/442208) For additional information: =========================== Please visit the Tcl Developer Xchange web site: > [Tcl Developer Xchange](https://www.tcl-lang.org/) This site contains a variety of information about Tcl/Tk in general, the core Tcl and Tk distributions, Tcl development tools, and much more. -- Tcl Core Team and Maintainers Don Porter, Tcl Core Release Manager -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |