This page is a terse summary of script-visible changes in Tcl/Tk 8.6, presented as bullet lists with links to more detail. For a more narrative, feature-based introduction to 8.6 capabilities, see [The major new features of Tcl/Tk 8.6]. **Tcl Changes** ***New Backslash Syntax*** * \U''hhhhhhhh'' [[[http://tip.tcl.tk/388%|%TIP #388]]] * \x''hh'' limited to at most two digits [[[http://tip.tcl.tk/388%|%TIP #388]]] * \4''dd''–\7''dd'' is now handled like \04''dd''–\07''dd'' [[[http://tip.tcl.tk/388%|%TIP #388]]] ***Changes to Tcl Commands*** ****New Commands**** * [coroutine] [[[http://tip.tcl.tk/328%|%TIP #328]]] * [lmap] [[[http://tip.tcl.tk/405%|%TIP #405]]] * [oo::class] [[[http://tip.tcl.tk/257%|%TIP #257], [http://tip.tcl.tk/320%|%TIP #320], [http://tip.tcl.tk/380%|%TIP #380], [http://tip.tcl.tk/397%|%TIP #397]]] * [oo::copy] * [oo::define] * [oo::objdefine] * [oo::object] * [tailcall] [[[http://tip.tcl.tk/327%|%TIP #327]]] * tcl::[prefix] [[[http://tip.tcl.tk/195%|%TIP #195]]] * [throw] * [try] [[[http://tip.tcl.tk/329%|%TIP #329]]] * [yield] [[[http://tip.tcl.tk/328%|%TIP #328]]] * [yieldto] [[[http://tip.tcl.tk/396%|%TIP #396]]] * [zlib] [[[http://tip.tcl.tk/234%|%TIP #234], [http://tip.tcl.tk/400%|%TIP #400]]] ****New Subcommands**** * [binary decode] [[[http://tip.tcl.tk/317%|%TIP #317]]] * [binary encode] * [chan pipe] [[[http://tip.tcl.tk/304%|%TIP #304]]] * [chan pop] [[[http://tip.tcl.tk/230%|%TIP #230]]] * [chan push] * [dict map] [[[http://tip.tcl.tk/405%|%TIP #405]]] * [file tempfile] [[[http://tip.tcl.tk/210%|%TIP #210]]] * [info coroutine] [[[http://tip.tcl.tk/328%|%TIP #328]]] * [info object] [[[http://tip.tcl.tk/354%|%TIP #354]]] * [info class] [[[http://tip.tcl.tk/354%|%TIP #354], [http://tip.tcl.tk/381%|%TIP #381]]] * [info errorstack] [[[http://tip.tcl.tk/348%|%TIP #348]]] * [interp cancel] [[[http://tip.tcl.tk/285%|%TIP #285]]] * [string is] '''entier''' [[[http://tip.tcl.tk/395%|%TIP #395]]] ****Expanded Syntax / New Options**** * [close] ''chan'' '''read'''|'''write''' [[[http://tip.tcl.tk/332%|%TIP #332]]] * [dict filter] ''dict type'' ''pattern ...'' [[[http://tip.tcl.tk/341%|%TIP #341]]] * [file delete] (''zero pathnames'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [file mkdir] (''zero pathnames'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [format] '''%b''' [[[http://tip.tcl.tk/343%|%TIP #343]]] * [glob] (''zero patterns'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [global] (''zero variable names'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [lassign] (''zero variable names'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [linsert] (''zero elements'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [load] '''-global''' '''-lazy''' [[[http://tip.tcl.tk/416%|%TIP #416]]] * [lrepeat] (''zero elements; zero repetitions'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [lsearch] '''-bisect''' [[[http://tip.tcl.tk/313%|%TIP #313]]] * [lsort] '''-stride''' [[[http://tip.tcl.tk/326%|%TIP #326]]] * [namespace ensemble] '''create''' '''-parameters''' [[[http://tip.tcl.tk/314%|%TIP #314]]] ** see [ensemble with parameters] for more information * [namespace upvar] (''zero variable names'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [return] '''-errorstack''' [[[http://tip.tcl.tk/348%|%TIP #348]]] * [scan] ''string'' '''%b''' [[[http://tip.tcl.tk/343%|%TIP #343]]] * [tcl::tm::path add] (''zero pathnames'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [tcl::tm::path list] [[[http://tip.tcl.tk/323%|%TIP #323]]] * [tcl::tm::path remove] (''zero pathnames'') [[[http://tip.tcl.tk/323%|%TIP #323]]] * [variable] (''zero variable names'') [[[http://tip.tcl.tk/323%|%TIP #323]]] ****New unsupported commands**** * [tcl::unsupported]::[assemble] * [tcl::unsupported]::[inject] * [tcl::unsupported]::[representation] ***Changes to Tcl variables*** ****New global variables**** * [tcl_platform]('''pathSeparator''') [[[http://tip.tcl.tk/315%|%TIP #315]]] ***Changed Tcl behavior*** * The following commands are script-modifiable [ensemble]s: [array], [binary], [file], [namespace] * [lset] can now set the element at index '''end+1''', growing the list. [[[http://tip.tcl.tk/331%|%TIP #331]]] * [string trim]* and [string is space] now uses a different set of whitespace characters as a default.[[[http://tip.tcl.tk/318%|%TIP #318], [http://tip.tcl.tk/413%|%TIP #413]]] * [encoding system] during startup is now '''iso8859-1''', not '''identity'''. * [socket] support for IPv6 addresses [[[http://tip.tcl.tk/162%|%TIP #162]]] * [exit] no longer performs full finalization. * Non-blocking channels no longer forced to flush on exit. [[[http://tip.tcl.tk/398%|%TIP #398]]] ---- **Tk Changes** ***Changes to Tk Commands*** ****New Commands**** * [ttk::spinbox] * [ttk_vsapi] ****New Subcommands**** * ''[canvas]'' '''moveto''' [[[http://tip.tcl.tk/236%|%TIP #236]]] * ''[canvas]'' '''imove''' [[[http://tip.tcl.tk/97%|%TIP #97]]] * ''[canvas]'' '''rchars''' * [tk busy] [[[http://tip.tcl.tk/321%|%TIP #321]]] * [tk fontchooser] [[[http://tip.tcl.tk/324%|%TIP #324]]] ****Expanded Syntax / New Options**** * ''[canvas]'' '''create text''' ... '''-angle''' ''degrees'' [[[http://tip.tcl.tk/119%|%TIP #119]]] * ''[text]'' '''configure''' '''-insertunfocussed none'''|'''hollow'''|'''solid''' [[[http://tip.tcl.tk/197%|%TIP #197]]] * [image] '''create photo -format png''' [[[http://tip.tcl.tk/244%|%TIP #244]]] * ''[treeview]'' '''tag names|add|remove''' * ''[photo]'' '''data -format GIF''' * [wm attributes] '''-type''' [[[http://tip.tcl.tk/359%|%TIP #359]]] ***Changed Tk behavior*** * [tk] is a script-modifiable [ensemble]. * [GIF] [photo] [image]s written with [LZW] compression. * [event generate] can now generate '''''' events. * Tk for OS X/Aqua now built on Cocoa libraries. * ''[image]'' '''write -file''' uses file name extension as format hint. * Revised '''''' event handlers. [[[http://tip.tcl.tk/171%|%TIP #171]]]. * Color names redefined to match Web conventions [[[http://tip.tcl.tk/403%|%TIP #403]]] * X11 menu behavior modernized [[[http://tip.tcl.tk/360%|%TIP #360]]] ****New Events**** * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> See the documentation for http://www.tcl.tk/man/tcl8.6/TkCmd/event.htm#M41%|%event%|% for explanations, and "[event info] " to find out what bindings are used for each on your OS. ---- **Changes to Bundled Packages** ***New packages*** * [Itcl] 4.0.0 [[[http://tip.tcl.tk/50%|%TIP #50]]] * [sqlite3] 3.7.14 [[[http://tip.tcl.tk/376%|%TIP #376]]] * [tdbc] 1.0.0 [[[http://tip.tcl.tk/308%|%TIP #308]]] * [tdbc::mysql] 1.0.0 [[[http://tip.tcl.tk/308%|%TIP #308]]] * [tdbc::odbc] 1.0.0 [[[http://tip.tcl.tk/308%|%TIP #308]]] * [tdbc::postgres] 1.0.0 [[[http://tip.tcl.tk/308%|%TIP #308]]] * [tdbc::sqlite3] 1.0.0 [[[http://tip.tcl.tk/308%|%TIP #308]]] * [Thread] 2.7.0 [[[http://tip.tcl.tk/364%|%TIP #364]]] ***Updated packages*** * [dde] 1.4.0 [[[http://tip.tcl.tk/106%|%TIP #106]]] * [registry] 1.3.0 [[[http://tip.tcl.tk/362%|%TIP #362]]] * [http] 2.8.5 * [tcltest] 2.3.5 * [msgcat] 1.5.0 [[[http://tip.tcl.tk/404%|%TIP #404]]] ---- See also: * [Highlights of Tcl 8.6] * [Highlights of Tk 8.6] * [The major new features of Tcl/Tk 8.6] * [Changes to consider when moving to Tcl 8.6] <> Documentation | Changes in Tcl/Tk