NetNewsWire Blog

You heard it here first.

NetNewsWire for Mac icon: globe with a satellite in the foreground.

NetNewsWire 5.0.4b1 for Mac: Retention Policy Update and Performance Enhancement

Check for updates, or download the latest.

Changes since 5.0.4d2

Changed the retention policy to match iOS

Performance enhancement: fetching articles is faster and uses less memory

NetNewsWire 5.0.4d2 for Mac: Misc. Fixes

Check for updates, or download the latest.

Changes

Feeds view: fixed bug where multiple sequential deletes could mess up the current selection index

Article view: dealt with Twitter change that caused Twitter embeds to get cut off

Article view: properly size emojis that are actually graphics (from Wordpress, for instance)

Article view: stop playing any audio if the window is closed

Article view: don’t let line lengths get too long

Article view: fixed display of BandCamp widgets

OPML export: use an accessory view instead of an intermediate sheet

Add Folder: disable Add Folder button when text field is empty

Feed icons: get more icons from Feedbin; get favicons from some tricky cases

Add Feed: now allows IPv6 literal URLs

Feed discovery: give less weight to feeds with the word “podcast” in them, because they’re probably not what we want

Refreshing: fixed bug where automatic refreshing might not happening after the computer wakes from sleep

Preferences > Accounts: Renamed “Create” account button to “Add Account”

Fixed bug where a Feedbin article could stay unread right after you select it

Fixed bug where folder names with double quotes would have the quotes replaced with the HTML entity for quote

When importing from NNW 3, the app now ignores script feeds (since we don’t have that feature yet)

Fixed bug where, right after initial launch, the spacebar might not work to go to next unread article

Pressing return now opens the selected article in your browser

NetNewsWire 5.0.2 for iOS

NetNewsWire 5.0.2 for iOS is up on the App Store. Enjoy!

Changes since 5.0.1:

  • Feeds view: Fixed a bug where marking a feed as read then quickly tapping on another feed could navigate to the wrong feed.
  • Feeds view: fixed bug where feeds that should be hidden by filter weren’t getting hidden fast enough
  • Timeline: VoiceOver reads “unread” before each unread item
  • Timeline: Mark All as Read confirmation is now an action sheet rather than an alert
  • Timeline: fixed bug using trackpad two-finger swipe to toggle read status (in some contexts)
  • Timeline: canceling a search didn’t repopulate the timeline as it should have. Now it does.
  • Article view: deal with recent Twitter change where Twitter embeds could be cut off
  • Article view: mailto links now open the Mail compose sheet
  • Article view: fixed bug where saved scroll position in article could be applied when it shouldn’t be
  • Article view: space bar advancement in the article view works more like it does in Safari
  • Sharing: now sends title along with the URL when sharing to Buffer
  • Feedly: retrieve new token from Feedly after expiration
  • Feedly: fixed a bug where sometimes removing a feed with Feedly doesn’t work. (We think we’ve fixed it, but we couldn’t reproduce it, so we’re not positive.)
  • Keyboard: Cmd-, brings up settings
  • Keyboard: Shift-cmd-R now shows the Reader view
  • Keyboard: Shift-cmd-S now hides the sidebar
  • Keyboard: Cmd-I now brings up the Info pane
  • Keyboard: shortcut for Mark All as Read now works when feeds list has focus
  • Keyboard: return key opens current article in in-app browser (SFSafariViewController)
  • Notifications: now grouped by feed
  • Notifications: now waits to ask for Notifications permission until user toggles a feed to notify about new articles
  • NetNewsWire now appears in Firefox’s share menu

NetNewsWire 5.0.2 for iOS: New Public TestFlight (Build 48)

If you haven’t signed up for testing, see this page for instructions.

Changes since 5.0.2 build 47:

  • Feeds view: restored Mark All as Read command for accounts

NetNewsWire 5.0.2 for iOS: New Public TestFlight (Build 47)

If you haven’t signed up for testing, see this page for instructions.

