This release contains a lot of improvements to the language server, which improve the development experience in the Visual Studio Code extension, and will also soon be integrated into the Flow Playground.
⭐ Features
-
Added member completion to the language server (#257)
-
Enabled running the language server in the browser by compiling it to WebAssembly (#242)
-
Added support for pragmas to the parser (#239)
-
Started a source compatibility suite (#226, #270).
Cadence will be regularly checked for compatibility with existing code to ensure it does not regress in source compatibility and performance. As a start, the Fungible Token standard and Non-Fungible Token standard repositories are checked.
Consider requesting your repository to be included in the compatibility suite!
-
Added a simple minifier (#252)
🛠 Improvements
- Made embedding the language server easier (#274, #262)
- Extended the JSON serialization for Cadence values and types (#260, #264, #265, #266, #271, #273)
- Improved conformance checking (#245). Made return types covariant, i.e. allow subtypes for return types of functions to satisfy interface conformance.
💥 Breaking Changes
- Made strings immutable (#269)
- Moved the Visual Studio Code extension to a new repository: https://github.com/onflow/vscode-flow (#244)
- Added a magic prefix to stored data (#236).
This allows versioning the data. Existing data without a prefix is migrated automatically - Changed the order in which fields in values and types are exported to declaration order (#272)
🐞 Bug Fixes
- Removed the service account from the list of usable accounts in the language server (#261)
- Fixed a parsing ambiguity for return types (#267)
- Fixed non-composite reference subtyping (#253)
🧰 Maintenance
- Removed the old parser (#249)