Skip to content

Release 0.1.7

Compare
Choose a tag to compare
@brendanfh brendanfh released this 27 Oct 15:05
· 474 commits to master since this release
b1d15e3

Release v0.1.7

October 27th, 2023

Additions:

  • Support for WASIX, a new, extended standard to WASI, popularized by Wasmer.
    • Define WASIX in runtime.vars to enable it. (-DWASIX on the CLI)
    • Adds support for networking, futexes, and TTY control in WASI.
  • switch expressions.
    • switch can appear at the expression level, and uses case X => value to
      specify cases.
  • cbindgen now supports passing functions as arguments.
    • Internally uses dyncallback
    • Only for OVM-wasm and Linux, for now.
  • Scoped values in interfaces. X :: ... is allowed in an interface now.
  • #inject works on interfaces.
  • Polling to the io.Stream functionality.
    • Used to query when data is read/write-able from a stream, for supported streams.
    • io.stream_poll
  • misc.any_unwrap to unwrap an any containing an optional.
  • json.decode_with_result
  • json.decode_into
  • slice.group_by

Removals:

Changes:

  • Complete overhaul of networking in the core library.
    • Backwards compatiblity was not strictly maintained, but common functions did
      not change, like socket_send and socket_recv.
  • When debugging, / 0 or % 0 will trigger an exception to debug the error.

Bugfixes:

  • alloc.atomic package was broken when sync package was missing.
  • X.foo would not work if X was a pointer to a union.
  • Captures by pointer would break if the value was a primitive whose address wasn't
    taken anywhere else.
  • Symbol name reported by documentation generation was incorrect for some methods.