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.