Distribution Changes
- MacOS ARM releases and CI support
- MacOS releases self-contained / bundle LLVM
New Language Features
Compiler Improvements
- General bug fixes in the compiler
- Fix
-no-crton Darwin and Linux - Make
odin runargs take the first '--' as the start of the args, instead of the last '--' - Fix intstrumentation in debug mode
- Add backend info to
odin report - Change
runtime.type_tableto allow RTTI to be constantly initialized on all platforms- Removes the need for the start procedure initializing the RTTI table
- Previous approach was due to limitations and bugs in LLVM
- Promote types in
#c_varargsaccording to C rules - Reduce dynamic library dependencies on macOS
- We were previously linking with LLVM-C, LLVM, and libunwind, however only LLVM was needed since it contains LLVM-C, and libunwind comes with macOS already
New Packages
core:crypto/hash- General refactor of the cryptographic packages
core:container/avl- AVL Tree Container
Package Improvements
fmt.*printflnadd tocore:fmt- Fixes to the WebGL package
- General improvements to package os for *nix platforms
- Numerous documentation improvements
- Fixes to
core:mem/virtualarena_static_reset_to - Make spall able to be used in instrumentation procedures
- Expose
vendor:OpenGLshader procedures in - Add more Windows window procedures
- Fix
returnin json unmarshal for enumerated arrays - Add
ID3DUserDefinedAnnotationto direct3d package - Update miniaudio to 0.11.21
- Change
vendor:raylibto use non-universal binaries - Fix
vendor:raylib'sModelAnimationalignment to match that of C's - Better error code for binding a privileged port without root access in
core:net vendor:glfwaddRawMouseMotionSupported- Basic EGL support on Linux
- Improved implementation of
core:mathround
Full Changelog: dev-2024-02...dev-2024-03