The latest release of Capy Reader is right around the corner. If you want a sneak peek, download the latest nightly release. The theme of this release is UI performance and polish.
Native reader (so long, WebView)
One gripe I had with the existing reader was how many hiccups there were in performance and interaction. All of this was down to the WebView. A WebView is a browser, and with it comes all of the baggage of loading up an entire app within your app.
Instead, I ported the native renderer from Feeder into an internal library called "Mallet." Mallet flattens HTML, and makes it possible to display articles natively. No browser required. This handles most cases around text and images. This means YouTube embeds have returned too, I plan to add more support for embeds as it makes sense.

Visual Updates
Media Player
Podcasts also got a slight tweak. In August, Google released a new mini audio controller element. This takes the guesswork out of displaying track progression, and includes some basics around the existing list player that feel at home in the app.

Status Picker
One request I've received has been to move the status picker into the list. I've avoided doing this in the past since it makes the app work even closer to Reeder Classic. While I've taken a lot of hints from Reeder, it felt bad straight-up copying it. But it works for a reason.
Starred/Unread/All moved from the drawer to a floating bottom bar, and the selected status expands into a label. The drawer is now just feeds, plus All and Today. This means the "Mark all as read" is moved permanently back to the top bar for space.

Settings
All, Unread, and Starred each track their own newest/oldest order. This allows for maximum configuration for each status, and closes out an issue from earlier this year. Speaking of settings, settings are now searchable! Look up a setting by its name, tap, and you'll be taken directly to the page.
E Ink Improvements
I've wanted to improve some E Ink specific settings for awhile. A few of the new features include reduced animations, a wider scrollbar in the article list, and support for page turn buttons. I revised the page turning mechanism based on the implementation in Mihon. Immersive mode is enabled when you start to turn the page (Feature request). Lastly, if you own an e-reader like the Onyx Boox, these settings will be enabled by default.


Other Tweaks
- A "New articles" button is displayed when articles arrive (#2273)
- Update to Navigation 3 (#2197)
- Full content extraction is also fully native
- Tapping the new status selector while scrolled jumps you to the top of the list (#2276)
- New Belarusian translation and updates to Greek, Swedish, Czech, Hungarian, Turkish, Tamil, Latvian, and Spanish thanks to volunteers!
Bug fixes
- Restored the delete button for Feedbin saved pages.
- Local feed links with unescaped characters are now encoded (#2280).
- FreshRSS accounts now sync removed labels (#2253).
- Articles that auto-delete would remove are no longer saved during sync, so old read articles stop flashing into the list (#2254).
- Mark-read-on-scroll reads the live watermark clamped to list size (#2215, #2260).
- Stale conditional-GET validators expire (#2201).
excluded_statusesmarkers use INSERT OR IGNORE (#2189). - Unsuccessful server calls now fail instead of passing silently.
Removed
- Improve TalkBack setting. This was a stopgap fix and is unnecessary with the fully native renderer.
This release brings a bevy of features that I hope will serve as a better foundation for the app going forward, especially around the native reader. You can check out these changes in the latest nightly. Let me know how it works for you via Discussions or ping me on Mastodon. The full release will go live in the next few weeks.
Thanks for using Capy Reader! If you enjoy the app, consider making a donation or telling a friend about it.