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
-Eflag for one-liners with theshort-fnsyntax for argument passing. - Add support for threaded abstract types. Threaded abstract types can easily be shared between threads.
- Deprecate the
threadlibrary. 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_FNandJANET_REGmacros to more easily define C functions that export their source mapping information. - Add
janet_interpreter_interuptandjanet_loop1_interruptto 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/gowhen called with an initial value and supervisor. - Add the C API functions
janet_vm_saveandjanet_vm_loadto allow
saving and restoring the entire VM state.