Stashium v0.7.0
Stashium v0.7.0 — macOS universal build (Apple Silicon + Intel).
- Signed with Apple Developer ID
- Notarized by Apple
- Requires macOS 11 (Big Sur) or later
What's new
0.7.0 is the biggest release since launch. Stashium is now a full RSS reader alongside the clipboard manager, and a long list of stability + extraction issues that quietly degraded the experience have been fixed.
Discover — a real RSS reader
Subscribe to feeds, read articles inline, save the good ones to your stash. Lives in the sidebar below your folders.
- Subscribe by pasting either a feed URL or a regular site URL — Stashium auto-discovers
<link rel="alternate">so most homepages just work. - Groups organize your feeds. Create / rename / delete them in Discover settings → Groups. Each group in the sidebar is independently collapsible, and the collapsed state survives a relaunch.
- One-click save to stash — every feed item has a save button that promotes it into a normal URL clip with the cached article body, og:image, and title. No extra fetch.
- Read / unread / archive / reset-read per feed item, plus a per-feed and bulk Refresh all.
- Article body cached locally the first time you open an item — subsequent reads are instant and work offline.
- 6-month retention — items older than 180 days are purged automatically. Anything you saved to stash is untouched.
OPML import / export
For people migrating from another reader, or just sharing their subscription list.
- Import OPML from NetNewsWire, Reeder, Feedly, Inoreader, or anything else that exports the format. Tolerant parser handles real-world quirks (unescaped
&, BOM, mismatched tags). - Big imports don't block the UI anymore — feeds appear in the sidebar instantly with placeholder titles, then hydrate in the background at 3 concurrent fetches.
- Groups in the OPML become Stashium groups (or reuse existing same-name ones).
- Re-importing the same file just shows previously-subscribed feeds as
skippedinstead of erroring. - Export OPML dumps every subscription as a standards-clean OPML 2.0 file you can drop into any other reader.
- Clear all unsubscribes from everything in one shot — saved clips and groups are preserved.
Articles that previously came back blank now render
Sites like 4gamers, ETtoday, and Apple Daily — short CJK posts heavy on images — used to come back empty because the article-extraction heuristic is tuned for English long-form text. Stashium now falls back to a chain of standard article containers ([itemprop="articleBody"], article.render-content, .article-content, .post-content, .entry-content, .article-body, main article, article) when the primary extractor returns nothing.
Items that previously failed to extract are automatically retried the next time you open them, so the fix applies retroactively without any user action.
The crashes are fixed
- The ~30-minute SIGTRAP crash that hit anyone who pasted a lot of URLs is gone. Two root causes were addressed: an unbounded
to_vec()on giant clipboard images (now capped at 100 MB), and a per-callreqwest::blocking::Clientthat leaked file descriptors (now a shared client). - Drag a clip onto a folder in the sidebar to assign it — this was broken because Tauri's OS-level drag-drop intercepted the HTML5 events. The OS-level handler is now disabled.
- Clicking links inside an article opens them in your default browser instead of replacing the Stashium UI.
Reliability hardening
- Every background thread (URL pipeline, feed poller, manual refresh, OPML hydration, OCR) is wrapped in
catch_unwind— a single malformed payload can no longer take down the app. - OCR concurrency capped at 2 workers so a screenshot backlog doesn't spawn unlimited Vision threads.
- Favicon fetcher backed off — sites whose
/favicon.icoreturns 404 are no longer re-tried every 60 seconds forever. Failed attempts retry after 7 days. - OPML parser is double-stacked: strict XML first, tolerant hand-rolled scanner as fallback. Real-world OPML files with stray
>inside attributes or BOM headers now import cleanly. - HTTP client now properly handles gzip and brotli content-encoding — CDNs that force compression (CloudFront, Cloudflare) no longer feed downstream parsers raw compressed bytes.
- Full Chrome User-Agent so picky edge rules serve the real article instead of a stripped fallback.
- Bounded HTTP body sizes on feed (10 MB) and favicon (1 MB) requests prevent a misbehaving server from blowing memory.
UI polish
- Discover settings → Feeds tab toolbar redesigned to match the project's mono-uppercase + sharp-corner design language. Buttons are grouped by intent with vertical dividers:
[⟳ REFRESH] | [↑ IMPORT] [↓ EXPORT] | [🗑 CLEAR]. - Sidebar feed groups collapse with a chevron; empty groups don't show a chevron at all.
- Save to stash from a feed is now fully optimistic — no more 2-second pause after clicking.
- Folder browser — the top-right
+button now creates a new folder even when the folder list is empty, and the empty-state message correctly points to the+button (was incorrectly pointing to the sidebar). - Switching from Folders to Discover in the sidebar now actually navigates to Discover (was previously stuck on the folder pane because the folder-browser flag wasn't reset).
Install
- Download
Stashium.dmg - Open the DMG and drag
Stashium.appintoApplications - Launch from Launchpad or Spotlight
Existing 0.4.0+ installs will auto-update on next launch.
Issues
Email mombuartworks@gmail.com.