| Age | Commit message (Expand) | Author |
| 2026-10-20 | Let the listener validate or invalidate a detected break from a popup | Peter Stone |
| 2026-10-19 | Replace the skip readout rows with three numbers and tappable marks | Peter Stone |
| 2026-10-17 | Treat a rejected skip-server token as permanent, not a reason to wait | Peter Stone |
| 2026-10-17 | Wait for the server's copy instead of silently taking the publisher's | Peter Stone |
| 2026-10-17 | Refresh skips with bounded concurrency, not one at a time | Claude |
| 2026-10-16 | Refresh skips on feed refresh, without stamping server offsets onto publisher... | Peter Stone |
| 2026-10-16 | Add a toggle to play ad breaks at 3x instead of skipping them | Peter Stone |
| 2026-10-14 | Name each break instead of calling all of it advertising | Peter Stone |
| 2026-10-14 | Skip advertising always and the show's own audio by preference | Peter Stone |
| 2026-10-14 | Keep the kind the server sent | Peter Stone |
| 2026-10-14 | Give a stored break its kind | Peter Stone |
| 2026-10-08 | Play episodes whose enclosure is still cleartext http | Claude |
| 2026-10-06 | Follow the data: detect the advertising, not the intro | Peter Stone |
| 2026-10-05 | Move skip detection to a server, and find that it detects ads | Peter Stone |
| 2026-10-05 | Find why Tier 3 never confirmed, and port detection to Go | Peter Stone |
| 2026-09-29 | Protect a show's Tier 3 pending episode from retention reclaim | Peter Stone |
| 2026-09-29 | Start shared timestamps playing, and stop the feed clobbering real lengths | Peter Stone |
| 2026-09-28 | Correct durations from the file, and make the notification open the app | Peter Stone |
| 2026-09-28 | Keep bedtime shows out of the car, and midroll clips out of the database | Peter Stone |
| 2026-09-28 | Bedtime shows, dimmed caught-up shows, a show menu, and skip visibility | Peter Stone |
| 2026-09-26 | Extend Tier 3 fingerprinting to midroll ad breaks | Peter Stone |
| 2026-09-26 | Tier 3 skip detection: audio fingerprinting, prototyped and built | Peter Stone |
| 2026-09-26 | Hide played episodes, and hand off to the video at the right moment | Peter Stone |
| 2026-09-26 | Skip marked breaks by default, and drop the instrumented-coverage half | Peter Stone |
| 2026-09-26 | Name a shared video from the extractor when its page will not | Peter Stone |
| 2026-09-26 | Exclude framework adapters from coverage | Peter Stone |
| 2026-09-26 | Seed the default filters on a fresh install too, not only on upgrade | Peter Stone |
| 2026-09-26 | Facebook videos, and a muxed fallback so they can be fetched at all | Peter Stone |
| 2026-09-26 | Rank shows by what is still waiting, and seed the trailer filters | Peter Stone |
| 2026-09-26 | Download anything that joins the queue, straight away | Peter Stone |
| 2026-09-26 | Fetch yt-dlp sources before playing them, and stop losing errors | Peter Stone |
| 2026-09-25 | Advance the queue from the service, not from the activity | Peter Stone |
| 2026-09-25 | Simple skip: manual offsets and chapter-marked breaks | Peter Stone |
| 2026-09-25 | Slow drip: work through an archive a few episodes at a time | Peter Stone |
| 2026-09-25 | Auto-queue rules: decide what happens to an episode as it arrives | Peter Stone |
| 2026-09-25 | Add single videos, make the whole episode row tappable, stamp the build | Claude |
| 2026-09-24 | Fix YouTube subscriptions, headphone skip, and NPR show names | Claude |
| 2026-09-23 | Add artwork, a real player screen, and queue drag-reorder | Peter Stone |
| 2026-09-21 | Android Auto support, and give the car its skip-forward button | Claude |
| 2026-09-21 | Notification seek buttons, and resolve redirects to the real feed URL | Claude |
| 2026-09-21 | Fix a queue bug that deleted episodes, and delete dead DAO methods | Claude |
| 2026-09-21 | Icon actions, dark-only theme, real media metadata | Claude |
| 2026-09-21 | Actually resolve shared links, and guard against dead code | Claude |
| 2026-09-21 | Playback controls, background workers, settings | Claude |
| 2026-09-21 | UI, wiring, and an end-to-end test against a real feed | Claude |
| 2026-09-21 | Episode downloads, with the YouTube path kept separate | Claude |
| 2026-09-21 | Playback: position persistence, completion rules, sleep timer | Claude |
| 2026-09-21 | Subscription resolution, OPML, queue ordering, retention | Claude |
| 2026-09-21 | Data layer: schema, episode matching, conditional-GET refresh | Claude |
| 2026-09-21 | Embed yt-dlp via Chaquopy instead of shelling out to Termux | Claude |