Welcome to the release notes for Scarb v2.11.0!
This release brings several new developments and bug fixes.
Bug fixes included in this release:
- The
debug_info
field is omitted during size calculation for contract size warnings. - Warnings are no longer duplicated when compiling contracts for tests.
- Compiler config collection is fixed with regard to
[profile.name.cairo]
and[cairo]
precedence. See[cairo]
section docs for more information. - Contract compilation no longer reports contract names duplicates erroneously, when compiling a package with contract re-exports.
- And more!
Per-crate compiler plugins
Since this release, Cairo compiler plugins apply changes only to packages in a compilation unit that depend on them directly. In contrast to previous releases, plugins are no longer applied to all packages in the compilation unit. This change applies to both built-in compiler plugins and procedural macro packages.
Scarb metadata exposes information about dependency on compiler plugins in dependencies
field of CompilationUnitComponentMetadata
. The plugins are still listed in cairo_plugins
field of CompilationUnitMetadata
.
A Cairo package can re-export a procedural macro from it's dependencies by adding re-export-cairo-plugins = ["dependency_name"]
key to it's [package]
section of the toml manifest.
Cairo Version
This version of Scarb comes with Cairo v2.11.0
.
What's Changed
- Implement per-crate plugin collection by @integraledelebesgue in #1920
- Add helpers to obtain
CrateId
of theCompilationUnit
by @integraledelebesgue in #1970 - Update cairo after 2.10.0 merge by @maciektr in #1995
- Update README roadmap by @maciektr in #2005
- Fix clippy lints after rust update by @maciektr in #2002
- Introduce per-crate plugins to the compilation model by @integraledelebesgue in #1913
- Respect per-crate plugins in Proc Macro Server by @integraledelebesgue in #1921
- Bump the non-critical group with 3 updates by @dependabot in #2010
- fix nightly by @maciektr in #2012
- Deduplicate external contracts by full path by @maciektr in #2001
- Fix npm build by @maciektr in #1991
- Prepare
scarb-proc-macro-server-types
release0.2.0
by @maciektr in #2015 - Update cairo-toolchain-xtasks by @maciektr in #2020
- Prepare
scarb-metadata
release1.14.0
by @maciektr in #2014 - Cairo plugin reexports by @maciektr in #2000
- Fix cairo-test dep missing warning by @maciektr in #1993
- Skip plugin dependencies in
scarb-doc
by @integraledelebesgue in #2033 - add starkup installation method by @DelevoXDG in #2030
- Update test ProjectBuilder default Cairo edition to 2024_07 by @maciektr in #2025
- Ignore
debug_info
when emitting file size warnings for contracts compilation by @DelevoXDG in #2029 - Add test for test target contract compilation with error / warnings by @maciektr in #2027
- Do not report warnings second time, when compiling test target contracts by @maciektr in #2028
- Bump foundry-rs/setup-snfoundry from 3 to 4 by @dependabot in #2034
- Update deps by @maciektr in #2039
- Add link to lint docs by @wawel37 in #2040
- Add docs for execute, prove and verify, update docs by @maciektr in #2036
- Fix compiler config collection with profiles by @maciektr in #2041
- Prepare release
2.11
by @maciektr in #2044
Full Changelog: v2.10.1...v2.11.0