Releases: janet-lang/janet
Janet 1.21.0
- C functions
janet_dobytes
andjanet_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
andresume
on fibers scheduled or created withev/go
, as well as the root
fiber.
Janet 1.20.0
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
- Fix bug with missing status lines in some stack traces.
- Update hash function to have better statistical properties.
Janet 1.19.1
- Add an optional
prefix
parameter todebug/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
- Add
math/log-gamma
to replacemath/gamma
, and changemath/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
- Fix some documentation typos
- Fix - Set pipes passed to subprocess to blocking mode.
- Fix
-r
switch in repl.
Janet 1.18.0
- 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
- 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
Small patch release that brings back the MacOS and Windows builds, as well as fixing a few bugs.
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.