- API
- Add support for Fever compatible API, enabling more clients #1406
- iOS: Fiery Feeds, Unread
- MacOS: Readkit
- Add support for Fever compatible API, enabling more clients #1406
- Features
- Several per-feed options (implemented in JSON) #1838
- Light Boolean search implementation #879
- All parts are implicitly
AND
(which must not be written), except ifOR
is stated. - No use of parentheses. Support for quotes to disable the Boolean search, like
"This or that"
. - Example:
Hello intitle:World OR date:P1D example OR author:Else intitle:"This or that"
- All parts are implicitly
- Share with Pocket #1884
- Deployment
- Bug fixing
- Fix Docker bug affecting Apache
CustomLog
(unwanted local copy of access logs),ErrorLog
,Listen
(IPv6 bug) #1873 - Fix muted feeds that were not actually muted #1844
- Fix null exception in shares, showing only the first article #1824
- Fix error during import #1890
- Fix additional automatic sequence bug with PostgreSQL #1907
- Fix errors in case of empty/wrong username when updating user settings #1857
- Fixes in subscription menu #1858
- Fix allowing Unix sockets for MySQL and PostgreSQL #1888
- Fix
create-user
CLI optionno_default_feeds
#1900
- Fix Docker bug affecting Apache
- SimplePie
- Security
- UI
- Add tooltips on user queries #1823
- I18n
- Misc.
Vue lecture
FreshRSS 1.11.0
FreshRSS 1.11.1
- Features
- Better support of
media:
tags such as thumbnails and descriptions (e.g. for YouTube) #944
- Better support of
- Extensions
- Bug fixing
FreshRSS 1.13.0
- API
- Improvements to the Google Reader API #2093
- Support for Vienna RSS (client for Mac OS X) #2091
- Contributions to WebSub in third-party systems to support instant push notifications
from Mastodon 2.6.2+ and Friendica 2018.12+
#mastodon/9302, #friendica/6137
- Improvements to the Google Reader API #2093
- Features
- UI
- Reworked the scrolling of the categories/feeds sidebar #2117
- Native styled scrollbars in Firefox 64+, Chrome.
- Show collapsed sidebar in the reader mode #2169
- New shortcuts to move to previous/next article without opening it #1767
- Fix regression from 1.12.0 preventing from closing an article #2085
- Improvements of the Swage theme #2088, #2094
- Many style improvements #2108, #2115, #1620, #2089, #2122, #2161
- Reworked the scrolling of the categories/feeds sidebar #2117
- Deployment
- I18n
- Occitan #2110
- SimplePie
- Security
- Fix HTML injections reported by Netsparker #2121
- Bug fixing
- Misc.
- Add username in configuration menu and exported files #2133
- New option to set the duration of the cookie session #2137
- Add donation option via Liberapay #1694
FreshRSS 1.13.1
- Features
- Bug fixing
- Fix missing HTTP
X-Forwarded-Prefix
in cookie path behind a reverse-proxy #2201
- Fix missing HTTP
- Deployment
- Docker improvements #2202
- Performance: Hard-include Apache .htaccess to avoid having to scan for changes in those files
- Performance: Disable unused Apache security check of symlinks
- Performance: Disable unused Apache modules
- Add option to mount custom
.htaccess
for HTTP authentication - Docker logs gets PHP syslog messages (e.g. from cron job and when fetching external content)
- New environment variable
COPY_SYSLOG_TO_STDERR
or inconstants.local.php
to copy PHP syslog messages to STDERR #2213 - New
TZ
timezone environment variable #2153 - Run Docker cron job with Apache user instead of root #2208
- Accept HTTP header
X-WebAuth-User
for delegated HTTP Authentication #2204
- Docker improvements #2202
- Extensions
- Trigger a
freshrss:openArticle
JavaScript event #2222
- Trigger a
- API
- Security
- Fixes when HTTP user does not exist in FreshRSS #2204
- I18n
- Accessibility
- Remove alt in logo #2209
FreshRSS 1.14.0
- Features
- UI
- New themes Ansum and Mapco #2245
- Rewrite jQuery and keyboard shortcut code as native JavaScript ES6 (except for graphs on the statistics pages) #2234
- Batch scroll-as-read for better client-side and server-side performance #2199
- Keyboard-shortcut navigation at end of feed or category continues to the next one #2255
- Changed jump behaviour after marking articles as read #2206
- More reactive auto-loading of articles #2268
- Deployment
- Bug fixing
- Fix feed option for marking modified articles as unread #2200
- Fix API HTTP Authorization case-sensitivity issue introduced in FreshRSS 1.13.1 #2233
- Fix breaking warning in Fever API #2239
- Fix encoding problem in Fever API #2241
- Fix author semi-colon prefix in Fever API #2281
- Fix the reading of the environment variable
COPY_SYSLOG_TO_STDERR
#2260 - Session fix when form login + HTTP auth are used #2286
- Fix
cli/user-info.php
for accounts using a version of the database older than 1.12.0 #2291
- CLI
- API
- Supported by Readably (client for Android using Fever API)
- I18n
- Security
- Misc.
- Remove HHMV from Travis continuous integration #2249
FreshRSS 1.14.1
- Bug fixing (regressions introduced in 1.14.0)
- Fix load more articles when using ascending order #2314
- Fix cron in the Ubuntu flavour of the Docker image #2319
- Fix the use of arrow keyboard keys for shortcuts #2316
- Fix control+click or middle-click for opening articles in a background tab #2310
- Fix the naming of the option to unfold categories #2307
- Fix shortcut problem when using unfolded articles #2328
- Fix auto-hiding articles #2323
- Fix scroll functions with Edge #2337
- Fix drop-down menu warning #2353
- Fix delay for individual mark-as-read actions #2332
- Fix scroll functions in Edge #2337
- Bug fixing (misc.)
- UI
- Better handling of bad Ajax requests and fast page unload (ask confirmation) #2346
- I18n
- Improve Dutch #2312
- Misc.
FreshRSS 1.14.3
- UI
- Bug fixing
- Fix wrong mark-as-read limit #2429
- Fix API call for removing a category #2411
- Fix user self-registration #2381
- Make CGI Authorization configuration for API more compatible #2446
- Fix refresh icon in Swage theme #2375
- Fix message banner in Swage theme #2379
- Docker: Add
php-gmp
for API support in Ubuntu 32-bit #2450
- Deployment
- Docker: Add automatic health check #2438, #2455
- Docker: Add a version for ARM architecture such as for Raspberry Pi #2436
- Docker: Ubuntu image updated to 19.04 with PHP 7.2.19 and Apache 2.4.38 #2422
- Docker: Alpine image updated to 3.10 with PHP 7.3.7 and Apache 2.4.39 #2238
- Add
hadolint
automatic check of Docker files in Travis #2456
- Security
- Allow
@-
as valid characters in usernames (i.e. allow most e-mails) #2391
- Allow
- I18n
- Improve Occitan #2358
- Misc.
FreshRSS 1.15.0
- CLI
- Command line to export/import any database to/from SQLite #2496
- Features
- New archiving method, including maximum number of articles per feed, and settings at feed, category, global levels #2335
- New option to control category sort order #2592
- New option to display article authors underneath the article title #2487
- Add e-mail capability #2476, #2481
- Ability to define default user settings in
data/config-user.custom.php
#2490- Including default feeds #2515
- Allow recreating users if they still exist in database #2555
- Add optional database connection URI parameters #2549, #2559
- Allow longer articles with MySQL / MariaDB (up to 16MB compressed instead of 64kB) #2448
- Add support for terms of service #2520
- Add sharing with Lemmy #2510
- API
- Compatibility
- Deployment
- Take advantage of
mod_authz_core
instead ofmod_access_compat
when running on Apache 2.4+ #2461 - Docker: Ubuntu image updated to 19.10 with PHP 7.3.8 and Apache 2.4.41 #2577
- Docker: Alpine image updated to 3.10 with PHP 7.3.11 and Apache 2.4.41 #2238
- Docker: Increase default PHP POST/upload size to ease importing ZIP files #2563
- New environment variable
COPY_LOG_TO_SYSLOG
to see all logs at once in e.g.docker logs -f
#2591 - New environment variable
FRESHRSS_ENV
to control Minz development mode #2508 - Git ignore
themes/xTheme-*
#2511
- Take advantage of
- Bug fixing
- Security
- UI
- I18n
- Extensions
- Misc.
- Make our JavaScript compatible with LibreJS #2576
- PDO (database) refactoring for code simplification #2522
- Automatic check of CSS syntax in Travis CI #2477
- Make our Travis greener by reducing redundant tests #2589
- Remove support for sharing with Google+ #2464
- Redirect connected users accessing registration page #2530
- Add Makefile #2481
FreshRSS 1.15.1
- Features
- New approach based on OPML to definite default feeds for new users #2627
- API
- Always send articles IDs as string, to fix compatibility with Reeder #2621
- Bug fixing (regressions from 1.15.0)
- Security
- Improve cookie security with policy
SameSite=Lax
#2630
- Improve cookie security with policy
- Misc.
- Perform automatic git updates with safer fetch+reset instead of clean+fetch+merge #2625
FreshRSS 1.15.2
FreshRSS 1.15.3
- Bug fixing (regressions from 1.15.x)
- Compatibility
- Add fallback for systems with old ICU < 4.6 (International Components for Unicode) #2680
- API
- Do not obey
rel=self
feed redirections when WebSub is disabled #2659
- Do not obey
- UI
- Start adding support for RTL (right-to-left) languages #2656
- Deployment
- Docker: Ubuntu image updated to PHP 7.3.11
- Misc.
FreshRSS 1.16.0
- Features
- Allow multiple users to have administration rights #2096
- Preview the CSS rule to retrieve full article content #2778
- Improve CSS selector ordering in the full-text retrieval (
lib_phpQuery
) #2874- Allow combining selectors with a comma such as
#article .title, #article .content
- Allow combining selectors with a comma such as
- New search option
!date:
allowing to exclude any date interval #2869- For instance
!date:P1W
(exlude articles newer than 1 week),!pubdate:2019
,-date:2020-01-01/P5d
, etc.
- For instance
- New option to show all articles in the favourites view #2434
- Allow feed to be actualized just after being truncated #2862
- Fallback to showing a GUID when an article title is empty #2813
- API
- Supported by Readrops (Android, open source) #2798
- Improve consistency of the default category #2840
- Return proper
newestItemTimestampUsec
#2853 - Return
HTTP/1.x 200 OK
for an empty request, to ease discovery #2855 - Add ability to customise dates shown in API #2773
- Minor clearing of unused parameters #2816
- Compatibility
- Support PHP 7.4
- Bug fixing
- Fix regression causing a login bug in some situations related to e-mail login #2686
- Fix regression in feed refresh when there are users whose e-mail is not verified #2694
- Fix PostgreSQL install when using a username different than database name #2732
- Fix error with advanced searches using SQLite #2777
- Fix feed action filter when filtering on
author:
#2806 - Fix warning in WebSub #2743
- Fix environment variables
COPY_LOG_TO_SYSLOG
andFRESHRSS_ENV
controlling logging #2745 - Fix UI flickering when hovering over articles when authors are displayed #2701
- Fix array error with PHP 7.4 #2780
- Fix wrong
foreach
inapplyFilterActions
#2809 - Fix encoding bug in
lib_phpQuery
when fetching the full content of HTML documents with a complex<head ...>
#2864 - Fix minor bug in “articles to display” configuration UI #2767
- Fix sharing with Wallabag #2817
- Fix UI background bug when hovering over a long title that overlaps the date #2755
- UI
- Better UI / client network performance (time to first byte) thanks to a data streaming pipeline with
yield
#2588- Improved buffering strategy accordingly, with a loading animation while waiting for the first articles to arrive (e.g. complex / slow search) #2845
- To benefit from it, requires that the full Web stack allow efficient streaming / flushing of data. Check our reference Docker + Traefik documentation.
- Support RTL (right-to-left) languages #2776
- New keyboard shortcut Alt ⎇+r to mark previous articles as read #2843
- In the statistics page, show feeds inactive for 1, 2, 3, 5 years #2827
- Reset FreshRSS page scroll when restoring a browser session, to avoid inadvertently marking as read new articles #2842
- Fix scrolling of labels dropdown #2727
- Enlarge
<audio>
widgets to use the full width of the reading zone, to help navigation in e.g. podcasts #2875 - Use
<p>
instead of<pre>
to display<media:description>
information #2807 - Show language and e-mail address in the list of users #2703
- Change logic when using shortcuts to navigate between feeds, in the case some are empty #2687
- Option to show/hide favicons (e.g. to reduce the number of requests) #2821
- Improve loader animation colour in the Dark theme #2753
- Better UI / client network performance (time to first byte) thanks to a data streaming pipeline with
- SimplePie
- Use distinct cache for feeds retrieved with
#force_feed
simplepie#643- Fix the issue of not being able to immediately try to add an invalid feed again #2524
- Update to SimplePie 1.5.4 #2702, #2814
- Require PHP 5.6+, and add PHP 7.4+ compatibility
- Add Russian and German dates
- Etc.
- Use distinct cache for feeds retrieved with
- Deployment
- Docker: Alpine image updated to 3.11 with PHP 7.3.16 and Apache 2.4.43 #2729
- Move core extensions (shipped with FreshRSS) to their own directory, so that
./extensions/
is solely for third-party extensions #2837- This allows mounting
./extensions/
as a Docker volume, to ease adding third-party extensions
- This allows mounting
- Extensions
- New core extension to find feeds for Google Groups #2835
- New hooks
check_url_before_add
andfeed_before_actualize
#2704 - Execute the
entry_before_display
hook also through the API #2762 - Allow extensions to change CSP (security) rules #2708
- Expose the article ID in the share system (for a new e-mail sharing extension) #2707
- i18n
- Misc.
FreshRSS 1.16.1
- Features
- API
- New table of compatible clients #2942
- Expose podcasts in API (used by e.g. FeedMe) #2898
- Workaround for clients not sending a clean login request #2961
- Relaxed detection of GReader short/long ID form (for Reeder) #2957
- Fix warning with FeedReader #2947
- Fix GReader string type for Usec fields #2935
- Fix Fever integers type #2946
- CLI
- UI
- Access to feed configuration in mobile view #2938
- Use standard
loading="lazy"
for favicons #2962 - New option to control which categories to unfold #2888
- Turn off autocapitalization in login fields #2907
- Minor layout improvement of help labels #2911
- Minor layout improvement of checkbox labels #2937
- Fix styling of search input fields in Safari #2887
- Fix styling of
.stick
elements in older Webkit browsers #2995 - Use common CSS template for Alternative-Dark theme #3000
- Upgrade to jQuery 3.5.1 for statistics #2982
- Compatibility
- Relax OPML parsing to allow importing not strictly-valid ones #2983
- Deployment
- Bug fixing
- Fix regression when marking all articles as read, risking to mark newer articles as read #2909
- Fix memory leak when using
lib_phpQuery
for full-content retrieval #3004 - Fix preview of CSS selector to retrieve full article content #2993
- Fix PostgreSQL install when user has limited connection rights #3013
- Fix Docker make cron use
FRESHRSS_ENV
environment variable #2963 - Fix e-mail validation bug for admins #2917
- Fix some cases when WebSub-enabled feeds change address #2922
- Fix ensuring that wrong login attempts generate HTTP 403 (e.g. for fail2ban) #2903
- Fix archiving options layout in Edge #2906
- Fix form in statistics for article repartition #2896
- Fix double-HTML-encoding of category names in statistics #2897
- Fix password reveal button during install #2999
- Fix Makefile rules when PHP is not installed #3010
- i18n
- Misc.
- Reduce memory consumption during feed refresh #2972, #2955
- and improved logs containing memory consumption #2964
- Reduce the risk of DB lock errors #2899
- Update PHPMailer library to 6.1.5 #2980
- Initial rules for Markdown linting #2880
- Add a Makefile rule for linting #2996
- Add a Makefile rule to refresh feeds #3014
- Reduce memory consumption during feed refresh #2972, #2955
FreshRSS 1.16.2
Quick fix for FreshRSS 1.16.1.
- Bug fixing (regressions)
- Fix migration of the preference Show categories unfolded (from ≤ 1.16.0) to the new Categories to unfold #3019
FreshRSS 1.17.0
- Features
- Security
- Add user auto-registration when using HTTP Basic authentication login method #3003
- Fix special characters in user queries #3037
- Hide feed credentials when adding a new feed #3099
- Trim whitespace for feed passwords #3158
- Updated PHPMailer library to 6.1.6 #3024
- Add blogger.com to the default list of forced HTTPS #3088
- UI
- Show feed name and date inside the article (especially good on mobile) #3081
- Add shortcut to control media elements (video, audio) #3036
- New option to disable shortcuts #3114
- Case-insensitive sort order of feeds in categories #3131
- Use machine-readable
<time datetime="">
for entry dates #3106 - Add tooltips on entry icons #3115
- Limit dropdown menus max-height #3102
- Fix inline code tag contrast in Ansum and Mapco themes #3048, #3050
- Fix login form in BlueLagoon and Screwdriver themes #3028
- API
- Supported by Fluent Reader (Windows, Linux, MacOS) #3140
- Fix API
quickadd
#3051 - Fix warning when adding a feed #3075
- Work-around for common API address errors #3061
- Compatibility
- Deployment
- CLI
- Bug fixing
- SimplePie: Fix compliance with HTTP 301 Moved Permanently #3180
- i18n
- Misc.
FreshRSS 1.18.1
Note: Last release before dropping support for PHP 5 and Internet Explorer 11.
- Features
- API
- Supported by Newsboat 2.24+ #3574
- Supported by RSS Guard #3627
- UI
- Allow Unicode for shortcuts #3548
- Bug fixing
- Fix database lock during refresh with MariaDB #3559
- Fix database creation from CLI #3544
- Fix:
pdo_sqlite
is optional except for export/import SQLite #3545 - Fix import of JSON and TT-RSS files, especially with PHP 8 #3553
- Allow import of more than 999 favourites/labelled articles even with SQLite
- Fix additional SQL limits, especially for SQLite #3586
- Fix search param encoding in user query #3541
- Fix undefined variable & dead code when adding feed #3546
- Fix missing translation in feed configuration #3554
- Fix double escaping in feed filters #3563
- Fix bugs in migration system #3589
- Fix regression preventing showing startup errors #3590
- Fix form redirection after erroneous user creation #3656
- Fix JavaScript error during navigation when no article is selected #3655
- Fix link to add feeds from the empty homepage #3650
- Fix git update error message #3645
- SimplePie
- Fix regression about media attachments #3565
- Fix regression about forcing HTTPS for enclosures #3568
- Catch ValueError for loadHTML with PHP 8 simplepie#673
- Provide access to latest HTTP status code simplepie#674
- Fix wrong SimplePie type hint simplepie#678
- Merge details from upstream PRs #3588, #3614
- API
- Compatibility with Web servers providing
ORIG_PATH_INFO
#3560
- Compatibility with Web servers providing
- i18n
- Code improvements:
- Deployment
- Automatically apply
latest
tag in git for the latest FreshRSS release #3524
- Automatically apply
- Misc.
FreshRSS 1.19.0
A few highlights:
- Drop support for PHP 5.x (require PHP 7.0+) and initial support for PHP 8.1+
- Drop support for Microsoft Internet Explorer (IE11)
- New thumbnail and/or summary options for the normal view #3805
- New setting to automatically mark as read a new article if there is already one with the same title in the same feed
- New setting to keep only a maximum number of unread articles in a given feed
- Mobile view can access the configuration menus
Detailed tracked changes.
Full changelog:
- Features
- New thumbnail and/or summary options for the normal view #3805
- New setting to automatically mark as read a new article if there is already one with the same title in the same feed #3303
- New setting to keep only a maximum number of unread articles in a given feed #3303
- New search operator based on custom labels, or not #3709
- Search articles with label IDs:
L:12,13,14
or label names:label:something
orlabels:"my label,my other label,🧪"
- Search articles with any label:
L:*
or no label:!L:*
- Search articles with label IDs:
- Add support for installable progressive web app (PWA) #3890
- Bug fixing
- Fix marking as read a label with SQLite and PostgreSQL #3711
- Better fallback for feeds without title #3787
- Fix auto-load articles in anonymous mode and global view #4082
- Fix several typos found by PHPStan, including one affecting the cache of keep max unread articles #4019
- Fix warning in Fever API #4056
- Show no articles alert-box also in global view #4042, #3099
- Fix theme selection when a theme has been deleted #3874
- Fix keyboard shortcuts in anonymous mode #3945
- Fix show password in settings #3966
- Fix JavaScript warnings for non-validated users #3980
- Fix drag & drop layout for subscriptions #3949
- Security
- Better error handling when a user does not exist (especially for API) #3751, #4084
- Do not show Add new feed for anonymous users #4040
- Do not show Mark as read / unread / favourite for anonymous users #3871, #3876
- Do not show back link on error pages if the user does not have access #3765
- Only show Back to RSS feeds when logged-in #3790
- Fix for special characters in keyboard shortcuts #3922
- Remove old workarounds with white space to prevent password autocompletion #3814
- Compatibility
- Deployment
- Docker: development image
:oldest
is now based onalpine:3.5
with PHP 7.0.33 and Apache 2.4.35 #3666 - Docker: default image updated to Debian 11 Bullseye with PHP 7.4.25 and Apache 2.4.51 #3782
- Docker: alternative image updated to Alpine 3.15 with PHP 8.0.14 and Apache 2.4.52 #3996
- Docker: fix inclusion of
.htaccess
for./p/themes/
folder #4074 - Docker: only add the crontab when
CRON_MIN
is set #3927 - Docker: move logic to disable FreshRSS updates #3973
- Docker: allow mounting a volume for the cron file #3927
- Images on Docker Hub are automatically scanned for software vulnerabilities
- Docker: development image
- UI
- Remember article filters when changing views (category / feed) #3986
- Mobile view can access the configuration menu #3879, #3881
- Improve layout of settings on small screen #3818, #3819
- New shortcut to jump to next unread article #3891
- New shortcut to actualise feeds #3900
- Implement Escape shortcut to close panels #3901
- Improve layout of subscription management page #3893
- Use HTML5 tags with better semantics and structure #3651, #3676, #3713, #3747, #3830, #3851
- Allow JavaScript in themes #3739
- Improve layout of statistics #3797, #3799, #3803
- Improve label management #3959
- Update layout of user queries #3827
- Improve style of install procedure #3721
- Add retry button when checking requirements during install #3771
- Improve notification icon #3678
- Add CSS class to back links #3761
- Better support for
400
and405
HTTP error codes #3981 - Many minor UI and style improvements #3792, #3795, #3801, #3802, #3817, #3821, #3824, #3831, #3832, #3877, #3880, #3969, #3989, #3990, #4005, #4015
- Themes
- Show search box for all themes in mobile view #4025
- Fix alternative-dark theme to avoid bright elements #3774, #3806
- Improve the contrast of message boxes for the Origine theme #3725
- Uniformize the size of
input
andselect
elements for the Origine theme #3727 - Fix style of banner text for the Origine theme #3731
- i18n
- Fix language of e-mail notifications #4076
- Lint i18n #3841
- Fix bug in French and German translations of new/old tags #3703, #3668
- Fix name of keyboard shortcut to open in new tab #3899
- Add Japanese #3828, #3834
- Improve Chineese #3926, #3947, #3963, #4084
- Improve Dutch #3844, #3928
- Improve German #3720, #3846, #3913, #4008
- Improve Italian #3939
- Improve Korean #3914
- Improve Occitan #3935
- Improve Polish #4027
- Improve Portuguese #3908, #3925
- Improve Russian #3907
- Improve Slovak #4036
- Improve Spanish #3916
- Extensions
- Add system configuration for extension #3626
- SimplePie
- Misc.
- Implement GitHub Actions for continuous integration / automated testing 3920
- Use ESLint instead of JSHint #3906
- Improve
.editorconfig
and.stylelintrc
#3895, #3912 - Simplify Minz code with PHP 7
??
operator #4020 - Upgrade PHPMailer to 6.5.1 #3977
- Added Raindrop.io as sharing option #3717
- Delete outdated information regarding Firefox feed reader list #3822