Aquesta és una versió anterior. La versió actual és la dev-2026-10. Odin Programming Language dev-2026-10 · Data de publicació:
Fitxers d’instal·lació dev-2024-08
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
New Language Features
Compiler Improvements
- Update to LLVM 18.1.8
- Force compiler source to be parsed as UTF-8 (Windows)
- Improve various compiler-internal asserts
- Fix `#soa` assignment bug
- Add error for `type_of(value of untyped type)`
- Remove `*_test.odin`; always compile it for all targets
- Add `-print-linker-flags`
- Allow `x :: y when cond else proc(...){...}`
- Allow using a precompiled Windows resource file with `-resource:foo.res`
- Fix problem where the initial package's directory name ended in .odin
- Fix check for whether executable output path is a directory
New Packages
Package Improvements
- Add bindings for WOW64 API
- Improve `os.open` for WASI
- Support `vendor:stb/truetype` and `vendor:fontstash` on WASM
- Fix linker errors with empty project for `vendor:wgpu`
- Fix SDL constants
- Fix alignment bug in `mem.dynamic_pool` and add tests for it
- Fix `reflect.as_pointer`
- Remove implicit allocator usage in `core:dynlib`
- Fix `utf8_to_wstring` given zero bytes.
- Add `setenv` and `unsetenv` for Darwin
- Improve `core:encoding/cbor`
- Remove syscall usage on Darwin to comply with Apple guidelines
- Add some XKB extension procedures and constants to `vendor:x11`
- Fix `@(optimization_mode)` usage in builtin collections
- Add synonyms `strings.starts_with` and `strings.ends_with` as aliases
- Allow overriding random generator in `rand` calls
- Add documentation and example for `core:container/intrusive/list`
- Update stb_truetype.odin
- Add support of `ignore` tag for `json.marshal`
- Allow json maps with int keys in `marshal` and `unmarshal`
- Add Intel AES-NI support to `core:crypto/aes`
- Improve `rand.shuffle`
- Fix leak in `core:encoding/ini` and add tests for it
- Document `core:time`, `core:time/datetime`, `core:thread` and `core:sync`
- Add example and tests for `vendor:lua`
- Many `core:sys/windows` improvements
- Add json reporting to `core:testing`
- Add `time.to_string*` formatters.
- Clamp `dot` in `linalg.angle_between` to avoid precision errors.
- Update RayGui procedures