github onflow/cadence v0.39.0

What's Changed

⭐ Features

Capability Controllers

FLIP 798: Capability controllers got implemented.

You can start migrating existing uses of the linking-based capability API to the new Capability Controller API. The linking-based capability API is now deprecated and will be removed in a future release.

Compact Cadence Format

A codec for the new Cadence Compact Format (CCF) got implemented,
a more efficient format for encoding Cadence values. It is an alternative to the current JSON-Cadence format, and will eventually replace it.

Standard Library

Thanks to a Developer Grant, new contributor @darkdrag00nv2 improved the standard library with many new features: 👏

Tooling

🛠 Improvements

🐞 Bug Fixes

  • Check for potential resource loss in reference expression by @turbolent in #2437
  • Fix built-in result variable for optional resource typed returns by @SupunS in #2444
  • Add validation for exporting references to destroyed resources by @SupunS in #2453
  • Fix and test sema to static type conversion by @turbolent in #2465
  • Fix race conditions in CCF tests caused by shared usage of types by @turbolent in #2467
  • Properly wrap nil in optionals depending on the nested optional type by @turbolent in #2469
  • Don't truncate error message stack early in case of multiline errors by @dsainati1 in #2486
  • Fix userPanicToError to handle wrapped user error. by @pattyshack in #2498

📖 Documentation

💥 Go API Breaking Chance

Other Changes

New Contributors

Full Changelog: v0.38.0...v0.39.0

Don't miss a new cadence release

NewReleases is sending notifications on new releases.