Skip to content

ocnews v0.50.0

Choose a tag to compare

@gnacho gnacho released this 16 Aug 22:38
· 11 commits to main since this release
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).