This release brings a lot of updates, mainly the beta net/
module that brings asynchronous, non-blocking socket networking to Janet's core. As per usual, check the changelog for updates and happy hacking!
- Add
:ldflags
option to many jpm declare functions. - Add
errorf
to core. - Add
lenprefix
combinator to PEGs. - Add
%M
,%m
,%N
, and%n
formatters to formatting functions. These are the
same as%Q
,%q
,%P
, and%p
, but will not truncate long values. - Add
fiber/root
. - Add beta
net/
module to core for socket based networking. - Add the
parse
function to parse strings of source code more conveniently. - Add
jpm rule-tree
subcommand. - Add
--offline
flag to jpm to force use of the cache. - Allow sending pointers and C functions across threads via
thread/send
. - Fix bug in
getline
. - Add
sh-rule
andsh-phony
to jpm's dialect of Janet. - Change C api's
janet_formatb
->janet_formatbv
, and add new functionjanet_formatb
to C api. - Add
edefer
macro to core. - A struct/table literal/constructor with duplicate keys will use the last value given.
Previously, this was inconsistent between tables and structs, literals and constructor functions. - Add debugger to core. The debugger functions are only available
in a debug repl, and are prefixed by a.
. - Add
sort-by
andsorted-by
to core. - Support UTF-8 escapes in strings via
\uXXXX
or\UXXXXXX
. - Add
math/erf
- Add
math/erfc
- Add
math/log1p
- Add
math/next
- Add os/umask
- Add os/perm-int
- Add os/perm-string
- Add :int-permissions option for os/stat.
- Add
jpm repl
subcommand, as well aspost-deps
macro in project.janet files. - Various bug fixes.