Repository navigation
Immutable
release. Only release title and notes can be modified.
Release Notes
Breaking changes
acton compile --jsonnow returns source diagnostics in anerrorsarray,
including source ranges, function context, and related locations.
Input, configuration, and fatal compiler failures still use theerror
string. Consumers must handle both response shapes.
Compiler and build cache
- Support bodyless
get fundeclarations in ABI interfaces for precompiled
contracts, runtime builds, RPC ABI sources, and native IDE diagnostics. - Expose Tolk's
allowEmptyGetFunoption in the Rust compiler API. - Key Tolk build caches by the linked compiler version and commit, compilation
settings, and requested artifacts. Existing cache entries are rebuilt. - Use the bundled Tolk version by default when requesting source verification.
- Remove the obsolete optimization level from the Rust Tolk compiler API.
- Preserve compiler function context and related source locations in check
output and IDE diagnostics.
IDE
- Select custom serializers by receiver type when estimating serialized size,
including generic specializations and alias chains. Ambiguous serializers
have an unpredictable size. - Describe
@inlineeligibility and supported early returns in annotation hover. - Match Tolk 1.5 alias equality and method selection, including alias chains,
generic receivers, and methods on declared types after smart casts. - Match Tolk 1.5 smart casts after branch merges, including alias restoration,
tensor unions, and the types of both ternary branches. - Track
breakandcontinuepaths when inferring loop types, including
subsequent iterations, loop exits, and nested loops. - Match Tolk 1.5 by using
bitsNfor fixed-size bit strings and resolving
explicitly declaredbytesNaliases as user-defined types. - Complete
breakandcontinueinside loop bodies, respecting function and
try/catchboundaries in Tolk 1.5. - Offer
@pureonly forasmandbuiltinfunctions and describe its scope in hover.
Linting
- Preserve diagnostic order in JSON reports, including related compiler locations.
- Follow
breakandcontinuethrough nested loops and match arms in dataflow
checks, excluding unreachable statements and evaluatingrepeatcounts once. - Clarify E006 (
pure-function-call-unused): an unused result may be intentional
because a@purecall can validate input and throw an exception.
Debugger
- Keep the DAP connection open while the debugger is idle or executing a long step.
- Close lexical scopes by their source ranges after
break,continue, and
inline returns, keeping outer variables visible when a scope is closed again.
Studio
- Keep completed test reports and statistics for Studio-started runs when the
Studio server does not respond within the discovery timeout.
Dependencies
- Reject unexpected shared-library dependencies in macOS binary checks.
- Validate the shared-library dependency set in Linux release binary checks.
- Use
brace-expansionversion5.0.12in generated dApps. - Allow the CC0-1.0 dependencies used by BIP39 wallet support in dependency checks.
- Remove Localton's
tondependency. Get-method stacks usetvm-ffiandrston,
and block monitoring usesrstonblock models. - Remove the direct
tondependency from the main Acton workspace. Debugger
test helpers userstoncells and account state. - Replace yanked
chacha20versions in Faucet and Localton with version0.10.2. - Limit Faucet's direct SQLx dependency to its SQLite runtime features.
- Reject RSA dependencies in Faucet builds while excluding the unused SQLx MySQL
driver's RSA advisory from lockfile audits.
Actonscan
- Fix Docker image builds for the Actonscan backend.
- Fix compilation of the Actonscan backend against the shared
LiteServerclient. - Show testnet TPS from its dedicated public backend, with the latest indexed block time
and partial-window indicators. - Download P2P shard blocks from competing peers so an unresponsive peer does not
hold up indexing until its request times out.
Wallets
- Support TG Wallet rev00 and explicit mnemonic schemes:
ton(default),
bip39for 12 or 24 words, androtationfor separate anchor and signing keys.
Configuremnemonic-schemeinwallets.toml, pass--mnemonic-schemewhen
importing, or select the scheme interactively. - Support an optional
wallet-idin wallet configuration. An explicit ID is
used on every network; omitting it keeps the version- and network-specific default. - Store wallet workchains as
i8inWalletConfig, matching standard TON addresses.
Configuration values outside-128..=127are rejected during parsing. - Remove the redundant
inputencoding field fromacton wallet sign --json.
The signed body remains hex encoded.
Testing
- Accept an
exitCodepredicate intoHaveFailedTx, matching the predicate
against actual transaction exit codes while still requiring a failed transaction. - Mutation testing limits each mutant to 60 seconds by default, including compilation and tests.
Set--mutation-timeoutor[test.mutation] timeoutto change the limit.
Timed-out mutants appear asTIMED OUT, remain outside the mutation score,
and do not stop the remaining mutants. The final exit code is 1 if any mutant times out. - Mutation testing no longer hangs when a child process fills its stdout or stderr buffer.
Install acton 1.2.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v1.2.1/acton-installer.sh | shDownload acton 1.2.1
| File | Platform | Checksum |
|---|---|---|
| acton-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| acton-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| acton-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| acton-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo ton-blockchain/actonYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>