Thursday, 16 July 2026
Jim Tcl version 0.84
ANNOUNCE: Jim Tcl version 0.84
Jim Tcl 0.84 has been released and is available from:
https://github.com/msteveb/jimtcl
Find out all about Jim Tcl at http://msteveb.github.io/jimtcl/
CHANGES SINCE VERSION 0.83
This release contains bug fixes, documentation improvements, and several important fixes for correctness and safety. A summary is below. See git for the full changelog.
Thanks to everyone who contributed to this release.
Bugs fixed in version 0.84
- fix uninitialized upvar when binding procedures
- fix out-of-bounds read in
string first - fix unchecked truncation in
SetIndexFromAny [wait -nohang]now returns correct result when child still runningexecfall-back implementation compilation issues fixedregsubnow properly handles usage errors (returns code -1)regsub -allno longer loops forever when matching everywheretryerror handling now properly handles shortererrorCode- abort on boolean negation/plus unary operators fixed
aio writeon EPIPE now properly discards write bufferdict set/unsetnow ensures dicts modified via dict sugar are unsharedJim_SetVariable()now properly frees value on error
Features and improvements added in version 0.84
- Major features:
- TIP 424 support: new safer
exec |syntax andopen "|| pipeline..."support - Optional taint support for improved data security
-
aionow supports translation mode (binarytext) and configurable buffering lsubstcommand to create lists using subst-style substitutionpackage forgetcommand supportJim_RegisterCommand()API for improved C command registration with arg checkinginfo usagereturns usage for procs and native commandsinfo aliaseslists all aliases
- TIP 424 support: new safer
- Regex improvements:
regexpandregsubnow support-expandedflagregexpandregsubnow support-lineanchorand-linestopflagsregexpnow properly handles non-repeat count{...}regexp -allnow properly assigns match variables
- Expression improvements:
exprnow supports=*(string glob match) and=~(string regex match) operators./configure --compatnow properly enables expr with multiple args
- Documentation:
- Extensive public API documentation added
- subst with
$(...)documented
- Other improvements:
parraynow allows additional arguments per Tcl compatibilityvwaitnow accepts script argumentregexpandregsubnow sort--after other options for Tcl 9.0 compatibilityinfo patchlevelnow returns git version if availableJim_EvalFilenow accepts input from any readable file- linenoise updated with grapheme cluster support for better Unicode handling
tcltestimproved to support any Tcl version >= 8.5os.umaskcommand added- MorphOS platform support added
jimshimproved stdin/tty handling- Improve Jim_Stack API and remove unused ABI fields
- Improved build compatibility with updated autosetup to v0.7.2+
Possible incompatibilities in version 0.84
Jim_RegisterCommand()API changes for C extensions using direct command registration- If taint checking is enabled (.i.e. not disabled with –disable-taint) it may block certain operations that otherwise would have been allowed. See README.taint.
Jim_SetVariable()now frees the value on error so callers should not attempt to do so
Steve Bennett (steveb@workware.net.au)
comments powered by Disqus