| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| odin-linux-amd64-dev-2026-10.tar.gz | 2026-10-06 | 70.3 MB | |
| odin-linux-arm64-dev-2026-10.tar.gz | 2026-10-06 | 68.3 MB | |
| odin-macos-arm64-dev-2026-10.tar.gz | 2026-10-06 | 62.0 MB | |
| odin-windows-amd64-dev-2026-10.zip | 2026-10-06 | 149.4 MB | |
| dev-2026-10 source code.tar.gz | 2026-10-06 | 153.3 MB | |
| dev-2026-10 source code.zip | 2026-10-06 | 154.8 MB | |
| README.md | 2026-10-06 | 10.5 kB | |
| Totals: 7 Items | 658.2 MB | 7 | |
New Language Features
- [#7664]: Allow
bit_setto be backed by arrays of integers
New Compiler Improvements
Speedups
- [#7720]: LLVM Backend Performance Improvements to Reduce Compile Times Part 1
- [#7729]: LLVM Backend Performance Improvements to Reduce Compile Times Part 2
- [#7747]: Compiler Performance Improvements to Reduce Compile Times Part 3
- [#7685]: Complete Parapoly Rewrite + Race condition fixes
- [#7694]: Make global checking codegen order-independent
- [#7686]: Parse integer literals without allocating per digit and reject non digits in their exponent
- [#7739]: Make
radlinkdefault linker on Windows - [#7701]: Multithread The Entire Semantic Checker
- [#7728]:
mapperformance improvements
General fixes and improvements
- [#7654]: Experimental support for cross-linking Windows executables
- [#7788]: Add the new
-windows-sdk-rootto theodin help buildcommand - [#7497]: Fix [#7488]:
-veterror incore_builtin_soa.odinwhen appending multiple empty structs to#soa[dynamic] - [#7500]: Fix [#5851]: Detect and error on chained
offset_ofexpressions - [#7505]: Apply mojibake magic to test runner, too
- [#7509]: Fix [#7499]: Add ctrl-c handler to
run_subprocess - [#7070]: Fix
vendor:ENet.Bufferdata/length ordering issue - [#7524]: Fix alias
nullptrICE - [#7528]:
intrinsics.type_elem_type()added case forType_FixedCapacityDynamicArray - [#7531]: Improve error message for constant indexing
- [#7530]:
simd_abscodegen improvement + fix for unsigned integers - [#7545]: Fix [#6917]: LLVM IR
va_arginstruction uses wrong stride for C varargs on Windows - [#7548]: Fixes
simd_approx_recipandsimd_approx_recip_sqrt - [#7549]: Fixes
simd_selectandsimd_runtime_swizzleoperand construction - [#7574]: Fix [#7573]: Check Enumerations iota fits explicit base type
- [#7570]: Fix [#7544]: Constant
bit_fieldfield access returning zero value - [#7568]: Fix
side_effectsvsvolatiletypo in error message - [#7561]: Fixes [#6888]: SIMD gather/scatter and masked load/store randomly crashing the compiler
- [#7550]: Fix syntax error type with
-json-errors - [#7577]: Fix
#locationin global variable initializers - [#7582]: Fix [#7581]: Compiler crash when checking code with swizzled SOA fields
- [#7605]: Fix [#7604]: Allow building at
/ - [#7607]: Fix [#7598]: Keep entity iteration valid across a scope map rehash
- [#7623]: Add
-filesuggestion whenmainis duplicated or package names differ - [#7628]: Fix quadratic type checking case: don't cache polymorphic record specializations
- [#7631]: Fix record instantiated poly proc on selector when used as a proc value
- [#7629]: Fix [#7596] and [#7511]
- [#7621]: Fixes the attributes of the context parameter in dummy procedures
- [#7641]: Fix field sorting for
bit_fieldliterals - [#7656]: Fix [#7609]: Emit union constants for non-constantable unions
- [#7658]: Fixes
#must_tailon WASM targets - [#7652]: Fix [#6951] and [#5214]:
$procedure arguments matching the wrong instantiation - [#7639]: Fix [#6302]: Broadcasting arrays of matrices and matrices
- [#7661]: Fix [#7587]: Full length swizzles through a pointer keeping the pointer type
- [#7594]: Fix [#7583]:
-strict-stylerequires comma before newline after proc parameters which have a default value - [#7588]: Fix [#7427] and [#7193]: Error on OOB tuple element in compound literals
- [#7668]: Fix [#5318]: Procedures passed to
$parameters share an instantiation's name - [#7666]: Add
ExactValue_Rationalto improve precision on compiler float computation - [#7602]: Adds lifetime markers for named locals
- [#7674]: Fix [#5105] and [#5569]: Deferred call in short circuits causes LLVM codegen failure
- [#7682]: Fixes the
nocaptureattribute on LLVM >= 21 - [#7679]: Fix [#7477] and [#7506]: Casts between nested arrays of the same depth
- [#7697]: Fix compound literals of array backed
bit_fields - [#7692]: Disallows the "odin" calling convention with
#must_tail - [#7706]: Fix [#7430]: Fixed capacity dynamic array literals lose their length
- [#7709]: Fix [#7708]: Compare a polymorphic record's constant parameters by value in
subst_unify - [#7711]: Fix [#7700]: Constant
#soafield access yields the per-element field array; compare and canonicalizetypeidconstants - [#7716]: Fix
intrinsics.procedure_ofwith parapoly specializations - [#7714]: Fixes [#3995], [#4337], [#5950], [#7197], and [#7640]: Handle globals initialized with the address of a non constant literal
- [#7718]: Fix [#7490]: Preserve zero-initialized arrays in
intrinsics.concatenate - [#7722]: Use a response file for
MSVC-style linkers (link.exeandradlink.exe) when the command line exceeds theCreateProcesslimit of 32KiB - [#7723]: Fix mark a generated polymorphic procedure before publishing it to other threads
- [#7520]: Fix
#soapointer field access throughusing - [#7743]: Allow
usingon#soapointers, and make the fields ausing#soapointer parameter promotes assignable - [#7746]: Fix
-linker:radlinkbeing rejected on Windows - [#7740]: Fix [#7689]: Incorrect debug source location at the end of if/else chains
New Packages
- [#7523]:
asm: Generalize memory operand syntax to a flat term list
Package Improvements
Speedups
- [#7630]:
core:strconv: Ported Eisel-Lemire's fast float algorithm to Odin - [#7672]:
core:strconv: Second part of the Fast Float port (SWAR based scanning) - [#7725]:
core:strconv: Adds a#configto opt out of fast float (and its table) - [#7726]:
core:hash/xxhash: Add a few more#no_bounds_checktoXXH3 - [#7728]:
base:runtime:mapperformance improvements
General fixes and improvements
- [#7496]:
core:sys/windows: Add bindings for advanced mouse/pointer/pen manipulation - [#7508]:
vendor:windows/wasapi: Fixes - [#7516]:
core:mem: Revert [#6476], which misunderstood themem.Scratchallocator's semantics - [#7517]:
core:mem: Implement tests for themem.Scratchallocator - [#7489]:
core:simd/arm: Implement SIMD Arm Neon shift left - [#6787]:
core:fmt: Improvedfmt_osdocumentation - [#7527]:
core:simd/x86: Fixed typo inavx.odin - [#7539]:
vendor:curl(Linux): Remove import declarations for crypto libraries that differ by distro - [#7532]:
core:sys/windows: Add line-drawing functions ingdi32.odin - [#7563]:
core:simd/arm: Implement SIMD Arm Neon shift right - [#7576]:
vendor:sdl3/ttf: Use[^]byterather thancstringand addExpandStringwrapper - [#7572]:
vendor:libc-shim: Replacemem_zerowith null termination instrncpy - [#7565]:
core:sys/windows: Add performance counterPSAPIbindings - [#7553]:
vendor:box2d: Add missingGetVersionbinding - [#7546]:
vendor/box3d: SupportBOX3D_SHAREDon Windows - [#7543]:
vendor:egl: Bind more procedures and constants - [#7599]:
core:os: Fix the 0th env var being duplicated on Linux - [#7600]:
vendor:OpenEXRCoreFixes - [#7536]:
core:odin: Fix [#7526]: Handle triple quote/tick string - [#7603]:
core:simd/arm: Implement SIMD Arm Neon zip unzip extract - [#7615]:
base:runtime: Fix [#7562]: Windows AMD64 no-CRT stack probe support - [#7620]:
core:dynlib: Improvements and explanations in example - [#7622]:
core:strconv: Fixes three bugs in hex float parsing - [#7624]:
core:math/big: Fix squaring path writing the denominator into the numerator - [#7633]:
core:encoding/json: Size the unquote buffer for replaced invalidUTF-8 - [#6722]:
core:sys/linux: FixTime_Valprecision comment - [#7634]:
core:crypto/_fiat: Fix P-256fe_sqrtaddition chain, unblocking compressed SEC1 point decoding - [#7627]:
core:rexcode: Add 512bitvmovntdq(a) - [#7659]:
core:encoding/base64: Add strict decoding options - [#7663]:
core:simd/x86: Implement simd x86 avx2 avx512 shift logical - [#7632]:
core:simd/arm: Implement simd arm neon transpose reverse - [#7579]:
core:c: Fixes [#7540]: fastX type widths - [#7584]:
core:sys/windows: Extend Win32 common dialog bindings - [#7610]:
core:sys/windows: Fix [#7547]: Double-null-terminate path inSHFileOperationW - [#7665]:
core:container/bit_array: Addcreate_from_enumhelper. Improve documentation, fix examples. - [#7671]:
core:container/xar: Fix chunk slot count cappingArraycapacity - [#7484]:
core:sort: Document all public procedures and Interface types - [#7676]:
core:crypto/aegis: Minor documentation cleanups - [#7673]:
core:encoding/json: Removes@(private)fromunmarshal_valuefor use in user unmarshalers - [#7590]:
core:os: Allocate the long-path buffer in the caller's allocator - [#7320]:
vendor:sdl3: WASM foreign import library configurable - [#7684]:
core:rexcode: Changedappendtoappend_elemfor a sizable improvement - [#7683]:
core:simd/x86: Implement simd x86 avx512 evex512 - [#7690]:
core:encoding/base64: Add unpadded base64 encoding - [#7695]:
core:simd/x86: Implement simd x86 avx512 typo fix - [#7703]:
core:encoding/csv: Preserve final CSV records in multiline mode - [#7704]:
core:encoding/cbor: Fixbit_setbyte order - [#7643]:
vendor:sdl2: AddRenderSetVSync - [#7721]:
core:sync/chan: Accept.Recvchannels inchan.recvandchan.try_recv - [#7733]:
core:odin: Fix parser assert with invalid for-in stmt - [#7731]:
core:time/timezone: Preserve fractional timestamps in timezone conversions - [#7738]:
core:math/linalg/glsl: Fixmix_vec4andmix_dvec4implementations - [#7753]:
core:fmt: Fix incorrect number of bytes written returned when formatting floats withh/H - [#7751]:
core:simd/x86: Implement simd x86 sse2_mm_insert_epi16fix - [#7755]:
core:sys/windows: AddGetCursorandGetDpiForSystem - [#7756]:
vendor:box3d: Fixing typo fromuserMaterialdtouserMaterialId
Miscellaneous
- [#7495]: macOS Intel removed from CI tests and releases, due to general flakiness of the CI. Odin can still be built from source on Intel Macs.
- [#7569]: Fix [#7525]: Add test coverage for inline-asm label definitions on AMD64
- [#7670]: Update NetBSD CI from 2026Q1 -> 2026Q3
- [#7707]: Adjust doc comments that misrender as CommonMark
- [#7754]: Upgrade Ubuntu CI to LLVM 22
- [#7744]: Update
test_core_runtime.odin
Full Changelog: https://github.com/odin-lang/Odin/compare/dev-2026-09...dev-2026-10