Skip to content

dev-2024-10

Compare
Choose a tag to compare
@gingerBill gingerBill released this 01 Oct 10:52
· 440 commits to master since this release
af9ae48

New Language Features

  • Replace //+ syntax with #+
    • Used in cases like #+build windows
  • #min_field_align and #max_field_align
    • deprecate #field_align in favour of #min_field_align
    • #max_field_align used in places where #pragma pack was used in some C compilers
  • #caller_expression

Compiler Improvements

  • ABI BREAKING CHANGE: How SysV handles multiple return values
    • Matches the same behaviour as other platforms to pass multiple return values separately
  • Fix ABI for 128-bit integers since the breaking changes in LLVM 18 for WASM and AMD64
  • -vet-packages:<command-separated-string_array>
  • -vet-unused-procedures
  • Add -no-rpath
  • Simplify #row_major and matrix_flatten behaviour
  • Allow transmute(Bit_Set)~T(0)
  • Move many of the vendor:wasm/js package to core:sys/wasm/js
    • Rename runtime.js to odin.js to be consistent

New Packages

Package Improvements

  • General improvement to documentation across the core library
  • core:sys/info: more CPU feature detection for RISC-V
  • core:time time.time_to_datetime
  • Add #any_int directive to built-in procedures that were missing it, to be consistent
  • More Objective-C Runtime Bindings
  • Improvements to core:container/bit_array
  • Improvements to C vararg behaviour and definitions and va_list
  • Improvements to atomic/sync/thread related operations
  • Improvements to core:sync/chan