workspace: prepare for next development iteration #3418
Merged
+54
−257
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Due to how Cargo works, we cannot use different versions of the same crate during development, as it results in mismatching types. This happens because they are compiled from two different sources: one from a release and the other from a pre-release.
It is also not possible to have a path dependency pointing to a new ready-to-release version (e.g., having dusk-core released as 1.0.0 and a path dependency pointing to an unreleased version like 1.0.1). Cargo treats them as different crates since their origins differ—one from crates.io and the other as a local path.
To enable the new development flow, all crates must be the same (local path). During the release process, only the changed crates—those with updates in the changelog—will be upgraded. Any untouched crates (e.g., dusk-core-1.0.1-dev with no changes) will have their dependency reverted to the previously released version (e.g., 1.0.0). It's up to Cargo to use the proper version as soon as it's released on crates.io.