Skip to content

Release 0.1.10

Compare
Choose a tag to compare
@github-actions github-actions released this 31 Mar 00:21
· 1 commit to ad6fa7bcc71bde500131e947adecd110e1044d0b since this release

Additions:

  • JavaScript interop
    • core.js package for JS FFI.
    • #js directive to build a JavaScript file during compilation.
  • Implicit injections
    • #inject is no longer required in some cases
  • Named return values
  • Official builds for Linux AARCH64
  • Slice and Array structures for placing methods on slices and dynamic arrays.
  • Range type improvements
    • range64 type
    • ..= operator that is a range, with an inclusive upper end.
  • New alternate error format that may become the default in the future.
    • Use --error-format v2 or set environment variable ONYX_ERROR_FORMAT to be v2.
  • Auto-disposing locals (experimental)
    • use x := ...
  • Core library functions
    • New process spawning API with builder pattern (os.command)
    • sync.MutexGuard
    • sync.Channel
    • hash.sha1
    • net.dial
    • net.resolve
    • integer constants i8.MIN, i64.MAX, etc.

Removals:

  • os.with_file

Changes:

  • Revamped CLI
    • Shorthand commands (r for run, b for build, etc.)
    • Improved appearance
    • Better help pages
    • Note: flags must now appear before all files
  • Better error messages for common issues
  • Array should be preferred over core.array
  • Slice should be preferred over core.slice
  • str should be preferred over core.string

Bugfixes:

  • Fixed compiler crash when trying to iterate over something that is not iterable.
  • Fixed wrong implementation of futexes on MacOS.
  • Fixed implementation of platform.__time()

Contributors: