asm functions: asm fun keccak256(s: Slice): Int { 1 INT HASHEXT_KECCAK256 };
Wider range of serialization options for integers — uint1 through uint256 and int1 through int257: counter: Int as uint48;
Allow omitting last semicolons in contract/trait declarations and definitions: trait Test { abstract fun foo() } -- the semicolon after foo() is not required anymore.
New builtin and stdlib functions and methods
The exists method for the Map type: m.exists(key), equivalent to m.get(key) != null;
The deepEquals method for the Map type: m1.deepEquals(m2);
The toSlice method for structs and messages: struct.toSlice();
The storeBit method for Builder type and the loadBit method for Slice type (aliases for storeBool and loadBool respectively): b.storeBit(true), sl.loadBit();
slice, rawSlice, ascii and crc32 built-in functions;
Corresponding stdlib functions for the new TVM instructions from 2023.07 and 2024.04 upgrades: storeBuilder extension function and gasConsumed, getComputeFee, getStorageFee, getForwardFee, getSimpleComputeFee, getSimpleForwardFee, getOriginalFwdFee, myStorageDue functions.
Builder.storeMaybeRef, parseStdAddress and parseVarAddress stdlib functions.
Full changelog for Tact v1.5.0: https://github.com/tact-lang/tact/blob/main/CHANGELOG.md#150---2024-09-15
New Tact features
asm
functions:asm fun keccak256(s: Slice): Int { 1 INT HASHEXT_KECCAK256 }
;uint1
throughuint256
andint1
throughint257
:counter: Int as uint48
;trait Test { abstract fun foo() }
-- the semicolon afterfoo()
is not required anymore.New builtin and stdlib functions and methods
exists
method for theMap
type:m.exists(key)
, equivalent tom.get(key) != null
;deepEquals
method for theMap
type:m1.deepEquals(m2)
;toSlice
method for structs and messages:struct.toSlice()
;storeBit
method forBuilder
type and theloadBit
method forSlice
type (aliases forstoreBool
andloadBool
respectively):b.storeBit(true)
,sl.loadBit()
;slice
,rawSlice
,ascii
andcrc32
built-in functions;storeBuilder
extension function andgasConsumed
,getComputeFee
,getStorageFee
,getForwardFee
,getSimpleComputeFee
,getSimpleForwardFee
,getOriginalFwdFee
,myStorageDue
functions.Builder.storeMaybeRef
,parseStdAddress
andparseVarAddress
stdlib functions.