Releases: onflow/cadence
Releases Β· onflow/cadence
v0.12.6
π Improvements
- Optimize activations (#571)
- Make occurrences and origins optional (#570)
- Update to hamt 37930cf9f7d8, which contains ForEach, optimize activations (#569)
- Move global values, global types, and transaction types to elaboration (#558)
- Improve AST indices (#556)
- Cache programs before checking succeeded, properly wrap returned error (#557)
Performance of checking and interpretation has been improved,
e.g. for BenchmarkCheckContractInterfaceFungibleTokenConformance
:
Commit | Description | Ops | Time |
---|---|---|---|
21764d8 | Baseline, v0.12.5 | 595 | 2018162 ns/op |
df2ba05 | Update hamt, use ForEach everywhere | 1821 | 658515 ns/op |
6088ce0 | Optional occurrences and origins recording | 2258 | 530121 ns/op |
429a779 | Optimize activations, replace use of HAMT map | 3667 | 327368 ns/op |
β Features
- Optionally run checker tests concurrently (#554)
π Bug Fixes
- Fix runtime type of Block.timestamp (#575)
- Use correct CommandSubmitTransaction command in entrypoint code lens (#568)
- Revert "always find the declared variable (#408)" (#561)
- Make parameter list thread-safe (#555)
π Documentation
v0.10.6
v0.12.5
β Features
- WebAssembly: Add support for memory and data sections (#425)
- Start of a compiler, with IR and WASM code generator (#409)
- Language Server: Parse pragma arguments declarations and show codelenses (#432)
π Improvements
- Update the parser NPM package (#544)
- Update the language server and Monaco client NPM packages (#545)
- Interpreter: Always find the declared variable (#408)
π Bug Fixes
v0.12.4
β Features
- Argument list parsing and transaction declaration docstrings (#528)
- Add support for name section in WASM binary (#388)
- Add more WASM instructions (#381)
- Add support for export section in WASM binary writer and reader (#377)
- Generate code for instructions (#372)
π Improvements
π Bug Fixes
- Add support for multiple contracts per account to the language server (#540)
v0.12.3
v0.12.2
v0.12.1
v0.10.5
v0.12.0
β Features
- Add
getType
function (#493): It is now possible to get the run-time type of a value - Flush the cache of the storage before querying the used storage amount (#480)
- Structured type identifiers (#477)
- Allow host environment to predeclare values, predicated on location (#472)
- Add a visitor for interpreter values (#449)
- Add support for imports in WASM writer and reader (#368)
- Add support for coverage reports (#465)
- Add storage fields to accounts (#439)
- Implement
fmt.Stringer
forcadence.Value
(#434) - Add a function to parse a literal with a given target type (#417)
π Improvements
- Extend event parameter types and dictionary key types (#497)
- Optimize composite and interface static types (#489)
- Optimize composite values (#488)
- Fix the export of static types (#487)
- Improve error pretty printing (#481)
- Improve fixed-point multiplication and division (#490)
- Improve error messages for contract deployment name argument checks (#475)
- Add a test for decoding a struct with an address location without name (#469)
- Refactor address locations, make composite decoding backwards-compatible (#457)
- Improve error message when there are constructor argument (#455)
- Make AST thread-safe (#440)
- Add position information to interpreter errors (#424)
π Bug Fixes
- Declare new contract's nested values before evaluating initializer (#504)
- Infer address location name from type ID for static types (#468)
- Fix optional value's type function (#458)
- Don't use the cache when deploying or updating account code (#447)
- Properly handle unspecified variable kind (#441)
- Prevent resource loss in failable downcasts (#426)
π₯ Breaking Changes
This release contains no source-breaking changes for Cadence programs, but the following breaking changes when embedding Cadence: