Release v0.3.0 #10

Merged
psk merged 5 commits from release/0.3.0 into master 2026-06-27 22:23:46 +00:00
Owner

Ships 0.3.0 — one PR with everything since 0.2.0.

Headline (from 0.3.0-rc1)

  • Headless render-to-video (soundy-bits render …): preset → H.264/Opus MP4, no window. Hardware NVENC on NVIDIA (~7× real-time @1080p60) with a multi-threaded software fallback. Flags: --encoder, --bitrate, --quality, --speed, --software.
  • Bevy 0.19 migration + dependency refresh.

Release engineering (new in this PR)

  • fix: release archives extract into one top-level folder (no more tarbombs).
  • ci: releases automated via release-plz (Release-PR ceremony); CI runs on PRs only; concurrency added. just release/bump retired.
  • Untracks committed .DS_Store.

Finalizes 0.3.0-rc1 → 0.3.0. Merge → I tag v0.3.0 → the pipeline ships all five artifacts (incl. -nvenc) as clean bundles. Subsumes #8 and #9.

**Ships 0.3.0** — one PR with everything since 0.2.0. ### Headline (from 0.3.0-rc1) - **Headless render-to-video** (`soundy-bits render …`): preset → H.264/Opus MP4, no window. **Hardware NVENC** on NVIDIA (~7× real-time @1080p60) with a multi-threaded software fallback. Flags: `--encoder`, `--bitrate`, `--quality`, `--speed`, `--software`. - **Bevy 0.19** migration + dependency refresh. ### Release engineering (new in this PR) - **fix:** release archives extract into one top-level folder (no more tarbombs). - **ci:** releases automated via **release-plz** (Release-PR ceremony); CI runs on PRs only; concurrency added. `just release`/`bump` retired. - Untracks committed `.DS_Store`. Finalizes `0.3.0-rc1 → 0.3.0`. Merge → I tag `v0.3.0` → the pipeline ships all five artifacts (incl. `-nvenc`) as clean bundles. Subsumes #8 and #9.
Replace the manual `just release` (local bump + tag + push, which fought
the PR-only trunk flow) with release-plz's Release-PR model:

- release-plz.yml (on push to master) opens/updates a Release PR that
  bumps Cargo.toml + CHANGELOG from Conventional Commits; merging that PR
  pushes the vX.Y.Z tag, which release.yml builds + publishes. No hand
  tagging. `--forge gitea`, GIT_TOKEN from FORGEJO_TOKEN.
- release-plz.toml: publish=false (app, never crates.io),
  git_tag_name="v{{version}}" (matches release.yml's tag trigger),
  git_release_enable=false (release.yml still creates the release +
  attaches artifacts).
- justfile: drop `release`/`bump`/`bump-pre`; keep `unstable` (ad-hoc
  test cuts) + `re-release`. CLAUDE.md "Release process" rewritten.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every release archive packed its contents at the root (`tar -C dir … .`,
`zip -r … .`), so extracting a download scattered the binary, assets/,
README and LICENSE straight into the user's cwd. Stage each artifact under
`./publish/soundy-bits-<ver>-<target>/` and archive the *directory*, so
tar.gz + wasm.zip each extract into one clean folder. The Pages-deploy
tarball stays flat (served at the site root).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
release: v0.3.0 — finalize 0.3.0-rc1
All checks were successful
ci / build-and-test (pull_request) Successful in 8m28s
31ec2d9829
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
psk merged commit 49cb75356f into master 2026-06-27 22:23:46 +00:00
psk deleted branch release/0.3.0 2026-06-27 22:23:46 +00:00
psk referenced this pull request from a commit 2026-06-27 22:23:46 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
public/soundy-bits!10
No description provided.