Janet 1.17.0
Major release adding lots of new functionality for threading, channels, and other flow control. The thread/
module has been deprecated and will be removed in the next release, jpm
has been refactored and completely refreshed in janet-lang/jpm, and more.
This release, as per usually, was made possible plenty of contributors who would test, fix bugs, and contribute code to this latest release. Many thanks!
Travis-CI, our macOS CI has also been retired so we are in need of new macOS CI integration. Thankfully, Testing on BSD with clang for source hut gives fairly good coverage.
Changelog:
- Add the
-E
flag for one-liners with theshort-fn
syntax for argument passing. - Add support for threaded abstract types. Threaded abstract types can easily be shared between threads.
- Deprecate the
thread
library. Use threaded channels and ev instead. - Channels can now be marshalled.
- Add the ability to close channels with
ev/chan-close
(or:close
). - Add threaded channels with
ev/thread-chan
. - Add
JANET_FN
andJANET_REG
macros to more easily define C functions that export their source mapping information. - Add
janet_interpreter_interupt
andjanet_loop1_interrupt
to interrupt the interpreter while running. - Add
table/clear
- Add build option to disable the threading library without disabling all threads.
- Remove JPM from the main Janet distribution. Instead, JPM must be installed
separately like any other package. - Fix issue with
ev/go
when called with an initial value and supervisor. - Add the C API functions
janet_vm_save
andjanet_vm_load
to allow
saving and restoring the entire VM state.