Skip to content

Releases: schubydoo/podspine

1.3.0 (2026-07-10)

Choose a tag to compare

@podspine-ci podspine-ci released this 10 Jul 03:28
8c62952

Features

  • Detect non-faststart whole-file mp4 (moov after mdat) at ingest and log a one-line callout; add opt-in PODSPINE_REMUX_NON_FASTSTART to remux such books to faststart on demand — a cache-managed stream-copy (no re-encode) served from the saver cache and regenerated/evicted like a cached chapter, never a pinned duplicate — so podcast clients seek quickly. MP3/OGG/FLAC, already-faststart mp4, and chaptered books are unaffected. (#61)
  • Add per-book .podspine.toml overrides: a sidecar beside a single-file book (Author - Title.podspine.toml) or inside a folder book overrides settings for just that book — storage_mode, force_embedded_chapters, remux_non_faststart, default_cover_url, plus troubleshooting knobs disabled, title, author, and force_reingest — with precedence sidecar → CLI/env → global config → default. Server-wide keys placed in a per-book file are ignored with a warning. (#62)
  • Serve whole-file episodes — folder-of-MP3 tracks and chapterless single files — in place, streaming them directly from the read-only library instead of copying them under the data dir; this removes the silent duplication those books used to cost (an existing library reclaims the copies on its next re-scan). Chaptered books are unchanged (full/saver). (#59)
  • Add an opt-in saver storage mode (PODSPINE_STORAGE_MODE=saver) that keeps chapters in a bounded on-demand cache (PODSPINE_CACHE_SIZE/PODSPINE_CACHE_TTL) instead of keeping every chapter split on disk — cutting the data-dir footprint for chaptered books (whole-file books such as folder-of-MP3 tracks stream in place regardless of storage mode) for a small first-play delay per chapter. Ingest still splits each chapter once to record its real byte length, so saver saves disk, not ingest time. (#53)

1.2.0 (2026-07-07)

Choose a tag to compare

@podspine-ci podspine-ci released this 07 Jul 17:32
b4f2c1f

Features

  • Add a --version/-V flag so podspine --version reports the version (used by the install scripts and package-manager smoke tests). (#36)

1.1.0 (2026-07-05)

Choose a tag to compare

@podspine-ci podspine-ci released this 05 Jul 22:39
5348784

Features

  • Add an "Add to a podcast app" subscribe page: the book-page QR now opens /subscribe/{feed_id} with one-tap "Open in…" deep links for Apple Podcasts, Overcast, Pocket Casts, Castro, AntennaPod, and Podcast Addict (per-app QRs behind an expander) instead of raw feed XML the iOS Camera couldn't open. (#22)

1.0.1 (2026-07-05)

Choose a tag to compare

@podspine-ci podspine-ci released this 05 Jul 21:25
60c91ef

Fixes

  • Set the audio Content-Type on /audio responses so Apple Podcasts and other iOS clients can play episodes (axum-range sets none, which made playback fail with "this episode can't be played on this device"). (#20)

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 17:06
v1.0.0
a1c9363

What's Changed

  • chore(deps): update taiki-e/install-action digest to 4684b84 by @renovate[bot] in #17
  • docs(deployment): document macOS & Windows binaries by @schubydoo in #18

Full Changelog: v1.0.0-rc.2...v1.0.0

v1.0.0-rc.2

v1.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Jul 16:54
v1.0.0-rc.2
3234ff8

What's Changed

  • feat(release): add macOS + Windows binaries; fix duplicate SBOM checksums by @schubydoo in #16

Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2

v1.0.0-rc.1

v1.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Jul 16:09
v1.0.0-rc.1
a453c39

What's Changed

  • ci: replace unmaintained goto-bus-stop/setup-zig with mlugg/setup-zig by @schubydoo in #8
  • chore(deps): update alpine docker tag to v3.24 by @renovate[bot] in #1
  • chore(deps): bump cargo deps + adopt getrandom 0.4 fill() API by @schubydoo in #9
  • docs: say "podcast app" instead of "podcatcher"; refresh stale CI comments by @schubydoo in #4
  • ci: publish the GitHub Release via gh CLI instead of a third-party action by @schubydoo in #11
  • chore(deps): update github-actions (major) by @renovate[bot] in #5
  • chore(deps): update rust crate notify to v8 by @renovate[bot] in #6
  • chore(deps): update rust crate toml to v1 by @renovate[bot] in #7
  • ci(renovate): only auto-group stable (>=1.0) cargo minor/patch bumps by @schubydoo in #10
  • ci: install cargo-audit/deny as prebuilt binaries (faster audit·deny job) by @schubydoo in #12
  • fix: repair ClusterFuzzLite build and pin base image digests by @schubydoo in #13
  • chore(deps): update astral-sh/setup-uv action to v8.3.0 by @renovate[bot] in #14
  • chore(release): bump to 1.0.0 + harden pre-release handling by @schubydoo in #15

New Contributors

Full Changelog: https://github.com/schubydoo/podspine/commits/v1.0.0-rc.1