| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| odin-linux-arm64-dev-2026-07.tar.gz | 2026-07-06 | 64.7 MB | |
| dev-2026-07 source code.tar.gz | 2026-07-06 | 148.7 MB | |
| dev-2026-07 source code.zip | 2026-07-06 | 149.9 MB | |
| README.md | 2026-07-06 | 4.6 kB | |
| odin-linux-amd64-dev-2026-07.tar.gz | 2026-07-06 | 66.6 MB | |
| odin-macos-amd64-dev-2026-07.tar.gz | 2026-07-06 | 62.2 MB | |
| odin-macos-arm64-dev-2026-07.tar.gz | 2026-07-06 | 58.4 MB | |
| odin-windows-amd64-dev-2026-07.zip | 2026-07-06 | 144.9 MB | |
| Totals: 8 Items | 695.5 MB | 1 | |
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
- [core:raylib] Raylib 6.0 in [#6940]
- [vendor:box3d] Box3D bindings in [#6933]
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: https://github.com/odin-lang/Odin/compare/dev-2026-06...dev-2027-07