Changes since 5.0.1:

  • Feeds view: Fixed a bug where marking a feed as read then quickly tapping on another feed could navigate to the wrong feed.
  • Feeds view: fixed bug where feeds that should be hidden by filter weren’t getting hidden fast enough
  • Timeline: VoiceOver reads “unread” before each unread item
  • Timeline: Mark All as Read confirmation is now an action sheet rather than an alert
  • Timeline: fixed bug using trackpad two-finger swipe to toggle read status (in some contexts)
  • Timeline: canceling a search didn’t repopulate the timeline as it should have. Now it does.
  • Article view: mailto links now open the Mail compose sheet
  • Article view: fixed bug where saved scroll position in article could be applied when it shouldn’t be
  • Article view: Space bar advancement in the article view works more like it does in Safari
  • Sharing: now sends title along with the URL when sharing to Buffer
  • Feedly: retrieve new token from Feedly after expiration
  • Feedly: fixed a bug where sometimes removing a feed with Feedly doesn’t work. (We think we’ve fixed it, but we couldn’t reproduce it, so we’re not positive.)
  • Keyboard: Cmd-, brings up settings
  • Keyboard: Shift-cmd-R now shows the Reader view
  • Keyboard: Shift-cmd-S now hides the sidebar
  • Keyboard: Cmd-I now brings up the Info pane
  • Keyboard: shortcut for Mark All as Read now works when feeds list has focus
  • Keyboard: return key opens current article in in-app browser (SFSafariViewController)
  • Notifications: now grouped by feed
  • Notifications: now waits to ask for Notifications permission until user toggles a feed to notify about new articles
  • NetNewsWire now appears in Firefox’s share menu

NetNewsWire 5.0.1 for iOS

NetNewsWire 5.0.1 for iOS is up on the App Store. Enjoy!

Changes since 5.0:

  • Feeds list: fixed a crash that could happen if you tapped really fast on a feed inside a folder in the middle of collapsing
  • Feeds list: now automatically applies the read filter when a feed reaches zero unread
  • Feeds list: fixed issue where unread count for smart feeds was sometimes not updated
  • Feeds list: disclosure buttons interact with the iOS 13.4 cursor
  • Feeds list, timeline: progress indicator bar is better behaved when refresh is done multiple times rapidly
  • Timeline: read filter now applies immediately at the start of refresh when “Refresh to Clear Articles” is enabled
  • Timeline: Micro.blog posts without title or content are better formatted
  • Timeline: empty rows are the same height they would be if content were available
  • Timeline: header button interacts with the iOS 13.4 cursor
  • Timeline: fixed cell reuse issue that caused incorrect icon backgrounds to be displayed on occasion
  • Article view: fixed a bug where the zoomed image could be of lower resolution than expected
  • Article view: fixed accessibility label for zoomed image close button
  • Article view: limited width of title view when an image is zoomed (for the XKCD folks)
  • Article view: zoomed image close button is no longer 2 pixels too narrow
  • Article view: footnotes handle more footnote types
  • Article view: table based HTML layouts used in newsletters look better
  • Article view: fixed issue where non default dynamic type sizes could cause the article view to use the default size incorrectly
  • Article view: share and reader buttons are disabled if the link to the article wasn’t provided by the feed
  • Article view: max article width now restricted to make articles easier to read in full screen on the iPad
  • Article view: added a small amount of space above and below images so they don’t run together
  • Article view: image zooming lways shows the full image
  • Article view: zoomed images are always centered
  • Article view: fixed crashing bug that could happen when using the next unread button
  • Article view: fixed a bug where, after leaving and returning to the app, the web view could be empty
  • Settings: added title to Add Account screen
  • Settings: fixed navigation stack position bug after canceling adding a Feedbin account
  • Settings: fixed bug where “Feedly” would stay highlighted after canceling prompt for sign-in
  • Settings: added ability to manually select the color palette (light/dark/system)
  • Settings: Account login fields go to next field on return key press
  • Settings: switches are better aligned
  • Syncing: fixed bug where background status sync wouldn’t fire consistently upon returning to the foreground
  • Syncing: fixed bug that could cause synced accounts to have older unread articles removed
  • Keyboard: added keyboard shortcut for Read Feeds filter cmd-shift-F
  • Keyboard: added keyboard shortcut for Read Articles (Timeline) filter cmd-shift-H
  • Keyboard: added Clean Up keyboard shortcut that removes read items from the timeline. cmd-‘
  • Revised retention policy for on-my-device accounts: articles are kept if they are in the feed or less than 30 days old
  • Fixed bug where keyboard focus could be lost after returning to NNW from another app or the Safari view controller
  • Fix bug caused by iOS 13.4 that prevented swiping back to the Timeline when in Full Screen
  • Scroll position and Reader View state is now preserved when leaving and returning to the application
  • In page RSS feed detection now normalizes the URL
  • Feeds that have to word “podcast” in them are now deprioritized in the automatic feed finding algorithm
  • We now send the correct user agent string when fetching RSS feeds
  • Improved efficiency and performance of feed image scaling
  • Improve performance when saving articles returned from RSS sources
  • No longer show default feed icon for feeds that share a common icon
  • Sharing an article no longer puts “See first unread article” randomly in the title field

