Skip to content

Releases: gnacho/ocnews

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 19 Aug 13:29
433c58d

v0.1.7 — RSS reader comparison features

Feature batch derived from a feature comparison with Miniflux, FreshRSS, Tiny Tiny RSS, NewsBlur and CommaFeed.

Features

  • #34 Keyboard shortcuts for navigation and actions (j/k, o/Enter, m, f, v, g u/b/p, a, r, /, ? help overlay).
  • #35 Per-feed and global block/keep filters with regex on title, URL, author, content and date (future / before / after / between / max-age).
  • #36 Saved searches surfaced as virtual feeds in the sidebar.
  • #37 Privacy: strip tracking parameters (utm_*, fbclid, gclid…) from URLs and drop tracking pixels from content.
  • #38 Push notifications for new articles via ntfy (per-user topic or server default).
  • #39 Per-feed CSS scraper selectors for full-text extraction, with automatic extraction as fallback.
  • #40 Rules to auto-mark articles as read on arrival (by feed and/or title regex).
  • #41 Nested folders (subfolders); deleting a parent moves children back to the root.
  • #42 Story clustering: group duplicate stories across feeds and show a count badge.
  • #43 Share individual articles via a public URL (token-based, revocable).
  • #44 WebSub (PubSubHubbub) support for real-time feed updates with HMAC signature verification.

Backend

  • 8 schema migrations (011-018), new packages privacy, rules, notify, websub.
  • New env vars: OCNEWS_PUBLIC_URL (WebSub callbacks), OCNEWS_NTFY_URL, OCNEWS_NTFY_TOPIC.
  • Dependency added: PuerkitoBio/goquery (scraper selectors).

Extension

  • New dialogs (rules, scraper, auto-read, shortcuts help), saved-search sidebar entries and new Settings fields (ntfy topic, global rules).
  • ES translations updated (161 msgids).

Full CI (test + lint + security) green.

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 18 Aug 21:45
3ed5aed

What's changed

Validated batch of fixes and features (PR #30, closes #23-#29):

Dark theme fixed (#23)

Text and icons no longer keep the host colors when the reader theme differs from the OpenCloud theme. The app now overrides the host's --oc-role-* tokens on its own root for both light and dark, so paragraphs, headings, dialogs, links and buttons always follow the app palette.

Reader typography (#24, #25)

  • Article list titles: 17px. Article detail title: 17px. Article body base: 15px.
  • New per-user settings for reader font family (default, serif, sans-serif, monospace) and font size (13-20 px).
  • Closing an article (or opening the app) shows a centered empty state with the app icon instead of a blank pane.
  • The settings dialog is now called "News settings".

Feeds behind HTTP Basic auth (#27)

  • Subscribe with optional username/password (the Android client can too: POST /feeds accepts the same keys).
  • If a feed answers 401/403, the app asks for credentials automatically.
  • Edit or remove credentials later from the feed menu. Empty password keeps the current one.
  • Passwords are stored encrypted (AES-256-GCM, key in the server data dir) and never leave the API.

Article actions (#26)

Read, star, full-article and open-original icons in the article header are aligned and larger (20px).

Folders and discoverable entries (#28, #29)

  • Folder creation, renames and move-to-folder now use in-app dialogs instead of window.prompt (which the host can suppress).
  • Move to folder uses a folder picker.
  • The settings gear is now a labeled button; "New folder" shows its label.

Backend: full test suite green with -race (cipher, Basic auth fetch, credentials API flow). CI: test, lint and security all pass.

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 18 Aug 14:30
21995bd

Changelog

  • 21995bd feat(extension): larger list titles, author in detail, OPML in Settings (#22)
  • 67afc17 chore(extension): stop tracking module-federation temp dir

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 18 Aug 12:41
c0135d7

Changelog

  • c0135d7 fix(auth): guard shadow-user upsert against concurrent creation race (#19)

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 18 Aug 11:33
ded92dc

Changelog

  • ded92dc fix(install): rewrite argument parser with while/shift (#17)

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 18 Aug 11:28
85305de

Changelog

  • 85305de fix(install): replace process substitution for POSIX sh compatibility (#16)

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 10:58
9d69678

Changelog

  • 9d69678 fix(extension): polish UI — dark mode, heading and title font sizes (#15)
  • aadcc72 i18n: complete backend error catalog + extension ES translations
  • bc6bdeb test(refresher): widen backoff gap margins to fix CI flake

ocnews v0.50.0

Choose a tag to compare

@gnacho gnacho released this 16 Aug 22:38
0331f17

ocnews v0.50.0 — Advanced options, security audit and CI

First tagged release. This batch implements the advanced options of a Nextcloud-News-style reader, hardens the backend and adds CI.

Features

  • Feed keyword filtering (News 28.4.0): per-feed title/body/URL keywords hide matching articles (/feeds/{id}/filter), with a dialog in the feed context menu (closes #1).
  • Article search: GET /items/search over title/body/URL with selection scoping, and a search box in the list header (closes #2).
  • Feed discovery: GET /feeds/discover?url= auto-detects a site's RSS/Atom feeds; subscribing a non-feed URL offers the detected feeds (closes #3).
  • Podcasts: feeds with audio/video enclosures are flagged and listed in a dedicated Podcasts view with in-app playback (closes #4).
  • Per-feed retention: retention_days override per feed, purged by the scheduler alongside the global cutoff (closes #5).
  • User settings: theme, reader width and refresh interval per user, persisted via /api/me/settings and applied to the reader (closes #6).
  • Extension UI: color favicons, relative times, article snippet previews, resizable headlines column, app favicon on the browser tab.

Security

  • SSRF guard: a netguard transport rejects private/loopback/link-local/metadata IPs on every outgoing fetch (feeds, favicons, image proxy, extraction, discovery) (closes #7).
  • Favicons served from the backend cache via a public read-only route (closes #8).
  • Discover cleanup: single-fetch implementation, redundant guard removed (closes #9).

Accessibility

  • Dialogs expose role=dialog/aria-modal; the feed options button is always visible (touch reachable); the multi-feed discover picker replaces a fragile prompt (closes #10).

CI

  • GitHub Actions: go vet, go test -race -shuffle, go mod tidy check, golangci-lint (new issues only), gosec (SARIF) and blocking govulncheck. Go bumped to 1.25.13 (fixes 28 stdlib vulnerabilities).