Skip to content

v2.9.1

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Nov 00:05
· 27 commits to main since this release
aba4f60

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.9.1!
This release includes several new developments and fixes.

  • Interface changes

    • Allow ignoring Cairo version checks - Version requirements defined in cairo-version fields in package manifests can be ignored with new --ignore-cairo-version flag.
    • Add redeposit gas flag - Compiler config now includes add_redeposit_gas flag.
  • Compilation model changes

    • Component dependencies in Scarb metadata - Scarb metadata includes information about dependencies of each component in a compilation unit.
    • Integration tests features - Integration tests should be compiled with the same feature set, as the main package.
    • Disallow imports by target name in integration tests - Integration tests cannot rely on test target name to reference self in imports and should use use crate::(...) instead.
  • Warnings and diagnostics

    • Edition unset warnings - Warnings are emitted for all loaded packages with no edition set in package manifest.
    • Warnings from dependencies silenced when building tests - Warnings originating in package dependencies are silenced when building package tests.
  • Bug fixes

    • Fix registry client cache file - Simultaneous access to a registry client cache file could result in interrupted downloads due to a race condition, fixed with advisory lock.
  • Procedural macros changes

    • Packaging procedural macros - Packages implementing procedural macros (with [cairo-plugin] target) can now be packaged with scarb package and published with scarb publish.
    • Inline procedural macro arguments - Inline procedural macros defined with Scarb do not get function name as part of the arguments token stream - only the associated arguments list (with delimiters).
    • Fix check command for procedural macros - Scarb check now properly builds all procedural macros required by the package.
  • New Scarb doc features

    • Reexported modules documentation support - Documentation generated with scarb doc now includes docs of modules reexported from the package.
    • Cross item linkeage support - Generated project documentation now resolves item references with [some::cairo::path] syntax, as clickable links.
    • Struct members signature - Documentation of structs, generated with scarb doc now includes struct's members signatures.
    • Diagnostics when generating documentation - If generating documentation of a package fails due to invalid Cairo code, Scarb should exit gracefully while showing compiler diagnostics instead of panicking.
    • Hiding docs of impls of hidden traits - Impls of traits hidden with doc(hidden) attributes are skipped when generating documentation with scarb doc.
    • Corelib documentation on Scarb website - Cairo core library documentation is now automatically published on Scarb documentation website with every release.

Cairo Version

This version of Scarb comes with Cairo v2.9.1.

What's Changed

New Contributors

Full Changelog: v2.8.0...v2.9.1