Releases
v0.13.0
Compare
Sorry, something went wrong.
No results found
New Features
LLVM C API integration for Windows through -llvm-api
Experimental Support for -llvm-api for Linux and MacOS
union #maybe directive
Built-in Maybe type, e.g. Maybe(int) or Maybe(^T)
Selector Call Expressions x->y(123) == x.y(x, 123) (useful for COM APIs)
Allow .? to unwrap any union depending on the inferred context
Remove using import
not_in replaced notin
Relative pointers #relative(i16) ^Foo
Relative slices #relative (i16) []Foo
Add "pure" procedure types
Add new ternary expressions: x if cond else y and `x when cond else y
Support by-reference semantics for for value_ref, i in &some_array and for key, value_ref in &some_map
Allow map indices to be references &m[key] and return a valid pointer if exists otherwise nil
Allow referencing a compound literal &Foo{}
Slice literals will use stack memory within a procedure and global memory in a global scope
Add -subsystem flag for Windows
Allow shadowing for -vet with immutable parameters
@(force)/@(require) attributes for foreign import (they are equivalent)
Endian specific floats, i.e. f32le f64be
#optional_ok for procedures
Improved odin <command> help
-ignore-vs-search
Support --flag as redundancy for -flag
Add -extra-linker-flags:<string>
Add #config to replace #defined
Restrict #defined within procedure bodies to remove possible race conditions
Remove the need for type_of, size_of, align_of, and offset_of to be keywords (now regular identifiers)
Strip \r from raw string literals
Experimental Support for WASM
Add -target:<string> with fuzzy checking
Library Improvements
Improve package os
Add package unicode with basic letter querying
Add utf8.string_to_runes and utf8.runes_to_string
Add more intrinsics (cpu_relax, alloca, type_*, etc)
Add #const to enforce constant procedure parameters to variable parameters
Add package sys/windows which will replace package sys/win32 in the future
Add more helpers to package reflect
Remove context.stdout/stderr
Add package container
Add more hashes
More package sync features
More package thread features
New mem.Allocator_Modes Query_Features and Query_Info
Bug Fixes
Numerous core library bug fixes
Fix defer related bugs
Fix __dynamic_array_reserve edge cases with zero sized types
Improve System V ABI
Fix name mangling for @(private) entities
Fix time.now() being one day out on leap years after the leap month
You can’t perform that action at this time.