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: