-
0.4.1
StableAll checks were successful/ pr-review (push) Has been skipped/ gitleaks (push) Successful in 17s/ checks (push) Successful in 1m38s/ publish (push) Has been skipped/ pr-review (release) Has been skipped/ gitleaks (release) Successful in 15s/ deploy-docs (push) Successful in 1m7s/ checks (release) Successful in 1m39s/ deploy-docs (release) Has been skipped/ publish (release) Successful in 27sreleased this
2026-08-29 23:27:15 +00:00 | 0 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
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
-
0.3.4
StableAll checks were successful/ pr-review (push) Has been skipped/ gitleaks (push) Successful in 15s/ pr-review (release) Has been skipped/ gitleaks (release) Successful in 14s/ checks (push) Successful in 2m12s/ publish (push) Has been skipped/ checks (release) Successful in 1m51s/ deploy-docs (release) Has been skipped/ publish (release) Successful in 27s/ deploy-docs (push) Successful in 1m10sreleased this
2026-08-19 00:29:49 +00:00 | 45 commits to main since this release[0.3.4] - 2026-08-19
Commits
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
0.3.3
StableAll checks were successful/ pr-review (push) Has been skipped/ gitleaks (push) Successful in 16s/ pr-review (release) Has been skipped/ gitleaks (release) Successful in 17s/ checks (push) Successful in 1m50s/ publish (push) Has been skipped/ checks (release) Successful in 1m48s/ deploy-docs (release) Has been skipped/ publish (release) Successful in 29s/ deploy-docs (push) Successful in 1m9sreleased this
2026-08-06 21:22:33 +00:00 | 49 commits to main since this release[0.3.3] - 2026-08-07
Commits
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
0.3.2 Stable
released this
2026-07-19 23:47:32 +00:00 | 53 commits to main since this release[0.3.2] - 2026-07-20
Commits
- 💡 docs: add docstrings for _populate_channel_metadata and _append_episode_item
3cafeba - 🔧 chore: align .editorconfig with mature project standard (indent_size, py max_line_length, json/rst/html sections)
cb44e18 - 💡 docs: add Args/Returns/Raises to all public function docstrings
5c16fe5 - 💡 docs: add module/class/function docstrings to all source files; replace bare except-pass with logging.warning in discovery
feb9d2d - 🔧 chore: add ruff.toml (TID252, expanded rules), LICENSE.md, README badges; bump ty→0.0.59
f9fbdc4 - 📝 fix AI-DECLARATION.md — copilot level, DeepSeek tool, deployment none
2be8dd4 - 📝 docs: add AI-DECLARATION.md v0.1.2 with auto level and badge
a1693f6 - 🐛 fix: use subshell for gitleaks checksum verify to avoid cwd change
376a2c6 - 📝 docs: fix AGENTS.md heading to match filename; make CLAUDE.md a symlink
356421a - 🔧 chore: scaffolding alignment — gitleaks.toml title, ruff target-version py312, .editorconfig, uv_build>=0.11.0
83f0fef - 👷 ci: replace curl|sh uv installs with astral-sh/setup-uv@v5; checksum-verify gitleaks binary in CI
c7f8081 - ⬆️ deps: bump cyclopts→4.21.0, prek→0.4.9, ty→0.0.58; align pre-commit revs ty→v0.0.58, zaojun→1.7.2
2dfb6b9 - 📝 reset Release-Notes.md for next release
1c3f6a9 - 📝 document potential future improvments
b17a1f5
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 💡 docs: add docstrings for _populate_channel_metadata and _append_episode_item
-
0.3.1 Stable
released this
2026-07-09 23:49:46 +00:00 | 69 commits to main since this release[0.3.1] - 2026-07-10
- Documentation is now available at https://sub2pod.marvin8.zone
Commits
- 🔀 Merge branch 'feat/issue-17-ci-to-forgejo-actions'
206d43f - 🙈 added site folder to gitignore
0f92423 - 🔍 change tags for release notes
1d624fd - 📝 replace stale Woodpecker CI badge with Forgejo Actions badge
c5f7019 - 📝 update CLAUDE.md with gitmoji note, release process, and release notes
361eb3b - ♻️ replace git-cliff with Release-Notes.md-based changelog generation
fa592d6 - 📝 set up MkDocs docs deployment to grebedoc
579d105 - 📝 add Release-Notes.md taibai thread and template
7cbce77 - 👷 add weekly checks workflow on Codeberg shared runner
7617c4f - 👷 migrate CI from Woodpecker to Forgejo Actions
fa48b7a - ⬆️ bump deps
c1e1a43
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
0.3.0 Stable
released this
2026-06-19 07:46:29 +00:00 | 82 commits to main since this release[0.3.0] - 2026-06-19
Features
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)