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

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

Home / dev-2026-04
Name Modified Size InfoDownloads / Week
Parent folder
odin-linux-amd64-dev-2026-04.tar.gz 2026-04-03 67.8 MB
odin-linux-arm64-dev-2026-04.tar.gz 2026-04-03 65.9 MB
odin-macos-amd64-dev-2026-04.tar.gz 2026-04-03 63.4 MB
odin-macos-arm64-dev-2026-04.tar.gz 2026-04-03 60.3 MB
odin-windows-amd64-dev-2026-04.zip 2026-04-03 145.0 MB
dev-2026-04 source code.tar.gz 2026-04-02 148.8 MB
dev-2026-04 source code.zip 2026-04-02 150.0 MB
README.md 2026-04-02 3.5 kB
Totals: 8 Items   701.2 MB 4

New Language Features

New Compiler Improvements

  • Limit maximum exponent of integer literals to avoid unnecessary work
  • Add -in-source-order option to odin doc to show docs in source order within each file
  • Support clang-style +/- prefixes in target features
  • Fix [#6396]: handle full-width bit_field literal masks
  • Fix [#6401]: generic cycle deadlock in struct layout
  • Add support for other Android architectures
  • Fix [#5602]: "Internal Compiler Error: Type_Info for 'x' could not be found" for poly procs with named parameters
  • Continuous Compiler Improvements
  • Add initial LLVM 22 support on non-Windows platforms
  • More accurate -march:native feature selection
  • Allow pointers to types which have subtype fields at offset 0 to be assignable in proc parameters.
  • offset_of(some_bit_field) now raises a proper error
  • Add intrinsics.type_field_bit_offset(typeid, string) to get a compile-time bit_field field offset in bits
  • Add intrinsics.type_field_bit_size(typeid, string) to get a compile-time bit_field field size in bits (the value after |)
  • Fix [#6407]: Global unions do not get initialized correctly
  • Fix >= comparison base:runtime dependencies for string and cstring types
  • Fix GB_PANIC format string in lb_emit_conv invalid subtype cast
  • Fix [^]u16 to cstring16 transmute condition in lb_emit_conv
  • Remove Tilde backend
  • Fix [#6484]: Two when blocks which evaluate to true in a foreign block misses following decls
  • Fix declaration order bug [#6506]: False-positive where-clause failures in recursive polymorphic subtype cases
  • Fix declaration order bugs [#5572] and [#5961]: Incorrectly rejecting valid in-progress/forward union references

New Packages

  • core:crypto/argon2id initial import
  • vendor:windows/wasapi
  • vendor:sdl3/mixer

Package Improvements

  • Add more JS to examples/all
  • Update Unicode database to newer version
  • Fix modular exponentiation in core:math/big
  • Fix assign_at documentation
  • core:fmt now formats time.Duration with a space between duration and unit when using % v
  • Correct SIMD shr example documention
  • Fix sync.Auto_Reset_Event signal deadlock
  • core:sys/darwin/Foundation: fix NSTimer binding
  • Partial 1.619.x d3d12 bindings
  • core:mem/virtual: Fix for virtual arena overcommit bug [#5821]
  • core:crypto: Add ARM AES hardware acceleration
  • core:crypto: Add ARM SHA256 hardware acceleration
  • core:fmt: Improve core:container/small_array formatting
  • vendor:stb/vorbis: Add WASM support
  • core:encoding/cbor: Fix order-dependent partial unmarshals
  • core:encoding/json: Fix user unmarshaler example
  • Fix possible OOM in core:os.get_working_directory() on Linux
  • Fix [#6455]: core:mem/virtual.map_file_from_path ignores flags
  • Fix for corner case in the core:mem scratch allocator.
  • Minor cleanup in base:runtime and core:mem
  • Fix [#6495]: Handle starting separator during name comparison in core:os
  • Improved delete_key documentation to mention it's safe to delete keys while iterating a map as long as no resizes take place
  • Fix source size check in core:crypto/aes ECB encrypt/decrypt

Full Change Log

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

Source: README.md, updated 2026-04-02