Release Notes

Tcl/Tk 8.6.9 Release Announcement November 16, 2018

The Tcl Core Team is pleased to announce the 8.6.9 releases of the Tcl dynamic language and the Tk toolkit. This is the ninth 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.9 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.8:

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.

  • Mac OSX 10.14 (Mojave) support: Big thanks to Marc Culler for leading the porting effort to bring Tk to the latest Mac systems.

  • [TIP 505] [lreplace] accepts all out-of-range index values POTENTIAL INCOMPATIBILITY

  • [ttk::scale] has new option -state

  • Quoting of command line arguments by [exec] on Windows revised. Prior quoting rules left holes where some values would not pass through, but could trigger substitutions or program execution. See POTENTIAL INCOMPATIBILITY

  • Builds no longer use -lieee POTENTIAL INCOMPATIBILITY for math programs that embed Tcl

  • An [oo::object] can now acquire or lose a class identity dynamically

  • [package require] is now NR-enabled

  • Std channel initialization repaired for multi-thread operations.

  • Tk now denied access to PRIMARY selection from safe interps

  • Fixed 3264-bit confusion of FS DIR operations reported for AIX

  • Added missing “deferred clear code” support to GIF photo images

  • Enable [tk inactive] on Mac OSX

  • Repair edge cases in [binary encode base64]

  • Modern full-screen support on Mac OSX

  • Race conditions fixed in [file delete] and [file mkdir]

  • Fix crashes or hangs in…

    • object deletion, oo-11.5
    • [string trim*] engine given invalid UTF
    • unset array with search, var-13.[23]
    • [format] with overflowing conversion specifier
    • using window after master destroyed
    • [ttk::checkbutton .x -variable {}]
    • [event generate . ]
    • menu destroy with checkbutton entry
    • widget variables deleted by traces
    • [$text replace]
    • [wm transient]
    • KeyPress event handling
  • Fix memory leaks in…

    • TclSetEnv and env cache
    • encoding used by tkMacOSXProcessFiles
  • Bad binary [string match], string-11.55

  • Broken compiled [string replace], string-14.19

  • Missing trace in compiled [array set], var-20.11

  • [yieldto] dying namespace, tailcall-14.1

  • Fixes in [text] bindings

  • Fix touchpad scroll of listbox on win notebook

  • Tk style and appearance

    • Regression in Tk_DrawChars()
    • Menu flaws when empty menubar clicked
    • Improved legacy support for [tk_setPalette]
    • Improve ttk high-contrast-mode support
    • Vista theme for combobox
    • Insertion cursor visibility in ttk::entry
    • Cascade menu indicator color
    • Borderwidth calculations on menu items
  • Tk improvements on macOS…

    • Fix [wm resizable]
    • Fix scrollbar operations
    • KeyRelease events
  • Updated bundled packages

    • Itcl 4.1.2
    • sqlite3 3.25.2
    • Thread 2.8.4
    • TDBC* 1.1.0
    • tcltest 2.5.0
    • http 2.9.0, Keep-Alive with pipelined requests
    • registry 1.3.3, Prevent crash from NULL keyName
    • dde 1.4.1

Tcl Core Team and Maintainers

Don Porter, Tcl Core Release Manager