Download Latest Version odin-linux-amd64-dev-2026-03.tar.gz (67.6 MB)
Email in envelope

Get an email when there's a new version of Odin

Home / dev-2026-03
Name Modified Size InfoDownloads / Week
Parent folder
odin-macos-arm64-dev-2026-03.tar.gz 2026-03-04 60.2 MB
odin-windows-amd64-dev-2026-03.zip 2026-03-04 143.9 MB
odin-macos-amd64-dev-2026-03.tar.gz 2026-03-04 63.3 MB
odin-linux-arm64-dev-2026-03.tar.gz 2026-03-04 65.7 MB
odin-linux-amd64-dev-2026-03.tar.gz 2026-03-04 67.6 MB
dev-2026-03 source code.tar.gz 2026-03-03 148.1 MB
dev-2026-03 source code.zip 2026-03-03 149.3 MB
README.md 2026-03-03 4.0 kB
Totals: 8 Items   698.1 MB 3

BREAKING Changes

  • core:os has been replaced with our newly improved and rewritten v2, previously available at core:os/os2. The old core:os implementation will remain available at core:os/old until sometime in Q3 of 2026.
  • Article on Moving Towards a New "core:os"

  • core:sys/info previously retrieved all information before main was entered, using @(init), and exposed everything via globals. It now gathers more information on demand, and returns everything via accessors for a consistent API. Where practical - like cpu name + features - those values will be cached.

New Language Features

  • for init; x in y {} style loops

New Compiler Improvements

  • Stop silently ignoring unknown directives on an inline asm expression
  • Do not allow duplicated #partial directives on switch statements
  • Add broadcasting to strings (Fix [#1837])
  • Improve LLVM version picking
  • Fix name canonicalization for typed ranges in bit_set
  • Fix bit_set parapoly specialization
  • Fix separating of diverging procedure types from block statements
  • Update Type_Info_Bit_Set to always record underlying type. Add runtime.type_info_underlying
  • Fix [#6347]
  • Fix [#6270]

New Packages

  • core:crypto/ecdsa: Add ECDSA support

Package Improvements

  • [BREAKING] core:os/os2 -> core:os integration
  • [BREAKING] core:sys/info: Change API from globals to calls. Do as little work in @(init) as practical.
  • Allow test names to be specified as a command line option for tests executable
  • vendor:x11/xlib: Fix signature of XChangeWindowAttributes
  • vendor:directx/d3d12: Added IGraphicsCommandList7 and fix access violation errors
  • Minimize some internal depencies in the core packages, e.g. don't import core:mem just for mem.Allocator_Error
  • vendor:box2d: Fix and try Git LFS
  • core:log: Add support for js/wasm
  • core:container/xar: Fixes and improvements
  • core:container/pool: Fix parapoly type inference around address sanitization when using multiple Pool types
  • core:container/handle_map: Improvement
  • demo.odin Fix cross_3d typo
  • core:encoding/hex: Add uppercase encoding
  • core:bytes: Update comment on compare; add additional caller location propagation
  • core:math/big: Clean up
  • core:os: Fix silent failure in os.replace_path_separators if the separator was multi-byte
  • Add additional tests
  • core:sys/es: Fix build errors
  • core:unicode/utf8: Fix utf-8 validation
  • Vendor Wycheproof cryptographic tests under tests/core/
  • Propagate allocator errors from certain unicode functions
  • Fix some tools and examples after core:os update and using-stmt feature
  • Fix typo in atomic.odin documentation
  • core:os: Remove process_close and add process_terminate
  • core:time: Correct 12-hour clock string
  • Update Unicode specification
  • vendor:curl: Fix what argument for url_set
  • Small optimization for dynamic arrays
  • vendor:miniaudio: Upgrade to 0.11.24
  • core:container/priority_queue: Add example and tests
  • core:text/regex: Fix \b handling in iterator
  • vendor:sdl3: Update to 3.4.2
  • Add bindings to allow custom hardware cursors
  • core:nbio: Fix op reuse
  • core:strings: Fix substring not returning end of range
  • core:sys/windows: Add more win32 API bindings
  • core:sys/windows: Fix incorrect PVOID/VOID use in some signatures
  • core:sys/windows: Tighten up MultiByteToWideChar usage in utf8_to_wstring_buf
  • vendor:stb/vorbis: Remove unnecessary core:c/libc import
  • vendor:wasm/WebGL: Add bindings, fix Tex*Image*D
  • core:os: Return .Permission_Denied for .EACCES in Posix and Linux
  • core:crypto/_blake2: Fix final blocks call with partial block
  • Kill deprecated file tags and fix assignment of package docs

Full Change Log

Full Changelog: https://github.com/odin-lang/Odin/compare/dev-2026-02...dev-2026-03

Source: README.md, updated 2026-03-03