Skip to content

dev-2024-08

Compare
Choose a tag to compare
@Kelimion Kelimion released this 02 Aug 13:53
· 1217 commits to master since this release

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