Changelog
Changelog
What changed in each release of Feeds, newest first.
The help docs and changelog content is AI-written.
1.15.3
2026-08-18
Improved
- Hardened the app bundle. Additional protections against Feeds being used to run code other than its own.
Fixed
- Titles and previews no longer show
&and'. Feeds now decodes HTML entities in titles, bylines and article previews, so a headline written with an ampersand or a curly apostrophe reads the way its author wrote it. - Feeds identifies itself when it fetches. Some sites refused or throttled requests that did not say what was asking; Feeds now names itself on every one.
1.15.2
2026-08-17
Fixed
- The article list no longer empties itself. Changing view, or typing in a note, could leave the list reading “Nothing here.” with a count of 0 over a shelf that held articles, and nothing brought them back until something else made the view reload. Several queries run at once in normal use, and the last answer to arrive was winning rather than the one that had been asked for.
- A paid newsletter on its own address is recognized as signed in. Publications that keep your session on
www— most of the ones on their own domain — stayed at “Not signed in” however many times you signed in. The session was being found and used correctly when fetching; only the answer shown in Settings was wrong. - Signing in fetches the posts already in your library. Marking a publication re-opened its stored posts, but that had to happen before the sign-in window opened, so an ordinary refresh in between could close them again and nothing tried a second time. Marking and signing in both re-fetch now, and they start straight away rather than waiting for the next scheduled refresh.
- Subscriber-only posts are found when they are re-fetched. The check that recognizes a post as one of them ran against the article text, where a publisher’s subscribe wall does not appear.
Changed
- An article’s cover runs the full width of the window, in the reading pane as well as in Full View.
1.15.1
2026-08-15
Fixed
- Newsletters on their own domain can be signed in to. A publication on its own address keeps your session there, so each publication you mark has its own Sign in… button, pointed at its own site.
- Sign out everywhere works while a sign-in window is open.
- Embedded players are named. A video or track is announced by the publisher’s own title, the name a screen reader reads out and the tooltip shows.
Changed
- A new app icon, and it can no longer be recolored. The three color wells and Reset are gone from Settings → Appearance.
- Show today’s time and Words per minute moved from Settings → Feeds to Settings → Reading, with the rest of the reading settings.
1.15.0
2026-08-13
New
- The newsletter posts you pay for can be read in full. In Settings → Reading → Paid subscriptions, sign in to the publisher and tick the publications you subscribe to. Those posts are then fetched with your session and arrive whole.
- Free posts are unaffected. Every article is fetched anonymously first, and a session is only tried after a post turns out to be a wall.
- Your session goes to one publication at a time. Cookies are sent only to the address of the post being read, and only when that post’s own feed is one you ticked. Feeds never handles your password: the sign-in form is the publisher’s own page, in a window that holds no connection to the rest of the app.
- Sign out everywhere is in the same place, and clears every publisher cookie the app holds.
- Embedded players play in place. A YouTube, Spotify, Vimeo or SoundCloud embed in a post is the player itself rather than a link to it. Anything else is a labeled link. Nothing is fetched from those four until the post is on screen, and turning off Load remote images in Settings → Reading stops them being fetched at all.
Fixed
- A cleared Inbox shows the photograph as soon as it clears. Archiving the last article empties the list and the count behind it together.
1.14.5
2026-08-12
New
- Subscriber-only posts can stay in the Inbox. Settings → Reading offers a choice: archive them, as before, or leave them in the Inbox. Either way they are recognized and marked paid.
- The Add feed button is labeled. The sidebar’s “+” reads Add feed.
- What’s New is in the Help menu. Help → What’s New (Changelog) opens this page.
Fixed
- The article list holds still when you change view. The row above the list keeps to one line at any column width from 363px up, whatever the number of articles in the view.
Changed
- The cleared-Inbox tint and blur sliders are in Settings → Appearance, moved from Settings → Feeds.
1.14.4
2026-08-12
Fixed
- Buttons and controls in Settings follow dark mode. Plain buttons, the dropdowns and the two sliders take the app’s own styling.
- The keyboard cheat sheet lists every shortcut once.
⌥⌘Sand⌥⌘L— hide the sidebar, hide the article list — are named,⌘Kis called the action bar as it is everywhere else, and Email’s⇧⌘Malias is listed.
1.14.3
2026-08-12
Fixed
- The row above the article list wraps at narrow widths. Inbox, Saved, Archive and Notes, plus the count and the sort control, move onto a second line when the column is narrow.
- A cleared Inbox shows the photograph, not chrome describing an empty list. The view buttons, the count and the sort control are gone from that view. The search field stays — it reaches every view, not just that one — and has enough contrast to read over any picture, with room above it.
New
- Sorting is in the View menu. All five orders, alongside the dropdown above the list.
1.14.2
2026-08-12
New
- Reading stats.
⌘K→ “Reading stats”, or Help → Reading Stats. How much you got through — read, cleared, saved, notes written, words and time — over today, the last seven days, the last thirty, this year and all time, with your most-read sources, your busiest day and your average article length. No streak and no target. - Reading time is measured, not guessed. A clock runs while Feeds is in front of you and in use — it stops when the window loses focus, when the Mac sleeps, and after a minute and a half of no input. It never leaves your Mac, and what’s kept is a single total per day, not a record of when you read.
- Today’s time in the sidebar. Off by default; turn it on in Settings → Reading. The clock runs either way, so switching it on later finds the time already counted.
- The cleared-Inbox panel can be adjusted. When the Inbox is empty the photograph fills the window, and two sliders in Settings → Reading decide how much of it the article column hides — tint from see-through to solid, and blur from clear glass to frosted. It starts light and unblurred.
Fixed
- Notes is in the tab row above the article list, alongside Inbox, Saved and Archive — the same control as the sidebar, in a different place.
1.14.1
2026-08-11
New
⌘4goes to Notes. Notes sits at the end of the sidebar, after Archive, so the number matches the row it belongs to.⌘1,⌘2and⌘3are unchanged: Inbox, Saved and Archive.g nstill works.- Emailing an article you’ve noted sends the note with it. Your note leads the message, then the link. The subject carries the title.
Fixed
- Notes stay in Notes. A note of your own is in Notes and not in the Inbox or the Archive, and is still found by search and by tag.
- Escape leaves the note and keeps what you wrote. It saves and puts you back in the list where you were.
Improved
- The note editor is clearer to read and to write in. It is set as a panel with a single accent edge, stays out of the way until you’re using it, and says “Saved” for a moment after each write, since there is no Save button. A note you’ve already written opens at its full height.
1.14.0
2026-08-11
New
- Notes. A fourth place in the sidebar, next to Inbox, Saved and Archive. Write a note on any article — press
n, or use the line above the piece — and the article appears in Notes. It stays wherever else it was. - Notes that aren’t about anything.
⌘⇧Nstarts a note of its own, with no article attached. Its first line becomes its title, so there is nothing to name before you start. They live alongside everything else — search finds them, tags work on them, they export and print. - Nothing to save. Notes write themselves as you type. There is no Save button.
- A note is safe. Notes are never removed by the storage settings, whichever kind they are, and a note you wrote is the only thing in Feeds that can be deleted outright — which it asks about first, and only for a note standing on its own.
g ngoes to Notes. Everything above is in⌘Kand on the?sheet.
1.13.2
2026-08-10
Fixed
- A page from a site that blocks readers is saved as a link. Some publications will not serve their pages to anything but a browser. One of those is kept with everything else, turns up in search, and opening it names the site that refused and offers to open the page in your browser. A page that genuinely no longer exists still says so.
1.13.1
2026-08-07
New
- Share, email and copy an article from the end of it. The bottom of a piece carries the macOS share sheet, an email handoff, and the link. Nothing is sent by Feeds itself.
Fixed
- A feed’s trouble is reported in its tooltip. A single failed refresh doesn’t mark a feed, and the tooltip says why when something is genuinely wrong.
1.13.0
2026-08-06
New
- The browser button is on the Chrome Web Store. One click from Settings → Browser, and it keeps itself up to date. Works in Chrome, Brave, Edge and Arc.
- An article opens on its cover. The picture fills the top of the page, with the publication, date, byline and headline on it.
Fixed
- Covers keep the shape they were shot in. A lead image too tall or too wide to fit the band is shown whole against a blurred backdrop.
- Articles show the fuller text. When a publication sends the full piece in the feed and also publishes a page Feeds reads badly, the longer version wins.
- Articles open on the story. A section badge such as “In Brief”, the word “Posted:” and a duplicate timestamp are kept off the top of the piece.
1.12.1
2026-08-04
New
- Subscriber-only posts stay out of the Inbox. Some newsletters send every post to everyone, and the ones you haven’t paid for arrive as a headline, a sentence or two, and a subscribe button. Those go straight to the Archive, marked paid. They stay in their feed and in search. Turn it off in Settings → Reading.
- An article has an ending. A line at the end carries the source, the date and a link to the original.
Fixed
- Author headshots read as bylines. A face served from an avatar service, or that a site itself asks for at thumbnail size, is recognized as the byline picture rather than shown full width above the article.
1.12.0
2026-08-04
New
- A cleared Inbox has something to look at. Reaching the end of your Inbox shows a photograph — a different one each day, thirty-one of them, all landscapes. They live inside the app and are never fetched. No counter and no streak.
- “What’s new” opens the changelog. The link in the update notice, in ⌘K and in Settings goes to the Feeds changelog. Newest is first.
Fixed
- Photographs sit properly on the page. Pictures have room around them and sit in the middle of the page, whatever their width.
- Only the article’s own content is shown. The decorative line some publishers repeat between sections, which arrives as a full-width picture of a line; a stray
--:--clock left behind when a post’s audio player is removed; and the author’s headshot at the head of the piece are all left out. - Photo credits read properly. The label and the name are separated by a space.
- Headlines break cleanly. A title ending in “Plus . . .” keeps its full stops on the line with the words.
- The byline names the publication once, where a feed gives the publication as the author.
1.11.0
2026-08-03
New
- Substack’s own videos play where you’re reading. The feed carries no video and no address, only a note saying one belongs there, so Feeds looks the video up and plays it in place. Nothing is fetched until you press play.
- A cleared Inbox gets its own view. Reach the end of your Inbox and the reading pane shows a full-bleed view instead of “Select an article”. No counter, no streak, nothing asking you to come back.
Fixed
- Articles no longer open on a stretched icon. A topic glyph, a logo or the author’s avatar sent where a photograph should be is shown whole rather than cropped to fill the column.
- Photo captions read as captions, in their own type rather than the article’s.
- Images sit at the right size and hold their place. A picture matches the width of the text around it, the page doesn’t shift when a slow one arrives, and photos are sharp on a Retina screen.
- Embedded video and documents leave a labeled link to the original when the embed can’t be shown.
1.10.4
2026-08-03
Fixed
- The “Feeds updated to…” notice can be dismissed. Its × and its “What’s new” button respond, and the notice clears the traffic lights when the sidebar is collapsed. Every bar that appears in that spot — update available, update ready, a stale check — behaves the same way.
1.10.3
2026-08-02
New
- A contents page in multi-article eBooks. Export a selection and the book opens on a list of everything in it, each entry a link, with the source under the title. Every article ends with “Return to contents”. A single-article export doesn’t get one.
- The command bar has icons. Every command carries one, and its shortcut or description sits under the label.
Fixed
- The sidebar and article-list buttons respond to clicks.
- A word that is also a search operator can be searched for.
"AND"in quotes, or a word glued to punctuation, returns results rather than a syntax error. - Fetching a site’s icon can’t freeze the app. Icons are collected in the background on every launch, whatever the site’s home page contains.
- Sharing a pack refuses more kinds of private address. The check that stops a personal feed URL being published in a shared pack covers compound names, which is where some personal feeds carry their key.
Changed
- Update checks no longer carry a per-install identifier. The updater was issuing each copy of Feeds a permanent id and sending it to GitHub on every check, around two dozen times a day. It exists for staged rollouts, which this app doesn’t use.
1.10.2
2026-08-02
Fixed
- The browser button can be set up. The folder the app writes carries the icon a browser requires, so Load unpacked accepts the extension. If you tried on an earlier version, set it up again from Settings → Browser.
- The toolbar icon matches the buttons beside it. It is drawn from the app’s own artwork, in the icon colors you’ve chosen.
1.10.1
2026-08-01
Fixed
- The browser button opens Feeds. Save and Subscribe hand the page’s address over from the page itself.
Chrome asks once whether to let the page open Feeds. Tick “Always allow” and it stops asking.
If the button is already set up, replace it: Settings → Browser → Set up…, then reload the extension on chrome://extensions.
1.10.0
2026-08-01
New
- A Feeds button for your browser. Click it on any page and choose: save the article to read later, or subscribe to the site. Works in Chrome, Brave, Edge and Arc. Set it up from Settings → Browser — the app writes the extension out, opens the folder, and lists the three steps.
Nothing is sent anywhere. The button hands the page’s address to Feeds on this Mac, which fetches it exactly as it would if the address were pasted in by hand. It can see the address of the tab you press it on, and nothing else — no browsing history, no other tabs. Subscribing opens the Add screen with the site filled in, so nothing is ever added without being seen.
Fixed
- The column buttons work.
- American spelling throughout.
1.9.4
2026-08-01
New
- The article list collapses too, leaving the reading column on its own. ⌥⌘L, View → Hide Article List, or ⌘K.
- Buttons for both columns, top-left of the window, so hiding and showing them doesn’t require knowing a shortcut. They stay reachable whichever columns are hidden.
Changed
- Inbox, Saved and Archive show one at a time, as tabs.
1.9.3
2026-08-01
New
- The sidebar collapses. ⌥⌘S, View → Hide Sidebar, or ⌘K → “hide sidebar”, for a wider reading view. It stays hidden until you bring it back.
- The three columns can be resized. Drag either divider; double-click one to restore its default. Arrow keys work when a divider has focus. Widths are remembered.
Improved
- Unread articles carry a dot. An article counts as read once it is opened in full view or scrolled — not merely passed over on the way down the list.
- One shelf for what you keep. Articles saved by URL appear in Saved with everything else, instead of a separate Read Later view. Existing clippings move across on first launch.
Fixed
- Sharing a pack refuses to publish a feed’s private address. A personal feed URL can carry a token in it; a pack carries feed addresses as they are. Sharing names any feed that would leak one and declines until it is removed.
- The packs screen can be left. Choosing Inbox, a feed or a tag while browsing all packs goes there.
1.9.2
2026-07-31
Fixed
- Updates apply themselves again. Copies past the 1.8.0 identity change take ordinary in-app updates rather than a fresh download each time.
1.9.1
2026-07-31
Fixed
- The starter packs show their icons. Digital Minimalism, The Great Outdoors and Writers with Ideas arrive with their tiles.
1.9.0
2026-07-31
New
- Three starter packs, newly curated: Digital Minimalism, The Great Outdoors, and Writers with Ideas — offered on first launch and browsable any time from the packs screen.
- Icons for packs. A pack’s tile can carry a monochrome line icon — sixty-six of them, matched to the kinds of things packs are about — chosen from the same picker as the emoji. A shared pack shows an emoji on older versions.
Improved
- Fields and menus look like one app. Inputs are filled rather than outlined, focus is one accent ring everywhere, and dropdowns — including the sort control and the pack source picker — draw in the app’s own style instead of the system’s.
- YouTube’s outages stay off the sidebar. YouTube’s feed service fails briefly and often, industry-wide; a channel is marked as trouble only after three refreshes in a row fail.
- Searching by a publication’s name is faster in large libraries.
1.8.0
2026-07-30
Installing this version from an earlier one takes a one-time download — the update notice in the app offers it with a button. Feeds, articles, settings and the license all carry over untouched.
New
- Packs can change their sources. The Edit dialog lists a pack’s feeds with a remove control and a picker for adding from subscriptions — up to five, with the count shown. Changes apply on Save; Cancel leaves the pack as it was.
Changed
- Feeds is published under the Brooding Jay identity. The app’s internal identifier matches its publisher. This is the change that requires the one-time download above; it changes nothing about how Feeds works. Links and shared pack files re-register with macOS on first launch, and the window opens in its default position once.
1.7.2
2026-07-30
Fixed
- The next major update installs through a one-time download, and Feeds says so. A coming release changes the app’s identity in a way macOS will not apply automatically. The update notice, the Feeds menu and ⌘K show a Download button that fetches the new version from the releases page. Feeds, articles, settings and the license all carry over.
1.7.1
2026-07-30
Fixed
- The icon’s border is even. macOS trims every app icon to its own shape, and the artwork matches that shape exactly, so nothing is cut.
1.7.0
2026-07-30
New
- Pinned feeds. Pin any source — RSS, YouTube, Substack, Reddit, Bluesky — and it appears in a Pinned section above everything, as well as in its own section. Pin and unpin from the command bar (⌘K, type “pin”).
- Bluesky accounts show their owner’s face. An account’s icon — in the sidebar and on its posts in the list — is the profile picture.
- Everything is reachable from ⌘K. About Feeds, Check for Updates, Install Update, Email Support, the release notes and a security report all answer to the command bar.
Improved
- Install Update names the version it will install — in the Feeds menu and in ⌘K — once one is downloaded.
- Adding a Bluesky or Reddit address explains itself. If those sections are switched off in Settings, the Add screen says that is why the feed will be added as ordinary RSS.
Fixed
- Bluesky and Reddit sections appear for everyone. A choice made in the current Settings screen sticks, and a stored answer from an earlier version — which could record those switches as off without being asked — is cleared once.
1.6.0
2026-07-30
New
- A short note after an update, naming the new version with a link to its release notes. It appears once, above the article list.
- Install Update Now in the Feeds menu, always available. It installs a downloaded update, or checks for one and says so if there is nothing waiting.
- A Help tab in Settings, with the support address and a link to the release notes for the running version.
Improved
- Updates install whether the app is quit or restarted. Feeds waits until macOS has taken the update before offering it, so either route applies it.
- Checking for updates reports what it is doing. Choosing Check for Updates shows the check and the download.
- Update checks run hourly rather than daily.
Fixed
- A downloaded copy installs without a security warning. The disk image is notarized by Apple in its own right, not only the application inside it.
- Support is reached at support@broodingjay.com, linked from Help, Settings and About Feeds.
1.5.0
2026-07-30
New
- Bluesky accounts have their own place in the sidebar. Social is on by default, and the accounts you already added move into it — switching it off puts them back.
- Posts read as posts. A Bluesky post has no title, so the post itself is the line you read in the list, and an opened post starts with the post rather than a placeholder.
Fixed
- Feeds identifies itself when fetching. A request with no name looks like a scraper, and sites that turn those away can now be added.
- The update notice points at the button that always works, rather than at restarting.
1.4.1
2026-07-30
Fixed
- Add feed confirms a domain is a Substack before suggesting one. The last guess it makes when it can’t find a feed at the address you gave it is checked rather than taken from the name. Subreddit addresses resolve on their own.
- Each picture appears once. Sites that load images lazily send each one twice — a real copy and a fallback for browsers without JavaScript — and only one is shown. Captioned galleries that genuinely repeat a photograph are untouched.
1.4.0
2026-07-29
New
- About Feeds shows the Brooding Jay mark, along with the version and who publishes the app. The version and copyright lines can be selected and copied for a problem report.
Fixed
- The featured image is shown once. A post’s lead picture is compared with the pictures in the post by what the addresses point at, rather than by the addresses themselves — publishers serve the same photograph at two sizes under two addresses. An article whose lead picture genuinely isn’t in the text still shows it.
Improved
- Pasting an X (Twitter) address into Add feed says why it can’t be read. X removed its feeds and charges for API access. Bluesky publishes a feed for every profile and already works — paste a profile URL.
1.3.0
2026-07-28
New
- Archive everything in this view. ⌘K → Archive everything here, or Article → Archive Everything Here. It names the number it will archive before you press it, acts on the whole view rather than just the rows on screen, and ⌘Z puts it all back.
- Copy an article’s link. ⌘K → Copy article link, or Article → Copy Link.
- Feeds honors “Reduce motion”. If the system setting is on, the animations and the smooth scrolling stop.
Fixed
- Adding a feed waits as long for the address you gave it as it does for a refresh, so a slow feed in a starter pack arrives, and the pack screen says which feeds didn’t make it.
- Adding starter packs shows what it’s doing. It names each feed as it goes, and can be closed with Escape.
- “Deactivate this device” is all or nothing. The seat and the key come off together, and it asks before doing it.
- Your license survives a damaged library. The key is not kept only inside the library file, so replacing a corrupted one keeps the purchase and spends no second activation.
- The license screen can’t lock you out.
- The article list works from the keyboard and reads aloud. It is reachable by Tab and announced by VoiceOver.
- Actions say when they fail. A write that couldn’t land — a full disk, for example — now reports it.
- Ticking an article’s checkbox selects it without opening it or marking it read.
- Importing subscriptions can be stopped, and says which feed it’s on.
- The “can’t check for updates” notice can be dismissed.
- Feeds uses much less memory during a refresh, and one slow or oversized article doesn’t cost the articles queued behind it their full text.
1.2.0
2026-07-26
Fixed
- Articles are stored whole, however long the page.
- Podcast back-catalogs import in full. A show with a few thousand episodes arrives complete, rather than the newest 500 per refresh.
- Your library can’t be set aside by mistake. Feeds runs as a single copy, waits for a busy file rather than giving up, and sets a library aside only when it is genuinely unreadable.
- A long archive says when it is showing the newest 500.
- Sort order is stable. Articles sharing a timestamp keep their order between loads, so the selection stays where it is.
Improved
- The window stays responsive while feeds refresh. Reading an article’s full text is the slowest thing Feeds does, and it happens off the thread that draws the window.
- Refreshes are quicker. Feeds are fetched several at a time, so one slow site doesn’t hold up everything behind it.
- Opening a feed or switching views is lighter. A feed’s icon is sent once rather than carried on every row.
- Importing subscriptions from another reader is fast. A large OPML file is near-instant.
New
- Quotes look like quotes. Quoted passages are set apart from the text around them.
- An article’s featured image appears above it when the article doesn’t already show it. Left out of printing, PDF and EPUB.
- Help → Report a Security Issue, with a stated commitment to reply within a week.
- Feeds says when it has stopped being able to check for updates.
Security
Several fixes to how Feeds handles what a feed sends it. This release tightens the handling of oversized and malformed content, the addresses Feeds is willing to fetch, and what an article can cause the app to request. There is no evidence any of it was exploited, and nothing here needed a change on your part.
An unrecognized response from the license service used to lock a paid copy. It now stays unlocked unless the license is genuinely revoked.
Backfilled for the record. Downloads were not archived to this repository for releases before 1.3.0.
1.1.0
2026-07-25
New
- Feeds updates itself. New versions download in the background and apply on the next restart, with one line above the article list when one is ready.
- Full-text search across everything stored, with operators, backed by SQLite FTS5.
- Read Later: save any article by URL, whether or not you subscribe to its feed.
- OPML import and export, so subscriptions move in and out of other readers.
- Starter packs, offered on first launch and browsable as a grid. Add a source to a pack from the command bar.
- A first-run walkthrough, findable again later from the command bar.
- Keyboard cheat sheet, feed health, reading progress, and duplicate collapsing.
- Every Settings tab is reachable from the command bar.
- eBook export settings: presets per reader, image size and quality, images on or off.
- A 30-day trial, with license activation for the sold build.
Improved
- Settings is tabbed rather than one long scroll.
- Search has its own row, reachable with
/or from the command bar. - EPUB export builds the file in-house instead of shelling out to pandoc and sips — faster, and it removes the last external binaries the app depended on.
- Adding a feed resolves custom-domain Substacks, and fails fast on a dead address instead of hanging.
- The eBook export folder is chosen once and changeable in Settings. Canceling the first prompt aborts the export rather than writing to a folder nobody picked.
- Sidebar icons for Inbox, Saved, and Archive, and a flat app icon that matches between the closed and open Dock states.
- Bundles are called Packs throughout.
Fixed
- Read Later holds articles that exist nowhere else and has no undo, so it can no longer be removed like an ordinary feed.
- Saved articles keep the publication they came from, and stay out of the feed views.
- Several ways a hostile feed could hang the app, or use it to fetch addresses on your own network, are closed.
- Remote images can be turned off, and the setting is honored everywhere.
- Storage is capped at 1 GB.
- Seven correctness bugs, mostly on first run and in bulk actions.
Backfilled for the record. Downloads were not archived to this repository for releases before 1.3.0.
1.0.0
2026-07-22
Initial release.
A macOS RSS reader, sold once. No account, no server, no subscription: every byte stays on your Mac. Subscribe to feeds, read offline, export to EPUB for an e-ink reader, and organize with tags and packs.