Skip to content

Release v0.5.0#27

Merged
roelvangils merged 1 commit into
mainfrom
release/v0.5.0
May 6, 2026
Merged

Release v0.5.0#27
roelvangils merged 1 commit into
mainfrom
release/v0.5.0

Conversation

@roelvangils
Copy link
Copy Markdown
Member

Summary

First tagged release. Feature-complete for the v1 candidate.

After this PR merges, push the `v0.5.0` tag (`git tag v0.5.0 && git push origin v0.5.0`) and the release workflow builds unsigned binaries for Linux x86_64, macOS arm64 (with Metal Whisper acceleration), and Windows x86_64, attaching each to a GitHub Release of the same name.

Changes in this PR

  • Workspace `version` bumped from `0.1.0-dev` to `0.5.0`. All internal path-deps in `crates/*/Cargo.toml` updated to match.
  • `CHANGELOG.md` `[Unreleased]` section renamed to `[0.5.0] - 2026-05-06`. A fresh empty `[Unreleased]` block stays on top for ongoing work.

What ships in 0.5.0

End-to-end DAISY 2.02 → EPUB 3 conversion with Media Overlays, plus:

  • Validators bundled. `dpub validate` (EPUBCheck) and `dpub a11y` (ACE) with stable `--json` output. Output is EPUBCheck-clean (0/0/0) on the reference 11h45m audiobook where Pipeline 2 emits 2 errors + 31 warnings on the same input.
  • Audio. Optional MP3 → Opus re-encoding with parallel ffmpeg (`--audio opus --bitrate `); `-map_metadata 0` preserves source ID3 tags across the format change.
  • Transcription. Local Whisper via whisper.cpp (`--transcribe --whisper-model `) with prose-shaped paragraph cleanup by default (`--no-text-cleanup` for raw debug output). One model load per book, not per file.
  • Cover. `--cover ` for an explicit local image; `--auto-cover` for best-effort lookup via Open Library.
  • Rights. `--rights ""` stamps a free-text `dc:rights` element.
  • Catalogue. `dpub batch -o ` walks a directory and converts every DAISY book in parallel via rayon, with per-book error recovery and a JSON summary.
  • Apple Silicon GPU. `cargo build --release --features metal` for ~5–10× faster transcription on M-series.

No API stability commitment yet — that comes with 1.0.

Out of scope

  • Code signing on macOS. Binaries from this release will be unsigned; users authorise once on first run via System Settings → Privacy & Security, or build from source.
  • Cargo.io publishing. Most workspace crates are internal and only `dpub-cli` would make sense to publish; deferred decision.

Test plan

  • `cargo build --workspace` clean.
  • `cargo test --workspace` clean.
  • `cargo clippy --all-targets -- -D warnings` clean.
  • After merge: tag push fires the release workflow; verify each platform's artefact runs (`dpub --version` prints `dpub 0.5.0`, `dpub info ` works).

First tagged release. Feature-complete for the v1 candidate:

  - DAISY 2.02 → EPUB 3 conversion with Media Overlays
  - EPUBCheck-clean output (0/0/0 on the reference book)
  - ACE accessibility validation (`dpub a11y`, `--a11y`)
  - MP3 → Opus audio recompression with parallel ffmpeg
  - Local Whisper transcription with prose-shaped paragraph cleanup
  - Automatic (Open Library) and explicit (`--cover`) cover lookup
  - Parallel batch conversion (`dpub batch`)
  - Stable JSON output for CI/pipeline use (`--json`)
  - `--rights` for explicit dc:rights stamping
  - Single static binary; Apple-Silicon Metal acceleration via
    `--features metal`

No API stability commitment yet — that comes with 1.0.

Workspace `version` bumped from `0.1.0-dev` to `0.5.0`. All
internal path-deps updated to match. CHANGELOG `[Unreleased]`
section renamed to `[0.5.0] - 2026-05-06`; a fresh empty
`[Unreleased]` block stays on top for ongoing work.

Pushing the `v0.5.0` tag after merge fires the release workflow,
which produces unsigned binaries for Linux x86_64, macOS arm64
(with Metal Whisper acceleration), and Windows x86_64 and uploads
each as a release asset.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@roelvangils roelvangils merged commit ed5f8c3 into main May 6, 2026
4 of 5 checks passed
@roelvangils roelvangils deleted the release/v0.5.0 branch May 6, 2026 04: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.

1 participant