Skip to content

Releases: software-mansion/scarb

v2.15.2

12 Feb 09:50
cae865d

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.15.2!

This version brings an important fix for derive proc macros being ignored in some cases during the dispatch and some minor fixes.

Cairo Version

This version of Scarb comes with Cairo v2.15.0.

Full Changelog: v2.15.0...v2.15.2

v2.15.1

13 Jan 17:08
e221b6a

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.15.1!

This release brings a fix to a bug that caused Scarb dependency resolver to pull transient dev dependencies for crates from the scarbs.xyz registry.

Cairo Version

This version of Scarb comes with Cairo v2.15.0.

Full Changelog: v2.15.0...v2.15.1

v2.15.0

19 Dec 18:13
56d7d30

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.15.0!

This release:

  • Promotes Scarb 2.15.0-rc.1 to stable release.

Cairo Version

This version of Scarb comes with Cairo v2.15.0.

Full Changelog: v2.15.0-rc.1...v2.15.0

v2.15.0-rc.1

18 Dec 20:19
015299a

Choose a tag to compare

v2.15.0-rc.1 Pre-release
Pre-release

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.15.0-rc.1!

This release upgrade Cairo version to v2.15.0-rc.1 release.

Cairo Version

This version of Scarb comes with Cairo v2.15.0-rc.1.

Full Changelog: v2.15.0-rc.0...v2.15.0-rc.1

v2.15.0-rc.0

17 Dec 08:59
3babaa0

Choose a tag to compare

v2.15.0-rc.0 Pre-release
Pre-release

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.15.0-rc.0!

  • The doc(hidden) attribute is now respected when creating a documentation of reexported items.
  • A new key add-functions-debug-info is added to the cairo section in Scarb manifest.
  • The unstable_* prefix is removed from keys in cairo section of Scarb manifest file, the keys with prefixes are kept as aliases.

Cairo Version

This version of Scarb comes with Cairo v2.15.0-rc.0.

What's Changed

Full Changelog: v2.14.0...v2.15.0-rc.0

v2.14.0

25 Nov 20:03
682b29e

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.14.0!

This release:

  • Promotes Scarb 2.14.0-rc.0 to stable release.
  • Changes the default project template created with scarb new. Note, that this change may breake compatibility with snforge new in older Starknet Foundry versions. In such cases, please upgrade Starknet Foundry to latest version, or create new projects with scarb new, choosing Starknet Foundry test runner.
  • Introduces better handling of visbility of reexported items in Scarb doc.

Cairo Version

This version of Scarb comes with Cairo v2.14.0.

What's Changed

Full Changelog: v2.14.0-rc.0...v2.14.0

v2.14.0-rc.0

20 Nov 22:57
255f382

Choose a tag to compare

v2.14.0-rc.0 Pre-release
Pre-release

Cairo release notes ➡️

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 with quote! macro. In such cases, you can use quote_format!, which accepts any Cairo syntax. It works similar to formatdoc! 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-optimizations option 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

Full Changelog: v2.13.1...v2.14.0-rc.0

v2.13.1

30 Oct 16:09
a76aed7

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.13.1!

