Latest Release: Tcl/Tk 8.6.7 (Aug 9, 2017)
Tcl/Tk 8.5 has served as the latest stable release for five years,
and will be around for some time to come, but now Tcl/Tk 8.6 stands
ready to take on that role.
Download Tcl/Tk 8.6.7 Source Releases
Download ActiveTcl 8.6.7 Binaries
Highlights of Tcl 8.6
Object Oriented Programming: The commands of the TclOO
package are now part of Tcl itself. This gives Tcl a built-in object system
that is fully dynamic, class-based, and includes advanced features such as
meta-classes, filters, and mixins.
New version 4 of the popular package Itcl (aka incr Tcl) is also
included, now built on a TclOO foundation, granting support for
some traditional OO Tcl programming out of the box as well.
- Stackless Evaluation: The evaluation of many levels of nested
proc calls are no longer implemented as a stack of nested C routine calls.
This revision in the internal implementation of Tcl evaluation makes deep
recursion in Tcl scripts safe to do. But there's more...
This new implementation enables a collection of new commands,
yieldto that provide profound new capabilities and models
of concurrency to Tcl scripts.
- Enhanced Exceptions: New commands
throw and a wealth of new
enable far more precise trapping and handling of exceptions using a
- Batteries Included: Tcl delivers in the pkgs
subdirectory a bundled collection of third-party packages built and
installed along with Tcl.
- Thread-enabled Operations: A thread-enabled default build,
a bundled Thread package, and new command
make Tcl 8.6 ready for your multi-threaded programming tasks.
- SQL Database Powered: The bundled Tcl DataBase Connectivity
(tdbc) interface package makes it possible to write your SQL
database-powered scripts decoupled from any particular database engine.
The bundled sqlite3 and tdbc::sqlite3 packages supply a
powerful and popular SQL database engine ready to use.
- IPv6 Networking: Both client and server
support IPv6 where platform support exists.
- Built-in Zlib Compression: New command
provides utilities to handle compression of data and streams.
- List Processing: New commands
dict map enable the elegant expression of transformations
over Tcl containers.
- Stacked Channels by Script: New commands
chan pop expose the power of stacked channels without the
need to write C code.
- Additional New Features: Temporary
enhancements to list sorting and setting,
close of bidirectional channels, encoding and decoding
binary sequences, finer control over
and many many more.
Highlights of Tk 8.6
- Built-in PNG Image Support: Photo images now support read/write
in the PNG format, with the ability to set the alpha channel.
- Busy Windows: New command
tk busy is a variant
blt::busy that lets the interactivity of windows be
suspended and restored as required by the needs of the program.
- New Font Selection Dialog Interface: New command
tk fontchooser provides a portable interface to the
standard font selector of the platform, whether that is modal or not.
- Angled Text: New option
$canvas create text for rotating displayed text.
- Moving Things on a Canvas: New commands
$canvas imove and
rchars for moving and manipulating canvas items.
- Additional New Features: Text widget cursor control, more
window manager hints, and a collection of modernizations in appearance
See Changes in Tcl/Tk 8.6 for
the complete list of script-visible change or
TIP #311 for all 68 TIPs in the new