Added
- Tests for recursive functions: PR #359
- API for AST traversal: PR #368
- Spell checking for the whole code base: PR #372
Changed
- GitHub actions updated to use Node.js 20: PR #360
- Refactor AST types to simplify access to third-party tools: PR #325
- Refactor the compiler API used to access AST store: PR #326
- Update JSON Schema to inform about usage in Blueprint: PR #330
- All identifiers in error messages are now quoted for consistency: PR #363
- The Tact grammar has been refactored for better readability: PR #365
Fixed
- The
log2
andlog
math functions were adjusted for consistency in error throwing: PR #342 - Shadowing built-in static functions is now forbidden: PR #351
- Augmented assignment now throws compilation error for non-integer types: PR #356
- Built-in function
address()
now handles parse errors correctly: PR #357 - The grammar of the unary operators has been fixed, constant and function declarations are prohibited for contracts and at the top level of Tact modules: PR #365
- Typos in ABI generation: PR #372
__tact_load_address_opt
code generation: PR #373- Empty messages are now correctly converted into cells: PR #380
- All integer and boolean expressions are now being attempted to be evaluated as constants. Additionally, compile-time errors are thrown for errors encountered during the evaluation of actual constants: PR #352
- Chaining mutable extension functions now does not throw compilation errors: PR #384