8000 Release Release 1.6.6 · tact-lang/tact · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Release 1.6.6

9610
Compare
Choose a tag to compare
@anton-trunov anton-trunov released this 16 Apr 18:33
· 241 commits to main since this release
7787721

Language features

  • Optimized message deserialization with native loading of Maybe Cell fields: PR #2661
  • Optimized message serialization with native stores of Maybe Cell fields: PR #2647
  • Zero inequality comparison optimization: PR #2655
  • Compiler now generates more readable code for augmented assignment operators: PR #2710
  • [fix] Compiler now disallows ton() with empty or blank string: PR #2681
  • [fix] Compiler now disallows ton() with invalid number value or negative numbers: PR #2684
  • [fix] Compiler now shows a more informative error message for abstract functions and constants without a body: PR #2688
  • [fix] Compiler now correctly processes nested structs with default values in the interpreter: PR #2687
  • [fix] Compiler now correctly compiles contracts with optional struct fields with default values: PR #2683
  • [fix] Compiler now shows a more informative error message for unsupported assembly functions inside traits and contracts: PR #2689
  • [fix] Compiler now shows a more informative error message for Slice? as remaining fields: PR #2694
  • [fix] Compiler now shows a more informative error message for fields with unsupported trait types: PR #2695
  • [fix] Compiler now correctly generates code for functions with several wildcard parameters: PR #2703
  • [fix] Compiler now checks that "override" functions and constants have a virtual or abstract modifier in the parent trait: PR #2700
  • [fix] Compiler now throws an error if a non-optional method is called on an optional type: PR #2770
  • [fix] Compiler now throws an error when inheriting from two traits that have methods with the same name: PR #2773
  • [fix] Compiler now correctly generates code for the unary plus operator: PR #2807
  • [fix] Compiler now shows a full error message for maps with optional value: PR #2810
  • [fix] Compiler now correctly detects mutually recursive types: PR #2814
  • [fix] Generated TypeScript wrappers now export all functions for serialization/deserialization: PR #2706
  • [fix] Processing of null values of optional types in the dump builtin: PR #2730
  • [fix] Support constants as the second parameter of the require() function: PR #2808

Standard Library

  • Added compute phase exit code constants reserved by the Tact compiler: TactExitCodeNullReferenceException, TactExitCodeInvalidSerializationPrefix, TactExitCodeInvalidIncomingMessage, TactExitCodeConstraintsError, TactExitCodeAccessDenied, TactExitCodeContractStopped, TactExitCodeInvalidArgument, TactExitCodeContractCodeNotFound, TactExitCodeInvalidStandardAddress, TactExitCodeNotBasechainAddress: PR #2527
  • Added the SignedBundle struct and the corresponding verifySignature method: PR #2627
  • Added the sendRawMessage and sendRawMessageReturnForwardFee functions instead of the deprecated nativeSendMessage and nativeSendMessageReturnForwardFee functions correspondingly: PR #2755
  • Optimized the sha256() function to about ~270 less gas used per call and added the keccak256() function: PR #2775

Tooling

  • Added source code formatter: PR #2768
    • Show a better error if a file cannot be parsed by the formatter: PR #2796
    • Added --check flag to formatter: PR #2788
    • Support directory formatting: PR #2787

TypeScript third-party API

  • Support contract parameters in the AST printer: PR #2658

Docs

  • Fixed code example of the initOf expression to highlight support for contract parameters: PR #2550
  • Fixed the description of the Tact-reserved exit code 129 and expanded descriptions of functions that can throw it, such as Message.fromCell() and Message.fromSlice(): PR #2604
  • Added "Learn Tact in Y minutes" page to the Book: PR #2375
  • Ensured that variables are always shown declared with immediate initialization, and made it clear in the descriptions of the let statement: PR #2742
  • Fixed the description of the Unicode escape upper bound (U+10FFFF): PR #2752
  • Added generation of llms.txt, llms-full.txt (full version), and llms-small.txt (compact version, with non-essential content removed): PR #2763
  • Added description of the specialized math functions, such as pow2() and log2(), to the gas best practices page: PR #2771
  • Added BasechainAddress to the gas best practices page: PR #2802

Release contributors

0