Skip to content

chore(release): 0.8.0 - #455

Merged
LeadcodeDev merged 2 commits into
mainfrom
release/0.8.0
Sep 29, 2026
Merged

LeadcodeDev merged 2 commits into
mainfrom
release/0.8.0

Conversation

@LeadcodeDev

Copy link
Copy Markdown
Owner

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 a DirectionalBlur oriented along the velocity instead of an axis-aligned Blur.

The yanked dependency

The publish dry-run is what surfaced it:

warning: package `unicode-segmentation v1.13.1` in Cargo.lock is yanked in registry `crates-io`

Transitive, through cosmic-text and ratatui. 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.yaml runs 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 with rustmotion-core already 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.0 triggers publish.yaml, which checks the tag against cargo metadata, runs the tests, dry-runs, then publishes. Not done here.

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.
@LeadcodeDev LeadcodeDev self-assigned this Sep 29, 2026
@LeadcodeDev
LeadcodeDev merged commit c976e00 into main Sep 29, 2026
4 checks passed
@LeadcodeDev
LeadcodeDev deleted the release/0.8.0 branch September 29, 2026 20:51
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.

1 participant