I'm pretty sure the list is:
Script-visible issues:
  * A change was made to the standard unkown procedure to remove code that 
had been inserted specifically to work arround issues in older versions of 
Itcl/Itk. This may impact older versions of Itcl/Itk or people who have 
custom ::unknown procedures.
  * TIP 318 revised defaults for [string trim] by introducing other unicode 
characters that are now considered whitespace. Thus scripts using the 
default trim characters may now (correctly) trim additional characters off 
that were not being trimmed before.
  * The unload will now only unload extensions, thus removing their 
commands, if the extension either has a special unload entry point or no 
calls have been made to it. Thus commands that were delete due to unload in 
prior versions of Tcl may not be deleted in 8.6.
  * The system encoding at startup is now "iso8859-1", and no longer 
"identity". This may impact scripts with strings with literal charactes (as 
opposed to those using \u substition) whose characters are outside of the 
printable ASCII range.
  * The [exit] command may no longer invoke some C level "finalization" 
routines that were previously (erronously) invoked.
  * The read varaible traces that are invoked during an [lappend] command 
are now consistant and no longer vary depending on if the code was byte 
compiled or not. Anyone code using the previous (buggy) behavior to detect 
if the code was byte compiled or not will not longer function.
  * The Unicode tables have been update to correspond with Unicode 6.0. 
Thus, some characters which were not previously recognized as [string is 
alpha] are now correctly recognized as such.
  * Allow function names like "influence()", "nanobot()", and "99bottles()" 
that have been parsed as missing operator syntax errors before with the form 
NUMBER + FUNCTION. I.e. the examples would have parsed as: Allow function 
names like "inf luence()", "nano bot()", and "99 bottles()".
  * On exit, Tcl will no longer flush non-blocking channels. Scripts relying 
on non-blocking channels being flushed on exit will have to be modified to 
explictly flush those channels.
  * Corrected resulting indexes from -indexvar option to be usable with 
[string range]; this was always the intention (and is consistent with 
[regexp -indices] too). Uses of [switch -regexp -indexvar] that previously 
compensated for the wrong offsets (by subtracting 1 from the end indices) 
now do not need to do so as the value is correct.
(The above are my words).
-- 
+------------------------------------------------------------------------+
| Gerald W. Lester, President, KNG Consulting LLC                        |
| Email: 
Gerald...@kng-consulting.net                                |
+------------------------------------------------------------------------+