Latest Release: Tcl/Tk 8.6.17 (Aug 15, 2025)
First released in 2012, Tcl/Tk 8.6.* remains supported while Tcl 9.0.* and Tk 9.0.* are the current series of releases in 2024.
Download Tcl/Tk 8.6.17 Source Releases
Download ActiveTcl 8.6.9 Binaries (lagging the core)
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,
coroutine,tailcall,yield, andyieldtothat provide profound new capabilities and models of concurrency to Tcl scripts. - Enhanced Exceptions: New commands
tryandthrowand a wealth of new-errorcodevalues enable far more precise trapping and handling of exceptions using a familiar construct. - 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
interp cancelmake 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
sockets support IPv6 where platform support exists. - Built-in Zlib Compression: New command
zlibprovides utilities to handle compression of data and streams. - List Processing: New commands
lmapanddict mapenable the elegant expression of transformations over Tcl containers. - Stacked Channels by Script: New commands
chan pushandchan popexpose the power of stacked channels without the need to write C code. - Additional New Features: Temporary
filecreation, enhancements to list sorting and setting,dictfiltering, half-closeof bidirectional channels, encoding and decoding ofbinarysequences, finer control overload, 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 busyis a variant ofblt::busythat 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 fontchooserprovides a portable interface to the standard font selector of the platform, whether that is modal or not. - Angled Text: New option
-angle $degreesto$canvas create textfor rotating displayed text. - Moving Things on a Canvas: New commands
$canvas moveto,$canvas imoveand$canvas rcharsfor moving and manipulating canvas items. - Additional New Features: Text widget cursor control, more window manager hints, and a collection of modernizations in appearance and function.
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
releases.
This is the main Tcl Developer Xchange site,
www.tcl-lang.org .
About this Site |
[email protected]
Home |
About Tcl/Tk |
Software |
Core Development |
Community |
Documentation