Scarb 0.2.0
Welcome to the release notes for Scarb v0.2.0! This release brings several improvements coming from the recent iteration:
- Cairo 1.0.0
- macOS and Linux installer
cairo-version
field inScarb.toml
- Globs in scripts
Cairo 1.0.0
In preparation for the upcoming upgrades of Starknet, Cairo 1.0.0 has been released. This version of Scarb includes it now.
New installation flow for macOS and Linux
We have released the new install script-based method of installing Scarb on Unix-like platforms: macOS and Linux. Here's what you see on Scarb's website, when running these systems:

The download page also lists all downloadable files for current stable and preview releases. In the future, we also aim to publish these release notes directly on Scarb's website. What the installer does, its internals and our future plans have been outlined in detail in this Twitter thread.
cairo-version
field in Scarb.toml
The cairo-version
field is an optional key that tells Scarb what version of the Cairo compiler your package can be compiled with. If the currently selected version of the Cairo compiler is older than the stated version, Scarb will exit with an error. This field is analogous to Rust's rust-version
.
[package]
name = "example"
version = "1.0.0"
cairo-version = "1.0.0"
Updated deno_task_shell
to 0.12.0
Upgraded deno_task_shell
brings support for globs in Scarb scripts! This means you can now write in your Scarb.toml:
[scripts]
example = "cp test/* other"
scarb-metadata
deprecated code removal
The CompilationUnitMetadata.components_legacy
field has been removed in scarb-metadata v1.3.0
as significant time has passed since deprecation. In future Scarb release, we will proceed with renaming the current components
field underlying field components_data
back to components
.
Experimental: Linux MUSL builds
This release brings builds for two new platforms: x86_64-unknown-linux-musl
and aarch64-unknown-linux-musl
. These binaries have statically linked-in MUSL instead of Glibc, which theoretically makes them runnable on any Linux distributions running a reasonably modern kernel, such as Alpine or Nix OS. These builds are experimental and Scarb team is not serving support for them though, as we are unsure how MUSL will play with our plan for supporting compiler plugins as packages.
Cairo version
This version of Scarb comes with Cairo v1.0.0
.
What's Changed
- Compilation Model docs by @maciektr in #303
- Bump clap from 4.2.5 to 4.2.7 by @dependabot in #306
- Bump serde from 1.0.160 to 1.0.162 by @dependabot in #308
- Bump fs4 from 0.6.3 to 0.6.4 by @dependabot in #309
- Bump libc from 0.2.142 to 0.2.143 by @dependabot in #307
- Bump serde_test from 1.0.160 to 1.0.162 by @dependabot in #311
- Create Unix installer by @mkaput in #312
- Make install.sh not crash if
$SHELL
is not present by @mkaput in #316 - New download flow on the website by @mkaput in #315
- Make install.sh follow
XDG_DATA_HOME
by @mkaput in #317 - Update architecture docs by @maciektr in #305
- Bump tokio from 1.28.0 to 1.28.1 by @dependabot in #320
- Bump serde from 1.0.162 to 1.0.163 by @dependabot in #321
- Fix copy button for Unix install command on the frontpage by @mkaput in #319
- Bump serde_test from 1.0.162 to 1.0.163 by @dependabot in #323
- Bump libc from 0.2.143 to 0.2.144 by @dependabot in #322
- Update Cairo to 1.0.0 and deno_task_shell to 0.12.0 by @mkaput in #327
- Use Bash instead of Python in scripts tests by @mkaput in #328
- Fix download tables scrolling by @mkaput in #331
- Docs: Use Scarb installer in CI workflows example by @maciektr in #329
- Publish MUSL builds by @mkaput in #332
- Add cairo-version to Scarb.toml and comparing it with current cairo version by @4rgorok in #290
- Remove deprecated
CompilationUnitMetadata.components_legacy
by @mkaput in #333 - Bump zip from 0.6.4 to 0.6.6 by @dependabot in #335
Full Changelog: v0.2.0-alpha.2...v0.2.0