Skip to content

Releases: janet-lang/janet

Janet 1.21.0

26 Mar 02:49
Compare
Choose a tag to compare
  • C functions janet_dobytes and janet_dostring will now enter the event loop if it is enabled.
  • Fix hashing regression - hash of negative 0 must be the same as positive 0 since they are equal.
  • The flycheck function no longer pollutes the module/cache
  • Fix quasiquote bug in compiler
  • Disallow use of cancel and resume on fibers scheduled or created with ev/go, as well as the root
    fiber.

Janet 1.20.0

28 Jan 04:40
Compare
Choose a tag to compare

Add :missing-symbol hook to compile that will act as a catch-all macro for undefined symbols.

  • Add :redef dynamic binding that will allow users to redefine top-level bindings with late binding. This
    is intended for development use.
  • Fix a bug with reading from a stream returned by os/open on Windows and Linux.
  • Add :ppc64 as a detectable OS type.
  • Add & more support for destructuring in the match macro.
  • Add & more support for destructuring in all binding forms (def).

Janet 1.19.2

07 Dec 00:29
Compare
Choose a tag to compare
  • Fix bug with missing status lines in some stack traces.
  • Update hash function to have better statistical properties.

Janet 1.19.1

05 Dec 15:37
Compare
Choose a tag to compare
  • Add an optional prefix parameter to debug/stacktrace to allow printing prettier error messages.
  • Remove appveyor for CI pipeline
  • Fixed a bug that prevented sending threaded abstracts over threaded channels.
  • Fix bug in the map function with arity at least 3.

v1.19.0

27 Nov 17:05
Compare
Choose a tag to compare
  • Add math/log-gamma to replace math/gamma, and change math/gamma to be the expected gamma function.
  • Fix leaking file-descriptors in os/spawn and os/execute.
  • Ctrl-C will now raise SIGINT.
  • Allow quoted literals in the match macro to behave as expected in patterns.
  • Fix windows net related bug for TCP servers.
  • Allow evaluating ev streams with dofile.
  • Fix ev related bug with operations on already closed file descriptors.
  • Add struct and table agnostic getproto function.
  • Add a number of functions related to structs.
  • Add prototypes to structs. Structs can now inherit from other structs, just like tables.
  • Create a struct with a prototype with struct/with-proto.
  • Deadlocked channels will no longer exit early - instead they will hang, which is more intuitive.

Janet 1.18.1

16 Oct 20:44
Compare
Choose a tag to compare
  • Fix some documentation typos
  • Fix - Set pipes passed to subprocess to blocking mode.
  • Fix -r switch in repl.

Janet 1.18.0

10 Oct 20:51
Compare
Choose a tag to compare
  • Allow ev/cancel to work on already scheduled fibers.
  • Fix bugs with ev/ module.
  • Add optional base argument to scan-number
  • Add -i flag to janet binary to make it easier to run image files from the command line
  • Remove thread/ module.
  • Add (number ...) pattern to peg for more efficient number parsing using Janet's
    scan-number function without immediate string creation.

Janet 1.17.2

18 Sep 19:19
Compare
Choose a tag to compare
  • Remove include of windows.h from janet.h. This caused issues on certain projects.
  • Fix formatting in doc-format to better handle special characters in signatures.
  • Fix some marshalling bugs.
  • Add optional Makefile target to install jpm as well.
  • Supervisor channels in threads will no longer include a wasteful copy of the fiber in every
    message across a thread.
  • Allow passing a closure to ev/thread as well as a whole fiber.
  • Allow passing a closure directly to ev/go to spawn fibers on the event loop.

Janet 1.17.1

29 Aug 18:07
Compare
Choose a tag to compare

Small patch release that brings back the MacOS and Windows builds, as well as fixing a few bugs.

Janet 1.17.0

21 Aug 19:22
Compare
Choose a tag to compare

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.