Changelog
Recent product updates and maintenance notes.
Source badges, subtitle toggle, and playlist URL fix
2026-02-17
Added source visibility and subtitle control while fixing YouTube playlist URL recognition.
- Added channel source badges in Web UI and channel source text in playlist RSS content.
- Added a feed-level option to disable subtitle downloads.
- Fixed incorrect recognition for some YouTube playlist URLs.
Major platform expansion and sync pipeline upgrade
2026-02-15
Introduced Bilibili, S3, batch history downloads, richer filtering, and major sync/runtime optimizations.
- Added Bilibili subscriptions, S3 storage support, global download defaults, and API usage stats.
- Added historical batch downloads, AND/OR keyword filtering, and richer RSS iTunes metadata.
- Improved large-playlist sync performance and separated channel/playlist views to prevent cross-source interference.
In-app yt-dlp updates, delayed auto-download, and OPML export
2026-02-09
Added maintenance and feed portability features with better chapters and filtering UI.
- Added in-app yt-dlp updater, delayed auto-download, and global max-episodes retention.
- Added OPML export and independent chapters.json based on Podcasting 2.0 practices.
- Improved custom yt-dlp argument display and keyword input UX.
Metadata-download separation and storage-preserving delete behavior
2026-01-31
Made feed updates less storage-heavy and improved account security options.
- Separated metadata updates from media downloads to reduce unnecessary disk usage.
- Adjusted episode deletion defaults to remove media files while keeping metadata.
- Added optional CAPTCHA support on login and refined feed page layout.
Custom yt-dlp args and feed list productivity tools
2026-01-23
Added search/sort/filter to feed lists and fixed settings refresh reliability.
- Enabled custom yt-dlp arguments in configuration.
- Added feed list search, sort, and filter controls.
- Fixed user settings page refresh issue and improved feed UI layout.
Username validation parity fix
2026-01-13
Aligned username edit character limits with login validation rules.
- Applied login-form character limit rules to username edits.
- Prevented overlong usernames that could cause login failures.
Local episode download button and RSS cleanup fix
2026-01-06
Added one-click browser downloads and fixed RSS generation on auto-cleaned episodes.
- Added "Download to Local" button on episode cards.
- Fixed RSS generation errors caused by auto-cleaned episodes.
Playlist avatar edit fix
2025-12-24
Fixed issue where custom playlist avatars could not be updated.
- Resolved custom avatar update failure in Playlist settings.
Duplicate playlist video error fix
2025-12-23
Fixed processing errors caused by duplicate videos in playlists.
- Improved playlist handling logic for duplicate episode entries.
Standalone cover file saving for downloads
2025-12-20
Media downloads now automatically save independent cover art files.
- Added automatic cover image fetch and file save during media download.
Docker curl-cffi dependency for impersonation
2025-12-20
Added curl-cffi to container images to improve impersonation support.
- Updated Docker image dependencies to include curl-cffi runtime support.
Auto-embed YouTube covers into downloaded media
2025-12-18
Downloaded audio/video files now embed YouTube cover images automatically.
- Enabled automatic thumbnail embedding into downloaded media files.
Cleared-value settings save fix
2025-12-17
Fixed save issues when initialEpisodes, maximumEpisodes, or audioQuality were cleared.
- Resolved persistence bug for empty values in key feed configuration fields.
Separate video storage directory
2025-12-17
Video media files are now stored in a dedicated directory, separate from audio.
- Introduced independent storage path structure for downloaded video media.
Maximum episode duration filter
2025-12-16
Added a filter to exclude episodes longer than a configured duration limit.
- Users can now filter out episodes exceeding the maximum duration threshold.
Critical auto-cleanup logic fixes
2025-12-14
Fixed important cleanup logic bugs and preserved metadata during automatic cleanup.
- Fixed logic defects in automatic episode cleanup.
- Cleanup now removes downloaded files only and retains metadata for later browsing/download.
Subtitle automation and simple/expert subscription modes
2025-11-26
Added subtitle download controls and split subscription configuration into simple and expert modes.
- Added custom date format settings and automatic subtitle download with global/feed-level controls.
- Added language/format subtitle configuration and clarified client compatibility constraints.
- Subscription config UI now provides Simple Mode and Expert Mode.
In-app media playback and media-type labeling
2025-11-23
Added direct in-app playback for audio/video and improved download resilience.
- Added direct playback inside the app for both audio and video episodes.
- Added VIDEO/AUDIO labels for downloaded episodes.
- Added remote-components ejs:npm support to fix recent video download failures.
Fetch/download pipeline split and full-playlist metadata sync
2025-11-18
Separated metadata fetching from media downloads and completed major YouTube pipeline refactors.
- Split episode metadata retrieval and media download for better historical episode control.
- Switched to full playlist metadata sync to stay consistent with YouTube ordering/content.
- Refactored large parts of the YouTube tooling for maintainability.
One-click feed refresh
2025-10-30
Added an instant refresh button on feed detail pages.
- Users can now refresh feed sources immediately from feed details.
Download regression fix and cookie download restore
2025-10-29
Fixed download failures introduced after 1.12.3 and restored cookie-based downloads.
- Resolved post-1.12.3 download failures and re-enabled cookie file support.
Episode management workspace
2025-10-29
Added centralized episode management so users can manage all programs in one place.
- Introduced a unified episode management capability across feeds.
Docker version metadata, cookie status, and dark-mode text fixes
2025-10-28
Fixed release metadata and readability issues while improving cookie management visibility.
- Fixed missing Docker image version metadata issue.
- Added current cookie status display in cookie management.
- Fixed unreadable waiting-status card text in dark mode.
Subscription sync control, task panel, and cover-path persistence
2025-10-27
Added per-feed sync toggles and task visibility while fixing custom cover loss after upgrades.
- Added PIGEON_COVER_FILE_PATH to preserve custom covers across upgrades.
- Added per-subscription sync enable/disable configuration.
- Added task statistics panel and improved subscription config UI layout.
Docker runtime update for 403 download mitigation
2025-10-23
Added Deno runtime to Docker image and required cookie reset after upgrade.
- Added Deno runtime dependency in Dockerfile to mitigate 403 download failures.
- Upgrade note: previously uploaded cookies should be cleared.
Removed embed-thumbnail support for container compatibility
2025-10-18
Disabled embed-thumbnail due to ffmpeg constraints inside container environments.
- Removed --embed-thumbnail support to avoid runtime failures in container ffmpeg flows.
Description keyword filtering and download task recovery improvements
2025-10-18
Added description-level filtering and stabilized unfinished download task recovery after restarts.
- Added include/exclude keyword filtering in episode descriptions.
- Added latest Docker image tag support and enriched downloaded file metadata/chapters/thumbnail.
- Fixed restart scenario where unfinished DOWNLOADING tasks could remain stuck.
Video codec options and AAC default audio pipeline
2025-10-13
Added selectable video encoding and switched default audio encoding to AAC for better compatibility.
- Added configurable video encoding with recommended 1080P + H.264 profile.
- Switched default downloaded audio encoding to AAC to reduce transcoding overhead.
- Fixed custom title not taking effect in RSS subscriptions.
Custom feed branding, video downloads, and API key initialization
2025-10-12
Added customizable feed identity, video quality controls, and automatic API key generation.
- Added custom feed title and cover support.
- Added video file downloads with configurable download quality.
- Switched historical download count validation to post-validation and auto-generated API keys at user init.
New branding and playlist ordering controls
2025-10-05
Released new PigeonPod logo and added playlist ordering options during feed creation.
- Released a new PigeonPod logo.
- Added feed type labels on feed detail covers.
- Added playlist video sort control when subscribing YouTube playlists.
Audio download quality settings
2025-10-04
Added configurable audio download quality.
- Users can now choose audio quality when downloading episodes.
Playlist release-date alignment and update prompt fix
2025-10-02
Corrected release date mismatch and fixed inaccurate update prompts.
- Fixed mismatch between PigeonPod playlist publish dates and YouTube playlist publish dates.
- Fixed inaccurate update prompt behavior.
Episode state machine simplification and queue unstick fix
2025-10-01
Optimized download flow and resolved tasks stuck in QUEUED state.
- Simplified the episode state machine and optimized download orchestration.
- Fixed issue where tasks could remain stuck in QUEUED state.
YouTube playlist subscription support
2025-09-30
Added YouTube playlist subscriptions and completed major structural refactors.
- Users can now subscribe directly to YouTube playlists.
- Refactored large parts of the codebase for clearer architecture and extensibility.
Historical download accuracy and fetch logic fixes
2025-09-28
Improved historical episode correctness and optimized YouTube fetching.
- Fixed inaccurate episode selection when downloading historical episodes.
- Fixed incomplete episode descriptions in historical download flows.
- Refactored and optimized YouTube episode fetching logic.
Historical episode downloads and duration translation
2025-09-27
Added configurable historical episode downloading and completed duration translation support.
- Added historical episode download count settings on channel detail pages.
- Completed translation support for episode duration display.
RSS audio URL generation redesign
2025-09-23
Redesigned RSS audio URL/resource logic for better multilingual compatibility and fixed delete messaging.
- Refactored RSS audio URL generation and media resource reading logic.
- Improved subscription reliability for programs with diverse language character sets.
- Fixed incorrect message prompt when deleting channels.
Version detection
2025-09-23
Added built-in version detection so users can discover new releases earlier.
- Introduced new version detection and update awareness capability.
ARM64, multilingual expansion, and RSS accessibility fixes
2025-09-22
Expanded platform/language support and fixed key container and RSS accessibility issues.
- Added ARM64 Docker support and expanded UI/README language coverage.
- Fixed non-ASCII garbling in containers.
- Added auto-refresh for task states and fixed inaccessible audio in generated RSS.
Download pipeline concurrency redesign
2025-09-21
Refactored the download pipeline to resolve SQLite concurrency deadlocks and improve large-task stability.
- Reworked concurrent download flow to eliminate SQLite deadlocks under heavy queue load.
- Changed downloaded file path strategy for clearer channel/title file organization.
- Added async fetch path for large initial pulls and refined include/exclude keyword precedence behavior.
Password update and YouTube ID subscription fixes
2025-09-19
Fixed account/password and channel-ID subscription issues with clearer default credential setup.
- Fixed inability to change account password.
- Fixed failed channel subscriptions when using YouTube channel ID.
- Updated default password to a clearer Root@123 pattern.
YouTube ID precise search, faster concurrency, and live filtering
2025-09-19
Improved channel add precision and default download throughput while handling live streams safely.
- Added precise channel search by YouTube channel ID.
- Increased default download thread count to improve concurrent throughput.
- Live programs are filtered by default and auto-updated after streams end.
Cookie support and account settings refinements
2025-09-19
Improved account settings UX and added cookie configuration to bypass download limits.
- Optimized account settings page interactions.
- Added user cookie configuration support for YouTube download restriction scenarios.
PigeonPod 1.0.0 first stable release
2025-09-18
Initial public stable release of PigeonPod.
- Published the first stable baseline for production adoption and subsequent release cadence.