github odin-lang/Odin v0.3.0
Odin v0.3.0

latest releases: dev-2025-11, dev-2025-10, dev-2025-09...
8 years ago

What's New

  • bit_field
  • Lexical Sugar: , ,
  • u128 i128
  • Label syntax change:
    • name: for { break name; }
  • %% divisor based modulo operator
  • "bits.odin"
  • Casting syntax change:
    • Regular cast: type(expr)
    • Bit cast: transmute(type, expr)
    • Type assertion (replaces union_cast): expr.(type)
  • Address of operator & replacing ^
    • Pointer types and dererefencing still use ^
  • default: replaced with case:
  • #ordered reimplemented
  • #no_alias (replacing keyword no_alias)
  • XOR for booleans
  • rune as a basic type rather than alias of i32
    • Provides extra type information at runtime
  • byte is removed
    • Use u8 instead
  • Removed quaternion128 and quaternion256

Naming Convention

Odin has finally chose an official naming convention
In general, PascalCase for types and snake_case for values.

Import Name:        snake_case (but prefer single word)
Types:              PascalCase
Union Variants:     PascalCase
Enum Values:        PascalCase
Procedures:         snake_case
Local Variables:    snake_case
Field Values:       snake_case
Constant Variables: SCREAMING_SNAKE_CASE

Don't miss a new Odin release

NewReleases is sending notifications on new releases.