v2.4.0-rc0
Pre-releaseWarning
This version is not supported on Starknet! If you want to develop contracts deployable to current Starknet, please stick with Scarb v2.3.1
Editions
Since this release, Scarb supports defining Cairo compiler edition for a package. The editions allow newer Cairo compiler versions to introduce opt-in features that may break existing code.
The edition can be defined with edition
key in [package]
section in Scarb manifest.
[package]
name = "hello_world"
version = "1.0.0"
edition = "2023_10"
Setting the edition key in [package]
will affect all targets in the package, including test suites etc.
scarb update
Since the introduction of lockfiles, Scarb will not automatically update all dependencies on each run. The update of locked versions can be requested with the scarb update
command. This will perform project resolution ignoring the existing lockfile, then write out a new Scarb.lock
with the new version information. Note that the Scarb.toml
manifest file will not be changed, and all version requirements from it will be preserved.
Cairo Version
This version of Scarb comes with Cairo v2.4.0-rc0
.
What's Changed
- Use FromStr for Lockfile by @maciektr in #810
- Bump the non-critical group with 1 update by @dependabot in #812
- Use requires_gas_counter helper by @maciektr in #814
- Stop lockfile e2e tests from overwriting existing example locks by @maciektr in #813
- Fix release branch naming in maintaining docs by @maciektr in #816
- Allow ignoring example project by name in test_for_each_example macro by @maciektr in #824
- Update Cairo and Scarb version after release by @maciektr in #821
- Add scarb update command by @maciektr in #822
- Make profile args take precedence over env by @szymmis in #825
- Initial implementation of
RegistrySource
by @mkaput in #790 - Initial implementation of
scarb publish
by @mkaput in #793 - Change wording around starknet-contract casm property docs by @maciektr in #826
- Add basic tests for local registry by @mkaput in #798
- Implement simple http server for testing HTTP registries by @mkaput in #799
- Set up
reqwest
HTTP client by @mkaput in #802 - Include
get_dep_component!
andget_dep_component_mut!
macros in thestarknet
package by @mkaput in #833 - Initial implementation of HTTP registry client by @mkaput in #803
- Docs: Use kebab-case for formatting options by @maciektr in #836
- Expand registry specification to registry URL when packaging by @mkaput in #805
- Add lockfile docs by @maciektr in #829
- Add scarb update docs by @maciektr in #830
- Bump the non-critical group with 6 updates by @dependabot in #839
- Remove available_gas args in favour of default by @maciektr in #840
- Major dependencies update by @mkaput in #806
- Impl
Clone
forUi
by @mkaput in #807 - Prepare
scarb-ui
release0.1.1
by @mkaput in #848 - Use rustls-tls with native roots on unix targets by @maciektr in #851
- Bump actions/setup-node from 3 to 4 by @dependabot in #853
- chore: minor optimisation by @shramee in #841
- Extends docs about Starknet Foundry by @cptartur in #831
- Update Cairo by @maciektr in #857
- Bump the non-critical group with 3 updates by @dependabot in #859
- Fix linux cfg in Cargo manifest by @maciektr in #861
- Add dry_run arg to nightly workflow by @maciektr in #852
- Support plugin suites by @maciektr in #860
- Remove redundant
cannot_choose_both_dev_and_release
test by @szymmis in #862 - Add test targets docs by @maciektr in #855
- Add package edition field by @maciektr in #858
- Prevent packaging with uncommited Git changes by @szymmis in #827
- Prepare release 2.4.0-rc0 by @maciektr in #865
- Update Sierra to 1.4.0 by @maciektr in #866
New Contributors
Full Changelog: v2.3.1...v2.4.0-rc0