Releases: flightaware/tohil
v4.4.2
It seems you feel our work is not a benefit to the public
This is a bugfix release for v4.4.0 that properly sets the version number of the library. v4.4.0's release notes are reproduced below.
Tohil v4.4.0 is a fairly minor release, with a single new feature
- The
::argv0
,::argc
, and::argv
variables are now set in tohil's Tcl interpreter if their Python siblings are also set (#76)
-
I don't know much about biomechanics, Roy. I wish I did.
What's Changed
- TclProcs now return tclobj datatype by default. (Previously it returned strings by default but returns tclobjs now for consistency with tohil.call and tohil.eval)
- Thread state handling improvements aka bug and crash fixes when using Tohil/Python from multiple Tcl interpreters (#70)
- Tohil tclobj integer math is now always performed at 64-bits, even on 32-bit machines (#75)
- Much faster Python-to-Tcl numeric conversions (Ibid)
- Fix infinite recursion when Tohil's exception handler caused an exception (#73)
- configure script improvements to permit building Tohil with nix (#65).
- Tohil previously stored a Python capsule containing a pointer to its corresponding Tcl interpreter in
__main__.interp
and you could make Python crash by doing likeinterp = ''"
before importing tohil. This renames interp to something way less likely to have a conflict. - Many new tests, and tests can now be run via nix.
Full Changelog: v4.2.0...v4.3.0
I'm sort of an orphan.
Tohil 4.2 fulfills on Tohil's #1 new feature request: Python code passed to tohil::exec
is now unindented before being passed to Python.
- Fixed crash when
register_callback
-registered functions raised a Python exception. - Added the required directory tree to build tohil as a Debian package.
- Cleaned up tohil namespace so
dir(tohil)
doesn't show modules tohil imported as if it had created them. - Make 'package forget tohil' work. (hat tip to @pooryorick)
- Support tcl 'unload' command for tohil shared library. (ditto)
- Add
-nonevalue
option totohil::call
to allow the "none" sentinel to be arbitrarily specified. (Retains the default of tohil::NONE.) - Homebrew formula for building with homebrew (hat tip to @midsandhighs)
- Updates to documentation and tests.
For full details please visit https://flightaware.github.io/tohil-docs/whatsnew/4.2.html
This release includes contributions by @resuna, @bovine, @NasaGeek, @midsandhighs, @pooryorick, @eric1tran and your humble narrator. Many thanks.
Ah, gosh. You've really got some nice toys here.
Welcome to Tohil 4.1.1. Despite the .1, this is the first release of Tohil 4.1.
4.1 contains a few improvements since 4.0, many bug fixes, and considerably improved documentation.
For details, please visit What's New in Tohil 4.1
Nothing is worse than having an itch you can never scratch.
Yet another minor release in our asymptotic slugfest to find an elusive bug. This time when we get a python exception during tcl's tohil initialization, return the python exception value as a Tcl error rather than returning the last thing that happened to be in the Tcl interpreter's result object.
The egg hatched, and a hundred baby spiders came out
Now with our elusive error, that we no longer error on namespace creation failure, we now get an error loading the shared library. The way tohil did the error message, it clobbered a possibly helpful message from Tcl. This small release should make the clobbered error available.
I never seen a turtle. But I understand what you mean.
A small maintenance release to keep tohil from erroring on package require tohil
when the tohil namespace already exists in the Tcl interpreter.
I make friends. They're toys. My friends are toys.
Welcome to Tohil 4!
This is a major new release. Please see full release notes at https://flightaware.github.io/tohil-docs/whatsnew/4.0.html
Highlights:
- Python code using Tohil to invoke Tcl code or access Tcl data, the default return value is now a tclobj object rather than a string.
- Full Python subinterpreter support - multiple Python interpreters can use Tohil without "crosstalk" between them or other ill effects.
- Support for Separate Virtual Interpreters in Rivet - Apache Rivet Tcl module with a separate Tcl interpeter per virtual host that use Tohil now gets a separate Python interpreter as well.
- A function can now be specified in a to= arg.
- Greatly improved documentation, in Python-standard format, now served online.