2023
removed operator =>
keyword match
changed catch-all _ branch with else
keyword struct to value
wip keyword enum to union
added unified condition expressions
wip keyword is
wip semicolon inference
2022
removed operator ->
keyword mut
unary operator !
binary operator %
binary operators <<, >>, >>>
procedure syntax
mutable function parameters
control flow keywords break and continue
changed name of class Vec to List
numeric literal separator from _ to '
type of integer literals from Int32 to Int64
require result type for functions and lambdas
number literal suffixes from L/I/D/F to i64/i32/f64/f32
added named arguments
hash code field to String
intrinsics for rounding floats
unified condition expressions
var as a replacement for let mut
implementation of trait Hash for String
intrinsics for total order comparison on floats
higher-order functions to classes Array and List
higher-order functions to enums Option and Result
implementations of traits Equals, Hash, Stringable to enums Option and Result
2021
changed annotation processing
precedence of operator &
name of panicking methods in Option and Result
added intrinsics for the absolute value of floats
more functionality to types Array, Result, String and Vector
2020
removed keyword nil
exceptions
keyword loop
changed change result type syntax from -> to :
added enums
tuples
modules
varargs
keyword annotation
traits Zero and Sizable
intrinsics for bit manipulation instructions popcnt/lzcount/tzcount
2019
removed secondary constructors
modifiers, replaced with annotations
changed syntax of generics from <>/::<> to []
name of Int/Long and Float/Double to Int32/Int64 and Float32/Float64
added type Option
universal === operation
traits Equals, Identity, Hash, Default, Comparable, Sortable, Stringable