2.17.0
PodNotes 2.17.0 turns podcasts into knowledge you can search, query, and revisit: transcripts that know who's speaking, video episodes that play right in your vault, a notes system built for Obsidian Bases, and a player you can drive entirely from the keyboard and your headphones.
Highlights
- 🎙️ Speaker diarization — transcripts that label who said what, with your choice of OpenAI or Deepgram.
- 🎬 Video episode playback — watch video podcasts and local video files in the player, fullscreen included.
- 🗂️ Bases-ready notes — a structured default note template, podcast feed notes, and
{{chapters}}so your library is queryable out of the box. - ⏱️ Segment links — capture the last 10 or 20 seconds as a link that replays that exact clip and stops at the end.
- ⌨️ Hands-free control — playback-speed commands, headphone-button timestamp capture, a left-ribbon icon, and a queue you can reorder.
- 📱 Mobile fixes — local files and downloads finally play on iOS, downloads no longer crash Android, and startup is far more reliable.
Player
- Watch video episodes right inside PodNotes. Video podcast feeds and local video files (
.mp4,.m4v,.mov,.webm,.ogv) now play in a built-in video player with all your usual controls, timestamps, speed, volume, queue, and saved progress — plus a fullscreen button that also works on iOS. (#209, #215; closes #78, #214) - Capture playback segments, not just single moments. New Capture Last 10 Seconds and Capture Last 20 Seconds commands insert a link to a start–end range. Click it and PodNotes reopens the episode, jumps to the segment start, plays, and pauses automatically at the end — perfect for replaying an exact quote. No audio is extracted, so it works with no external dependencies. Adds the
{{segment}}and{{linksegment}}timestamp tags. (#205) - Control playback speed with hotkeys. New Increase / Decrease / Reset playback rate commands adjust speed in 0.1× steps (between 0.5× and 4×) or snap back to your configured default — no need to reach for the slider. (#206; closes #89, #92, #95)
- Capture timestamps hands-free. Add Capture Timestamp to Obsidian's mobile editor toolbar, or press the previous-track button on your headphones to drop a timestamp while you listen — into your open note, or appended to the episode note if you don't have one open. (#206)
- Long titles stay tidy. The player now eases the episode-title font size down as titles get longer, so short titles stay comfortably large and long ones no longer dominate the pane. (#202; closes #81)
- Live chapter highlighting. The chapter list now highlights the chapter you're currently in as playback advances and follows the chapter you click, instead of being stuck on the first one — and it no longer flashes a previous episode's chapters when you switch. (#215; closes #214)
- Your place is saved continuously. Playback position is now persisted while you listen — not only when you close the player — so episodes resume where you left off even if the app is killed in the background or quit abruptly. (#190; closes #33)
- No more stuck progress bar. Fixed a glitch where the progress bar briefly stayed pinned at 100% (showing the previous episode's end time) when the queue auto-advanced to the next episode. (#194; closes #94)
- Timestamp links handle
+correctly. Links now open and resume episodes whose title or file path contains a literal plus sign (e.g. "C++ Tips"), which previously failed silently when clicked. (#181; closes #164)
Notes & Templates
- A Bases-friendly default note template. Fresh installs get structured, queryable episode notes out of the box, and Create episode note works the moment you install PodNotes (it used to be disabled until you wrote your own template). Every note carries clean
type/podcast/date/status/rating/favoritefrontmatter that Obsidian Bases can sort, filter, and group on — and your customizations are always preserved across updates. (#201; closes #160) - Podcast feed notes. Create a single parent note for an entire show with the new Create podcast feed note command (or from an episode's right-click menu). Episode notes link back to their show automatically via the new
{{podcastlink}}tag, so you can build clean Bases / Dataview rollups and pivot from a feed note to all of its episodes. Adds the{{episodeurl}},{{episodeartwork}},{{feedurl}}, and{{feedartwork}}tags. (#187; closes #163, #161) - Drop the episode's chapters into your note. The new
{{chapters}}tag renders the episode's chapters — pulled from Podcasting 2.0 feed data — as a clean, timestamped Markdown list. (#207; closes #47) - A one-click "Resume in PodNotes" link. The new
{{episodelink}}tag drops a link into any note that reopens the episode in the player and picks up exactly where you left off. The resume position is resolved at click time, so the link always jumps to your latest spot. (#193; closes #35) - Three more template tags.
{{currentDate}}for a "captured on" date,{{episodeNumber}}for sortable / zero-padded note names, and{{duration}}for the episode's runtime in your choice of format. (#189; closes #75, #34, #88) - Capture timestamps inside tables. Capturing a timestamp while your cursor is in a Markdown table cell now lands the text in the right cell and keeps the row intact — even for tables nested in callouts or blockquotes. (#203; closes #165)
- Notes for very long titles save reliably. PodNotes now caps the note path length safely and hardens folder creation, fixing silent note-creation failures for episodes with very long titles. (#192; closes #22, #87)
- Documented the
{{stream}}tag, which resolves to an episode's direct media URL for embedding the raw audio/video or linking to the source. (#196; closes #120, #121)
Transcripts
- Speaker diarization. Transcripts can now label who said what, turning a wall of text into a readable, speaker-by-speaker conversation. It's opt-in, and you choose the provider: OpenAI (
gpt-4o-transcribe-diarize) reuses the API key you already have, while Deepgram keeps speaker labels consistent across an entire long episode. Customize the prefix with the{{speaker}}token in the Speaker label format setting. Off by default, so existing transcripts and the plain-Whisper workflow are unchanged. (#204; closes #168) - Read transcripts from your own macros. The PodNotes API now exposes generated transcript text, so workflow plugins like QuickAdd and Templater can feed a transcript straight into your own AI summarization macro — no copy-paste. (closes #105)
- Always transcribe the right episode. Transcribe current episode now always uses the currently playing episode's own audio, fixing cases where another downloaded file could be transcribed by mistake. (#182; closes #107)
Downloads & Local files
- Downloads work out of the box. Episode downloads now save to a sensible per-episode location by default (
PodNotes/{{podcast}}/{{title}}), so the Download command works the first time instead of writing a hidden file and then failing. Existing custom paths are preserved. (#186; closes #183) - Downloads appear in Local Files. Episodes you download now show up in the Local Files playlist alongside files you opened with "Play with PodNotes", and removing a download cleanly removes it from the list too. (#177; closes #176)
- More reliable downloads. Downloads no longer crash Obsidian on Android, automatically create any missing folders in your save path, and stop mangling titles like "Episode 1.5". Error pages served at a media URL are now rejected instead of being saved as fake audio, and the progress notice always dismisses. (#178, #213; closes #113, #86)
- Older episodes load again. Opening a podcast (or the Played view) now loads the full feed instead of being silently capped at the most recent 75 episodes. (#175; closes #174)
- Correct feed artwork. A show with no channel image no longer borrows one of its episode's images as its feed artwork. (#213)
Mobile
- Local files and downloads finally play on iOS. On iPhone and iPad you can now play downloaded episodes and local audio files, not just streamed ones — offline listening previously failed silently because of how iOS handles in-memory media. (#184; closes #100)
- No more Android download crashes. Downloading an episode no longer crashes Obsidian on Android, and downloads to nested/templated paths create the folders they need. (#178; closes #113, #86)
- Reliable startup. PodNotes now stays dormant during Obsidian Mobile launch (a known crash trigger) instead of auto-opening its pane, and wakes instantly when you open it via Show PodNotes, the ribbon icon, a PodNotes link, or "Play with PodNotes". Your saved layout is left untouched. (#208; closes #110)
- Reach every episode's menu by tap. Every episode now has a More options button, so you can open its menu (download, add to queue / favorites / playlists) on mobile by tapping — not just by right-clicking. (#215; closes #214)
Settings & Queue
- Import & export your setup. Move PodNotes between vaults or back it up from one screen: export your settings, templates, file paths, saved feeds, and playlists as a single portable file, and import it elsewhere without touching that vault's playback progress or downloads. API keys stay put unless you explicitly opt in. (#180; closes #162)
- Reorder the playback queue. Resequence the queue by moving episodes to the top, up, down, or bottom from the player's context menu, or from a new Reorder Queue window that works the same on desktop and mobile. (#179; closes #80)
- Turn off automatic queueing. Prefer to drive the queue yourself? A new setting stops episodes from auto-queueing when you switch and stops playback from auto-advancing, leaving the queue as a purely manual playlist. (#185; closes #108)
- Choose how deep your episode list goes. A new Latest episodes per podcast setting controls how many recent episodes each show contributes to the Latest Episodes list — and how far back searching from that list reaches. (#200; closes #114)
- Visible Add / Remove buttons on iPad. Podcast-search and playlist buttons now show clear "Add" and "Remove" labels that always render, fixing the empty, untappable boxes that appeared on iPad. (#195; closes #109)
Reliability & polish
- A discoverable, reliable view. PodNotes now adds a podcast icon to the left ribbon, and the Show PodNotes command always reopens and reveals the pane — even when it's hidden in a collapsed or overcrowded sidebar. (#199; closes #55)
- "Play with PodNotes" always shows the player. Playing a local file now reveals the player pane instead of silently playing to a hidden view. (#198; closes #84)
- Clearer feedback everywhere. Invalid feed URLs, failed searches, and load errors now surface a clear notice instead of failing silently; Refresh actually re-fetches all your feeds; Transcribe, Capture Timestamp, and Reload PodNotes now explain what happened instead of doing nothing. (#215, #213; closes #214)
- Smarter queue and playlists. Playlist tiles show their name next to the count, new playlists reject empty / duplicate / reserved names, and same-titled episodes from different podcasts are no longer confused for one another when resuming or cleaning up playlists. (#215)
- Skip works while paused, a forward skip stops just short of the end instead of auto-advancing, and copying a universal episode link resolves the right show by feed URL and reliably writes to the clipboard. (#213)
Under the hood
- Reworked the plugin's internals — declarative persistence, split "god-modules", and a pure store with no vault I/O — for better reliability and maintainability, with no change to behavior. (#211, #212)
Install/update from the Obsidian Community Plugins store, or grab main.js + manifest.json from the assets below.