Tact v1.6.2 is released! Release a day keeps the sanitarians away… — Tact Kitchen — TG.ME

🎉 Tact v1.6.2 is released!

Release a day keeps the sanitarians away.

Seriously though, before we commit to the next big release, refining rough edges and adding useful things to the standard library is always nice without making you wait for them for long. To discover such points of improvement, we actively collect feedback that we see in Tact chats and that we receive from the teams that actively use Tact in production.

We're not yet done with all the suggestions, so apart from this release, there are plans to make at least one more patch release with possible bug fixes and additions to the standard library.

❤️ All constructive feedback is welcome — let's enjoy writing ⚡️ Tact together!

On that note, let's quickly unpack the v1.6.2:

🛠 Bug fixes

• An empty init() function is no longer implicitly added when empty contract parameters are declared. This is done to save gas and storage, and it is backward compatible with the lazy initialization that Tact offered as the sole data initialization mechanism before v1.6.0.

• Compiler no longer screams at you if the message struct becomes small enough to fit into the 224 bits and does not require an explicit bounced<M> constructor. That was a noisy warning, and it's much better without it.

• Contract constructors are now public in TypeScript wrappers.

• Now, if getters do not have explicit method ID overrides in Tact code, they are called by their name and not their numeric IDs in the generated TypeScript wrappers. This change restores the pre-1.6.0 behavior that was important for compatibility with some third-party tools that do not support calling getters by their method IDs.

• Compiler upgrades via npm i now work as they should. Note that upgrades through the npm update --save command continue working, too.

🧰 Standard library additions and changes

• Doc comments, doc comments everywhere! They're especially fun to use with the language server, see more info on that below.

• Added Slice.skipRef, Slice.skipMaybeRef, Slice.skipBool, Slice.skipCoins, Slice.skipVarUint16, Slice.skipVarInt16, Slice.skipVarUint32, Slice.skipVarInt32, Slice.skipAddress functions.

📜 See the full release notes for Tact v1.6.2
📥 And upgrade Tact in your projects

The alpha testing for the new TON Studio's official Tact language server continues. Have you tried it? It also has a neat VSCode extension and an extension for VSCode-based editors!

Here's a quick rundown of their features:
• Semantic syntax highlighting
• Code completion with auto import, postfix completion, snippets, and import completion
• Go to definition, implementation, type definition
• Find all references, workspace symbol search, symbol renaming
• Types and documentation on hover
• Inlay hints for types, parameter names, and more
• On-the-fly inspections with quick fixes
• Signature help inside calls, and actions for initOf and struct initialization
• Lenses with implementation/reference counts
• Gas estimates for assembly functions
• Commands for building and testing projects based on Blueprint and tact-template
• Integration with Tact compiler and Misti static analyzer

Sounds exciting? Install it and tell us what needs improvement — the language server is quite new, but it matures very fast!

🍲 please try to enjoy each release equally
♨️ @tact_kitchen from the @ton_studio
⚡18
March 7, 2025 870 3