Thread from comp.lang.tcl (no replies yet)

Tk 9.0.0 RELEASED
Posted by Don Porter <donald.porter@nist.gov> 5 days 22 hours ago

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 |
| donald.porter@nist.gov             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|

Click on article to view all threads in comp.lang.tcl