Skip to content

chore: release v0.6.0#9

Merged
siriusctrl merged 1 commit into
mainfrom
release/v0.6.0
Jul 22, 2026
Merged

chore: release v0.6.0#9
siriusctrl merged 1 commit into
mainfrom
release/v0.6.0

Conversation

@siriusctrl

Copy link
Copy Markdown
Owner

Summary

  • align fmtview, fmtview-core, the root core dependency, Cargo.lock, and the npm wrapper on 0.6.0
  • promote the accumulated user-facing notes into ## [0.6.0] - 2026-07-22 while retaining an empty Unreleased section
  • leave release documentation and workflows unchanged because the existing core-first, exact-tag, and non-empty-notes gates already match this release

Release preflight

  • root package: 0.6.0
  • core package: 0.6.0
  • root core dependency: 0.6.0 plus workspace path
  • npm package: 0.6.0
  • lockfile workspace packages: 0.6.0
  • expected tag: v0.6.0
  • release workflow awk extraction: 44 nonblank note lines
  • built binary: fmtview 0.6.0

Verification

  • cargo fmt --check
  • cargo test --workspace --all-targets --locked: 353 passed, 13 ignored, 0 failed
    • root: 8 passed, 2 ignored
    • CLI: 39 passed
    • core: 255 passed, 11 ignored
    • headless viewer: 8 passed
    • record timeline: 43 passed
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo build --workspace --release --locked
  • RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --locked
  • cargo publish -p fmtview-core --dry-run --locked: 145 files, 881.2 KiB uncompressed, 162.6 KiB compressed; isolated verification build passed
  • cargo package -p fmtview-core --list --locked: 145 files
  • cargo package -p fmtview --list --locked: 47 files; no target, git, workflow, npm, PTY, or video artifacts included
  • staged npm manifest and npm pack --dry-run --json: 5 required files, 2,533,303 bytes unpacked, 1,014,638 bytes packed; staged shim reports fmtview 0.6.0

The npm dry-run used the local release binary only to exercise the manifest, shim, and exact file list. The tag workflow will replace it with the required static musl artifact before publishing.

The root cargo publish -p fmtview --dry-run --locked reaches packaging and then fails as expected because fmtview-core 0.6.0 is not published on crates.io yet. This is the documented strict publish order; no path-only, git, dirty, or version-mismatch bypass was used.

Registry and tag conflict checks

No existing v0.6.0 local tag, remote Git tag, or GitHub Release was found. Neither fmtview-core 0.6.0 nor fmtview 0.6.0 exists on crates.io, and fmtview@0.6.0 does not exist on npm.

Remaining release steps

After review and merge:

  1. create and push exact tag v0.6.0 on the approved release commit
  2. let release.yml rebuild the static musl artifact and re-run repository gates
  3. publish fmtview-core 0.6.0, wait for registry availability, then dry-run and publish fmtview 0.6.0
  4. publish the npm wrapper with the workflow-built musl binary
  5. verify the GitHub Release assets and checksums, then install and smoke-test the published crates.io/npm packages

This PR does not tag, publish, or merge anything.

Align the fmtview CLI, fmtview-core crate, workspace dependency, npm wrapper, and lockfile on the first public core release version.

Promote the accumulated user-facing follow, timeline, conversation, media, raw-record, and release-hardening notes from Unreleased into the dated v0.6.0 section used by the tag workflow.

@siriusctrl siriusctrl left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Independent release review: no blocking findings and no code changes required.

Evidence from a fresh worktree at c39bf7a:

  • Diff is exactly 5 expected files; root, fmtview-core, core dependency, Cargo.lock, and npm all resolve to 0.6.0. CHANGELOG has one non-empty dated 0.6.0 section and retains one Unreleased heading.
  • Replayed the exact tag/version/changelog preflight in an isolated clone with a temporary local v0.6.0 tag; tag commit and all package versions matched, and Added/Changed/Fixed notes were extracted.
  • cargo fmt --check, workspace all-target tests, strict workspace Clippy, rustdoc with -D warnings, and locked workspace release build passed. Tests: 353 passed, 13 ignored, 0 failed.
  • x86_64-unknown-linux-musl release build passed; file reports static-pie and readelf reports no requested interpreter. Binary reports fmtview 0.6.0.
  • fmtview-core publish dry-run passed: 145 files, 881.2 KiB, 162.6 KiB compressed. Package lists are 145 core files and 47 root files with no build, recording, PTY, or vendor artifacts. fmtview-core normal dependency tree contains no crossterm.
  • Root publish dry-run fails only at the documented core-first boundary because fmtview-core 0.6.0 is not yet on crates.io. The release workflow publishes and waits for core before rerunning this dry-run.
  • Staged npm pack using the actual musl binary contains exactly LICENSE, README.md, bin/fmtview.js, package.json, and vendor/fmtview. The shim and an installed tarball both report fmtview 0.6.0.
  • Live collision checks found no v0.6.0 Git tag, GitHub Release, fmtview-core/fmtview crates.io version, or npm version. Both expected secret names exist; the most recent v0.5.4 workflow successfully published crates.io, npm, GitHub Release, and static artifact jobs. PR CI is green and merge state is clean.

Expected sequencing constraint: merge first, tag the exact merged release commit, then let the workflow publish fmtview-core before validating/publishing fmtview. Do not bypass the initial root dry-run failure with a path or Git dependency.

@siriusctrl
siriusctrl marked this pull request as ready for review July 22, 2026 09:29
@siriusctrl
siriusctrl merged commit ba40188 into main Jul 22, 2026
1 check passed
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