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

Make dora versions compatible by using separate versioning for dora-message crate #614

Merged
merged 7 commits into from
Aug 26, 2024

Conversation

phil-opp
Copy link
Collaborator

@phil-opp phil-opp commented Aug 7, 2024

By versioning the dora-message crate individually, we can use the semver rules to encode which versions are compatible. This way, we can allow different versions of dora to work together (e.g. CLI version can be different than node API version), as long as the message formats are compatible. Breaking message format changes are signaled by a semver-incompatible release of dora-message. For example, 0.4.0 is not compatible with 0.3.5.

One alternative approach could be to use the main version to signal compatibility, i.e. the common version that we use for all dora crates. This has the disadvantage that we might need to bump the minor version of the main dora crate every time we want to change the message format in a breaking way. As we still expect semi-regular breaking changes to the message format in the near future, we want to avoid this churn. Once we consider the message format more stable, we plan to revisit this approach.

Fixes #504

TODO

  • Update release script: We should not try to publish the dora-message crate if there is no new version.
  • Relax version checks to only compare major/minor version (according to semver compatibility rules).

Decouples the `dora-message` version from the version of the other `dora-*` crates. This allows us to use semver-versioning for the `dora-message` crate to encode message compatibility across dora versions.
Base automatically changed from message-format-crate to main August 12, 2024 13:38
@phil-opp phil-opp marked this pull request as ready for review August 12, 2024 17:12
@phil-opp phil-opp requested a review from haixuanTao August 12, 2024 17:12
Cargo.toml Outdated Show resolved Hide resolved
@haixuanTao haixuanTao merged commit 01b561a into main Aug 26, 2024
39 of 40 checks passed
@haixuanTao haixuanTao deleted the version-message-separately branch August 26, 2024 06:30
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.

Make dora node API minor versions compatible with one another.
2 participants