What's Changed
⭐ Features
- Add utility function
ccf.HasMsgPrefixby @fxamacker in #2609 - Introduce
Character.utf8by @darkdrag00nv2 in #2617 - Provide suggested fixes for argument label errors by @turbolent in #2619
- Suggest optional chaining by @turbolent in #2625
- Introduce
reversein Fixed/Variable sized Array type by @darkdrag00nv2 in #2654
🛠 Improvements
- Improve update tool config by @turbolent in #2601
- Update integration tests for built-in
Cryptocontract by @m-Peter in #2615 - Use atree orderd map's
Hasfunction 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,LocationRangefields forAssertionErroronTest.expectfunction 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