Releases: onflow/cadence
Releases Β· onflow/cadence
v0.33.0
What's Changed
β Features
- Add publicTypes method to DeployedContract for introspection by @dreamsmasher in #2242
- Parse type parameter lists for function declarations by @turbolent in #2145
- Allow equality tests on arrays if their inner types support it by @dreamsmasher in #2271
π Improvements
- improve wording and classification of some interpreter errors by @dsainati1 in #2194
- Also update flow-go's new insecure package by @turbolent in #2220
- Correct example code link by @alilloig in #2209
- Allow errors to pretty-print excerpts over multiple lines by @dsainati1 in #2197
- Add additional metering methods to the interface by @janezpodhostnik in #2222
- Ensure GetProgram calls before SetProgram by @turbolent in #2249
- Replace interface GetProgram and SetProgram with GetAndSetProgram by @turbolent in #2254
- Replace empty common.Address{} with singleton by @dreamsmasher in #2256
- Improve update tool and documentation by @SupunS in #2261
- add unwrap to ExternalError by @dsainati1 in #2286
- Refactor external types to instantiate only once whenever possible by @SupunS in #2225
- add Config() method to runtime.Runtime interface by @dreamsmasher in #2281
- Improve compatibility diff checker by @SupunS in #2291
- Add Cadence to Go type translator, refactor Block type by @turbolent in #2278
- Add support for type parameters to Cadence to Go type translator by @turbolent in #2287
- Simplify lookaheads by @turbolent in #2298
- Clear the test runtime program cache automatically after contract update by @turbolent in #2306
- Use dedicated type parameters for test-stdlib functions by @SupunS in #2206
- Remove support for importing/exporting and JSON encoding/decoding path links and cadence type by @turbolent in #2248
- Add backward compatibility check CI workflow by @SupunS in #2237
- Avoid unnecessary use of any and casts, parse function is generic now by @turbolent in #2270
- Automate the release process by @SupunS in #2239
- Make compatibility checker workflow work with old tags by @SupunS in #2288
- Improve version bump command by @SupunS in #2314
π Bug Fixes
- Revert "don't ignore invalid identifier" / PR by @turbolent in #2218
- Ensure SetProgram is called after GetProgram, even if there is an error by @turbolent in #2245
- Fix loop variables being captured in closures by @dreamsmasher in #2255
- Re-merge #2302, Fix docstring parsing for functions by @turbolent in #2313
- Retain docstrings for special function declarations, remove unnecessary return type annotations by @turbolent in #2303
- Handle cyclic imports in analyzer tool by @SupunS in #2315
π Documentation
- Add documentation for contracts.borrow by @dsainati1 in #2216
- Remove old diagrams by @turbolent in #2246
- Fix Capability example in JSON-Cadence Data Interchange Format specs by @fxamacker in #2207
- Add documentation on the release process by @SupunS in #2253
- Update docs to reflect Account inbox live after MN21 spork by @j1010001 in #2265
- Updates to Cadence guidance for Solidity developers by @franklywatson in #2263
- Fix: typos by @omahs in #2297
Other Changes
- Bump version by @SupunS in #2214
- Refactor the existing issue templates to forms by @turbolent in #2229
- Remove copyright years from file headers, update years in NOTICE by @turbolent in #2258
- Downgrade benchstat version to bring back html output by @SupunS in #2274
- Clear warnings by removing unnecessary type arguments in tests by @dreamsmasher in #2277
- Fix confusion of return type of checker's visitExpression methods by @SupunS in #2269
- add dreamsmasher to issue assignees, codeowners for automatic reviewer requests by @dreamsmasher in #2312
- Bypass go-proxy to always pick the latest commit by @SupunS in #2316
New Contributors
- @franklywatson made their first contribution in #2263
- @omahs made their first contribution in #2297
Full Changelog: v0.31.1...v0.33.0
v0.31.3
What's Changed
π Bug Fixes
- Ensure SetProgram is called after GetProgram, even if there is an error by @turbolent in #2241
Full Changelog: v0.31.2...v0.31.3
v0.31.2
What's Changed
π Bug Fixes
- Revert "don't ignore invalid identifier" / PR by @turbolent in #2218
Full Changelog: v0.31.1...v0.31.2
v0.31.1
What's Changed
π Improvements
π Bug Fixes
- Fix function activations by @turbolent in #2213
π Documentation
- Correct definition of block view by @jordanschalm in #2205
New Contributors
- @jordanschalm made their first contribution in #2205
Full Changelog: v0.31.0...v0.31.1
v0.31.0
What's Changed
π Improvements
- Adds some suggestions/improvements to sema error messages by @dsainati1 in #2190
- Skip broken values during storage iteration by @SupunS in #2202
Other Changes
- Improve field alignment by @turbolent in #2186
- Add update tool by @turbolent in #2198
- Add test case for publishing and claiming private account capability by @turbolent in #2195
Full Changelog: v0.30.0...v0.31.0
v0.30.0
What's Changed
β Features
- Improve JSON encoding test cases, add REPL command for exporting by @turbolent in #2107
- Add static and native modifiers for fields and functions by @turbolent in #2119
- Implement FLIP 1071: borrow contract by @bluesign in #1934
- Allow embedders to reuse interpreter shared state by @turbolent in #2100
π Improvements
- Improve interpreter config by @turbolent in #2097
- Allow export of function values by @turbolent in #2052
- Improve JSON decoding error messages, add utility by @turbolent in #2104
- Improve common supertype calculation by @SupunS in #2103
- Fix "log" crashing the REPL by @dreamsmasher in #2109
- Type fixes and improvements by @turbolent in #2135
- Improve error messages for values/types that cannot be imported or exported by @turbolent in #2138
- Meter big int allocations in parser, improve over-estimation by @turbolent in #2110
- Improve parameter AST node by @turbolent in #2143
- Address some tech debt by @turbolent in #2155
- Improve reference static type by @turbolent in #2156
- Improve type mismatch errors by @turbolent in #2161
- Improve sema by @turbolent in #2166
- Optimize sema by @turbolent in #2162
- Use invocation's interpreter by @turbolent in #2159
- improve ConformanceError error message by @dsainati1 in #2172
- Suggest lexically closest member in cases of NotDeclaredMemberError by @dsainati1 in #2173
- Add support for nested pragma declarations by @turbolent in #2169
- Initialize the Crypto contract lazily by @turbolent in #2183
- Pretty print interpreter errors by @dsainati1 in #2185
- Fix whitespace parsing between expressions by @turbolent in #2115
- Improve allocations in checker by @turbolent in #2127
- Add positions to numerical runtime errors by @dsainati1 in #2174
- Optimize elaboration by @turbolent in #2178
- Avoid unnecessary slice allocations by @turbolent in #2191
π Bug Fixes
- Fix self declaration by @turbolent in #2108
- Report invalid identifier preceding a member or nested declaration by @turbolent in #2134
- Fix parsing of array and dictionary expressions by @turbolent in #2136
π Documentation
- rename why-cadence.md to why.md to fix broken link by @j1010001 in #2102
- Add documentation for String.fromUTF8, numeric types' fromString by @dreamsmasher in #2105
- Note in docs that inbox api is not yet released on mainnet by @dsainati1 in #2123
- Fix documentation by @turbolent in #2122
- Remove outdated callout from the testing-framework docs by @SupunS in #2132
- Update flow-docs.json by @bthaile in #2133
- Add meeting notes for interface inheritance meeting by @SupunS in #2144
- Update design-patterns.mdx by @gregsantos in #2146
- Add link to style guide by @bthaile in #2149
- Fix links in documentation by @turbolent in #2142
Other Changes
- Add JSON language annotations to expected JSON encodings in AST tests by @turbolent in #2118
- Move test framework tests to Cadence by @turbolent in #2129
- Update CI jobs by @turbolent in #2128
- Lint JSON files by @turbolent in #2139
- Clean up metering by @turbolent in #2152
- Report unkeyed composite literals by @turbolent in #2184
New Contributors
- @bthaile made their first contribution in #2133
- @gregsantos made their first contribution in #2146
Full Changelog: v0.29.0...v0.30.0
v0.29.0
What's Changed
β Features
- Publish and Claim: Inbox API for Capability Bootstrapping by @dsainati1 in #1983
- Allow for-loops over strings by @turbolent in #2080
- Add
String.fromCharacters
by @turbolent in #2083
π Improvements
- Directly transfer published values by @dsainati1 in #2042
- Simplify parser by @dreamsmasher in #2064
- Re-use interpreter for value decoding in test-framework by @SupunS in #2074
- Use Value.Clone instead of custom deep copy function by @turbolent in #2058
- Improve interpreter storage by @turbolent in #2072
- Improve type inference for case expressions in switch statement by @SupunS in #2079
- refactor AccountKeysCount to expect an error too by @dreamsmasher in #2093
- Make the interpreter globals map allocation lazy by @turbolent in #2065
- Improve block comment parsing by @turbolent in #2068
- Optimize resource tracking by @turbolent in #2073
π Bug Fixes
- Fix account inbox implementation by @turbolent in #2053
π Documentation
- Update design pattern documentation to refer to the new Capability Bootstrapping API by @dsainati1 in #2035
- Fixes dead link in unsaferandom documentation by @justjoolz in #2047
- cleanup docs-tutorial06 by @AmarildoGrembi in #2071
- Document setup() and tearDown() functions in test-framework by @SupunS in #2043
- Add "why Cadence" section to Cadence docs by @j1010001 in #2039
- Update flow-docs.json to include "why cadence" section. by @10thfloor in #2040
- Adds link to Playground on Cadence homepage by @10thfloor in #2078
π₯ Breaking Changes
- Add key iteration, count methods to AccountKeyProvider interface by @dreamsmasher in #2038
(This change does not affect Cadence programs, only embedders, like FVM)
Other Changes
- Lint with gofmt 1.19, upgrade to go 1.19 by @dreamsmasher in #2041
- Improve CI by @turbolent in #2055
- Parallelize more tests, use checker errors helper by @turbolent in #2087
New Contributors
- @justjoolz made their first contribution in #2047
- @AmarildoGrembi made their first contribution in #2071
- @j1010001 made their first contribution in #2039
Full Changelog: v0.28.0...v0.29.0
v0.29.0-stable-cadence
This is a preview release of Stable Cadence.
Read all about this release in the forum announcement.
What's Changed
π₯ Breaking Changes
- Remove deprecated key management API by @turbolent in #1842
- Fix ToBigEndianBytes implementations for U?Int(128|256) by @dreamsmasher in #1917
- Prevent keywords from being used as identifiers (redux) by @dreamsmasher in #1937
- Add machinery for parsing and checking
view
functions by @dsainati1 in #1818 - View Enforcement by @dsainati1 in #1870
- Enforce
view
in function conditions by @dsainati1 in #1871 - Improve reference expressions by @turbolent in #2010
- Take argument labels into account when declaring members for nested declarations by @turbolent in #2013
- Improve resource tracking for optional binding by @turbolent in #2044
- Detect invalidated references statically by @SupunS in #2037
- Invalidate resource references when the referenced resource is moved by @SupunS in #1999
π Improvements
- Prevent keywords from being used as names in function declarations by @dreamsmasher in #2067
- Add invalidation info to the invalid reference usage error by @SupunS in #2096
Full Changelog: v0.29.0...v0.29.0-stable-cadence
v0.28.0
What's Changed
β Features
- Add fromString method on numeric types by @dreamsmasher in #1982
π Improvements
- Improve resource tracking by @turbolent in #2033
- Catch interpreter panics in REPL by @dreamsmasher in #2028
- Improve REPL by @turbolent in #2021
- Introduce and use singleton for Void value by @turbolent in #2029
- Introduce and use singletons for bool values by @turbolent in #2030
- Introduce and use singleton value for nil by @turbolent in #2031
- Optimize location range by @turbolent in #2036
- Check errors' potential secondary message and error notes by @turbolent in #2034
π Documentation
- Update 06-fungible-tokens.mdx by @MrDSGC in #2020
- Fix composite types documentation by @turbolent in #2025
Full Changelog: v0.27.1...v0.28.0
v0.27.1
What's Changed
β Features
- Add key iteration method on dictionaries by @dreamsmasher in #1992
- Make Void values constructible by @dreamsmasher in #2004
π Improvements
- Improve parser function naming, remove dead code by @turbolent in #2016
π Bug Fixes
- Fix accounts not being returnable from scripts by @dsainati1 in #2022
π Documentation
- Add language clarifying the type parameter's type in the private and public path iteration functions by @dsainati1 in #2012
Other Changes
- Remove npm-packages for the languageserver and docgen tool by @SupunS in #2002
- Make argument names in test-stdlib compatible with stable cadence by @SupunS in #2015
Full Changelog: v0.27.0...v0.27.1