Skip to content

Releases: janet-lang/janet

Janet 1.35.2

16 Jun 16:13
Compare
Choose a tag to compare

Patch release to fix some issues with 1.35.0

Janet 1.35.0

15 Jun 15:04
Compare
Choose a tag to compare

1.35.0 - 2024-06-15

  • Add :only argument to import to allow for easier control over imported bindings.
  • Add extra optional env argument to eval and eval-string.
  • Allow naming function literals with a keyword. This allows better stacktraces for macros without
    accidentally adding new bindings.
  • Add bundle/ module for managing packages within Janet. This should replace the jpm packaging
    format eventually and is much simpler and amenable to more complicated builds.
  • Add macros ev/with-lock, ev/with-rlock, and ev/with-wlock for using mutexes and rwlocks.
  • Add with-env
  • Add *module-make-env*dynamic binding
  • Add buffer/format-at
  • Add long form command line options for readable CLI usage
  • Fix bug with net/accept-loop that would sometimes miss connections.

New Contributors

Full Changelog: v1.34.0...v1.35.0

Janet 1.34.0

15 Apr 22:46
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.33.0...v1.34.0

Janet 1.33.0

09 Jan 23:24
f91e599
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.32.1...v1.33.0

Janet 1.32.1

16 Oct 00:12
Compare
Choose a tag to compare

Small fix over v1.32.0 that fixes wasm build.

Janet 1.32.0

15 Oct 01:38
Compare
Choose a tag to compare
  • Fix return value from C function janet_dobytes when called on Janet functions that yield to event loop.
  • Change C API for event loop interaction - get rid of JanetListener and instead use janet_async_start and janet_async_end.
  • Rework event loop to make fewer system calls on kqueue and epoll.
  • Expose atomic refcount abstraction in janet.h
  • Add array/weak for weak references in arrays
  • Add support for weak tables via table/weak, table/weak-keys, and table/weak-values.
  • Fix compiler bug with using the result of (break x) expression in some contexts.
  • Rework internal event loop code to be better behaved on Windows
  • Update meson build to work better on windows

Janet 1.31.0

17 Sep 20:37
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.30.0...v1.31.0

Janet 1.30.0

06 Aug 13:09
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.29.1...v1.30.0

Janet 1.29.1

19 Jun 12:20
Compare
Choose a tag to compare

What's Changed

  • add net/setsockopt by @zevv in #1138
  • Enable debug symbols in janet binary; strip target at 'make install' by @zevv in #1140
  • Add CI test for mingw/wine on linux by @zevv in #1141
  • changed net/connect to be non-blocking / asynchronous by @zevv in #1139
  • added thaw to complement freeze by @tionis in #1142
  • Add clock sources to os/clock (:realtime, :monotonic, :cputime) by @zevv in #1146
  • improved error messages for special forms by @zevv in #1147
  • os/proc-kill now accepts an optional signal to send by @tionis in #1137
  • Fix warning in janet_gettime() by @zevv in #1153
  • Improved various error messages when handling unexpected types. by @zevv in #1152
  • Add docstring to string/format by @zevv in #1151
  • Allow mapcat et al to accept multiple iterable arguments by @primo-ppcg in #1160
  • Add file/lines iterator by @zevv in #1157
  • More portable method of installing janet.h -> janet/janet.h symlink by @dressupgeekout in #1164
  • Updated documentation for buffer/push-at by @zevv in #1169
  • Fix janet_formatbv() type when handling %d %u int specifiers by @zevv in #1167
  • Fixed net/connect binding address by @zevv in #1171
  • fix for crash on windows in src/core/ev.c: initialze state->fromlen by @zevv in #1172
  • Add contains? helper function to boot.janet by @Techcable in #1017
  • added os/isatty, do not enable colors if stdout is not a tty by @zevv in #1177
  • Reorganize tests by @sogaiu in #1162
  • Ensure ev/gather fibers are fully canceled on error by @chris-chambers in #1181
  • Added misc tests to increase test coverage by @zevv in #1179
  • Added JANET_NO_AMALG flag to Makefile by @zevv in #1175
  • Fix resumption values when closing a channel by @chris-chambers in #1182
  • Make take and drop more symmetric by @primo-ppcg in #1183
  • Simplify if-let logic by @primo-ppcg in #1188
  • update if-let by @primo-ppcg in #1190
  • Fix order in which macro-lints is set during expansion by @chris-chambers in #1185
  • peg: add support for "true" and "false" primitives to always/never match by @CosmicToast in #1187

New Contributors

Full Changelog: v1.28.0...v1.29.1

Janet 1.28.0

13 May 15:25
Compare
Choose a tag to compare

Overview

  • Various bug fixes
  • Make nested short-fn's behave a bit more predictably (it is still not recommended to nest short-fns).
  • Add os/strftime for date formatting.
  • Fix ev/select on threaded channels sometimes live-locking.
  • Support the NO_COLOR environment variable to turn off VT100 color codes in repl (and in scripts).
    See http://no-color.org/
  • Disallow using (splice x) in contexts where it doesn't make sense rather than silently coercing to x.
    Instead, raise a compiler error.
  • Change the names of :user8 and :user9 sigals to :interrupt and :await
  • Change the names of :user8 and :user9 fiber statuses to :interrupted and :suspended.
  • Add ev/all-tasks to see all currently suspended fibers.
  • Add keep-syntax and keep-syntax! functions to make writing macros easier.

More detail