Release Notes

Tcl/Tk 8.6.10 Release Announcement November 21, 2019

The Tcl Core Team is pleased to announce the 8.6.10 releases of the Tcl dynamic language and the Tk toolkit. This is the tenth patch release of Tcl/Tk 8.6. More details can be found below. 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 in the core.

Where to get the new releases:

Tcl/Tk 8.6.10 sources are freely available as open source from the Tcl Developer Xchange web site at:

This web page also contains additional information about the releases, including new features and notes about installing and compiling the releases. Sources are always available from the Tcl SourceForge project’s file distribution area:

This distribution is source code only. We keep links to some third parties offering pre-built binaries for various systems here:

For additional information:

Please visit the Tcl Developer Xchange web site:

This site contains a variety of information about Tcl/Tk in general, the core Tcl and Tk distributions, Tcl development tools, and much more.

Summary of Changes since Tcl/Tk 8.6.9:

This is a patch release, so it primarily includes bug fixes and corrections to erratic behavior. Highlighted changes are noted below. The changes file at the root of the source tree contains a more complete list. The Timelines of all changes are online.

  • Tk improvements on Mac OSX (including Catalina) / Aqua

    • [tk::unsupported::MacWindowStyle isdark] for Dark Mode, Dark Mode drawing procedures for many ttk widgets were added
    • internationalized text entry with IME
    • implementation of non-global [grab]
    • [TIP 536] more commands for IPC, matching [tk::mac::*]
    • support for Tabbed Windows
    • color names consistent with NSColor, Tk & Ttk default bg color agreement, semantic and simulated semantic colors, enables Dark Mode *** POTENTIAL INCOMPATIBILITY ***
    • revised combobox to use native ttk scrollbar *** POTENTIAL INCOMPATIBILITY ***
    • [tk_getOpenFile] causes off-screen toplevels
    • make full-screen and split screen windows work correctly
    • notebook pane redraws
    • better handling of resolution changes
    • performance gains by more nearly limiting redraws to areas of damage
  • OSX: Stop default seeking packages under /System; those are now deprecated *** POTENTIAL INCOMPATIBILITY ***

  • [TIP 532] Tk event loop rewrite prevents event ring overflow *** POTENTIAL INCOMPATIBILITY ***

  • Tk improvements on Windows

    • horizontal scrolling support
    • support for buttons 4 and 5
    • embedded widget destruction cancels window resize
    • position of toplevel windows with highlightthickness > 0
    • new keycodes Mail, AudioMedia, Launch0, Launch1
  • [TIP 527] New command [tcl::unsupported::timerate] for performance testing.

  • New command [tcl::unsupported::corotype]

  • Partial support for emoji in Tk text displays (see Tk demo).

  • Refactored all MouseWheel bindings *** POTENTIAL INCOMPATIBILITY ***

  • [TIP 535] Revised precision of ::scale widget tick mark values *** POTENTIAL INCOMPATIBILITY ***

  • [TIP 541] [combobox current] supports “end” index

  • [TIP 533] New index argument in [$menubutton post x y index]

  • Fix crashes or hangs in…

    • [file normalize ~/~foo]
    • [ttk::style element create]
    • multi-argument write-traced [lappend]
    • Tcl_Exit() call before completed initialization
    • bytcode compiling deeply nested scripts (C stack overflow)
    • test text-11a.22
    • activating “Alt” theme
    • call to [NSMenu size]
    • drawing 1x1 rounded rectangles
    • deactivating menu during menu deletion
    • transient window cycles (now disallowed)
    • [event generate]d
    • [next] after destroy
    • [wm iconphoto] on empty image
  • Fix memory leak when namespace deletion kills linked var

  • Repair regressions in…

    • [list [list {*}[set a “ “]]]
    • [package require] memory validity
    • [info level 0] paired with ensembles
    • use of non-ASCII characters in proc parameters
    • [treeview tag configure]
    • [wm manage] on Aqua
  • Incomplete read of multi-image GIF

  • Prevent cross-manager loops of geom management

  • Stop app switching exposing withdrawn windows as zombies

  • Cross-platform rework of label options -highlight*

  • <> trigger on item delete

  • Repeated up arrow key in [text] takes cursor to index 1.0

  • Unicode 12.0 (including Japanese Reiwa era)

  • tzdata updated to Olson’s tzdata2019c

  • libtommath updated to release 1.2.0

  • Updated bundled packages

    • Itcl 4.2.0 - memory performance, [$o info variable -scope]
    • sqlite3 3.30.1
    • Thread 2.8.5
    • TDBC* 1.1.1
    • http 2.9.1
    • tcltest 2.5.1
    • registry 1.3.4 - no -DUNICODE required
    • dde 1.4.2 - no -DUNICODE required

– Tcl Core Team and Maintainers Don Porter, Tcl Core Release Manager