Licensing Changes
- Change Odin's LICENSE to zlib from BSD 3-clause
New Language Features
intrinsics.concatenate- Concatentation of constant slices, strings, and some arrays at compile time
intrinsics.objc_super&@(objc_superclass=<type>)
New Compiler Improvements
- Objective-C interface improvements
intrinsics.objc_superand automatically emitobjc_msgSendcalls where necessary for@(objc_superclass)attribute- Fix block symbols naming conflict across modules
- LLVM backend fixes
#simdvector only uses bit cast when elements are not pointers- Fix bitcasting
contextpointer to prevent compilation errors on LLVM-14 - Numerous constant union improvements
- Prefer the
Type *verLLVMTypeRefwhen looking upstruct_field_remappingdue to lack of uniqueness
- Default parameter exclusion counting improvement for procedure groups
- Improved
-target-featuresflag by allow the user to disable a target feature-target-features:-sse,-sse2,-avx
-export-linked-libs-file:<string>flag to export the linked libraries to a file- Fix a few compiler hangs on macOS.
- LLVM 21 support for non-Windows platforms
- Fix:
#loadalignment bug- set minimum alignment to 16-bytes
- Fix orca linking path
- Add
#subtype/usingto name canonicalization rules - Numerous frontend bugs fixed
New Packages
Package Improvements
- More documentation improvements across the core library
- General improvements and more documentation for
core:os/os2 - Add
inject_at_soaandappend_nothing_soa vendor:wgpuupdate to 27.0.2.0core:unicode/utf8: AddGrapheme_Iterator- New
slice.sortimplementation to allow for better code generation and general API - Deprecate the C style procedures in
strconv(e.g.iota,atoi, etc`) - WASM: Fix odin.js undefined
this.mem - Fix sRGB <-> linear RGB conversion
core:encoding/jsonfixes- Fix
nullparsing in certain cases
- Fix
core:encoding/cbor: Fix epoch tag with small valuescore:container/rbtreeaddfind_or_insert- Fix bindings generator for
vendor:vulkanfor extensions and~0style constants - Disable bounds checking where appropriate for Unicode and UTF-8 procedures
vendor:fontstash: Fix crash with.TTCfilescore:simd: Fix incorrectly named calls inbit_notvendor:sdl3: AddPointInRectFloatvendor/egl- add a few more procedures and constants
- Fix
GetPlatformDisplayandCreatePlatformWindowSurfaceto useintinstead ofi32
vendor:box2d- fixes to bindings mismatches
- Add
targetAngletoRevoluteJointstruct/procs
core:odin/parser- fixes for
end_pos - parse empty identifiers after selector as a selector expression with an empty field
- fixes for
core:hash: add CCITT CRC-16- Make packed conditional on
EPoll_Eventto match kernel core:math/linalg/hlsl: supporthalftypescore:math/ease: Add inverse ease proceduresvendor:raylib: addMAX_MATERIAL_MAPSconstantcore:sys/darwin/Foundation: add additional AppKit bindingscore:text/scannerallow for octal prefix style parsing for C-style ints
Full Changelog: dev-2025-10...dev-2025-11