ActiveTcl Release Notes

New in This Release

Tcl/Tk 8.6.7 Release Announcement August 9, 2017

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

Binaries for most major platforms are available from:

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.6:

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 at and

  • TIP 473 Let [oo::copy] specify target namespace
  • [TIP 464] Support multimedia keys on Windows
  • Revise Tcl_LinkVar to tolerate some prefixes *** POTENTIAL INCOMPATIBILITY ***
  • Allow empty command as [interp alias] target *** POTENTIAL INCOMPATIBILITY ***
  • Revise Tcl_UtfToUniChar() handling of invalid UTF-8 *** POTENTIAL INCOMPATIBILITY ***
  • [clock] and [encoding] are now ensembles
  • Several [clock] subcommands are now compiled to bytecode
  • Fix crashes or hangs in…
    • [socket -async ::1 0] with no host
    • Threaded memory allocator in thread finalization
    • Tcl_ListObjReplace() error when passed NULL interp
    • [binary scan a$n] when $n overflows int
    • [lsort -unique [lrepeat [expr {1<<27}] 1]]
    • Drawing many dashed canvas objects
    • Using Tk after IME restart
    • Warp pointer operations
    • [[text .t] insert 0.0 \na; .t replace 2.0 3.0 b]
    • Resource exhaustion processing corrupt GIF
  • Fix memory leaks in…
    • namespace delete when unset trace revives namespace variable.
    • Deletion of the [history] command
    • http::geturl when keep-alive is denied
    • TclJoinPath on a custom Tcl_Filesystem
    • text BTree operations
  • Update Unicode data to 10.0 *** POTENTIAL INCOMPATIBILITY ***
  • Merge updates from new libtommath release; purge unused files *** POTENTIAL INCOMPATIBILITY ***
  • Update bundled zlib to release 1.2.11
  • Remove legacy support macro panic() - conflicts with system libraries *** POTENTIAL INCOMPATIBILITY ***
  • Revise Tk font support to avoid type mismatch with recent Xft
  • Repair cmd resolver caching, demonstrated by tests resolver-3.1*
  • Repair zlib stream buffer flushing; zlib-7.8 and PNG writing
  • Prevent Win thread termination during init and teardown
  • Make KeyRelease event handling get _L and _R right
  • Repaint ttk::button when its image changes
  • Wrapped text don’t start lines with whitespace
  • Non-native themes properly display tri-state buttons
  • File dialog repairs for -typevariable, -initialdir, -initialfile
  • Avoid unreleasable global grab due to menu keyboard traversal
  • Fix Win regression [event generate .e ]
  • Fix [grid configure -in] to fully clear outdated info
  • Fix ttk::combobox to use proper style with -postoffset (test combobox-3)
  • OSX: Stop [$text bbox] returning negative width
  • Repair autoloader fragility loading procs that call tailcall
  • Correct parsing in [scan 0x1 %b], [scan 0x1 %o]
  • Fix [string replace] so test stringComp-14.5 passes
  • Invalidate VFS mounts on sytem encoding change
  • Fix [expr {NaN > “Gran”}] to return 1; string comparison
  • Stop frequent Tcl_GetTime() calls creating clock drift
  • Correct functioning of dynamic unexport of methods
  • Fix [file join a //b] and [file join //a b]
  • Compute correct warp cursor position on 2nd display
  • Enable dismissal of ttk::menubutton without hover
  • Tk_BindEvent filter events Tk ignores to avoid X11 ring buffer flood
  • Allow [$photo read] to read files beginning with “-”
  • [text] redisplay calculations corrected on OSX
  • Fix drawing of long text lines on Windows
  • Disabled combobox arrow appearance (danckaert)
  • Fix {PNG -alpha} format for 16-bit color
  • Workaround X11 drawing defects in Ubuntu 16.10+
  • Fix calculation of ttk::notebook tab widths and tab user management
  • Scidb race in notebook tab selection
  • Color name parsing set to reject invalid hex color codes (#ABCZ)
  • OSX scrollbar draw position, highlights, & smooth scroll
  • Race condition on Win clipboard cleanup
  • Center image on button
  • Paneconfigure get pane heights right
  • Windows: User switch forced theme reset
  • Updated bundled packages
    • Itcl 4.1.0 (incompatible with Itk 4.0, get Itk 4.1)
    • sqlite3 3.20.0
    • Thread 2.8.1
    • tdbc* 1.0.5
    • http 2.8.11
    • tcltest 2.4.1
    • msgcat 1.6.1

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

Release History

ActiveTcl June, 2015

This ActiveTcl release is based on the 8.6.4 Tcl core.

This release includes:

  • Bugfixes in the Tcl/Tk core.
  • Updated (Seed repository):
    • Thread 2.7.2 / Basekit interaction
    • http 2.8.9
    • sqlite
    • tls 1.6.5
    • logger 0.9.4
    • struct:pool 1.2.3

ActiveTcl April, 2015

This ActiveTcl release is based on the 8.6.4 Tcl core.

This release includes:

  • Bugfixes in the Tcl/Tk core.
  • Updated (Seed repository):
    • Thread 2.7.2
    • Img 1.4.3
    • sqlite
    • tls 1.6.4
    • Itcl 4.0.3
    • tablelist 5.13
    • tablelist::tile 5.13
    • Itcl 3.4