New Language Features
- Add restricted Odin subset mode
-bedrockin #6654 - Add Playdate support as a
-subtargetof-target:freestanding_arm32in #6900 - Support
q.xyzon quaternion*
New Compiler Improvements
- New Feature: Stack canaries #6830
- Change default settings to enable pie and full relro on Linux in #6790
- Make the type hash 63-bit to not crash OMG JIT in WebKit under WASM in #6829
- Add suggestion to use 'typeid_of(type)' when trying to do
typeid(type)in #6846 @(test)procs in#+privatefiles are now processed in #6844- Reject transitive
#subtype-onlyimplicit conversion in checker in #6845 - Fix initialization of global
anys #6849 - Fix: tuples are not handled properly in struct literals in #6859
- Move away from
systemforodin runin #6848 - Raise child process error signal if
odin runchild gets terminated #6870 - Flush accumulated errors before printing assert in #5508
- Fix #6874 in #6880
- Fix #6885 in #6886
- Resolve panic on 64-bit constant overflow in #6904
- Fix constant union stuff against tests in #6905
- Report range type correctly on out-of-bounds in #6906
- Add more constant type cases in #6913
- Use
lb_add_values_to_arrayforcvarargsin #6908 - Only allow direct
CVarArgusage inc_va_startin #6916 - Add ways to diff anon procs with same signature in #6920
- Fix compiler segmentation fault when field names start with '.' in #6928
- Fix UTF-8 decode error check in #6930
- Improve custom output location (
-out) support for LLVM-IR, OBJ + ASM in #6932 - Fix typo in union error in #6929
- Make checking of untyped to union conversions more strict in #6925
- Allow casts to change mode for array programming in #6921
- Avoid code regeneration for fns in unroll in #6939
- Make diverging
or_elseinherit#loadlhs type in #6934 - Add diverging (
!),#optional_okto proc canon name in #6935 - Fix misuse of
lb_emit_(min|max)insimd_(min|max)in #6924 - Remove support for LLVM 14, suggest apt.llvm.org if
llvm-config-14can't be found in #6918 - Use specific format to make
f64strings canonical in #6949 - Disallow types in
#any_intparams in #6950 - Convert poly const int to
f64when needed in #6948
New Packages
Package Improvements
- [core:terminal/ansi] Add Alternate Screen Buffer in #6813
- [core:nbio] Fix UAF op
op.lin cross-thread exec in #6819 - [core:slice] Fix wrong variable name in
slice.rotatein * fixed wrong variable name in #6828 - [vendor:vulkan] Update Vulkan in #6824
- [core:container/pool] Fix ABA race in the free list in #6822
- [core:bufio] Improve
reader_read_slice's documentation using the power of punctuation in #6463 - [base:runtime] Added optional allocator error to
map_insertin #6836 - [core:odin] Correct divergence from C++ parser with expr levels, causing failures in #6861
- [vendor:stb/truetype] Amend
PackFontRangestypes in #5662 - [core:mem] Rename
DEFAULT_PAGE_SIZEtoPAGE_SIZEin #6471 - [core:os] Improve consistency in
os.read_entire_file_from_filein #6671 - [core:flags] Improve
bit_setsupport in #6435 - [vendor:x11/xlib] Update
Xlibdocumentation link to current PDF in #6875 - [core:text/regex] Improve regex compiler performance in #6873
- [core:mem] Fix
mem.Dynamic_Arenaalignment in #6878 - [core:crypto/wycheproof] Update the tests to match recent changes in #6887
- [vendor:sdl3] Remove non-exported
joystick_locksymbol in #6893 - [vendor:windows/GameInput] Remove
GameInputprefix from interface type names in #6903 - [core:encoding/entity] Fix whitespace normalization in #6914
- [core:container/handle_map] Remove unused
base:builtinimport in #6931 - [vendor:wgpu] Update to v29.0.1.1 in #6947
- [core:encoding/cbor] Fix segfault decoding map/big.int nested in slice elements in #6945
- [core:encoding/cbor] Fix data corruption in #6954
- [vendor:wgpu] Update to v29.0.1.1
- [core:container/xar] Forward caller location to make in
array_push_back_*in #6958
Miscellaneous
- Fix nightly static Linux build in #6808
- Added missing
LDFLAGSforOpenBSDin #6728 - Deduplicate macOS and Linux nightly builds in #6812
- Remove dependency on
mbedx509,mbedcryptofor Darwin in #6842
What's Changed
Full Changelog: dev-2026-06...dev-2027-07