Building NetNewsWire with a Free Developer Account

Maurice Parker just updated NetNewsWire and our build instructions so that you can build the app more easily.

And, importantly, you don’t need a paid developer account. (You do still need a free developer account, yes.)

If you’re just curious about the app, or want to see if there’s something you can learn from it, that’s totally cool. If you think you might want to use some of the code in your own app, that’s totally cool too.

But if you think you might want to contribute, that’s awesome! We welcome everybody. If you’re a long-time app developer, that’s great — but we’d also love to have contributors who are brand-new to app development. (Even people who are new to coding!)

If you think you might be interested, read our page on contributing, which includes our code of conduct, then join the Slack group and get on the #work channel and say hello. Easy as that. 🐥

One of Our Favorite Reviews

The launch of NetNewsWire for iOS has been going great! App Store Connect reports that it’s a 4.9-star app with 385 ratings worldwide, and it’s been downloaded 18,567 times. Our guess is it will have more downloads than NetNewsWire 5.0.3 for Mac within a few days.

There have been some reviews and articles in the press; we’ve been getting lots of feedback on Twitter, Slack, via email, and in our bug tracker. Almost all of that feedback is people asking for features — which is exactly what we hoped for. It means they like the app, but wish it did this thing for them.

That’s a great spot to be in. The alternatives are no feedback or lots of bug reports. We like feature requests. 🍕

Of all the reviews and press, one of our favorites is a review on AppleVis, which says that “The app is fully accessible with VoiceOver and is easy to navigate and use” and…

I was truly amazed how accessible this app was right out of the box on its opening day. You can really tell that accessibility was put into this.

We don’t talk about this often enough, but it’s important. Accessibility is one of those things that many people can overlook — except for the people for whom it’s the entire difference between a usable app and not.

In our App Store description, we write, above, the fold:

NetNewsWire is a free and open source RSS reader. It’s fast, stable, and accessible.

In other words: when we all talk about app quality, we should talk about stability and performance and accessibility. It’s just as important.

NetNewsWire 5.0 for iOS Available Now

You can go get it on the App Store! It runs on iPhones and iPads and requires iOS 13.

It’s free and open source, and it includes support for Feedbin and Feedly syncing.

Just as the Mac version looks like a Mac app, this is very much an iOS app. It supports Dark Mode, context menus, multiple windows, Siri Shortcuts, and other iOS features.

Other features include searching, starred items, Today and All Unread smart feeds, Reader view, multiple accounts, hiding read articles and feeds, background refreshing, and more.

The app is designed to be stable and fast. (But note that an initial sync might take a while because there’s a lot of data to download.)

A few tips:

  • The iPad version has extensive support for keyboard shortcuts: it’s very much like the Mac app
  • When reading an article, you can swipe left to go the next article
  • To go to the next unread article, tap the button in the middle of the bottom toolbar

