Skip to content

Releases: onflow/cadence

v0.12.6

02 Feb 23:41
Compare
Choose a tag to compare

πŸ›  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

  • More developer documentation (#535)
  • Update the roadmap (#553)
  • Document how to inject value declarations (#547)

v0.10.6

30 Jan 23:20
Compare
Choose a tag to compare

πŸ›  Improvements

  • Update to hamt 37930cf9f7d8, use ForEach instead of FirstRest (#566)
  • Make checker occurrences and origins optional (#567)

v0.12.5

22 Jan 23:27
Compare
Choose a tag to compare

⭐ 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

  • Fix the export of type values with restricted static types (#551)
  • Fix nested enum declarations (#549)
  • Language Server: Don't panic when notifications fail (#543)

v0.12.4

20 Jan 19:29
Compare
Choose a tag to compare

⭐ 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

  • WebAssembly package improvements (#542)
  • Generate code for instructions (#372)

🐞 Bug Fixes

  • Add support for multiple contracts per account to the language server (#540)

v0.12.3

14 Jan 00:10
Compare
Choose a tag to compare

πŸ›  Improvements

  • Improve the parsing / checking error (#525)

v0.12.2

13 Jan 19:12
Compare
Choose a tag to compare

πŸ›  Improvements

  • Export all checkers (#524)

πŸ“– Documentation

  • Add grammar for Cadence (#522)
  • Add developer documentation (#523)
  • Fix typos in documentation (#519)

v0.12.1

08 Jan 02:53
Compare
Choose a tag to compare

πŸ›  Improvements

  • Improve the contract deployment error message (#507)

🐞 Bug Fixes

  • Gracefully handle type loading failure (#510)

πŸ“– Documentation

  • Remove completed items from roadmap (#515)
  • Add presentation about implementation (#506)

v0.10.5

08 Jan 02:50
Compare
Choose a tag to compare

πŸ›  Improvements

  • Improve fixed-point multiplication and division (#508)
  • Make AST thread-safe (#440)

🐞 Bug Fixes

  • Gracefully handle type loading failure (#511)

v0.12.0

15 Dec 23:03
Compare
Choose a tag to compare

⭐ 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 for cadence.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:

  • Structured type identifiers (#477)
  • Add error return value to all interface methods (#470)

πŸ“– Documentation

  • Document that references are not storable and suggest using capabilities (#478)
  • Update the diagram illustrating the architecture of the runtime (#476)
  • Document the current options for syntax highlighting (#444)

v0.10.4

09 Dec 23:57
Compare
Choose a tag to compare

πŸ›  Improvements

  • Allow non-fatal errors for all interface functions (#494, #495)
  • Panic with array index out of bounds error (#496)