Releases
dev-2024-08
New Language Features
Compiler Improvements
Update to LLVM 18.1.8
Force compiler source to be parsed as UTF-8 (Windows)
Improve various compiler-internal asserts
Fix #soa
assignment bug
Add error for type_of(value of untyped type)
Remove *_test.odin
; always compile it for all targets
Add -print-linker-flags
Allow x :: y when cond else proc(...){...}
Allow using a precompiled Windows resource file with -resource:foo.res
Fix problem where the initial package's directory name ended in .odin
Fix check for whether executable output path is a directory
New Packages
Package Improvements
Add bindings for WOW64 API
Improve os.open
for WASI
Support vendor:stb/truetype
and vendor:fontstash
on WASM
Fix linker errors with empty project for vendor:wgpu
Fix SDL constants
Fix alignment bug in mem.dynamic_pool
and add tests for it
Fix reflect.as_pointer
Remove implicit allocator usage in core:dynlib
Fix utf8_to_wstring
given zero bytes.
Add setenv
and unsetenv
for Darwin
Improve core:encoding/cbor
Remove syscall usage on Darwin to comply with Apple guidelines
Add some XKB extension procedures and constants to vendor:x11
Fix @(optimization_mode)
usage in builtin collections
Add synonyms strings.starts_with
and strings.ends_with
as aliases
Allow overriding random generator in rand
calls
Add documentation and example for core:container/intrusive/list
Update stb_truetype.odin
Add support of ignore
tag for json.marshal
Allow json maps with int keys in marshal
and unmarshal
Add Intel AES-NI support to core:crypto/aes
Improve rand.shuffle
Fix leak in core:encoding/ini
and add tests for it
Document core:time
, core:time/datetime
, core:thread
and core:sync
Add example and tests for vendor:lua
Many core:sys/windows
improvements
Add json reporting to core:testing
Add time.to_string*
formatters.
Clamp dot
in linalg.angle_between
to avoid precision errors.
Update RayGui procedures
You canβt perform that action at this time.