Though this is a 5.0 release, it really is a brand-new app, and this is just the beginning. Our amazing team is already hard at work on 5.0.1 and on updates to the Mac app.

For more info, see the NetNewsWire home page and Frequently Asked Questions.

Even though we’re pretty excited to ship NetNewsWire 5.0 for iOS in a few hours, we wanted to point you toward another great RSS reader on iOS — Unread 2 just shipped. Check it out!

Older Versions of NetNewsWire Available

We just put up a page for people running older versions of OS X — we’re making NetNewsWire 3.3.2 and NetNewsWire Lite 2.1.1 available.

Approved!

NetNewsWire 5.0 for iOS has been approved by App Store review, and is now waiting for us to release it.

The release date is Monday, March 9. Or, really, late Sunday night, so it has time to propagate. In the meantime we’ll update the website and write some blog posts.

Waiting for Review

We pushed all the right buttons, and now NetNewsWire 5.0 for iOS is officially Waiting for Review. 🐣

Our hope is to ship Monday, March 9 — but you never know how things will go.

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 38) - Final Candidate

If you haven’t signed up for testing, see this page for instructions.

This is a final candidate release. We have no bugs left. 🎂

We’re looking for show-stoppers — for bugs so bad that we have to fix them and do another final candidate release.

We hope there aren’t any — but, way more importantly, we hope that if there are some, your testing will find it and you’ll let us know. 🍕

Changes since the last build on Feb. 12:

  • Fixed a crashing bug that could happen when the app is updating the feed selection in the Feeds list.
  • Fixed bug where favicons and feed icons wouldn’t try downloading again after a network failure.
  • Timeline: fixed bug where go-to-feed wouldn’t work when feed was hidden due to Unread Only filter.
  • Article view: fixed bug where there could be a super-brief flash of no content when going to next unread.
  • Article view: stop media actions on going to the next article.
  • Article view: fixed bug where the current article could disappear if you opened it while refreshing.
  • Article view: fixed bug on iPad where, in three-pane mode, the article view might just not show an article sometimes.
  • Settings: added explanation to fullscreen Article view preference.

We finally got around to updating the Ranchero Software home page so that it reflects current status — Ranchero Software is the name of the hot team that makes NetNewsWire. 🐯

(This is all part of getting our ducks in a row as part of releasing the iOS app.)

We just redid the NetNewsWire home page as part of preparing the upcoming iOS app release. Please let us know if you see any bugs or if you have any feedback or questions.

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 37)

If you haven’t signed up for testing, see this page for instructions.

Changes since the last build on Feb. 5:

  • Performed major surgery that we hope — fingers crossed — will fix the dreaded 0xdead10cc crash that occurs during background refresh. Based in part on advice from an iOS developer with a popular and similar-enough app, we believe the issue was related to sharing our databases and OPML files with our extension. We are no longer doing that.
  • Article view: fixed bug where the article could be zoomed way in sometimes.
  • Article view: fixed bug where sometimes the wrong text size would be used. This showed up most often when resuming the app.
  • Article view: it’s now possible to cancel loading of the Reader view by tapping the icon.
  • Article view: fixed bug with missing feed icons with some Feedly feeds.
  • Feed info: fixed bug handling a nil or empty home page URL.
  • Feed icons: fixed bug flushing the cache.

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 35)

If you haven’t signed up for testing, see this page for instructions.

Changes since the last build on Feb. 1:

  • Possibly fixed the dreaded 0xdead10cc crash forever, but probably not. Might have gotten closer, at least
  • Feeds List: Fixed bug where the list would reload unnecessarily when article statuses are fetched
  • Feeds List: Fixed bug updating the All Unread unread count
  • Timeline: removed Go to Feed from context menu when you’re already viewing that feed
  • Article view: allowing fullscreen mode is now a setting, off by default, in settings. (People triggered it accidentally, without knowing about it, and they thought it was a bug.)
  • Fixed a bug swiping through articles when the Feeds list is hidden on iPad
  • Fixed bug opening article from Spotlight search results when feeds filter is on

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 34)

If you haven’t signed up for testing, see this page for instructions.

