New Language Features
- Semicolons are now fully optional (non-breaking change)
#load_or(path_string, default_byte_slice)
New Packages
vendor:raylib- Including
vendor:raylib/easings.odin
- Including
vendor:microui- Odin native source port
vendor:stb/image- Includes:
stb_image.h,stb_image_resize.odin,stb_image_write.odin
- Includes:
vendor:stb/easy_fontvendor:stb/vorbisvendor:stb/truetypecore:hash/xxhashcore:mem/virtual(still experimental and work in progress)
Package Improvements
- Improvements and additions to
core:encoding/json - Minor corrections to
vendor:sdl2 - Improvements to
vendor:vulkanto use[^]where appropriate - Improvements to
core:math/big - Additions to
core:reflectreflect.equal,reflect.not_equalreflect.any_base,reflect.any_corereflect.set_union_value
- Changes to
core:io- Optional
n_read/n_writtenparameters (useful for building utility procedures) - Move
strings.write_quoted_*toio.write_quoted_*
- Optional
- Numerous tests for the the png, gzip, zlib, et al packages
- Add
bits.log2 - Add
i128andu128parsers tocore:strconv - Correct
append_soafor#soa[dynamic][N]T
Compiler Improvements
- Update Windows to LLVM 12.0.1
odin strip-semicolonutility tool to remove unnecessary semicolons-strict-style-strict-style-init-onlyintrinsics.prefetch_*procedures- Fix slice indices endianness
- General dead code culling in the compiler
- Simplify parsing for directives
- Correct
f64<->u128/i128code generation - Make
mapinternals more robust when usingmem.nil_allocator() - Fix
[^]u8tocstringconversion - Allow
[^]Ttouintptrconversion