diff --git a/CHANGELOG.md b/CHANGELOG.md index e6f995a..a967665 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format ## [Unreleased] +## [0.5.0] - 2026-05-06 + +First tagged release. Feature-complete for the v1 candidate: DAISY 2.02 → EPUB 3 conversion with Media Overlays, EPUBCheck-clean output, ACE accessibility validation, MP3 → Opus audio recompression, local Whisper transcription with prose-shaped paragraph cleanup, automatic and explicit cover lookup, parallel batch conversion, JSON output for CI/pipeline use. No API stability commitment yet — that comes with 1.0. + ### Added - `dpub convert --rights ""` stamps a free-text `` element into the EPUB's OPF metadata. When the flag is omitted, the source DAISY's `dc:rights` (if present in the NCC) carries through; the flag overrides. Useful for explicitly asserting copyright frame (Marrakesh Treaty / EU accessibility exception, etc.) when the source doesn't carry one. Closes #21. diff --git a/Cargo.lock b/Cargo.lock index c7e06f0..e5e6e5f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -319,7 +319,7 @@ dependencies = [ [[package]] name = "dpub-audio" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "tempfile", "thiserror 1.0.69", @@ -328,7 +328,7 @@ dependencies = [ [[package]] name = "dpub-cli" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "anyhow", "clap", @@ -347,7 +347,7 @@ dependencies = [ [[package]] name = "dpub-convert" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "chrono", "dpub-audio", @@ -365,7 +365,7 @@ dependencies = [ [[package]] name = "dpub-core" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "dpub-util", "quick-xml", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "dpub-meta" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "serde", "serde_json", @@ -385,11 +385,11 @@ dependencies = [ [[package]] name = "dpub-util" -version = "0.1.0-dev" +version = "0.5.0" [[package]] name = "dpub-validate" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "epub3-writer", "serde", @@ -401,7 +401,7 @@ dependencies = [ [[package]] name = "dpub-whisper" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "rubato", "serde", @@ -433,7 +433,7 @@ checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" [[package]] name = "epub3-writer" -version = "0.1.0-dev" +version = "0.5.0" dependencies = [ "chrono", "dpub-util", diff --git a/Cargo.toml b/Cargo.toml index 0bdad3a..e45754a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ members = [ ] [workspace.package] -version = "0.1.0-dev" +version = "0.5.0" edition = "2024" rust-version = "1.88" license = "MIT OR Apache-2.0" diff --git a/crates/dpub-cli/Cargo.toml b/crates/dpub-cli/Cargo.toml index 25a86c6..503b2ca 100644 --- a/crates/dpub-cli/Cargo.toml +++ b/crates/dpub-cli/Cargo.toml @@ -22,10 +22,10 @@ metal = ["dpub-convert/metal"] cuda = ["dpub-convert/cuda"] [dependencies] -dpub-audio = { path = "../dpub-audio", version = "0.1.0-dev" } -dpub-core = { path = "../dpub-core", version = "0.1.0-dev" } -dpub-convert = { path = "../dpub-convert", version = "0.1.0-dev" } -dpub-validate = { path = "../dpub-validate", version = "0.1.0-dev" } +dpub-audio = { path = "../dpub-audio", version = "0.5.0" } +dpub-core = { path = "../dpub-core", version = "0.5.0" } +dpub-convert = { path = "../dpub-convert", version = "0.5.0" } +dpub-validate = { path = "../dpub-validate", version = "0.5.0" } clap = { workspace = true } anyhow = { workspace = true } rayon = { workspace = true } diff --git a/crates/dpub-convert/Cargo.toml b/crates/dpub-convert/Cargo.toml index 1484e94..7e24b9b 100644 --- a/crates/dpub-convert/Cargo.toml +++ b/crates/dpub-convert/Cargo.toml @@ -18,12 +18,12 @@ metal = ["dpub-whisper/metal"] cuda = ["dpub-whisper/cuda"] [dependencies] -dpub-audio = { path = "../dpub-audio", version = "0.1.0-dev" } -dpub-core = { path = "../dpub-core", version = "0.1.0-dev" } -dpub-meta = { path = "../dpub-meta", version = "0.1.0-dev" } -dpub-util = { path = "../dpub-util", version = "0.1.0-dev" } -dpub-whisper = { path = "../dpub-whisper", version = "0.1.0-dev" } -epub3-writer = { path = "../epub3-writer", version = "0.1.0-dev" } +dpub-audio = { path = "../dpub-audio", version = "0.5.0" } +dpub-core = { path = "../dpub-core", version = "0.5.0" } +dpub-meta = { path = "../dpub-meta", version = "0.5.0" } +dpub-util = { path = "../dpub-util", version = "0.5.0" } +dpub-whisper = { path = "../dpub-whisper", version = "0.5.0" } +epub3-writer = { path = "../epub3-writer", version = "0.5.0" } thiserror = { workspace = true } uuid = { workspace = true } chrono = { workspace = true } diff --git a/crates/dpub-core/Cargo.toml b/crates/dpub-core/Cargo.toml index 435aa66..764a9c7 100644 --- a/crates/dpub-core/Cargo.toml +++ b/crates/dpub-core/Cargo.toml @@ -11,7 +11,7 @@ description = "DAISY 2.02 parser and in-memory model" workspace = true [dependencies] -dpub-util = { path = "../dpub-util", version = "0.1.0-dev" } +dpub-util = { path = "../dpub-util", version = "0.5.0" } quick-xml = { workspace = true } serde = { workspace = true } thiserror = { workspace = true } diff --git a/crates/dpub-validate/Cargo.toml b/crates/dpub-validate/Cargo.toml index c11542b..d8dcd75 100644 --- a/crates/dpub-validate/Cargo.toml +++ b/crates/dpub-validate/Cargo.toml @@ -18,4 +18,4 @@ thiserror = { workspace = true } which = { workspace = true } [dev-dependencies] -epub3-writer = { path = "../epub3-writer", version = "0.1.0-dev" } +epub3-writer = { path = "../epub3-writer", version = "0.5.0" } diff --git a/crates/epub3-writer/Cargo.toml b/crates/epub3-writer/Cargo.toml index e37e79e..243c47f 100644 --- a/crates/epub3-writer/Cargo.toml +++ b/crates/epub3-writer/Cargo.toml @@ -11,7 +11,7 @@ description = "Builder and serialiser for accessible EPUB 3 publications with Me workspace = true [dependencies] -dpub-util = { path = "../dpub-util", version = "0.1.0-dev" } +dpub-util = { path = "../dpub-util", version = "0.5.0" } zip = { workspace = true } chrono = { workspace = true } uuid = { workspace = true }