Changes since Wednesday’s build:

  • Fixed a crash caused by laying out the progress view when it’s not in the view hierarchy.
  • Fixed a crash when using keyboard to move up the Feeds list past an account that was collapsed
  • Fixed a crash in the share extension
  • Fixed a crash when deallocating a table view header
  • Feeds: fixed bug where unread counts could be cut off after rotation
  • Feeds: fixed bug where you couldn’t pull to refresh if your finger was in an account header
  • Timeline: fixed bug with Feedly feeds with RTL text — some HTML code could show in the timeline
  • Article view: fixed a bug where a zoomed image could corrupt the UI after rotation
  • Article view: fixed a case that could cause images not to get loaded

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 33)

If you haven’t signed up for testing, see this page for instructions.

Changes since last night’s build:

  • Feeds: fixed bug where feed might not be selectable while showing only unread feeds
  • Feeds: fixed bug where a feed selected in a folder that has zero unread count could get filtered out if the read filter gets applied
  • Timeline: animate article selection when swiping in the article view
  • Article view: fixed bug maintaining Reader view state through a rotation on iPad
  • Fixed a performance issue that resulted in an 0x8badf00d crash for one user (who has thousands of feeds). NetNewsWire should startup faster now, but the difference might be imperceptible.
  • Search: fixed bug where you might have some rows with icons and some without after ending searching

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 32)

If you haven’t signed up for testing, see this page for instructions.

Changes since last night’s build:

  • Fixed bug where the filtering system could filter out the current selected feed, and you’d end up back at the Feeds list unexpectedly
  • Timeline: table row background colors no longer animate when it’s not appropriate (when using up/down arrows on iPad, for instance)
  • Timeline: if next unread is used while searching, search results are dismissed and cleared
  • Timeline: fixed bug where selecting a smart feed — when all accounts are deactivated — could disable the timeline
  • Timeline: fixed bug where unread indicators might fade out as a timeline is shown
  • Article view: fixed bug with xkcd text

After last night’s build, we had 12 bugs open in the milestone. After fixing six bugs, we now have just 12 bugs open. Progress!

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 31)

If you haven’t signed up for testing, see this page for instructions.

This build is mainly about fixing bugs in the article view. Changes since the last build (two days ago):

  • Feeds: fixed bug where sometimes the Today unread count didn’t display
  • Article view: fixed bug where going to next-unread wouldn’t reset the scroll position to the top
  • Article view: fixed bug where the view wouldn’t always full update when switching to another article
  • Article view: fixed bug where the incorrect feed icon could appear in the upper-right
  • Article view: fixed bug with the resolution of the Reader view icon (when it’s animating)
  • Article view: made the blockquote border less prominent (lowered its opacity to 0.75)
  • Article view: fixed bug on iPad where an article might continue to display when nothing is selected in the timeline
  • Article view: fixed bug where, after clicking the title to open a page, the title might be underlined on subsequent articles
  • Add account view: fixed bug where the table cells weren’t properly vibrant

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 30)

If you haven’t signed up for testing, see this page for instructions.

This build is mainly about fixing crashing bugs. Changes since the last build (about five days ago):

  • Fixed a crashing bug that could happen when reloading the Feeds list.
  • Fixed a crashing bug that could happen when updating the selection in Feeds list.
  • Fixed a crashing bug that could happen when reloading the HTML in the article view.
  • Fixed a crashing bug that could happen when syncing Feedbin feeds/folders relationships.
  • Fixed the main cause of the dreaded 0xdead10cc crash.
  • Feedly: fixed bug where syncing wouldn’t happen again after losing and regaining a network connection.
  • Timeline: fixed bug where adding and removing feeds could cause the timeline to be rebuilt unnecessarily, which could mean read items being removed from the timeline prematurely.
  • Timeline: fade in/out read and starred indicators when possible, to make it more obvious that marking something as read (for instance) has an effect.
  • Article view: fixed a bug where navigation controls could disappear.
  • OPML importing: fixed, in a better way, the bug where sometimes you couldn’t select OPML files for importing.

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 29)

