v1.2
- Introduced
addressas “internal only”. - Delivered rich bounces: return the full body instead of 256 bits.
- Provided low-cost builder-to-slice,
StateInit, and address composition. - Improved compilation errors.
- Added support for anonymous functions.
- Added the borrow checker and related undefined-behavior checks.
v1.1
- Added
map<K, V>— a wrapper over TVM dictionaries. - Added
enum— group numeric constants into a distinct type. - Added
privateandreadonlyfields in structures. - Enhanced overload resolution and partial specialization.
v1.0
- Added the
lazykeyword. - Added auto-detect and inline functions at the compiler level.
- Added various peephole optimizations for gas efficiency.
- Added
onInternalMessageandonBouncedMessage, TVM 11 support. - Added custom pack and unpack serializers for custom types.
v0.99
- Added
createMessage. - Added
createExternalLogMessage. - Added sharding support for calculating addresses “close to another contract”.
v0.13
- Added auto-packing
toandfromcells,builders, andslices. - Added type
address. - Added Lateinit variables.
- Added defaults for parameters.
v0.12
- Added structures
struct A { ... }. - Added generics
struct<T>andtype<T>. - Added methods
fun Point.getX(self). - Renamed stdlib functions to short methods.
v0.11
- Added type aliases
type NewName = <existing type>. - Added union types
T1 | T2 | .... - Added pattern matching for types.
- Added the
isand!isoperators. - Added pattern matching for expressions.
- Allowed the semicolon to be omitted for the last statement in a block.
v0.10
- Added fixed-width integers such as
int32anduint64. - Added the
coinstype and theton("0.05")function. - Added
bytesNandbitsNtypes backed by slices at the TVM level. - Replaced
"..."cpostfixes withstringCrc32("...")functions. - Added support
0b...number literals in addition to0x.... - Added support trailing commas.
v0.9
- Added nullable types
int?,cell?, and others; introduce null safety. - Updated the standard library, including
asmdefinitions, to support nullability. - Introduced smart casts, like in TypeScript and Kotlin.
- Added the
!operator (non-null assertion). - Treated code after
throwas unreachable. - Added the
nevertype.
v0.8
- Introduced syntax
tensorVar.0andtupleVar.0for reading and writing. - Allowed
cell,slice, and similar terms to be used as valid identifiers rather than keywords.
v0.7
- Refactored compiler internals and introduce an AST-level semantic analysis kernel.
- Changed the type system to static typing.
- Provided clear and readable error messages for type mismatch.
- Added generic functions
fun f<T>(...)and instantiations such asf<int>(...). - Added
booltype and type casting throughvalue as T.