diff --git a/services/freshrss/auto-update.sh b/services/freshrss/auto-update.sh new file mode 100755 index 0000000..154b57c --- /dev/null +++ b/services/freshrss/auto-update.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -euo pipefail + +ssh jeena@abraham.jeena.net 'cd ~/freshrss && docker compose pull && docker compose up -d' 2>&1 | tail -5 diff --git a/services/freshrss/context.txt b/services/freshrss/context.txt new file mode 100644 index 0000000..35239e3 --- /dev/null +++ b/services/freshrss/context.txt @@ -0,0 +1 @@ +Single Docker container using the official freshrss/freshrss image with named volumes for data and extensions. SQLite database stored inside the data volume. Uses the :latest tag. Default configuration, no custom extensions installed. diff --git a/services/freshrss/review-examples/auto-1.txt b/services/freshrss/review-examples/auto-1.txt new file mode 100644 index 0000000..e4e80ca --- /dev/null +++ b/services/freshrss/review-examples/auto-1.txt @@ -0,0 +1,30 @@ +action: auto +reason: Patch release with bug fixes and small UI improvements. No database migrations, no volume or environment variable changes. Standard Docker image pull and restart. +--- +This is bug-fix release for 1.29.0. + +Feature highlights: +* Accept `.txt` import of feed URLs in additional to e.g. OPML +* New CLI for automatic periodic SQLite export with retention +* More feed info: last received date, publication date + +Bug fixes highlights: +* Fix cookies with some browsers +* Fix search in shared user queries with empty results + +UI highlights: +* Improve Web browsers compatibility + +* Features + * Accept `.txt` import of feed URLs in additional to e.g. OPML + * New CLI for automatic periodic SQLite export with retention + * More feed info: last received date, publication date +* Bug fixing + * Fix cookies with some browsers + * Fix search in shared user queries with empty results + * Fix XML errors with loading invalid OPML in lib_opml library + * Fix ensure maximum number of feeds also with Dynamic OPML + * Fix click mark as read +* UI + * Improve browser compatibility to keep mobile navigation at the bottom + * Improve support of older/simpler Web browsers/engines such as SeaMonkey diff --git a/services/freshrss/review-examples/auto-2.txt b/services/freshrss/review-examples/auto-2.txt new file mode 100644 index 0000000..58cfcbd --- /dev/null +++ b/services/freshrss/review-examples/auto-2.txt @@ -0,0 +1,27 @@ +action: auto +reason: Feature release with new sort options, UI improvements, and new extensions. No database migration required, no volume or environment variable changes. Safe to update the Docker image. +--- +This is a major release. + +Feature highlights: +* New sort order preferences at global, category, and feed levels +* Use feed-provided icon +* New option to hide sidebar by default +* Show time since when a feed has problems +* New functions to handle plural in internationalisation +* New `cli/purge.php` to apply purge policy from command line + +Bug fixes highlights: +* Improve support of PHP 8.5+ +* Several fixes related to searches + +Security highlights: +* Limit cURL to protocols HTTP, HTTPS + +UI highlights: +* Improve mobile view with multiple lines when thumbnails and summaries are shown +* Several themes improved + +Extensions highlights: +* New Webhook extension for automated RSS notifications +* New LLM Classification extension to automatically tag incoming articles based on a prompt sent to an LLM diff --git a/services/freshrss/review-examples/auto-3.txt b/services/freshrss/review-examples/auto-3.txt new file mode 100644 index 0000000..7c57105 --- /dev/null +++ b/services/freshrss/review-examples/auto-3.txt @@ -0,0 +1,25 @@ +action: auto +reason: Bug fix release addressing regressions from 1.28.0. No schema changes, no volume changes, no breaking changes for Docker users. +--- +This is a release focussing on bug fixing, in particular regressions from the release 1.28.0. + +Selected new features: +* New customisable message for closed registrations +* Add username in Apache access logs (also in Docker logs): for GReader API, and for HTTP Basic Auth from reverse proxy + +Improved performance: +* Disable counting articles in user labels for Ajax requests (unused) + +Many bug fixes. + +* Bug fixing + * Fix unwanted expansion of user queries (saved searches) applied to filters + * Fix encoding of filter actions for labels + * Fix searching of tags + * Fix refreshing feeds with token while anonymous refresh is disabled + * Fix RSS and OPML access by token + * Fix MySQL/MariaDB transliterator_transliterate fallback + * Auto-add lastUserModified database column also during mark-as-read action + * Do not include hidden feeds when counting unread articles in categories + * Fix shortcut for next unread article + * Fix custom session.cookie-lifetime diff --git a/services/freshrss/review-examples/auto-4.txt b/services/freshrss/review-examples/auto-4.txt new file mode 100644 index 0000000..fada77d --- /dev/null +++ b/services/freshrss/review-examples/auto-4.txt @@ -0,0 +1,25 @@ +action: auto +reason: The breaking changes only affect extension authors (renamed internal functions) and unsafe autologin (now an extension). Default Docker setup without custom extensions is unaffected. No schema migration required. +--- +This is a major release, just in time for the holidays. + +Selected new features: +* New sorting and filtering by date of *User modified*, with corresponding search operator +* New sorting by article length +* New advanced search form +* New overview of dates with most unread articles +* Docker default image updated to Debian 13 Trixie with PHP 8.4.11 + +Improved performance: +* Scaling of user statistics in Web UI and CLI +* Improve SQL speed for some critical requests for large databases +* API performance optimisation thanks to streaming of large responses + +Selected bug fixes: +* Fix OpenID Connect with Debian 13 +* Fix MySQL / MariaDB bug wrongly sorting new articles +* Fix SQLite bind bug when adding tag + +Breaking changes: +* Move unsafe autologin to an extension +* Potential breaking changes for some extensions (which have to rename some old functions) diff --git a/services/freshrss/review-examples/manual-1.txt b/services/freshrss/review-examples/manual-1.txt new file mode 100644 index 0000000..694f75a --- /dev/null +++ b/services/freshrss/review-examples/manual-1.txt @@ -0,0 +1,20 @@ +action: manual +reason: The data volume path inside the container has changed. Existing volumes mounted at /var/www/FreshRSS/data will not be picked up. Admin must update docker-compose.yml to mount the volume at the new path before pulling the new image. +--- +> [!WARNING] +> Major release with breaking deployment changes. Read the migration guide before updating. + +Breaking changes: +* The data directory inside the container has moved from `/var/www/FreshRSS/data` to `/data`. Docker users must update their volume mounts in docker-compose.yml accordingly, or FreshRSS will not find existing data. +* The extensions directory has moved from `/var/www/FreshRSS/extensions` to `/data/extensions`. Update your volume mounts. +* The default SQLite database location inside the data directory has been renamed from `users/_/db.sqlite` to `users/_/freshrss.sqlite`. Existing databases must be renamed before first start, or FreshRSS will start with an empty database. + +Migration steps: +1. Stop the container. +2. Update docker-compose.yml volume mounts to use the new paths. +3. Rename the SQLite database file inside the data volume. +4. Pull the new image and start the container. + +Features: +* New article view layout +* Improved API performance diff --git a/services/freshrss/review-examples/manual-2.txt b/services/freshrss/review-examples/manual-2.txt new file mode 100644 index 0000000..170cf52 --- /dev/null +++ b/services/freshrss/review-examples/manual-2.txt @@ -0,0 +1,19 @@ +action: manual +reason: A new required environment variable FRESHRSS_INSTANCE_KEY must be set in docker-compose.yml, otherwise the container fails to start. The admin must generate a key and add the variable before upgrading. +--- +> [!IMPORTANT] +> Breaking change for all Docker users. + +Breaking changes: +* A new environment variable `FRESHRSS_INSTANCE_KEY` is now required. It is used to sign session cookies and encrypt API tokens. If unset, the container will refuse to start. Generate a random 32-byte hex string and add it to your docker-compose.yml environment section. +* The TRUSTED_PROXY environment variable has been renamed to FRESHRSS_TRUSTED_PROXY. The old name is no longer recognised. + +Migration steps: +1. Generate an instance key: `openssl rand -hex 32` +2. Add `FRESHRSS_INSTANCE_KEY: ` to the environment section of docker-compose.yml +3. Rename `TRUSTED_PROXY` to `FRESHRSS_TRUSTED_PROXY` in your environment section. +4. Pull the new image and restart. + +Features: +* Add support for OAuth2 generic providers +* Improved feed scraping