-
0.4.0
StableAll checks were successful/ pr-review (push) Has been skipped/ gitleaks (push) Successful in 18s/ pr-review (release) Has been skipped/ gitleaks (release) Successful in 18s/ checks (push) Successful in 2m40s/ publish (push) Has been skipped/ checks (release) Successful in 2m26s/ deploy-docs (release) Has been skipped/ publish (release) Successful in 30s/ deploy-docs (push) Successful in 1m18sreleased this
2026-08-20 09:59:06 +00:00 | 4 commits to main since this release[0.4.0] - 2026-08-20
- Same-date episodes now sort in a stable, deterministic order.
- Generated
opml.xmlnow includes adateModifiedtimestamp. - Episode chapters are now exposed via Podcast 2.0 (
<podcast:chapters>). - Invalid
parent_dirandbase_urlnow fail with clear, actionable errors.
Commits
- 🔧 add config to automatically update version number in Release-Notes.md on release
3e4cf89 - 🔀 Merge branch 'feat/issue-31-podcast-chapters'
1f0a82f - ✏️ clarify chapters sidecar naming and location in docs
db9c3e4 - 🔥 remove superseded concept.md and improvements.md
4ca6b34 - 📝 document chapters in integration guide, README, and AGENTS.md
b04fe68 - ✏️ clarify chapters docs wording
7afa833 - 🐛 harden chapters parsing against malformed info.json shapes
b632164 - ✏️ clarify chapters emitted only when non-empty
6b9feb8 - ✨ emit Podcast 2.0 chapters from ytdl-sub info.json
be6f3a6 - 🔀 Merge branch 'feat/issue-30-documentation'
9888a06 - 📝 docs: record concept decisions, update integration guide, add README example and troubleshooting
3c62a2e - 🔀 Merge branch 'feat/issue-29-edge-case-tests'
1e4d3da - ✅ create placeholder audio files in the 100+ episodes test
8e036f7 - ✅ add edge-case tests for emoji, BOM, long titles, and 100+ episodes
a05339d - 🔀 Merge branch 'feat/issue-28-feed-opml-metadata'
b4ba927 - ✏️ reword width/height item as a decision, not an addition
411e5f5 - 📝 mark completed improvements; add OPML metadata release notes
ca70d2e - 🔥 omit hardcoded itunes:image dimensions (per #28 decision)
47a3cbc - 🐛 use locale-independent format_datetime for OPML dateModified
9db1f9d - ✨ add itunes:image dimensions, OPML dateModified, and missing-feed warning
1eb3ba9 - 🔀 Merge branch 'feat/issue-27-deterministic-sort-url-helper'
628ee94 - 🔧 align pre-commit revs with pyproject and bump zaojun to 1.7.4
c8d11f3 - ✏️ clarify release notes antecedent
5fbfa24 - ⬆️ deps: bump cyclopts, complexipy, prek, ruff, ty, uv
e369154 - 📝 add release notes for deterministic episode ordering
078ace4 - ♻️ extract shared URL-building helpers into urls.py
354d7e9 - 🐛 sort same-date episodes deterministically by filename
790bd2b - 🔀 Merge branch 'feat/issue-26-cli-validation'
e921d50 - ✅ add coverage for lowercase http:// base_url
a2445c5 - ✅ assert actionable message in invalid-port test
a54ffe3 - 🐛 reject whitespace hosts and invalid ports in base_url
c31383e - 🐛 validate hostname not netloc, rejecting empty and whitespace hosts
035823c - 🐛 require a host in base_url, rejecting hostless http(s):// URLs
415247d - 🐛 normalize base_url scheme check to be case-insensitive
b8297e5 - ✨ validate parent_dir and base_url with actionable errors
ddd26ca - 🔀 Merge branch 'chore/rename-claude-md-references'
4c8e1c6 - 📝 revert CHANGELOG renames — historical entries keep CLAUDE.md wording
3dbd3f8 - 📝 fix CHANGELOG entry — CLAUDE.md is the symlink, not AGENTS.md
68c9e01 - 📝 rename CLAUDE.md references to AGENTS.md
ce3add8
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads