All notable changes to this project will be documented in this file.
v1.0.0 collects the work since v0.6.0 and makes Acton the main TON development workflow in VS Code.
The headline change is that Acton is no longer just an external command you run next to the editor. It is now integrated through the project lifecycle: the extension detects and updates the Acton toolchain, understands Acton.toml, offers code lenses and context actions for builds, checks, formatting, tests and wrapper generation, runs and reruns tests through the VS Code Testing view, debugs tests, scripts and real-chain retraces, opens Acton-powered assembly views with source mappings, initializes dApps from Acton.toml, and turns terminal output into clickable TON links.
This release also brings Tolk support forward for the Acton era: void-type parameters from Tolk 1.4, richer annotations,
mapping-aware imports, computed enum value hints, faster analysis, cleaner completion in Acton projects and formatting
through acton fmt. The old Sandbox UI has been removed in favor of the Acton workflow, and CI now runs the e2e suite
to keep the extension behavior covered.
- feat(acton): support void-type parameters from Tolk 1.4 in ton-blockchain#285
- feat(acton): support latest changes in Acton.toml in ton-blockchain#286
- feat(acton): better test fail message in ton-blockchain#287
- feat(acton): support debug for tests and scripts in ton-blockchain#288
- feat(acton): use tonscan in ton-blockchain#290
- feat(acton): show Tolk version from Acton in ton-blockchain#291
- feat(acton): add action to retrace and debug transaction from real blockchain in ton-blockchain#292
- feat(acton): add code lenses for
[fmt],[check]and add one more for[test]to run tests with UI in ton-blockchain#293 - feat(acton): better linter support in ton-blockchain#297
- feat(acton): support
scripts.wallet()completion in ton-blockchain#300 - feat(acton): save files on quick fix application in ton-blockchain#303
- feat(acton): add auto installation in ton-blockchain#307
- feat(acton): add code lenses for Tolk and TypeScript wrappers in Acton.toml in ton-blockchain#309
- feat(acton): don't mention localnet yet in ton-blockchain#310
- feat(acton): support range formatting in ton-blockchain#311
- feat(acton): use
acton disasminstead ton-assembly library in ton-blockchain#314 - feat(acton): make addresses in terminal clickable and add setting for explorer in ton-blockchain#327
- feat(acton): rerun failed tests in ton-blockchain#328
- feat(acton): enrich VS Code test runner integration in ton-blockchain#329
- feat(acton): make
--backtrace fullclickable for scripts in ton-blockchain#330 - feat(acton): add disassembly view with mapping from Tolk to assembly and vice versa in ton-blockchain#331
- feat(acton): add context action for Acton.toml to initialize dApp in ton-blockchain#332
- feat(acton): check for new version in ton-blockchain#333
- feat(acton): better Acton.toml parsing in ton-blockchain#337
- fix(acton): fix long initialization in ton-blockchain#338
- feat(tolk): remove call argument inspection since we are using acton check for linting in ton-blockchain#289
- feat(tolk): don't show symbols with
__prefix in completion in ton-blockchain#294 - feat(tolk): don't show
.actonsymbols incontract/in ton-blockchain#295 - feat(tolk): don't show
.actonimports incontract/import completion in ton-blockchain#296 - feat(tolk): don't add parameters hints for obvious functions in ton-blockchain#304
- feat(tolk): support dotted annotations, annotations for structs and annotations with types in ton-blockchain#305
- feat(tolk): add code lenses for building and generating Tolk and TypeScript wrappers in ton-blockchain#306
- feat(tolk): add intention to generate 32-bit opcode for structs in ton-blockchain#308
- feat(tolk): remove
symbolsNamespacefield support from contract header in ton-blockchain#312 - feat(tolk): faster analysis in ton-blockchain#317
- feat(tolk): add computed enum value inlay hint in ton-blockchain#320
- feat(tolk): don't add autocompletion for declaration names in ton-blockchain#321
- feat(tolk): better support for annotations in ton-blockchain#334
- fix(tolk): fix completion tests and add more in ton-blockchain#313
- fix(tolk): fix completion in incomplete assert in ton-blockchain#316
- fix(tolk): fix formatting with Acton in ton-blockchain#335
- fix(tolk): fix auto import with mappings in ton-blockchain#336
- feat(all): better support for external changes in ton-blockchain#315
- feat(all): enable production mode in ton-blockchain#324
- feat(all): add various additional files in ton-blockchain#326
- feat(ci): run e2e tests on CI in ton-blockchain#319
- fix(server): normalize URI file in ton-blockchain#302
- fix(all): fix e2e tests in ton-blockchain#318
- fix(tests): fix e2e flake and remove tolkfmt completely in ton-blockchain#323
- fix(ci): permission
Zizmorto uploadSARIFreport in ton-blockchain#301 - chore(all): update dependencies with vulnerabilities in ton-blockchain#284
- chore(all): update security for the project in ton-blockchain#298
- chore(all): remove Sandbox UI, use Acton in ton-blockchain#322
- chore(all): cleanup in ton-blockchain#325
- chore(all): update dependencies with vulnerabilities in ton-blockchain#340
- chore(ci): add
Zizmorcheck in ton-blockchain#299
- feat(tolk): add explicit return type for
unpackFromSlicecompletion in ton-blockchain#279 - feat(tolk): better TextMate grammar in ton-blockchain#234
- feat(tolk): highlight self parameter as keyword in ton-blockchain#243
- feat(tolk): support
??operator from Tolk 1.3 in ton-blockchain#256 - feat(tolk): support arrays from Tolk 1.3 in ton-blockchain#263
- feat(tolk): support contract declaration from Tolk 1.3 in ton-blockchain#261
- feat(tolk): support mappings from Tolk 1.3 in ton-blockchain#265
- feat(tolk): support string type from Tolk 1.3 in ton-blockchain#258
- feat(tolk): update tolkfmt version in ton-blockchain#271
- fix(tolk): better handling for recursive types in type inference in ton-blockchain#233
- fix(tolk): better resolving for generic method call in ton-blockchain#242
- fix(tolk): don't require field with
T=voidin ton-blockchain#225 - fix(tolk): don't show private fields in completion in ton-blockchain#231
- fix(tolk/signature-help): fix signature help for generic method call with explicit type arguments in ton-blockchain#245
- fix(tolkfmt): fix assembly function rearrange formatting in ton-blockchain#209
- Sandbox by @i582 in ton-blockchain#177
- feat(vscode): added more
TON-related extensions to the conflicting by @Danil42Russia in ton-blockchain#179 - feat(sandbox): add a go-to-exit code throw position button if available by @i582 in ton-blockchain#181
- feat(tlb): add an inlay hint with calculated type hash by @i582 in ton-blockchain#189
- feat: use the latest TVM specification by @i582 in ton-blockchain#193
- feat(tolk): support lambdas from Tolk 1.2 by @i582 in ton-blockchain#202
- chore(utils): migration from
jsshato the standardcryptolibrary by @Danil42Russia in ton-blockchain#170 - chore(deps): bump the npm_and_yarn group across 3 directories with 1 update by @dependabot[bot] in ton-blockchain#173
- chore(grammar): removed unnecessary dependencies by @Danil42Russia in ton-blockchain#175
- refactor(all): reformat imports by @i582 in ton-blockchain#178
- feat(ci): disable grammar synchronization for forks by @Danil42Russia in ton-blockchain#180
- fix(all): rules in editorconfig by @Danil42Russia in ton-blockchain#182
- chore(all): updated yarn to version 4.10.3 by @Danil42Russia in ton-blockchain#183
- fix(ci):
setup-emsdkaction by @Danil42Russia in ton-blockchain#184 - chore(ci): check
stylelintby @Danil42Russia in ton-blockchain#185 - feat(ci): removed unnecessary launches for building
tree-sitterby @Danil42Russia in ton-blockchain#186 - chore(ci): for branches, run security checks only when changes are made by @Danil42Russia in ton-blockchain#190
- chore(ci): updated actions versions by @Danil42Russia in ton-blockchain#191
- feat(tree-sitter-tolk): add Rust bindings by @i582 in ton-blockchain#194
- fix(tree-sitter-tolk): fix Rust bindings by @i582 in ton-blockchain#195
- fix(tree-sitter-tolk): remove the target folder by @Danil42Russia in ton-blockchain#197
- Remove artifacts and ignore by @Trinketer22 in ton-blockchain#200
- feat(tolk/fmt): bump tolkfmt version to 0.0.23 by @i582 in ton-blockchain#203
- @Trinketer22 made their first contribution in ton-blockchain#200
- feat(tolk): add constant evaluator, inlay hints for evaluated constants and show this value on hover in ton-blockchain#150
- feat(tolk): support
readonlyandprivatemodifiers from Tolk 1.1 in ton-blockchain#156 - feat(tolk): support assembly get methods in ton-blockchain#147
- feat(tolk): support enums from Tolk 1.1 in ton-blockchain#143
- feat(tolk): use the latest tests and stdlib from Tolk 1.1 in ton-blockchain#164
- feat(tolk/highlighting): support highlighting for
enum,readonlyandprivatekeywords in ton-blockchain#141 - feat(tolk/inlay-hints): don't show
constStringparameter hint for compile-time stdlib functions in ton-blockchain#151 - feat(tolk/inspections): add
CallArgumentsCountMismatchinspection in ton-blockchain#138 - feat(tolk/inspections): warn about unused
packToBuilderandunpackFromSlicemethods for non-alias types and with wrong signature in ton-blockchain#158 - fix(tolk): fix completion for enums in ton-blockchain#157
- fix(tolk/grammar): fix triple quote string parsing in ton-blockchain#153
- refactor(tolk): small fixes in ton-blockchain#144
- refactor(tolk/type-inference): simplify type inference implementation in ton-blockchain#162
- fix(func/inspections): support transitively includes in ton-blockchain#159
- chore(ci): enabled the
FunCbuild by @Danil42Russia in ton-blockchain#168 - chore(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in ton-blockchain#165
- chore: add missed commas in README.md in ton-blockchain#139
- chore: update tolkfmt with enum support in ton-blockchain#145
- feat(ci): checking packages for vulnerabilities by @Danil42Russia in ton-blockchain#166
- feat(tolk/grammar): support
type int = builtinand use new syntax for stubs in ton-blockchain#129 - feat(tolk/grammar): don't use
builtin_typeat all in ton-blockchain#130
- fix(tolk/completion): fix
onBouncedMessagecompletion in ton-blockchain#134 - fix(tolk/type-inference): correctly handle cyclic structs in ton-blockchain#133
- feat(tolk/vscode): better support for triple-quotes strings in ton-blockchain#104
- feat(tolk/stdlib): support TOLK_STDLIB env for stdlib search in ton-blockchain#102
- feat(tolk/fmt): bump tolkfmt to v0.0.15 in ton-blockchain#93
- feat(tolk/completion): add
storagesnippet in ton-blockchain#107 - feat(tolk/completion): add snippet for
catch, fix completion for catch variable names in ton-blockchain#110 - feat(tolk/completion): add completion option for field with
Cell<Foo>type, to createFoo {}.toCell()expression in ton-blockchain#112 - feat(tolk/completion): add completion for entry point function names and for builtin methods in ton-blockchain#114
- feat(tolk/completion): better support for nullable methods in ton-blockchain#118
- feat(tolk/signature-help): support signature help for multiline calls in ton-blockchain#111
- feat(tolk/inspections): don't require
;in grammar and give an error later in ton-blockchain#126 - feat(tolk/documentation): show size of alias/struct in ton-blockchain#115
- feat(fift/navigation): add lens to go to Tolk sources for this definition in ton-blockchain#124
- fix(tolk/grammar): support annotations with several arguments in grammar in ton-blockchain#95
- fix(tolk/intentions): add the correct default value for field with alias type in ton-blockchain#97
- fix(tolk/type-inference): correctly infer return type of function with several return with boolean literals in ton-blockchain#98
- fix(tolk/completion): show the correct type for variable in completion in ton-blockchain#106
- fix(tolk/find-references): correctly find reference for methods in ton-blockchain#108
- fix(tolk/type-inference): fix type inference inside generic calls in ton-blockchain#119
- fix(tolk/type-inference): fix type inference for some operators in ton-blockchain#120
- fix(boc): use the latest TASM in ton-blockchain#100
- fix(fift/highlighting): fix highlighting and go to definition for Fift names with dot in ton-blockchain#122
- chore: bump tolkfmt to v0.0.16 in ton-blockchain#113
- feat(tests): improve completion tests in ton-blockchain#116
- feat(tolk/documentation): support inline field comments in ton-blockchain#64
- feat(tolk/inspections): add
NeedNotNullUnwrappinginspection in ton-blockchain#72
- feat(func/lens): add code lens for integer string literals like
"..."cfor FunC in ton-blockchain#63 - feat(func/resolving): support catch variables resolving and find references in ton-blockchain#65
- feat(func/inlay-hints): show implicit constant types in ton-blockchain#67
- fix(tolk): don't add
;for imports in ton-blockchain#49 - fix(tolk/completion): don't show type parameter in value completion in ton-blockchain#69
- fix(tolk/completion): don't add
;for top level declaration in completion in ton-blockchain#74
- fix(func/resolving): fix resolving for tensor/tuple variables with underscore in ton-blockchain#68
- fix(func/grammar): accept
<and>as part of identifier in ton-blockchain#70 - fix(func/documentation): correctly show constant value in hover documentation in ton-blockchain#71
- fix(func/inspections): disable unused import inspection for now in ton-blockchain#75
- feat(ci): add auto mirroring for Tolk tree-sitter grammar in ton-blockchain#12
- chore: bump tolkfmt to 0.0.13 in ton-blockchain#47
- refactor(tree-sitter-tolk): improve overall tree-sitter-tolk description in ton-blockchain#48
This release is dedicated to FunC and Tolk.
We added FunC support with many useful features and even debugging support via sandbox (big thanks to TonTech for FunC debugger implementation)!
We also improved Tolk support and added an experimental formatter for Tolk, it is still in early stages, but already supports all syntax of Tolk.
- feat(tolk/rename): wrap in backticks for keyword names in ton-blockchain#21
- feat(tolk/inspections): add unused type parameter inspection and fix find references for type parameters in ton-blockchain#22
- feat(tolk/toolchain): support Tolk global installation in ton-blockchain#24
- feat: initial FunC support in ton-blockchain#26
- feat(vscode): warn if FunC or Tolk extension are enabled in ton-blockchain#34
- feat(vscode): add action to attach to FunC debugger in ton-blockchain#36
- feat(tolk/completion): support match over struct type and add completion option to fill all cases in ton-blockchain#42
- feat(tolk): add experimental Tolk formatter in ton-blockchain#43
- fix(tolk/references): fix reference handling for
Foo<Bar>in ton-blockchain#8 - fix: fix paths to language server from archive in README.md in ton-blockchain#23
- fix(tolk/resolving): fix method resolving for generic structs in ton-blockchain#25
- fix(tolk/completion): fix completion for generic struct static methods in ton-blockchain#30
- fix(tolk/settings): fix inlay hints disabling in ton-blockchain#31
- fix(tolk/grammar): support triple quotes strings in ton-blockchain#41
- feat(ci): add artifacts build for releases in ton-blockchain#10
- chore(README.md): move description after title in ton-blockchain#13
- fix(webpack): fixed the copying of the icons by @Danil42Russia in ton-blockchain#16
- fix(assets): removed an unused icon by @Danil42Russia in ton-blockchain#17
- feat(ci): run linter and grammar checks in ton-blockchain#28
- refactor(all): move VS Code extension to
editors/codefolder in ton-blockchain#32 - refactor(server): extract common languages parts in ton-blockchain#39
- fix(tolk/tests): fix completion tests in ton-blockchain#45
- @Danil42Russia made their first contribution in ton-blockchain#16
Fix bug with type compatibility, this inspection is disabled by default for now.
First stable version
Initial development release for alpha testers