What's new in Tcl/Tk 8.6.3
Nov 12, 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 Tcl/Tk 8.6.1 (Sep 20, 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 Tcl/Tk 8.6 Beta 3 (Nov 21, 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 Tcl/Tk 8.6 Beta 2 (Sep 2, 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 Tcl/Tk 8.5.7 (Apr 16, 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 Tcl/Tk 8.6 Beta 1 (Dec 29, 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.