Releases: ton-blockchain/acton
Trunk
Release Objs
Generated from TON commit: ton-blockchain/ton@83fe78b
1.1.0 - 22.05.2026
Release Notes
Acton 1.1.0 is the first feature release after v1.0.0. It focuses on
external-message testing, transaction matcher precision, BoC contract support,
library publishing safeguards, formatter/debugger ergonomics, Tolk 1.4.1
update, and a broad documentation refresh.
Breaking Changes and Migration
- Regenerate generated wrappers after upgrading. External incoming message
wrapper methods now returnExternalSendResultfromnet.sendExternal(...),
so checked-in Tolk wrappers should be refreshed withacton wrapper <contract>
to expose accepted/rejected metadata and the new external-in helpers and
matchers.
CLI and Tooling
acton fmtnow supports--stdin, allowing editor integrations to format
Tolk source from standard input without creating a temporary file. Invalid
--stdin/path combinations now fail with normal clap diagnostics.acton scriptnow reports missing generated dependency helpers with a more
direct error. Missing files such as@gen/JettonWallet.code.tolkare
highlighted in the error output, and script execution stops immediately after
the build failure.[test].uiinActon.tomlis now applied correctly as if--uihad been
passed on the command line.acton upnow correctly supports the baretrunkversion alias.- Generated command docs, man pages, and help snapshots were refreshed around
formatter, testing, trace, verification, wrapper, localnet, and retrace
behavior.
Libraries
acton library publishnow checks locallibraries.tomland global
global.libraries.tomlfor an exact hash and network match before publishing.
When a match exists, Acton warns that top-up is usually cheaper than creating a
new masterchain library account.- In interactive mode, publishing a tracked library can top up an existing local
or global library entry instead of publishing a duplicate. If several tracked
entries match, Acton lets the user choose the exact entry and updates that
entry'slast_topup_timestampafter a successful top-up. - Before sending a publish transaction, Acton now performs a warning-only
on-chain library lookup by hash. If the library already exists on-chain, Acton
prints a warning and still continues publication. Lookup errors are ignored so
the publish flow is not blocked by temporary RPC failures.
Build, Wrappers, and Contracts
- Added initial support for contracts represented by an explicit BoC plus an
ABI-like Tolk type file. Build, wrapper generation, script execution, RPC
info, and tests now cover runtime code loaded from BoC sources. acton wrapper --allnow handles BoC contracts consistently: it includes BoC
contracts with valid type metadata and skips or reports actionable errors for
BoC contracts without usable type information.- Template scripts and wrappers were cleaned up for Jetton, NFT, and W5
extension projects, including common helper updates and regenerated wrapper
output. - Template project READMEs now describe generated project structure and
validation commands more consistently across contract-only and app templates.
Testing, Matchers, and Emulation
- Added first-class test-runner support for external-in messages.
net.sendExternal(...)now returnsExternalSendResult, a wrapper that keeps
the producedSendResultListwhen the message is accepted and preserves
emulator failure metadata when the external-in message is rejected before an
accepted transaction trace is produced. ExternalSendResultexposes the accepted trace throughtransactionsand the
rejected-send metadata througherror, including the emulator message,
whether the message was not accepted, the VM exit code when available, and an
internal diagnostic id used by Acton to retrieve richer emulator details.- Added external-in helpers for tests:
ExternalSendResult.isAccepted(),unwrap(),at(),giveName(),
waitForFirstTransaction(),waitForTrace(), and
findExternalOutMessage(). - Added external-in matchers:
expect(result).toBeAccepted(),
expect(result).toBeNotAccepted(), and
expect(result).toHaveExternalVmExitCode(...). Failed checks now render the
external status, emulator reason, compute/action failure details, known TVM
exit-code descriptions or ABI error names, source location, and
onExternalMessagebacktrace details with--backtrace full. - External-in diagnostics now cover rejected messages without
acceptExternalMessage(), missing or invalid account state, mismatched
StateInit, missing libraries, explicit VM throws before acceptance, accepted
compute/action failures, and external send failures before any transaction
trace is produced. - Transaction search parameters now support
sendMode, so
findTransaction(...),toHaveTx(...),toNotHaveTx(...),
toHaveSuccessfulTx(...),toHaveFailedTx(...), andexecuteTill(...)can
filter child transactions by the parentSEND_MODE_*action that produced
them. Mismatch diagnostics render expected send modes as named constants. - Local emulation now honors Param 45 precompiled contract entries by contract
code hash for transaction execution and get-method C7 state, matching the
fixed gas and zero-step transaction shape used by the network. - Gas profiling and transaction formatting now resolve message names from both
destination and source contract ABIs, improving diagnostics when the message
was sent to an unexpected contract. - Coverage output tables were tightened for more compact CLI display.
- Snapshot write failures now fail tests instead of being silently ignored.
acton test --save-test-traceand Test UI trace metadata now better preserve
contract display names separately from stable contract ids/names, including
path-like display names.- Trace saving and UI reporting now log missing emulation results to test
stderr, making trace/report mismatches easier to diagnose.
Debugging, Runtime Rendering, and Test UI
- Debugger rendering now treats Tolk
map<K, V>values as first-classMapKV
values instead of generic structs. Empty maps display as{}, non-empty maps
show their entry count in DAP variable summaries, and map entries still expand
as child variables. - Empty extra-currency maps in the runtime
InMessage.valueExtrafield now
display asmap<int32, varuint32> = {}instead of a confusing()or raw
empty cell. - The debugger no longer recompiles all project contracts when resolving the
known treasury code hash, avoiding unnecessary work for treasury frames. - Debugger expression evaluation keeps map entries accessible through field
paths, including backticked numeric keys. - Debugger stepping and TxCursor support were improved, including better
filtering for step-in and new integration coverage for cursor-based traces. - Test UI now uses contract display names from trace metadata when available
while keeping stable contract ids for file lookup. - Contract metadata files in saved traces now include richer display-name
information, making UI labels more accurate for generated or path-like
contract names. - Potential trace-loading, missing-emulation, and contract-metadata issues now
have clearer diagnostics in the UI/backend path instead of silently producing
0 transactions.
Standard Library, Formatter, and Linter
- Updated the bundled Tolk compiler to Tolk v1.4.1.
- Added
parseCellFromBase64to the standard library. - Improved TON and nanoton formatting for large values and edge cases.
- Numeric diff output now better explains mismatches between different integer
types. - Linter rule documentation and implementation were refreshed for compiler
errors, imports in contracts, bounce handlers, naming rules, documented throw
values, and unauthorized access. - Tolk linter internals gained consistency fixes around per-root settings and
rule diagnostics.
Documentation and Website
- The CI setup page was rewritten and corrected for GitHub Actions and GitLab
CI, including frontend validation guidance and clearer Acton setup examples. - Testing documentation was expanded across built-in matchers, coverage, gas
profiling, trace bundles, configuration, fork testing, cookbook examples, and
custom matchers. - Build-system, wrapper, CLI command, linter, standard-library, scripting,
deployment, verification, project-management, walkthrough, and tutorial pages
received broad factual and wording improvements. - The docs site gained OS-specific install tabs, no-copy controls for selected
snippets, richer file-tree rendering, Mermaid diagrams, gas-report
highlighting, Acton CLI grammar improvements, dotted Tolk annotation
highlighting, and anActon.tomlfile icon. - Landing and installation pages were refreshed with updated assets, corrected
universal links, dynamictonconnect-manifest.json, better light-theme
styling, fixed play-button styling, corrected redirects, and updated Open
Graph metadata.
Localnet Preview
Warning: the localnet features listed in this section are still preview work
and are not available to end users yet. They are documented here so the
release notes capture the repository changes, but they should not be treated
as a stable or supported 1.1.0 feature surface.
- Added localnet status reporting and initial admin/control state endpoints.
- Renamed localnet control/admin endpoints to the
acton_*namespace and added
acton_setShardAccount,acton_sendInternalMessage, state dump/load, and
snapshot-oriented flows. - Added an initial OpenAPI description for the localnet control API and docs
generation support for that API. - Localnet now uses
127.0.0.1instead oflocalhostfor generated endpoints. - Internal messages sent through To...
1.0.0 - 11.05.2026
Release Notes
Acton 1.0 is the first stable release available to everyone. It marks the
result of six months of work, thousands of engineering hours, and hundreds of
thousands of lines of code.
Acton rethinks smart-contract development on TON: fast tests, straightforward
testnet and mainnet deployment, local and production debugging, AI-assisted
workflows, and many other tools that finally make smart-contract development
productive and approachable.
Learn more about Acton on the official website:
https://ton-blockchain.github.io/acton/
Install acton 1.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v1.0.0/acton-installer.sh | shDownload acton 1.0.0
| 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 |
0.5.0 - 10.05.2026
Release Notes
Acton 0.5.0 is a focused public-release follow-up to 0.4.0, adding TON Connect
support for verification approval transactions, improving typed cell and
cell-tree formatting, making mutation testing and coverage work for dependent
contracts, expanding wrapper generation and starter templates, refreshing the
Tolk compiler and TON executor config, and tightening documentation, release
CI, debugger snapshots, and UI inspection flows.
Breaking Changes and Migration
acton upnow reads release metadata only from the public
ton-blockchain/actonrepository. The temporary fallback repository used
during the public-release transition is no longer queried, so mirrors or
tooling that depended on fallback release metadata should switch to the
primary repository.- Compiler ABI JSON now uses
client_ty_idxon struct fields that have
@abi.clientType(...)after the Tolk compiler update. Direct ABI consumers
should read the indexed client type fromunique_typesinstead of relying on
the previous field shape. - The Acton linter no longer ships the
E023
incoming-messages-duplicate-opcoderule because duplicate incoming-message
opcodes are now handled by the Tolk compiler. Configurations that explicitly
enable, disable, or explainE023should remove that rule reference.
CLI, Wallets, and Verification
- Added
acton verify --tonconnectand--tonconnect-portso contract
verification can be approved through a TON Connect wallet instead of a stored
Acton wallet. - Added
acton library publish --tonconnectand
acton library topup --tonconnect, with--tonconnect-port, so library
publication and top-up transactions can also be approved through TON Connect. acton upnow targets the public Acton release repository, keeps a hidden
--yesflag for JetBrains plugin compatibility, and reports release lookup
and release-list failures with clearer GitHub/network diagnostics.- Wallet airdrops now use the new faucet endpoint and wait for airdrop
completion more reliably. - Wallet airdrop challenge handling now validates the challenge version before
using the response. - Wallet airdrop challenge requests now use the faucet's JSON
POSTflow with
the target address and TON airdrop type, matching the current faucet API. acton scriptnow gives a clearer error whenwaitForTrace()cannot find a
trace, including the timeout path used by scripts that print the result.acton verify,acton up, and related generated man/help output were
regenerated around the new flags and release repository behavior.
Project Templates and Wrappers
- Tolk wrapper generation now supports external incoming messages, including
contracts that expose both internal and external message surfaces. - The bundled Tolk compiler/TON objects and TypeScript wrapper generator were
updated to the Tolk 1.4. - Starter templates and app scaffolds were normalized across Counter, Empty,
Jetton, NFT, and W5 Extension projects: app templates gained.env.example
files, generated project metadata became more consistent, and the empty-app
and W5 app templates now include project-specificAGENTS.mdguidance. - Generated GitHub Actions workflows in starter templates are now split into
contract and dApp checks where appropriate, cover bothmainandmaster,
use least-privilege permissions and concurrency cancellation, and pin the
refreshedsetup-actonaction. - App template
npm run testscripts now succeed without requiring an Acton
project, so generated dApp-only workflows can run independently from contract
checks. acton new --templatesnow returns richer machine-readable template
metadata, and generated help/man output was refreshed around the updated
template list and app scaffolds.- Generated contract headers now use the local Git user name when available,
falling back toActon Userwhen it is missing. - Jetton, NFT, and W5 Extension templates received consistency fixes, including
unified author metadata, kebab-case NFT script names, refreshed W5 wrapper
helpers, and regenerated TypeScript wrappers. - The W5 Extension starter template was finalized with refreshed message
definitions, generated Tolk wrappers, and TypeScript wrappers. - Template opcode and hex literal casing is now normalized to lowercase in the
built-in templates.
Stdlib, Formatting, and ABI Decoding
- Added the
{:cell-tree}formatter forformat()andprintln()so
cells, slices, builders, and typedCell<T>values can be rendered as a tree
of cell references. - Typed
Cell<T>values now display decoded data when the compiler ABI can
parse the cell, improvingprintln, formatted output, and debugger/type
views. Expectation<SendResultList>.toEmitExternalMessage<T>()now reports a much
more actionable failure, including the searched message type/opcode and the
transaction list context.- Exit-code formatting now distinguishes compute-phase and action-phase exit
codes, so known codes are shown in the correct phase-specific context. - Small opcodes such as
0x1are formatted more consistently in transaction
and message output. tolk-fmthandles!chains more predictably and no longer breaks
single-argument generic type syntax such as<T>in common chains.
Testing, Mutation, Coverage, and Debugging
- Mutation testing now supports contracts that depend on the mutated contract,
including embedded and library-ref dependencies such as Jetton minter/wallet
setups. Dependent contracts are rebuilt with the mutated dependency override
before child test runs. - Targeted
acton build <contract>runs now refresh generated dependency-code
helpers for parent contracts that embed or reference the rebuilt contract,
preventing stalelibrary_refand embedded-code helper files. - Test trace snapshot paths now normalize test names, which makes generated
trace artifacts more stable and filesystem-friendly. - Debug rendering now prints empty cells, slices, and builders as explicit
empty cell,empty slice, andempty buildervalues, and storage decoding
is more reliable in debugger snapshots. - Coverage now works for library-reference-based contracts such as Wallet W5.
- Coverage now also resolves project contracts deployed from generated
dependency-code helpers such asgen/*.code.tolk, which fixes coverage for
dependent-contract flows like Jetton minter/wallet setups. - W5 debugging no longer emits an unnecessary warning and handles the W5 flow
correctly.
UI and Trace Inspection
- Test UI now warns when the connection to the runner is lost.
- Parsed cell/slice views can parse values even when remaining bits are present,
which is useful for W5 and other partially decoded payloads. - Parsed cell, slice, and builder values now include a button for copying the
full hex BoC. - UI packages were updated alongside the compiler ABI refresh and typed-cell
decoding changes. - Shared UI transaction rendering was refined for the updated tutorial and
inspection flows, including clearer account details, disassembly, action
summaries, transaction tree entries, and exit-code chips.
Docs, Release CI, and Internal Polish
- Documentation gained wallet-management, verification, and deployment how-to
guides, a refreshed quickstart/walkthrough, a full tutorial flow, agent-skills
pages, and style corrections across Acton.toml, debugging, testing, IDE
support, installation, libraries, and welcome pages. - JetBrains and VS Code documentation was expanded with reorganized screenshot
assets, new extension feature coverage, terminal/action/test-runner views, and
updated demo media. - Documentation gained new dApp development and project-management guides,
including TypeScript wrapper workflows and expanded library, scripting,
walkthrough, and IDE-support coverage. - The documentation site now redirects
/docsto/docs/welcomelocally and
supports richer file-tree visualization in docs pages. - Documentation gained a reusable
Calloutcomponent and stricter external
link validation around redirects. - Release CI now generates cargo-dist manifest checksums for release binaries,
links the releasedacton-installer.sh, and removes obsolete mirroring
workflows for trunk, objects, and release artifacts. - Documentation deployment and labeler workflows now skip draft pull requests.
- Dockerfile links were updated to match the current public-release layout.
ton-objsarchive checksum mismatch diagnostics now mention
TON_OBJS_DISABLE_ARCHIVE_SHA_VERIFYfor environments that intentionally
bypass archive verification.- Tree-sitter dependencies were refreshed, including the
ip-addressupdate,
and the TON executor config was updated.
Install acton 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v0.5.0/acton-installer.sh | shDownload acton 0.5.0
| 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-lin... |
0.4.2 - 08.05.2026
Release Notes
Test release.
Install acton 0.4.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v0.4.2/acton-installer.sh | shDownload acton 0.4.2
| 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 |
0.4.1 - 08.05.2026
Release Notes
Test release with public repository.
Install acton 0.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v0.4.1/acton-installer.sh | shDownload acton 0.4.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 |
0.4.0 - 04.05.2026
Release Notes
Acton 0.4.0 is a broad follow-up to 0.3.0. It stabilizes the dApp and wrapper
surface, adds project-level toolchain pinning, expands RPC, retrace, debugger,
Test UI, and localnet inspection workflows, and tightens testing, coverage,
linter, formatter, docs, templates, and editor integrations.
Breaking Changes and Migration
-
The short
-vverbosity flag was removed fromacton test,
acton script, andacton retrace. Use the long--verboseflag for
executor logs and retrace detail output.# before acton test -v acton script scripts/deploy.tolk -v # after acton test --verbose acton script scripts/deploy.tolk --verbose
Root
acton -vremains the version shortcut, so downstream wrappers should
avoid assuming that-vmeans command-local verbosity. -
SendResultList.wait()was renamed to
SendResultList.waitForFirstTransaction()and now returnsSendResult?
instead ofbool. This makes the confirmed on-chain root transaction
available to scripts instead of only reporting whether it was found.// before val ok = txs.wait(); if (!ok) { return; } // after val applied = txs.waitForFirstTransaction(); if (applied == null) { return; } println("applied at lt {}", applied!.lt); -
acton buildnow writes Tolk compiler ABI JSON files tobuild/abi/by
default. If custom tooling reads ABI artifacts from the main build output
directory, update it to readbuild/abi/<contract>.jsonor pin the old-style
location explicitly:[build] output-abi = "build"
The CLI override is
acton build --output-abi <DIR>. -
The TypeScript wrapper directory spelling was normalized from
wrapper-ts/towrappers-ts/. UpdateActon.toml,
frontend imports, generated-project checks, and documentation snippets that
still reference the singular form.# before [wrappers.typescript] output-dir = "app/src/wrapper-ts" # after [wrappers.typescript] output-dir = "app/src/wrappers-ts"
-
Acton HTTP clients now ignore
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY, and
system proxy settings by default to avoid macOS sandbox proxy autodetection
crashes. SetACTON_USE_PROXY=1orACTON_USE_PROXY=truewhen your
environment requires those proxy settings. -
Several linter diagnostics were reclassified from error-style
E...codes
to styleS...codes, and the linter docs were regenerated around the new
numbering. UpdateActon.tomllint configuration, CI filters, snapshot
expectations, and inline suppressions if they reference numeric rule codes
directly. -
Compiler ABI JSON now stores canonical types in
unique_typesand references
them byty_idx, including monomorphic struct and alias instantiations.
Tooling that reads ABI JSON directly should stop expecting inlinety,
target_ty,body_ty,return_ty, orprefix_strfields and use the new
indexed fields instead. The reflection helpers
reflect.typeAbiJsonOf*()were replaced withreflect.typeUniqueIdxOf*().
CLI, Project, and Network Workflows
- Added project-level toolchain pinning through
[toolchain] acton = "..."
inActon.toml. Project commands check the configured Acton version before
running, whileacton upremains available from the same directory so users
can install the expected version. - New projects and templates now pin the current Acton version, include clearer
.env.exampleguidance, and document proxy and TonCenter API-key behavior
more explicitly. - Added
acton init --stdlib-onlyfor refreshing.acton/without reading or
patchingActon.toml. acton wallet listno longer requires anActon.toml, which makes wallet
inventory commands usable outside an initialized project.acton scriptnow supports TON Connect flows, ABI-driven argument parsing,
clearer trailing argument forwarding with--, better non-interactive
wallet errors, and remote-state cache invalidation after broadcasting.- Testnet wallet airdrop requests now include a stable non-empty
x-device-uidheader derived from the local machine identifier, while
keeping the device value out of the JSON claim payload. - Added
acton rpc tracefor rendering TonCenter v3 traces as stable decoded
transaction trees, plusacton rpc blockandacton rpc block-numberfor
latest masterchain block inspection. - Added Nushell support to
acton completions, while the completion generator
and root help now share the same base command metadata, including version
flag aliases. - Remote account-state loading now uses
/api/v2/getShardAccountCellwhere
available, and localnet implements the same endpoint for compatibility with
the emulator and tracing stack. acton compilenow exits with code1for missing files and reports
conflicting stdout/file output choices more clearly.- Acton HTTP calls now send a versioned
acton/<version>User-Agentacross
update, doctor, wallet, verifier, localnet, and API-client workflows. acton upno longer special-cases Homebrew-style installation paths.- CLI help, command descriptions, color handling, wallet setup hints, and
non-interactiveacton newerrors were tightened across the command surface.
Wrappers, Templates, and dApps
- Added Vite-based dApp scaffolding through
acton init --create-dapp,
including standalone empty-app support and generated TypeScript wrapper usage
in Counter, Jetton, NFT, and wallet-extension flows. - Added the Wallet W5 Extension template and aligned it with the Counter,
Jetton, NFT, and empty-app template families. - Templates now share more app components and styles, use Acton's TON Connect
manifest, display full traces in scripts, pin Acton versions, and include
stronger README, script, ESLint, wrapper, and byte-for-byte consistency
checks. - App templates now inject normalized npm package names while preserving
package.jsonandpackage-lock.jsonfield order, avoiding unnecessary
lockfile churn in generated projects. - Counter, Jetton, NFT, empty-app, and wallet-extension templates were refined
with owner checks, cleaner tests, better TonCenter key handling, Tolk
metadata strings, fewer unnecessary casts, and more consistent generated app
wiring. - Jetton, NFT, and wallet-extension template tests now use more consistent
import grouping, helper placement, andtest <domain>:name prefixes, and
Jetton scripts now point their default metadata image at the Acton logo
instead of the broken TON symbol URL. - Added
acton wrapper --allfor regenerating wrappers across configured
contracts. - Generated wrappers now integrate typed
@abi.clientType(...)declarations,
use.genfilenames, avoid unused imports, include explicit return types,
and no longer suppress formatter and linter checks by default. - TypeScript wrapper generation was updated and template commands now expose a
clearer wrapper-regeneration path for projects that include generated app
code.
Testing, Coverage, and Stdlib
- Added
@test.skip("description"). Skip and TODO reasons now appear in
console output, Test UI, JUnit, and TeamCity reports. acton testnow fails when no tests are selected, validates custom networks
earlier, reports missing wallets with better setup guidance, and correctly
merges CLI flags withActon.tomlsettings.- Fork-mode tests now preserve remote last-transaction LT/hash metadata from
TonCenter, and additional fork-mode coverage was added for scripts and
test-runner flows. - Mutation testing now checks that the baseline test run is green before
mutating and gives clearer output when filtering selects no baseline tests. - JUnit and TeamCity reports now include richer captured stdout/stderr,
location hints, skip/TODO details, and failure context. - The dot reporter prints clearer runtime and failure details, avoids gas
snapshot noise when tests fail, and benefits from faster message processing. - Test runner filesystem helpers and snapshot APIs now reject absolute paths,
parent-directory escapes, and symlink escapes outside the project root. - Coverage excludes
.test.tolkfiles by default, handles very large VM logs
better, and keeps the branch-coverage work from 0.3.0 available in the normal
reporting flow. - Stdlib gained
SendResultList.waitForTrace(), interactivepromptIntand
promptAddress, better non-interactive prompt fallbacks, array.map(),
.filter(), and.each(),BASECHAIN, state-init search parameters, and
external-in transaction body/message decoding. expect().toEqual()andexpect().not.toEqual()now compare typed
values instead of raw tuple layouts, which fixes nullable struct and union
equality and produces clearer diffs for nested structs, arrays, and top-level
union cases.- Fixed
Expectation<map<K, V>>.toHaveLengthvalue ordering and improved
net.isDeployed, matcher behavior, bounce opcode handling, empty-data
opcode loading, and typed mismatch rendering forenv.slice()values.
Debugging, Tracing, and UI
- Console transaction trees, retrace, Test UI, and localnet explorer views now
cover external-in, tick-tock, reserve, send-message,setCode, and
changeLibraryactions with richer ABI-decoded bodies, opcode chips, mode
descriptions, source locations, failure context, and fallback rendering. - On-demand disassembly is available for
setCodeand embedded
changeLibraryactions, andacton disasm --jsoncan emit machine-readable
disassembly with source-map ranges. acton disasmis more tolerant of malformed or partial code slices: invalid
opcodes and undecompilable inline/ref code are emitted asembed x{...}
slices, dic...
0.3.2 - 27.04.2026
Release Notes
Acton 0.3.2 expands project scaffolding, wrapper generation, disassembly,
script argument handling, and stdlib test APIs while tightening formatter,
linter, debugger, localnet, and reporting behavior. It also refreshes the
documentation site and fixes several wrapper, template, logging, and UI issues
found after 0.3.1.
Added
- Added
acton init --create-appfor scaffolding Vite-based TypeScript apps,
along with app templates and generated TypeScript wrappers for Counter,
Jetton, and NFT projects. - Added
acton meta get-schemasupport for the custom mutation rules schema
and the lint JSON report schema. - Added
SendResultList.waitForTrace()and localnet v3 trace lookup support,
includingmsg_hash-based trace discovery. - Added stdlib support for interactive
promptIntandpromptAddress, array
.map(),.filter(), and.each(),BASECHAIN, external-in transaction
body/message decoding, and state-init search parameters. - Added a linter inspection for documenting enum values used in
throw ...
paths. The inspection is available but allowed by default. - Added
acton disasm --json, which returns machine-readable disassembly with
optional source-to-assembly mapping ranges from--source-map. - Added ABI-driven parsing and validation for
acton scriptarguments, with
clearer support and error reporting for arrays, nullable values, addresses,
strings, cells, and other CLI-passed types. - Added tree-sitter support for annotated struct fields and typed
@abi.clientType(...)declarations.
Changed
- Generated wrappers now use
.genfilenames, avoid unused imports, include
explicit return types, and stop suppressing linter and formatter checks by
default. - Counter, Jetton, and NFT templates were refined with unified contract
sources,.env.example-based setup, clearer wrapper regeneration flows,
prettier README/tests/scripts, app flows, owner checks, and consistency
checks for generated wrappers. - The dot reporter now prints richer failure/runtime details, supports more
cases with colors, and benefits from faster message processing. - Coverage and VM log handling now scale better for very large VM logs.
tolk-fmtnow handles file header comments, single string annotations,
simple literal function calls, and type instantiation formatting more
predictably.- Debugger stepping and rendering were improved for child VMs, stop requests,
parent-frame locals, invalid-message stops, and union type display. - Documentation gained a refreshed landing page, video previews, linter error
previews, link validation, PR previews, and updated install URLs. - Internal crate names were normalized to the current kebab-case naming style.
state_initnow usesCell<StateInit?>to match the latest Tolk 1.4
expectations.
Fixed
- Fixed wrapper generation around unused imports and shard address calculation.
- Fixed NFT and Jetton template issues, including TonCenter key handling in app
templates. - Fixed the Counter app template by aligning wallet flows with TonConnect UI.
- Fixed
net.isDeployedand related matcher logic for prefunded and
deterministic deploy paths. - Fixed empty-data handling in
TlbMessageRelaxedGeneric.loadOpcodeand
improved bounced opcode matching for the new prefix format. - Fixed logging setup and addressed a UI security audit finding.
- Fixed docs cache and missing documentation pages in CI.
Install acton 0.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v0.3.2/acton-installer.sh | shDownload acton 0.3.2
| 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 |
0.3.1 - 23.04.2026
Release Notes
Acton 0.3.1 is a focused follow-up to 0.3.0. It improves the test runner and
both UI surfaces, expands transaction and action inspection in the Test UI and
localnet explorer, and smooths a handful of scripting, formatting, and docs
rough edges.
Added
- Added support for
@test.skip("description")in the test runner. Skip and
TODO reasons now flow through console output, the Test UI, JUnit, and
TeamCity reporting. - Added Nushell support to
acton completions. - Added a new lint inspection that warns about explicit
.toCell()inside
createMessage({ body: ... }), where the extra conversion is usually
unnecessary. - Added on-demand disassembly for
setCodeand embeddedchangeLibrary
actions in the Test UI and localnet explorer.
Changed
- Expanded Test UI and localnet explorer transaction views for
external-inandtick-tockflows, including better root visualization,
richer phase and action details, and better handling of large traces. - Send-message actions now show ABI-decoded bodies, opcode chips, clearer
send-mode descriptions, and better fallback handling for raw and bounced
payloads. reserve,setCode, andchangeLibraryactions now render with clearer
mode details, failure context, and code/library inspection.- Parsed maps and storage diffs are now rendered more readably in transaction
details and tree tooltips, and oversized trace selectors/tooltips are now
scrollable instead of stretching the layout. tolkfmtnow preserves user-authored line breaks in function calls,
function parameter lists, and union type aliases.acton upno longer special-cases Homebrew-style installation paths.
Fixed
- Fixed
net.sendExternal()on real networks and cleaned up the surrounding
wait-for-transaction flows used by templates and scripts. - Fixed a
404on optional coverage loading in the Test UI. - Fixed several broken docs links and generated documentation references.
Install acton 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ton-blockchain/acton/releases/download/v0.3.1/acton-installer.sh | shDownload acton 0.3.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 |