chore(release): 0.8.0 - #455
Merged
Merged
Conversation
The version lives in `[workspace.package]` and the three internal dependency pins, all in the root manifest, so this is four lines and the lockfile. 0.8 rather than 0.7.2: under cargo's 0.x rules a minor bump is the breaking one, and this cycle added public fields to structs consumers can build by literal — `Camera.motion_blur`, `CameraKeyframePoint.easing`, `BuiltScene.ghost_principal` — and changed what `motion_blur mode: "smear"` emits, from an axis-aligned `Blur` to a `DirectionalBlur` oriented along the velocity. The README claimed 30 skill rules, and the install line claimed 29. There are 84. The counter stopped tracking three batches ago. `#[deprecated(since = "0.7.1")]` attributes are left alone: they date the deprecation, and moving them forward would erase when it happened.
The 0.8.0 publish dry-run surfaced it: `unicode-segmentation v1.13.1 in Cargo.lock is yanked in registry crates-io`, pulled in transitively by `cosmic-text` and by `ratatui`. 1.13.3 is the current compatible release and needs no manifest change, only the lockfile. Publishing over a yanked dependency succeeds and hands the problem to whoever installs from the lockfile afterwards. The dry-run is now warning-free.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Prepares 0.8.0. No behaviour change — the version, the lockfile, and one stale count.
0.8 rather than 0.7.2
Under cargo's 0.x rules the minor is the breaking bump, and this cycle has breaking changes for a library consumer:
Camera.motion_blur,CameraKeyframePoint.easing,BuiltScene.ghost_principal— public fields added to structs that can be built by literal.motion_blur mode: "smear"now emits aDirectionalBluroriented along the velocity instead of an axis-alignedBlur.The yanked dependency
The publish dry-run is what surfaced it:
Transitive, through
cosmic-textandratatui. 1.13.3 is the current compatible release and needs no manifest change, only the lockfile. Publishing over a yanked dependency succeeds quietly and hands the problem to whoever installs from the lockfile afterwards.The README count
It claimed 30 skill rules, and its install line claimed 29. There are 84. The counter stopped tracking three batches ago.
Dry-run
cargo publish --workspace --dry-run— the same command.github/workflows/publish.yamlruns before the real one — exits 0 with no warnings. All four crates are packaged, then verified: cargo recompiles each from its own tarball before uploading anything, so a single one failing to build stops the whole release. That is the guarantee 0.6.0 did not have when it stopped withrustmotion-corealready published.Not touched
#[deprecated(since = "0.7.1")]attributes are left alone — they date the deprecation, and moving them forward would erase when it happened. Third-party dependency upgrades beyond the yanked one are their own piece of work, not a side effect of a release.After this merges
The tag is what publishes.
git tag 0.8.0 && git push origin 0.8.0triggerspublish.yaml, which checks the tag againstcargo metadata, runs the tests, dry-runs, then publishes. Not done here.