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

Prepare for v0.2.0 release #151

Merged
merged 1 commit into from
Mar 24, 2025
Merged

Prepare for v0.2.0 release #151

merged 1 commit into from
Mar 24, 2025

Conversation

nicoburns
Copy link
Collaborator

@nicoburns nicoburns commented Mar 17, 2025

Prepare Stylo for a v0.2.0 release. Closes #95.

Dependencies

Before merging this and releasing we should:

This PR builds on:

Notes

  • I have gone for a simple versioning scheme where all stylo* crates have the same version. This means we don't have to worry about breaking vs. non-breaking changes for subcrates. And it makes it simple for consumers of Stylo to work out which version of the subcrates they ought to be depending on. selectors and servo_arc are still separately versioned.

  • I propose that we (permanently) keep the following diff downstream:

    • Crate version numbers version = "x.y.z" line in Cargo.toml
    • Dependency lines for crates that live within this repo (e.g. stylo's dependency on stylo_traits, but NOT stylo's dependency on cssparser).

    This will allow us to avoid triggering Gecko's/Mozilla's auditing process every time we bump a version number. And we need to maintain some level of diff of for Cargo.toml files anyway.

Release Process

  • Publish cssparser v0.35 (Bump version to v0.35.0 rust-cssparser#404)
  • Upgrade the following Stylo crates to use the newly published cssparser v0.35 (Upgrade to cssparser 0.35 #155):
    • to_shmem
    • stylo_malloc_size_of
    • selectors
    • stylo_traits
    • stylo
  • Merge this PR
  • Publish the crates which have a version bump (everything except to_shmem_derive and servo_arc). A release order which should work is:
    • to_shmem (now necessary because of cssparser bump)
    • selectors
    • stylo_static_prefs
    • stylo_config
    • stylo_atoms
    • stylo_malloc_size_of
    • stylo_dom
    • stylo_derive
    • stylo_traits
    • stylo

(Servo will also need to be updated to cssparser v0.35, but that doesn't block this PR or Stylo release)

Sorry, something went wrong.

@nicoburns nicoburns force-pushed the release020 branch 2 times, most recently from 2342450 to d5216b7 Compare March 17, 2025 02:52
@nicoburns nicoburns force-pushed the release020 branch 7 times, most recently from c41f34f to f698b43 Compare March 19, 2025 02:46
@nicoburns
Copy link
Collaborator Author

I have updated this PR to also bump to_shmem. This is necessary because it depends on cssparser so it will need a new version once the new cssparser is released.

@nicoburns
Copy link
Collaborator Author

@mrobinson I've invited to all of the stylo* crates on crates.io that were registered as part of the Stylo v0.1.0 release. So if you want to have a run at publishing all the Stylo crates along with cssparser then you should now have permissions to do so (I can't add the "Servo Publish Team" to the crates as I'm not part of the team, but you should be able to).

I've also updated the PR description with my understanding of the "order of operations" required for release.

@nicoburns nicoburns requested a review from mrobinson March 19, 2025 02:56
@nicoburns nicoburns force-pushed the release020 branch 4 times, most recently from 089031e to a788c9c Compare March 23, 2025 23:51
Signed-off-by: Nico Burns <nico@nicoburns.com>
@mrobinson
Copy link
Member

I have gone for a simple versioning scheme where all stylo* crates have the same version. This means we don't have to worry about breaking vs. non-breaking changes for subcrates. And it makes it simple for consumers of Stylo to work out which version of the subcrates they ought to be depending on. selectors and servo_arc are still separately versioned.

This is my preference too, so no complaints from me!

Copy link
Member

@mrobinson mrobinson left a comment

Choose a reason for hiding this comment

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

Looks like the only thing missing here is using the upgraded version of cssparser?

@nicoburns
Copy link
Collaborator Author

Looks like the only thing missing here is using the upgraded version of cssparser?

That already landed in #155

@nicoburns nicoburns added this pull request to the merge queue Mar 24, 2025
Merged via the queue into servo:main with commit bc4717c Mar 24, 2025
3 checks passed
@nicoburns nicoburns deleted the release020 branch March 24, 2025 12:49
@nicoburns
Copy link
Collaborator Author

@mrobinson Ok, PR is merged! I believe it should now just be a case of running cargo publish on each crate in sequence (ordered list of crates that need to be published in the PR description). I don't have access to to_shmem or selectors, so you (or someone else on the "servo cargo publish" team) need to do at least those ones. I can do the rest after that if you want. Alternatively, you should have received an invite to all of the new crates so you could just go through and publish the lot.

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.

Tracking issue: Stylo v0.2.0 release
2 participants