Bounty program for improvements to Tcl and certain Tcl packages.
Author:         Don Porter <>
Author:         Larry W. Virden <>
Author:         Joe Mistachkin <>
Author:         Pat Thoyts <>
Author:         Miguel Sofer <>
Author:         Lars Hellström <>
Author:         Alexandre Ferrieux <>
Author:         Arnulf Wiedemann <>
Author:         Trevor Davel <>
Author:         Donal K. Fellows <>
Author:         Jan Nijtmans <>
State:          Draft
Type:           Informative
Vote:           Pending
Created:        08-Jan-2008


This TIP serves to coordinate Tcl/Tk 8.6 development releases and the features they deliver.


Following up on a message to the '' mailing list, , a draft release calendar for Tcl/Tk 8.6 alpha and beta releases is presented below.

The intent is for developers working on Tcl and Tk to add under each release date those features they intend to make part of that release. For features which already are described by another TIP, a reference to that TIP is sufficient, and the recommended way to update this page. For features which have not yet been TIPped, a brief description and the names of those actively working on it are an acceptable temporary replacement, but should be replaced with a TIP reference as soon as one is ready.

This is meant to be a working document, which gets updated by all stakeholders to reflect ongoing progress and any changes of plan. It's not a contract or a promise, just a place to record the intents of an entire community of developers. Anything in it might be revised, and any intent expressed in it might well not be fulfilled. Due to its nature, there will never be any vote on this TIP. It is more analogous to similar informational TIPs like [31].

Release Calendar

Tcl/Tk 8.6a1; Release Date: June 25, 2008

  • [230], Tcl Channel Transformation Reflection API

  • [257], Object Orientation for Tcl

  • [285], Script Cancellation with interp cancel and Tcl_CancelEval

  • [317], Extend binary Ensemble with Binary Encodings

Tcl/Tk 8.6a2; Release Date: August 25, 2008

  • [304], A Standalone chan pipe Primitive for Advanced Child IPC

  • NRE core. This is an internal change that allows infinite recursion and enables new features (like ::tcl::unsupported::tailcall). Official API exposure was in later versions.

Tcl/Tk 8.6a3; Release Date: October 10, 2008

  • [195], A Unique Prefix Handling Command

  • [236], Absolute Positioning of Canvas Items

  • [265], A Convenient C-side Command Option Parser for Tcl

  • [308], Tcl Database Connectivity (TDBC)

  • [313], Inexact Searching in Sorted List

  • [314], Ensembles with Parameters

  • [315], Add pathSeparator to tcl_platform Array

  • [316], Portable Access Functions for Stat Buffers

  • [318], Extend Default Whitespace in string trim Beyond ASCII

  • [320], Improved Variable Handling in the Core Object System

  • [323], Do Nothing Gracefully

  • [326], Add -stride Option to lsort

  • [327], Proper Tailcalls

  • [328], Coroutines

  • [330], Eliminate interp->result from the Public Headers

  • [331], Allow lset to Extend Lists

Tcl/Tk 8.6b1; Release Date: December 23, 2008

  • [97], Moving Vertices of Canvas Items

  • [119], Angled Text on a Canvas

  • [197], Unfocussed Text Widget Cursor Control

  • [210], Add tempfile Subcommand to file

  • [234], Add Support For Zlib Compression

  • [307], Make TclTransferResult() Public

  • [321], Add a tk busy Command

  • [322], Publish the NRE API

  • [324], A Standard Dialog For Font Selection

  • [329], Try/Catch/Finally syntax

  • [332], Half-Close for Bidirectional Channels

  • [335], An API for Detecting Active Interpreters

  • [336], Supported Access To interp->errorline

  • [337], Make TclBackgroundException() Public

  • [338], Embedder Access to Startup Scripts of *_Main()

  • [341], Multiple dict filter Patterns

  • [343], A Binary Specifier for format/scan

Tcl/Tk 8.6b2; Release Date: August 5, 2011

  • [50], Bundle [incr Tcl] with the Core Tcl distribution

    * Note that this is Itcl-ng (Itcl 4.0), and it is done by the external packages mechanism.

  • [162], IPv6 Sockets for Tcl

  • [171], Change Default Bindings Behavior

  • [244], PNG Photo Image Support for Tk

  • [348], Substituted 'errorstack' / 'traceback'

  • [353], NR-enabled Expressions for Extensions

  • [354], Minor Production-Driven TclOO Revisions

  • [356], NR-enabled Substitutions for Extensions

  • [357], Export TclLoadFile

    * Enables bundling of TDBC drivers with Tcl.

  • [359], Extended Window Manager Hint Support

    * Note that this is also being backported to 8.5 and 8.4; it is in response to a change in expectations in third-party software.

  • [360], Modernize X11 Menus

  • [362], Simple 32 and 64 bit Registry Support

  • [364], Threading Support: Configuration and Package

  • [381], Call Chain Introspection and Control

Tcl/Tk 8.6b3; Release Date: September 18, 2012

  • [106], Add Encoding Abilities to the [dde] Command

  • [376], Bundle sqlite3 and tdbc::sqlite3 Packages

  • [378], Fixing the Performance of [280]

  • [380], TclOO Slots for Flexible Declarations

  • [382], Let tk_getSaveFile ignore file overwrites

  • [388], Extending Unicode literals past the BMP

  • [395], New 'string is entier' Command

  • [396], Symmetric Coroutines, Multiple Args, and yieldto

  • [397], Extensible Object Copying

  • [398], Quickly Exit with Non-Blocking Blocked Channels

  • [403], Web Colors for Tk

  • [404], Let Message Catalogs get the Locale from their File Name

Tcl/Tk 8.6.0: Release Date: December 20, 2012

  • [400], Setting the Compression Dictionary and Other 'zlib' Updates

  • [405], Add Collecting Loops, the 'lmap' and 'dict map' Commands

  • [413], Unicode Support for 'string is space' and 'string trim'

  • [416], New Options for 'load' - -global and -lazy

Pending Features

These have been voted in, but not yet implemented.

  • [399], Dynamic Locale Changing for msgcat

    * May be superseded by [412] due to problems found with a lack of dynamism in this TIP's API.

These are currently on the schedule to make 8.6, though perhaps not 8.6.0. [406] and [412] target co-distributed packages, not Tcl itself.

  • [392], Allow Bignums to be Disabled at Runtime on a Per-Interp Basis

    * May make later versions than 8.6.0 and may be backported to 8.5.

  • [406], "C" is for Cookie

  • [412], Dynamic Locale Changing for msgcat with On-Demand File Load

    * Replacement for [399].

Work Roster

See the Wiki page,


This document has been placed in the public domain.