Releases: onflow/cadence
Releases Β· onflow/cadence
v0.39.16
What's Changed
π Bug Fixes
- Fix swapping in resource array by @turbolent in #2841
- Fix swap statement evaluation by @turbolent in #2842
- Prevent re-deploy in same transaction by @turbolent in #2843
Full Changelog: v0.39.15...v0.39.16
v1.0.0-preview.1
What's Changed
π₯ Language Breaking Changes
- Change member access semantics by @SupunS in #2573
- Add builtin entitlements to array/dictionary functions by @SupunS in #2598
- Allow external mutation for owned values by @SupunS in #2599
- Make indexing assignment entitled by @SupunS in #2664
- Allow default functions to co-exist with conditions in interface conformance by @SupunS in #2697
- Remove linking based capability API and associated code by @turbolent in #2595
- Add external mutability improvements by @SupunS in #2718
- Remove type requirements by @dsainati1 in #2670
- sort entitlement sets alphabetically when generating strings by @dsainati1 in #2754
- Account type by @turbolent in #2648
- Improve and fix static types and their ID and string functions by @turbolent in #2756
- Add view annotations to newly added array functions by @dsainati1 in #2771
π₯ Go API Breaking Chance
- Update randomness runtime interface method by @tarakby in #2706
- Add the
NewEmulatorBackend
method onTestFramework
interface by @m-Peter in #2744
β Features
- Introduce built-in mutability entitlements by @SupunS in #2586
- Allow entitlement mappings to be used in container-typed composite-fields by @SupunS in #2587
- Add identity entitlement mapping by @SupunS in #2588
- Return a reference with all entitlements, when access through owned values by @SupunS in #2637
- Introduce
filter
in Fixed/Variable sized Array types by @darkdrag00nv2 in #2678 - Allow declaration of events in interfaces by @dsainati1 in #2662
- Add a utility method to the
Test.Blockchain
struct for moving the blockchain time by @m-Peter in #2729 - Add capability field to capabilitity controllers by @turbolent in #2724
- Introduce
map
in Fixed/Variable sized Array types by @darkdrag00nv2 in #2737 - Composition of entitlement mappings by @dsainati1 in #2743
- Allow use of type code generator in any package, refactor RLP and BLS contracts by @turbolent in #2753
- Add functions on testing framework's blockchain to create/load snapshots by @m-Peter in #2763
π Improvements
- Temporarily remove deprecations for existing capability API by @m-Peter in #2673
- Cleanup by @turbolent in #2692
- Improve view annotations for account type functions by @turbolent in #2699
- Cadence testing framework improvements by @m-Peter in #2696
- Clean up capability value by @turbolent in #2727
- Add purity/view annotations by @turbolent in #2728
- Entitlements error improvements by @dsainati1 in #2730
- Allow
moveTime
function to accept negative time deltas for going backwards in time by @m-Peter in #2734 - Give
CompositeTypeHandler
higher precedence overgetUserCompositeType
by @m-Peter in #2717 - Improve REPL by @turbolent in #2731
- add suggestions for missing entitlements in access errors by @dsainati1 in #2736
- Improve error message for overloaded declaration by @PratikDhanave in #2738
- Improve composite and interface static types by @turbolent in #2751
- Avoid unnecessary static to sema type conversions for
Type
by @turbolent in #2750 - Make CodesAndPrograms public by @janezpodhostnik in #2746
- update account type mappings to include identity by @dsainati1 in #2761
- Add entitlement CopyValue and require it for Account.Storage.copyValue by @turbolent in #2765
- Better error messages for use of old restricted types by @dsainati1 in #2764
- Suggested fixes for
pub
andpriv
parser errors by @dsainati1 in #2767 - Improve capability API by @turbolent in #2772
π Bug Fixes
- Wrap host env errors with external errors by @SupunS in #2683
- Fix interface member inheritance by @dsainati1 in #2686
- Fix storage iteration and error misclassification by @SupunS in #2676
- Fix error on reference creation with invalid type by @SupunS in #2687
- Invalidate references to nested resources upon the move of the outer resource by @SupunS in #2460
- Hex encode user input in error to avoid invalid UTF-8 by @fxamacker in #2704
- Use thread safe data structures for entitlement maps by @dsainati1 in #2716
- Properly meter the creation of entitlement static types by @dsainati1 in #2723
π Documentation
- Add meeting notes for 2023-08-15 by @turbolent in #2740
Other Changes
- Sync mutability restrictions branch with stable-cadence by @SupunS in #2600
- Rename mutability entitlements by @SupunS in #2690
- Update to Go 1.20, improve random value generation by @turbolent in #2694
- Merge
release/v0.40.0
tomaster
by @github-actions in #2695 - Update storage iteration value check and related tests by @SupunS in #2702
- Sync Stable Cadence branch with master by @turbolent in #2701
- Update mutability restrictions feature branch by @turbolent in #2714
- Add test for borrowing as inherited interface by @SupunS in #2722
- Add test for attachment on built-in composite by @turbolent in #2732
- Add test for inner container mutation while iterating outer by @SupunS in #2733
- Add
cadence-tools/test
as a dependency to the language server by @SupunS in #2742 - Sync Stable Cadence feature branch by @turbolent in #2755
- Clean up intersection types by @turbolent in #2757
- Add tests for invalidation of references created with index/field-access by @SupunS in #2758
- Merge
master
into Stable Cadence by @dsainati1 in #2770
New Contributors
- @PratikDhanave made their first contribution in #2738
Full Changelog: v0.41.0-stable-cadence.1...v1.0.0-preview.1
v0.41.1
What's Changed
β Features
- Introduce
String.join
function by @darkdrag00nv2 in #2762
π Bug Fixes
- Port internal #143 by @turbolent in #2793
Full Changelog: v0.41.0...v0.41.1
v0.39.15
What's Changed
π Bug Fixes
- Port internal #143 by @turbolent in #2792
Full Changelog: v0.39.14...v0.39.15
v0.41.0
What's Changed
π₯ Go API Breaking Chance
- Update randomness runtime interface method by @tarakby in #2706
- Add the
NewEmulatorBackend
method onTestFramework
interface by @m-Peter in #2744
β Features
- Introduce
filter
in Fixed/Variable sized Array types by @darkdrag00nv2 in #2678 - Add a utility method to the
Test.Blockchain
struct for moving the blockchain time by @m-Peter in #2729 - Add capability field to capabilitity controllers by @turbolent in #2724
- Introduce
map
in Fixed/Variable sized Array types by @darkdrag00nv2 in #2737 - Add functions on testing framework's blockchain to create/load snapshots by @m-Peter in #2763
π Improvements
- Cadence testing framework improvements by @m-Peter in #2696
- Allow
moveTime
function to accept negative time deltas for going backwards in time by @m-Peter in #2734 - Give
CompositeTypeHandler
higher precedence overgetUserCompositeType
by @m-Peter in #2717 - Improve error message for overloaded declaration by @PratikDhanave in #2738
- Improve composite and interface static types by @turbolent in #2751
- Avoid unnecessary static to sema type conversions for
Type
by @turbolent in #2750 - Make CodesAndPrograms public by @janezpodhostnik in #2746
π Bug Fixes
- Hex encode user input in error to avoid invalid UTF-8 by @fxamacker in #2704
- Fix doc (pretty printing) for function declaration without function block by @turbolent in #2774
π§ͺ Testing
- Add test for attachment on built-in composite by @turbolent in #2732
- Add test for inner container mutation while iterating outer by @SupunS in #2733
π Documentation
- Add meeting notes for 2023-08-15 by @turbolent in #2740
- Add notes for 2023-09-12 meeting by @turbolent in #2780
Other Changes
- Update to Go 1.20, improve random value generation by @turbolent in #2694
- Merge
release/v0.40.0
tomaster
by @github-actions in #2695 - Add
cadence-tools/test
as a dependency to the language server by @SupunS in #2742
New Contributors
- @PratikDhanave made their first contribution in #2738
Full Changelog: v0.40.0...v0.41.0
v0.41.0-stable-cadence.1
What's Changed
π₯ Language Breaking Changes
- Entitlements
- Parsing for Entitlements by @dsainati1 in #2363
- Type checking for entitlement and entitlement mapping declarations by @dsainati1 in #2441
- Type checking for authorized references by @dsainati1 in #2405
- Runtime behavior for entitlements by @dsainati1 in #2421
- Type checking for entitlement and entitlement mapping declarations by @dsainati1 in #2404
- Reference invalidation
- Remove Restricted Type from Cadence by @dsainati1 in #2596
- Remove
pub
,priv
andpub(set)
access modifiers by @dsainati1 in #2540 - View functions:
- 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
- Add machinery for parsing and checking
- Remove deprecated key management API by @turbolent in #1842
- Fix ToBigEndianBytes implementations for U?Int(128|256) by @dreamsmasher in #1917
- 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
- Improve the definite return analysis by @turbolent in #2090
- Change for-loop variables from per-loop to per-iteration by @turbolent in #2024
- Reject cyclic imports during contract deployment by @SupunS in #2308
- Parser/syntax changes:
- Prevent keywords from being used as identifiers (redux) by @dreamsmasher in #1937
- Prevent keywords from being used as names in function declarations by @dreamsmasher in #2067
- Function type syntax change by @dreamsmasher in #2140
- Report preceding identifier in member declaration by @turbolent in #2231
β Features
- Add interface inheritance by @SupunS in #2112
- Attachment Iteration by @dsainati1 in #2440
- Convert generic container types on upcast by @dsainati1 in #2567
- Allow emit statements in conditions by @turbolent in #2589
π Improvements
- Add invalidation info to the invalid reference usage error by @SupunS in #2096
- Improve view modifier parsing and printing by @turbolent in #2117
- Make view a soft keyword by @dreamsmasher in #2121
- Add more purity annotations to built-in and standard library function types by @turbolent in #2125
- Export all keywords by @turbolent in #2131
- Add mapping function for types by @dsainati1 in #2425
- Improve formatting of access modifiers by @turbolent in #2597
- Improve cyclic import handling by @SupunS in #2632
π Bug Fixes
- Fix test matcher by @turbolent in #2130
- Update Stable Cadence branch, fix view function expression parsing by @turbolent in #2141
- Transaction pre-conditions must also be
view
by @dsainati1 in #2171 - fix view parsing for expressions by @dreamsmasher in #2164
- Add attachment keywords to keyword lists by @dsainati1 in #2499
- Fix crash on entitlement mappings with empty outputs by @dsainati1 in #2592
- Make more
AuthAccount
functionsview
by @dsainati1 in #2666 - Fix entitlement memory metering by @SupunS in #2668
- Fix interface inheritance for nested interfaces by @dsainati1 in #2674
- Update reference invalidation check to consider optional resources by @SupunS in #2680
Other Changes
- Refactor reference tests by @SupunS in #2086
- Clean up function types and type annotations by @turbolent in #2126
- Optimize keyword testing by @turbolent in #2295
- backport #2302 to stable cadence (fix docstring parsing after functions) by @dreamsmasher in #2329
- Add tests for entitlement inheritance between interfaces by @dsainati1 in #2564
- Add cyclic imports tests by @SupunS in #2629
Full Changelog: v0.40.0...v0.41.0-stable-cadence.1
v0.40.0
What's Changed
β Features
- Add utility function
ccf.HasMsgPrefix
by @fxamacker in #2609 - Introduce
Character.utf8
by @darkdrag00nv2 in #2617 - Provide suggested fixes for argument label errors by @turbolent in #2619
- Suggest optional chaining by @turbolent in #2625
- Introduce
reverse
in Fixed/Variable sized Array type by @darkdrag00nv2 in #2654
π Improvements
- Improve update tool config by @turbolent in #2601
- Update integration tests for built-in
Crypto
contract by @m-Peter in #2615 - Use atree orderd map's
Has
function to test for existence by @turbolent in #2618 - Delegate Cadence composite
Storable()
to Atree by @fxamacker in #2621 - Delegate storage address to Atree by @fxamacker in #2622
- Cleanup by @turbolent in #2692
- Temporarily remove deprecations for existing capability API by @m-Peter in #2673
π Bug Fixes
- Populate
Message
,LocationRange
fields forAssertionError
onTest.expect
function by @m-Peter in #2607 - Fix data race in sema/type_test.go by @fxamacker in #2624
- Fix potential data races by @turbolent in #2633
- Add support for max parameter count (internal #128) by @SupunS in #2656
- Remove spurious resource loss errors (internal #130) by @SupunS in #2657
- Fix checking of reference expressions involving optionals (internal #129) by @SupunS in #2658
- Prevent recursive transfers (internal #133) by @SupunS in #2659
- Handle destroyed optional references by @SupunS in #2661
- Fix positioning of default function conflict errors by @dsainati1 in #2665
- Wrap host env errors with external errors by @SupunS in #2683
- Fix storage iteration and error misclassification by @SupunS in #2676
- Fix error on reference creation with invalid type by @SupunS in #2687
Other Changes
- Add support for forks to compatibility check by @turbolent in #2612
- Set permissions in backward compatibility check by @turbolent in #2613
- Don't skip benchmark for forks by @turbolent in #2616
- Add mailmap by @turbolent in #2628
- Use diff command to generate diff by @turbolent in #2636
Full Changelog: v0.39.14...v0.40.0
v0.39.14
What's Changed
π Bug Fixes
- Fix resource tracking by @turbolent in #2568
- [v0.39] Add support for max parameter count (internal #128) by @SupunS in #2650
- [v0.39] Remove spurious resource loss errors (internal #130) by @SupunS in #2651
- [v0.39] Fix checking of reference expressions involving optionals (internal #129) by @SupunS in #2652
- [v0.39] Prevent recursive transfers (internal #133) by @SupunS in #2653
Other Changes
- Add tests for resource tracking in bound function invocations by @SupunS in #2569
- Merge
release/v0.39.12
tomaster
by @github-actions in #2591
Full Changelog: v0.39.12...v0.39.14
v0.39.13-stable cadence
This is a preview release of Stable Cadence.
Read all about this release in the forum announcement (link forthcoming).
What's Changed
π₯ Language Breaking Changes
- Entitlements
- Remove
pub
,priv
andpub(set)
access modifiers by @dsainati1 in #2540
β Features
- Add interface inheritance by @SupunS in #2112
- Attachment Iteration by @dsainati1 in #2440
v0.39.12
What's Changed
π Bug Fixes
- Port internal fix 126 by @turbolent in #2590
Full Changelog: v0.39.11...v0.39.12