If you haven’t signed up for testing, see this page for instructions.

Changes since last night’s build:

  • The Mark All as Read confirmation now appears in Settings on iPad.
  • Fixed crashing bug having to do with checking if a feed might be an image file. (This is one of those preflight things we do before parsing a feed.)
  • Feedly: fixed bug adding feeds in the Uncategorized folder. (This was actually in build 28, but we missed noting it.)
  • Feedly, Feeds: fixed bug with folder names with ampersands in them. The bug would cause unneeded timeline reloading on app restoration.
  • Feeds: fixed bug where a feed might not visible deselected when it should be.
  • Feeds: fixed bug where swiping on an account row would affect the row below it instead.
  • Feeds: fixed Dark Mode appearance of the Feeds title.
  • Article view: improved the layout and appearance of HTML tables.
  • Article view: fixed bug where Reader view button might not stop animating.
  • Article view: fixed bug where video could keep playing after swiping to another article.
  • Article view: fixed bug with feed that uses emoji graphics instead of emoji characters — they ended up large instead of normal size.
  • Import OPML: fixed bug where sometimes it was impossible to select an OPML file.

NetNewsWire 5.0 for iOS: New Public TestFlight (Build 28)

If you haven’t signed up for testing, see this page for instructions.

Changes since the last build (about 10 days ago):

  • Mark All as Read now displays a confirmation. You can turn this confirmation off in Settings: see “Confirm Mark All as Read.”
  • Enhanced our dark icon detection: it now only considers non-clear pixels.
  • Feedly: syncing now uses less bandwidth and is faster.
  • Feedly: fixed bug with missing articles.
  • Feedly: fixed a timing bug that could let read articles become unread.
  • Feedly: adding a feed no longer requires that you have at least one folder.
  • Feedly: fixed a mystery KVO crash by writing our own operation queue.
  • Feeds: fixed bug in Dark Mode where a cell’s background color could be incorrect after drag-and-drop.
  • Feeds: update the list when appropriate and filtered to show only unread.
  • Feeds: fixed crash that could happen when renaming a Folder.
  • Timeline: fixed back swipe animation so it won’t show the navbar under the articles list.
  • Timeline: you can now clear read articles by doing a refresh — if you turn on this feature in NetNewsWire settings. (It’s off by default.) See “Refresh to Clear Read Articles.”
  • Timeline: exit search mode if Go to Feed is chosen.
  • Timeline: make it possible to get the keyboard out of the way when searching so you can select the last results in the list.
  • Article view: preformatted and code blocks now scale with Dynamic Type.
  • Article view: code blocks no longer allow auto-hyphenation.
  • Article view: now handles universal links, so sometimes a link might open in another app on your device.
  • Article view: fixed bug where Reader icon wouldn’t animate on initial article view for feeds that are set to always use the Reader view.
  • Article view: fixed bug with “Always show Reader view” where it wouldn’t fall back to article view on failure.
  • Article view: fixed bug on iPad where the app could become unresponsive after rotating while an image is zoomed and the image is dismissed.
  • Article view: fixed bug where scrolling might scroll more than the visible view.
  • Article view: blockquotes now have a leading left border, to make them easier to see.
  • Article view: Feedbin tweet articles now include a separator between tweets and inlined articles.
  • Article view: Feedbin tweet articles with a video no longer show the videos as very small.
  • Article view: it now reloads fully on Dynamic Type changes.
  • Article view: fixed bug where sometimes the article view wouldn’t support Dynamic Type.
  • Article view: YouTube videos no longer obscure Newsfoot footnotes.
  • Article view: fixed bug where the web view could get confused. We just swap in a new web view periodically.
  • Article view: date/time is now always the permalink.
  • Feed info: tapping home page URL now opens home page in web view.
  • Sharing: fixed bug where sharing to OmniFocus would add an extra line break to the title.
  • Multiwindow support: fixed some layout issues.
  • Alerts with a button called “Dismiss” now use “OK” instead.
  • Progress view now updates with Dynamic Type changes.