Welcome to the release notes for Scarb v2.14.0-rc.0!
This release includes several features and bugfixes.
- Unit artifacts fingerprints - We now fingerprint artifacts produces by Scarb. This means, that if you run Scarb a second time, without changing anything in your code or in the target directory, Scarb will skip the compilation saving your time!
- The new
quote_format!macro in procedural macro API - Some Cairo syntax may not play nicely withquote!macro. In such cases, you can usequote_format!, which accepts any Cairo syntax. It works similar toformatdoc!macro you may already know. - Option to skip all compiler optimizations - If you need to output raw Sierra, without any optimizations applied by the compiler, you may use the new
skip-optimizationsoption in the[cairo]section. Use with cauation! This makes sense only for some dev tooling you may need.
Cairo Version
This version of Scarb comes with Cairo v2.14.0-rc.0.
What's Changed
- Fix dispatch on tag by @wawel37 in #2799
- Fix Scarb builtin packages registry publish workflow after cairo-test deprecation by @maciektr in #2801
- Fix lints after Rust upgrade by @maciektr in #2803
- Bump Cairo by @maciektr in #2802
- Fix detecting test-windows label in CI by @maciektr in #2804
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #2808
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #2809
- Bump actions/setup-node from 5 to 6 by @dependabot[bot] in #2807
- Refactor enabled incremental context to inner struct by @maciektr in #2786
- Reorder help message by @maciektr in #2816
- Refactor: Split proc macro expand tests into multiple files by @maciektr in #2813
- Add tracing span to cargo metadata calls by @maciektr in #2822
- Update Cairo by @maciektr in #2825
- Create helper for checking env var truthiness by @maciektr in #2826
- Add
quote_format!macro with non-Rust Cairo syntax support by @DelevoXDG in #2806 - Make
workspace_manifestnon optional by @piotmag769 in #2833 - add optional .mdx files generation to scarb doc by @FroyaTheHen in #2811
- Fix attr proc macro args span to start at zero by @maciektr in #2814
- Fix test case for git source change by @maciektr in #2832
- docs: add breaking behavior config for formatting by @tserg in #2835
- Fix website formatting by @maciektr in #2838
- Implement unit artifacts fingferprint by @maciektr in #2787
- Fix tests on windows by @maciektr in #2839
- Allow disabling artifacts fingerprint with env var by @maciektr in #2827
- Deduplicate cargo metadata calls across the whole run by @maciektr in #2828
- Add test cases for unit artifacts fingerprints by @maciektr in #2829
- Rewrite procedural macro docs by @maciektr in #2815
- Add 2025 Q4 & 2026 Q1 Roadmap by @maciektr in #2818
- Prepare
cairo-lang-macrorelease0.2.2by @DelevoXDG in #2812 - Update deps by @maciektr in #2837
- Bump wasmtime from 37.0.2 to 37.0.3 by @dependabot[bot] in #2842
- Fix Cairo version in manifest reference by @maciektr in #2847
- Fix error message for compiler manifest in ws member toml by @piotmag769 in #2848
- Clean up logic related to profiles and compiler config by @piotmag769 in #2849
- check file paths in ExpectDir by @FroyaTheHen in #2851
- Allow to skip compiler optimizations by @piotmag769 in #2850
- generate mdx file content by @FroyaTheHen in #2843
- add support mdx for scarb doc --workspace by @FroyaTheHen in #2844
- pass file extension instead of setting global const by @FroyaTheHen in #2845
- common OutputEmit variant for md and mdx by @FroyaTheHen in #2846
- support exposed macro calls in doc by @FroyaTheHen in #2831
- Add rust toolchain info to proc macro docs by @maciektr in #2852
- Fix scarb build --target-kinds=test by @maciektr in #2855
- Prepare release
2.14.0-rc.0by @maciektr in #2859
Full Changelog: v2.13.1...v2.14.0-rc.0