Skip to content

1.2.1 - 05.10.2026

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Oct 11:37
Immutable release. Only release title and notes can be modified.

Release Notes

Breaking changes

  • acton compile --json now returns source diagnostics in an errors array,
    including source ranges, function context, and related locations.
    Input, configuration, and fatal compiler failures still use the error
    string. Consumers must handle both response shapes.

Compiler and build cache

  • Support bodyless get fun declarations in ABI interfaces for precompiled
    contracts, runtime builds, RPC ABI sources, and native IDE diagnostics.
  • Expose Tolk's allowEmptyGetFun option 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 @inline eligibility 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 break and continue paths when inferring loop types, including
    subsequent iterations, loop exits, and nested loops.
  • Match Tolk 1.5 by using bitsN for fixed-size bit strings and resolving
    explicitly declared bytesN aliases as user-defined types.
  • Complete break and continue inside loop bodies, respecting function and
    try/catch boundaries in Tolk 1.5.
  • Offer @pure only for asm and builtin functions and describe its scope in hover.

Linting

  • Preserve diagnostic order in JSON reports, including related compiler locations.
  • Follow break and continue through nested loops and match arms in dataflow
    checks, excluding unreachable statements and evaluating repeat counts once.
  • Clarify E006 (pure-function-call-unused): an unused result may be intentional
    because a @pure call 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-expansion version 5.0.12 in generated dApps.
  • Allow the CC0-1.0 dependencies used by BIP39 wallet support in dependency checks.
  • Remove Localton's ton dependency. Get-method stacks use tvm-ffi and rston,
    and block monitoring uses rston block models.
  • Remove the direct ton dependency from the main Acton workspace. Debugger
    test helpers use rston cells and account state.
  • Replace yanked chacha20 versions in Faucet and Localton with version 0.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 LiteServer client.
  • 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),
    bip39 for 12 or 24 words, and rotation for separate anchor and signing keys.
    Configure mnemonic-scheme in wallets.toml, pass --mnemonic-scheme when
    importing, or select the scheme interactively.
  • Support an optional wallet-id in wallet configuration. An explicit ID is
    used on every network; omitting it keeps the version- and network-specific default.
  • Store wallet workchains as i8 in WalletConfig, matching standard TON addresses.
    Configuration values outside -128..=127 are rejected during parsing.
  • Remove the redundant input encoding field from acton wallet sign --json.
    The signed body remains hex encoded.

Testing

  • Accept an exitCode predicate in toHaveFailedTx, 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-timeout or [test.mutation] timeout to change the limit.
    Timed-out mutants appear as TIMED 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 | sh

Download 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/acton

You 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>