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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

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:
    • 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)

@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 6 times, most recently from 7c93b26 to c41f34f Compare March 19, 2025 01:05
@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
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
1 participant