Small change to our contacts: If you want to chat, but don't want to use our public Telegram channel (https://t.me/+1pMLtrNj5NthZWJk), you can chat with us privately on Telegram via @scarb_chat account (https://t.me/scarb_chat).

  • Package audits verification - Since scarbs.xyz registry supports uploading package audits, you can request Scarb to only download packages that has been audited. The information is based on the registry and audits for packages can be seen on "Security" tab in package view. The flag require-audits can be added to [workspace] definition. See docs for context.
  • Documenting declarative macro definitions - Scarb doc can now generate documentation for declarative macro definitions. Macro definition can be annotated with /// doc comments, similar to other items.
  • Generating workspace documentation - Since this release, if you run Scarb doc with --workspace flag, it will generate a single mdbook documentation for your whole workspace. Before, it would generate docs for each of the packages separately. This can be helpful, if you need to publish docs for whole workspace at once.
  • Module level inline macros support - Scarb inline procedural macros can now be used at top-level of a Cairo module, including at top level of Cairo file. This might be helpful, if you want your macro to generate some code, like function definitions. No changes to existing macros are required.
  • Defining default params for targets - The new target-defaults key in Scarb manifest can be used to declare default values for user-defined or auto-detected compilation targets, by kind. This is especially useful, if you need to define some key (e.g. build-external-contracts) for multiple targets of the same kind (e.g. all test targets). See docs here for more information.
  • Compiling executable targets to Sierra - Executable targets can be compiled to Sierra json format, by adding sierra = true in [executable] target definition props.
  • Macro fingerprint callback interface - Scarb procedural macros can define a callback, that will be called when deciding if incremental cache should be used. This is required to support incremental compilation if your macro is non-deterministic in regards to input token stream. See docs here for context.
  • Version resolver network access optimization - This version introduces optimized version resolution algorithm, that should avoid making unnecessary network requests, in cotexts like re-runing Scarb with pre-downloaded cache and up-to-date lockfile. This can be especially helpful when working with Scarb on unstable network connection.

Oracles support

This Scarb release includes stable implementation of Cairo oracles!

An oracle is an external process (like a script, binary, or web service) that exposes custom logic or data to a Cairo program at runtime.
You use it to perform tasks the Cairo VM can't, such as accessing real-world data or executing complex, non-provable computations.

Oracles can be used with Scarb execute or Starknet Foundry Forge.

Learn more by reading Oracles docs.

Assets

Scarb manifest can now declare additional project files, that should be treated as runtime assets of the package.
All assets declared by the current package and all of its transitive dependencies are copied into the workspace target directory at build time.
Assets also declare files as included for publishing.
This can be usefull, if you need to distribute additional files used at runtime with your Scarb package.

Learn more by reading assets docs.

Cairo-profiler integration with Scarb execute

This release allows you to use cairo-profiler to analyze runtime performance of Cairo code executed with scarb execute.
To use this feature, you need to generate profiler trace, by using --save-profiler-trace-data flag when executing your program.
See Cairo profiler project readme to learn more.

Cairo-run removal

This release removes the builtin Scarb cairo-run extension, which has been deprecated since Scarb v2.10.0.
Please use scarb execute instead.

Cairo-test deprecation

This release marks the builtin Scarb cairo-test extension as deprecated and bound to be removed in future release.
Please use Starknet Foundry instead.

Cairo Version

This version of Scarb comes with Cairo v2.13.1.

What's Changed

Read more

v2.12.2

15 Sep 13:57
v2.12.2
dc0dbfd

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.12.2!

The release introduces couple of fixes, improved cache handling, adds file embeddings support to scarb doc .

cache handling

Enhanced cache file handling by delaying creation until the cache is ready, securing file access with locks during reads, appending component names to cache traces, and ensuring cache fingerprint files are written after the cache itself.

scarb doc

Support mdbook file embedding syntax, updated mdbook features related documentation.

fixes

  • inline macro diagnostics
  • table formatting in scarb doc generated summary page.

Cairo Version

This version of Scarb comes with Cairo v2.12.2.

What's Changed

Full Changelog: v2.12.1...v2.12.2

v2.12.1

28 Aug 14:07
40d114d

Choose a tag to compare

Cairo release notes ➡️

Welcome to the release notes for Scarb v2.12.1!

This release brings several performance improvements and bugfixes.

Compiler plugins execution order change

Up to this release, all procedural macros has been expanded after all builtin compiler plugins.
From this release, procedural macros are expanded before all builtin compiler plugins, except for the cfg config plugin, which is run as the first.

Cairo Version

This version of Scarb comes with Cairo v2.12.1.

What's Changed

Full Changelog: v2.12.0...v2.12.1