Welcome to the release notes for Scarb v0.1.0! To commemorate that, Cairo 1.0 is reaching Starknet Mainnet tomorrow, on Wednesday 26th March, we are happy to finally drop the prerelease tag from Scarb 🚀 In comparison with Scarb 0.1.0-rc.2, this release brings one new feature:
- Scripts - Packages can now define custom, cross-platform commands aiding in development.
Scripts
This feature should feel familiar to anyone who ever worked in JavaScript ecosystem. Since the popular Cairo 1.0 project template uses make
for defining custom tasks, many projects started doing so. By introducing scripts, we hope to remove one extra dependency users need to have installed on their machines in order to work on Cairo 1.0 projects, and thus, make progress towards our goal of making Scarb the only software you have to install on your machine in order to write Cairo!
To get started, define your scripts in your codebase's Scarb.toml
file under a [scripts]
section:
[scripts]
foo = "echo 'Hello, world!'"
You can now run the foo
script using the new scarb run
command:
scarb run foo
Under the hood, we use deno_task_shell
, which solves a big pain point of NPM scripts: Scarb scripts are cross-platform, and the same commands will run on Linux, macOS and Windows (no need for rimraf
, rm
just works).
See the guide and reference pages in Scarb documentation for more information.
What's next?
We are already working on Scarb 0.2. The main highlights of this release will be profiles (aka debug, release and custom ones) and first steps towards enabling packages to declare dependencies on Cairo compiler plugins. All of these are steps towards making Scarb integrate well with Protostar and other ecosystem tools.
As always, we keep our roadmap public here. Recently, it has undergone quite a sizeable refinement, and we hope you will like what we are cooking for Scarb!
Cairo version
This version of Scarb comes with Cairo v0.1.0-alpha.6
.
Pull requests
- Update
gix
by @mkaput in #199 - Update
directories
by @mkaput in #200 - Update
assert_fs
andpredicates
by @mkaput in #197 - Migrate from Smol to Tokio by @maciektr in #176
- Minor docs improvements by @mkaput in #202
- Use SmolStr for tools manifest by @maciektr in #203
- Add scripts runner by @maciektr in #164
- Scarb branding by @mkaput in #204
- Write MAINTAINING.md by @mkaput in #210
- Add scripts docs by @maciektr in #209
- Bump toml_edit from 0.19.7 to 0.19.8 by @dependabot in #216
- Bump predicates from 3.0.1 to 3.0.2 by @dependabot in #217
- Bump async-trait from 0.1.67 to 0.1.68 by @dependabot in #218
- Prepare release
0.1.0
by @mkaput in #220
Full Changelog: v0.1.0-rc.2...v0.1.0