Tcl/Tk Changelog

New in version 8.6.3

November 12th, 2014
  • [TIP 432] Updated file dialogs on Windows.
  • Restore ability to read again from a channel after EOF.
  • Incompatible result from [lreplace {} 1 1].
  • Incompatible result from [lappend foo].
  • Incorrect result from [regsub -all {\(.*} a(b) {}].
  • Restore ability to [open comX: r+].
  • Fixed [scale] handling of negative resolution values.
  • Fixed crashes in...
  • [oo::class destroy].
  • [apply {{} {try {} on ok {} - on return {} {}}}].
  • improperly optimized [expr]ession bytecode.
  • [array set] of a traced array.
  • [scale .s -digits $tooBig].
  • Bytecode optimized for [string cat].
  • Support for Windows 10.

New in version 8.6.1 (September 20th, 2013)

  • 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, and yieldto that provide profound new capabilities and models of concurrency to Tcl scripts.
  • Enhanced Exceptions: New commands try and throw and a wealth of new -errorcode values 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 cancel 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 sockets support IPv6 where platform support exists.
  • Built-in Zlib Compression: New command zlib provides utilities to handle compression of data and streams.
  • List Processing: New commands lmap and dict map enable the elegant expression of transformations over Tcl containers.
  • Stacked Channels by Script: New commands chan push and chan pop expose the power of stacked channels without the need to write C code.
  • Additional New Features: Temporary file creation, enhancements to list sorting and setting, dict filtering, half-close of bidirectional channels, encoding and decoding of binary sequences, finer control over load, 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 of 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 -angle $degrees to $canvas create text for rotating displayed text.
  • Moving Things on a Canvas: New commands $canvas moveto, $canvas imove and $canvas 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 and function.

New in version 8.6 Beta 3 (November 21st, 2012)

  • New command: [yieldto].
  • A new OO builtin class: [oo::Slot].
  • A new OO standard method: (extends [oo::copy].
  • A new subcommand: [string is entier].
  • Redefined color names to match Web colors.
  • Bundled distribution of SQLite 3 3.7.14.
  • Updates to Unicode 6.2 support.
  • Several bugfixes.
  • Mac OS X versions before 10.4 (Tiger) are no longer supported.

New in version 8.6 Beta 2 (September 2nd, 2011)

  • PNG format support in photo images.
  • IPv6 networking support.
  • New OO commands: [info ... call], [self call], and [nextto].
  • The command [$notebook config -tabposition] is enhanced.
  • Default handling of events has been revised.
  • New interfaces for NRE support by extensions.

New in version 8.5.7 (April 16th, 2009)

  • Embeddable CoreFoundation notifier on Darwin.
  • Improved compatibility support in [load] on Darwin.
  • Restored Tk_CreatePhotoImageFormat compat with aMSN.
  • Stopped blurry large fonts on Vista.
  • New version 1.0.3 of platform package: more details in identifiers for Darwin
  • New version 2.7.3 of http package: fixes connect failure when partial lines returned
  • New version 2.3.1 of tcltest package: removes several unsafe [eval]s
  • Menu image display fixes.
  • Fixed crash in Tk_MakeWindowExist() seen with gitk.
  • Fixed [file pathtype] on volumerelative paths.
  • Extended virtual events to work when Caps Lock is on.
  • Stopped memory leak in [file normalize].
  • Fixed crash on exit with [chan create]d channels.
  • Prevent crashes overflowing max string lengths.
  • Improved support for MSVC builds on _WIN64 systems.

New in version 8.6 Beta 1 (December 29th, 2008)

  • The new commands [try], [throw], [zlib], and [ttk::spinbox] were added.
  • The new subcommads [file tempfile], [tk busy], [tk fontchooser], [$canvas imove], and [$canvas rchars] were added.
  • A new ttk theme was added: vista uses the new "hover" state.
  • The build script now supports bundled packages.