Skip to content

Janet 1.14.1

Compare
Choose a tag to compare
@bakpakin bakpakin released this 19 Jan 00:01

This release brings lots of improvements to the ev/ module, as well as bug fixes.

  • Add doc-of for reverse documentation lookup.
  • Add ev/give-supervsior to send a message to the supervising channel.
  • Add ev/gather and chan argument to ev/go. This new argument allows "supervisor channels"
    for fibers to enable structured concurrency.
  • Make -k flag work on stdin if no files are given.
  • Add flycheck function to core.
  • Make backmatch and backref more expressive in pegs.
  • Fix buggy string/split.
  • Add fiber/last-value to get the value that was last yielded, errored, or signaled
    by a fiber.
  • Remove :generate verb from loop macros. Instead, use the :in verb
    which will now work on fibers as well as other data structures.
  • Define next, get, and in for fibers. This lets
    each, map, and similar iteration macros can now iterate over fibers.
  • Remove macro eachy, which can be replaced by each.
  • Add dflt argument to find-index.
  • Deprecate file/popen in favor of os/spawn.
  • Add :all keyword to ev/read and net/read to make them more like file/read. However, we
    do not provide any :line option as that requires buffering.
  • Change repl behavior to make Ctrl-C raise SIGINT on posix. The old behavior for Ctrl-C,
    to clear the current line buffer, has been moved to Ctrl-Q.
  • Importing modules that start with / is now the only way to import from project root.
    Before, this would import from / on disk. Previous imports that did not start with . or /
    are now unambiguously importing from the syspath, instead of checking both the syspath and
    the project root. This is backwards incompatible and dependencies should be updated for this.
  • Change hash function for numbers.
  • Improve error handling of dofile.
  • Bug fixes in networking and subprocess code.
  • Use markdown formatting in more places for docstrings.