Skip to content

Janet 1.17.0

Compare
Choose a tag to compare
@bakpakin bakpakin released this 21 Aug 19:22

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 the short-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 and JANET_REG macros to more easily define C functions that export their source mapping information.
  • Add janet_interpreter_interupt and janet_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 and janet_vm_load to allow
    saving and restoring the entire VM state.