Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

workspace: prepare for next development iteration #3418

Merged
merged 1 commit into from
Jan 27, 2025
Merged

Conversation

herr-seppia
Copy link
Member

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.

@herr-seppia herr-seppia marked this pull request as ready for review January 24, 2025 14:29
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.
HDauven
HDauven previously approved these changes Jan 24, 2025
Copy link
Member

@HDauven HDauven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Tagging @miloszm @moCello @Neotamandua so they read your rationale

Copy link
Member

@Neotamandua Neotamandua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@herr-seppia herr-seppia merged commit ea8cbb7 into master Jan 27, 2025
32 checks passed
@herr-seppia herr-seppia deleted the next-dev branch January 27, 2025 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants