Flus now requires Composer in production. You must install it and install the dependencies with:
$ composer install --no-dev --optimize-autoloader
See the documentation to update Flus.
- Enable the tagging system for everyone (9b3c31c1)
- Add feedback when autosubmit forms are submitted (61fcba81)
- Fix the sharing to Flus through the Android system sharing (ef660258)
- Fix the appearance of the popup buttons during the submission (05c2de51)
- Fix overflowing news groups titles on Chrome (aadb9786)
- Decrease the Pocket retrieve
count
parameter to 30 (d2b23f35) - Update the dependencies (a958487f, 9d4519a9)
- Use the system dialog to share URLs to Flus on mobile (not sure if it works :)) (7a837c2e)
- Display the total number of links in the news (26edbade)
- Improve the feedback of the disabled buttons (8991c212)
- Explain that Markdown can be used in comments (0010f425)
- Improve the description of Flus (54c52978)
- Fix the position of the inner circle of radio buttons (4542d36b)
- Fix the Collection group's default value in forms (c7083afb)
- Fix the z-index of group headers (dffbdd63)
- Generate correct links to tags in the "direct" Atom feeds (ccbcbbc2)
- Handle the Pocket links without URL (f14335ae)
- Replace Parcel by esbuild (5a988874)
- Ignore case when searching for tags (b8e55544)
- Import Pocket tags as links tags (8d36730f)
- Explain that tags can be used (0010f425)
- (tec) Add a GIN index on links.tags (4faef23b)
- Improve the performance when checking if news are available (41014681)
- Fix the position of checkbox ticks of the topics selector (eb698ace)
- Use the feed entry id as link if the link is missing (edfcddd5)
- Update the ClearUrls rules (51fb95e0)
- Configure Mailpit to catch emails in development mode (736a0871)
- Remove the NewsPicker service (b30022da)
- Allow to add tags to links (6870e57b)
- Allow to search for tags and URL parts (4258fe2d, 14a859d2)
- Display the links' tags (4b63e012)
- Make the tags in comments clickable (fc648e37)
- Allow to follow a shared collection (99b8cb18)
- Improve performance to get public links of a user (56aae219)
- Improve the performance of news refreshing (0d54d7c6)
- Homogeneize the "remove from news" labels (96907f33)
- Improve performance to retrieve links to fetch (805380d3)
- Mock all the requests in LinksSyncTest (0c514c5c)
- Refactor the NewsPicker API (346e732e)
- Fix
popup__container--bottom
position (ad8cdbd2)
- Improve the performance when refreshing the news (4cf99396)
- Add a button to never see collections links (d6b4e1bf)
- Improve the label of the terms of services (f2c3f1ce)
- Improve the performance of database reset (eba02290)
- Split tests and linters actions on the CI (b136a7e1)
🎉
- Increase the default news period to 1 week (cb54aba0)
- Fix "My links" page description (ea9074dc)
- Fetch correct information from Youtube URLs (252e0994)
- Support RSS feeds with dates in two-digits (01f87f24)
PHP 8.2+ is now required.
Depending on the number of links you store in the database, the last migration may take a very long time to end. Consider to shutdown the service and warn your users before executing the migrations.
- Get the correct duration of Youtube videos (e132baa3)
- Enable the “Reading” tab for all (c45d8bde)
- Bring back the global actions on the news (bf0fdb61)
- Reset the scroll when doing a "day" action in the news (be6111bc)
- Improve the feedback of the news button (890b9324)
- Make the svg icons unselectable (afdb1d97)
- Show the popup menu on top of the following dates groups (4e0363e3, 58f12f90)
- Align correctly the icons of date groups in the news (d3f2bd8d)
- Require PHP 8.2+ (7283bdfa)
- Add support for PHP 8.3 (3e490209)
- Replace
Link.url_lookup
byurl_hash
(fd1fe711) - Rename the software from flusio to Flus (4e7e981c)
- Upgrade dependencies (1f3c2fb9)
- Improve the overall "News" experience:
- Display links grouped by dates in news (a1ec6c29, 7b5cb20b)
- Display links grouped by sources in news (f9835613, 0952ee13)
- (beta) Change the "news" tab by a "reading" tab (4d02e91c)
- (beta) Load more links in the news from followed feeds (f8acb421, d58c7938)
- (beta) Mark bookmarks as read when storing them (84c870ab)
- Fix the resizing of images with invalid transparency (4953b107)
- Format the sessions dates with the correct locale (63609b18)
- Update Minz (a0ee2b83)
- Update the dependencies (74c84454, 774d75d5)
- Remove the warning about docker-compose.yml version (e6717742)
- Refactor the
_date
helper function (28620cbc) - Rename the Link "via" fields to "source" (e3902683)
- Allow users to accept to be contacted (53fac741)
- Improve the look of multilines checkboxes (60066866)
- Display sessions names before IPs (a212ae90)
- Don't share to Mastodon by default (beta) (d7a798e8)
- Completely anonymize IPs in demo mode (4d72e2ee)
- Fix broken modal/menu when going back in browser history (441053a2)
- Sanitize URL queries containing spaces correctly (49c324f8)
- Lowercase the scheme in URLs during sanitizing (220832d2)
- Remove the GitHub URL from UA in prod and test (6377f42e)
- Allow showcase pages to be loaded in a modal (bbbc5cbc)
- Update dependencies (e76943af, 2cf08968, e8e56694, bf97bee3, b2f7e374, f219c589)
- Allow to configure Plausible (f35878ee)
- Clean empty directories when cleaning media (87346a90)
- Improve output of the system stats command (244278dc)
- Extract statistics in a dedicated CLI command (8361c898)
- Provide statistics as CSV (578a8489)
- Add a link to the about page in the user agent (dfd97a7c)
- Improve requirements declaration in Composer (eadf05b4)
- Document "restart on-failure" in the production doc (6767ed72)
Browscap is now used to identify the sessions of the user. It is recommended to enable it (and update the browsercap.ini file, see browscap.org).
IP and user agent are now processed to help to detect attacks. The last bit of the IP is anonymized and only the browser and the platform are used from the user agent. You may want to adapt your GDPR files according to these changes.
- Don't render the "new link" page in a modal after a change (19b63332)
- Edit the profile in the modale (ee452d47)
- Fix the French locale file (63ba73a9)
- Ignore invalid URLs when synchronising Pocket (f966578c)
- Ignore invalid URLs when synchronising feeds (00214993)
- Handle Response::utf8Data with unsupported encodings (a82bb534)
- Make sure to pass non-empty strings to SpiderBits\Dom (45d60fd3)
- Compare LinksToCollections only on created_at (487adc41)
- Execute Cleaner job at 01:00 AM (1f533403)
- Update the Composer dependencies (dff1ccf3)
- Update the NPM dependencies (bd193407)
PHP 8.1+ is now required. Please check your version before updating flusio!
The CLI command to execute a single job has changed. You should now execute:
$ php cli jobs watch --stop-after=1
The run
command now takes a job id to execute a specific job.
WebP support is now required as all the (new) images are now converted to WebP.
- Support the JSON feed format (41a7701a)
- Display the feeds description as HTML (28f23088)
- Allow to click on the link title to open its URL on the comments page (0646a3d1)
- Make sure to redirect after adding a feed (3ff109d6)
- Fix a typo in the French Pocket error message (14d21628)
- Set minimal version of PHP to 8.1 (8741c97a)
- Add support for PHP 8.2 (4eda049f)
- Save all new images to WebP (cc0acbd6)
- Limit size of illustrations to 5 Mo (ae56a29c)
- Update the dependencies (4d3a7af2)
- Upgrade Minz to its last version (0717a0ac)
- Setup PHPStan (afa0bdda)
- Use Docker Compose v2 (770ef50f)
- Serve files with Nginx in development (6d59863f)
- Improve the detection of the Responses encoding (69b0f271)
- Increase HTTP buffer size when setting max size (9bfb3738)
- Provide a SpiderBits\HtmlSanitizer class (adeff002)
- Don't clone DomDocument when using Dom#select (5c4c1f49)
- Accept LibXML options in the Dom::fromText method (72f0d711)
- Provide a Dom::html method (a2bd4294)
- Extract a PocketAccount model from User (3aacd09a)
- Don't require real Pocket key during tests (3e9a4e49)
- Fail the Mailer job if the email cannot be sent (9c4517c0)
- Reset the session if it exists but the token is not in the cookies (0f537541)
- Absolutize correctly the URLs relatively to the $base_url document (8609c787)
- Absolutize correctly the URLs starting with a hash (7bf78bcc)
- Validate replies URL correctly (db3103c3)
- Take next job with the oldest perform_at (ebc484a8)
- Reschedule jobs considering Daylight Saving Time (49b25c6f)
- Fix mapping of entries ids in FeedFetcher (cbe374bf)
- Force the xdebug version in the Dockerfile (6effdf05)
- Improve the selector of collections (02b12c70)
- Improve outline of header links (f0cd2db3)
- Improve error message when email is invalid during login (ef4a9bca)
- Improve compatibility with passwords managers (54f4c013)
- Rename label of read links card (9130e6c7)
- Remove user menu and alerts from Turbo cache (9f2534ca)
- Display the correct link when URL is duplicated (16a41d51)
- Exclude links only in the never list from the search (b80eb736)
- Render links update errors in the edit form (649c0f36)
- Show the collection delete button only if it's owned (06875bf4)
- Don’t warn about tracking when repairing form has errors (5773763b)
- Hide links actions to unconnected users (75c1b059)
- Change how modals are rendered (fcabfbe7)
- Update dependencies:
In development, commands make start
and make stop
have been renamed to
make docker-start
and make docker-clean
. You’ll also have to rebuild the
bundler image with make docker-build
.
You can set the new APP_FEED_WHAT_IS_NEW
environment variable to change the
feed served by the “What’s new?” link (in “Help & support”).
- Provide a compact mode for links (6bfd55a6)
- Provide a “Preferences” page to change locale and enable beta features (b13d4999)
- Provide a “What's new?” page (14ffb40e)
- Add anchors to external comments on links from feeds (63343e06)
- Track “via” info on mark as read and read later (7795570d)
- Move “Login & security” in “Account & data” (16590954)
- Add more purple to buttons in links footers (c4dc24f5)
- Improve the look of buttons at the bottom of feeds cards (6603ef9b)
- Improve the look of the current item in pagination (277f19a3)
- Export collections feeds with
direct=true
in OPMLs (6160516a)
- Allow to click on the top of links images (90fa04f5)
- Fix various outlines style (33fe6284)
- Try to fix a bug on links actions (c9ecbd10)
- Support more DateTime formats in feeds parser (9fc53d5d)
- (dev) Use ubuntu-22.04 on the CI (bdb935b5)
- (dev) Update svg-sprite to 2.0.0 (09362b93)
- (dev) Update Node and NPM in the Docker image (8d473217)
- (dev) Add a command to rebuild Docker images (448ec722)
- (dev) Prepend start and stop make targets with docker (f86e1fe0)
- Preserve scroll on links actions (7124f456)
- Improve the links UX:
- Improve pagination (cd1bc184)
- Fix and homogeneize focus outlines (d1d3bf02 and c40ca054)
- Add the link title to the illustrations alt (be6974b4)
- Improve the look of the "More help" section (df8c1237)
- Avoid repaired links to reappear in the news (55fad70a)
- Fix invalid prefix in feeds XSL file (7a63d9a0)
- Fix canonical links with several parameters (25f95e92)
A new FEEDS_LINKS_KEEP_MAXIMUM
environment variable can be set to keep a
maximum number of links per feed. You’ll have to set the variable in your
.env
file and restart your jobs workers.
When you change values of JOB_FEEDS_SYNC_COUNT
and JOB_LINKS_SYNC_COUNT
,
you can now execute the command php cli jobs install
instead of executing
the migrations command. It is quite the same under the hood, but it should be
more intuitive.
- Display the number of links in collections (f1e8f3b4)
- Paginate the bookmarks (ba84a1fb)
- Create an Add-ons page (a709c586)
- Force the login redirection on the current instance (2f087f2f)
- Move "About" menu item in "Help & support" (ab89479e)
- Enlarge the avatar menu popup container (f3fdf68a)
- Handle feeds declaring a wrong encoding (0cb9840e)
- Add Referrer-Policy and X-Content-Type-Options headers (fe2e227d)
- Display icons with svg symbols (99388f10)
- Provide a robots.txt file (13bb3694)
- Don't create too old links in FeedFetcher (53a10c0a)
- (admin) Allow to limit the number of links in feeds (26f1de9d)
- (admin) Add a /jobs/install command (469f49ad)
- (admin) Add more info to the /system command (e936b400)
- (dev) Provide a command to create an icon sprite (961c26f2)
- Allow to repair links directly by clicking on warning (1efc4c10)
- Improve links warnings visibility (d211533f)
- Change "ask sync" by "force sync" (a3c19380)
- Suggest to delete link when cleared url is empty (221616c9)
- Remove the separator above the unread link button (83f26f89)
- (admin) Indicate that links count is estimated in /system command (8315c9e9)
- Allow to submit the repair form with enter (22caafee)
- Get newest feeds links when
keep_period
is set (9cd437ae) - Fix the
Url::percentRecodeQuery()
method (23be6a62) - Handle URLs with "&" correctly (85935bbf)
- Consider unfetched links to not be in error (f81136c0)
- Provide ClearURLs rules README and license (8869bfc0)
A new FEEDS_LINKS_KEEP_MINIMUM
environment variable can be set to keep a
minimum number of links per feed when purging is enabled (see FEEDS_LINKS_KEEP_PERIOD
).
You’ll have to set the variable in your .env
file and restart your jobs
workers. You may also want to execute the cli feeds reset-hashes
command so
the old unchanged feeds can be synchronized again to get old links.
- Warn about trackers in URLs (172fa8be)
- Allow to repair links (2d68e25d)
- Allow to edit links reading time (d1aa62a3)
- Allow to edit messages (2cf523db)
- Show an icon on links in error (8f668e43)
- Show who added a link on the comments page (65e9584d)
- Move links edit button at the end of the menu (b60e8351)
- Lighten the background of blockquotes (eb56e0f0)
- Allow to set feeds
<link rel="alternate">
to original links (bc0d8acb) - Improve perf when displaying link collections (0a474ba9)
- (admin) Allow to keep a minimum number of links in feeds (71e20731)
- (admin) Make /cli/clean command more verbose (666c2903)
- Fix the strategy to sanitize URLs (c41afda2)
- Redirect unlogged users to login when posting messages (84176df3)
- Add credits to dependencies in the README (a25277e6)
A new FEEDS_LINKS_KEEP_PERIOD
environment variable can be set to purge old
links from feeds. This allows to reduce the number of links in database. You’ll
have to set the variable in your .env
file and restart your jobs workers.
- Allow to share read and write access to collections (2c20d924 and 2516bb56)
- Allow to purge old feeds links (889754cd)
- Improve performance when getting news from followed collections (f706d416)
- Improve performance when listing links (e65d0237)
- Allow to unset all collections of a link (849bfa09)
- Move the link visibility checkbox to the collections modal (233acd0c)
- Format numbers accordingly to the current locale (9ad383b9)
- Add style to blockquotes and code in messages (49b77190)
- Remove the trailing space in visibility badge (0c3dbc01)
- Handle errors in
Application::run
correctly (a6aaa0c2) - Fix changing collections when passing by a not owned link (93b817ec)
- Declare
links.search_index
as a normal property (7532d61b) - Handle bulk methods with no values (12d22824)
- Fix Node Dockerfile (1af3d480)
- Add a command to clean the media files (fec39a8c)
- Add a
.gitattributes
file (2f1621ee) - Fix documentation of the
Sorter
class (fe387dea) - Reorganize the
env.sample
file (0d08ef1d) - Fix link to Docker Engine installation guide (26a4c007)
The minimal versions for PHP and PostgreSQL have changed: PHP 7.4 and PostgreSQL 13. Please check the versions before updating flusio!
- Enable search feature for all
- Allow Markdown in descriptions and messages
- Redesign the "no news" paragraph
- Improve performance of the Feeds page
- Sort searched links by created_at
- Change the minimal versions for PHP and PostgreSQL
- Add support for PHP 8.1
- Add Parsedown library to parse Markdown
- Update parcel to 2.6.0
- Upgrade eslint plugins
- Provide a form to search in "My links" (beta)
- Create an about page
- Upgrade minimist dependency
- Fix "from" URLs containing "&" characters in
links/_link.phtml
view partial
- Remove back element from DOM instead of hidding
- Enable the new navigation for all users
- Improve the accessibility of popup menus
- Improve the accessibility of forms
- Announce to screen readers that links are opened in a new window
- Improve the accessibility of the "skip to main content" button
- Improve the alerts on importations/exportations
- Rework the onboarding
- Improve Atom feeds content
- Move the "Create collection" button on next row
- Append the brand to title for connected users as well
- Stop tracking all pages in the "back" history
- Disable the "forgot password" feature if demo is enabled
- Check CSRF first in Exportations#create
- Do not reset autoload_modal on redirections
- Reset users autoload_modal for recent users
- Improve performance of the
system
command - Provide a command to remove cache of an URL
- Remove the command to list subscriptions
- Provide a file GDPR.txt
- Update README.md
- Enable public profiles for all users
- Allow to get profile collections as OPML file
- Display via info in more contexts
- Allow to edit a link from profile
- Display user identity on account deletion
- Add a
https://
placeholder to "url" inputs - Add style to the Atom feeds
- Examine responses with no content type
- Redirect to /links after collection deletion
- Don't copy link on links/Collections#index
- Redirect feed of feeds to original feed
- Display jobs names and durations
- Alter some columns to use
BIGINT
type - Upgrade Parcel to v2.3.0
- Ignore
src/views
in lint-fix - Use the new subscriptions sync API
- Allow to init new users with default data (cf. production documentation)
- Display publication date on hover
- Add /feed URL alias to the feeds
- Remove duplicated links from profile page
- Break long words in comments
- Handle duplicated read links
- Export time filters in OPML file
- Format exported XML files nicely
- Add a mechanism to mock HTTP requests during tests
- List last shared links on profile pages (beta)
- Add Atom feed to profiles (beta)
- Improve performance on "Mark all as read"
- Display info about the new navigation (beta)
- Redirect to the feed once added (beta)
- Refactor and fix back navigation
- Support text/rss+xml content type
- Add support for PHP 8
- Reset the locale after each job operation
- Allow to remove link from the read list
- Improve performance on various collections pages
- Revert delaying groups loading on /collections
- Refactor and clean a LOT of code
- Display an icon to distinguish read links
- Allow to mark a link as read on collections pages
- Allow to mark a followed collection as read
- Allow to obtain a link from a public collection
- Add public profile pages (beta)
- Improve security around the support user
- Change the icon of the action of adding a new link in collections
- Add a separator above the unfollow button
- Homogeneize the login modal look
- Display "new feed" errors in the modal (beta)
- Use "followed feeds" wording (beta)
- Allow blocked users to contact the support
- Fix some incorrect current_tab for collections (beta)
- Provide CLI to validate a user
- Update Stimulus and Turbo dependencies
- Update parcel to v2.2.0
- Reorganize the navigation (beta)
- Improve support for invalid OPMLs
- Improve the feed icon
- Fix support of unicode through the application
- Fix Twitter fetching
- Enable the time filters for everyone
- Decrease the space taken by the news buttons
- Lazy load links images
- Improve the UX of time filters
- Decrease the padding around the sections intro
- Allow to configure a time filter per collection (behind a feature flag)
- Improve popup items on big screens
- Fix performance issue when deleting links
- Fix a test of validation email
- Fix migrations create tests
- Autoclean old invalidated users
- Autoclean old unused feeds and links
- Unlock jobs, links and collections if locked for more than an hour
- Update the
idx_links_fetched_code
index - Allow to list subscriptions with CLI
- Provide a command to generate migration files
- Remove CLI users clean command
- Improve performance when listing links from followed
- Delay groups loading on collections page
- Forbid ‘@’ character in usernames
- Handle
x-rss+xml
mime type for RSS - Close DB connections in jobs workers
- Update README.md
- Update index
links_fetched_at
- Cache NPM on GitHub CI
- Improve performance of tests
- Deduplicate feeds with same name on search page
- Fix URLs in OPML exportation
- Make parsing of feeds dates more robust
- Support
APP_PATH
correctly
- Reorganize media files
- Add type
rss
to OPML export - Store feeds type
- Allow users to export their data
- Provide CLI users' data exportation
- Change the wording of "New link" to "New"
- Change the wording of URL to address
- Fix redirection to Pocket
- Limit download size in fetchers
- Enhance links and collections feeds
- Enhance feed parsers
- Provide a Docker psql command
- Execute docker bins in running containers if any
- Fix a Http test
- Alter version in development and test environments
- Remove links from news without marking as read
- Auto-resize text editors
- Fix use of
LinkToCollection
DAO inFeedFetcher
- Upgrade JavaScript dependencies
- Migrate from Turbolinks to Turbo
- Upgrade to Stimulus 2.0.0
- Refactor modal with TurboFrame
- Drop
news_links
table
Important note: this version comes with a bunch of tricky migrations. They are expected to work well but, you know, a crash can be expected. For this reason, it's recommended to stop the jobs workers and to put the application in maintenance mode during the update.
- Allow to list read links
- Handle different link publication dates
- Duplicate identical URLs for different feeds
- Decrease rate limit for Youtube feeds
- Improve rate limit during feeds fetching
- Select links to fetch based on fetched_code
- Sort jobs by ids in CLI
Important change: CLI commands interface has changed! You’ll need to update
the worker(s) service/cron command with the new format (i.e. php cli jobs watch [--queue=TEXT]
).
If you dedicates workers to queues, the performance document
didn’t mentionned the importators
queue previously. It’s now fixed and you
should start a worker dedicated to this queue as well.
- Improve performance of Youtube and feeds fetching
- Redesign the command line interface
- Provide CLI command to show system info and stats
- Add three indexes to database for performance
- Refactor a whole bunch of code
- Mention importators queue in performance doc
- Improve handling of errors during feeds and links sync
- Fix output of migration and rollback commands
- Rename the LinksFetcher job
- Handle correctly empty responses with SpiderBits
- Fix some failing tests
You can now improve performance if you have a high number of feeds and links to synchronize. Documentation has been updated with a new document titled “How to improve performance”.
- Improve performance of synchronization jobs
- Fix click on buttons with SVG on Safari
- Track
cache
folder with git - Change
stopWatch
to be a public method
- Improve look of error and success messages
- Make explicit the username is public
- Show email address when resending validation
- Add info importation can be long
- Reset sessions/reset token on password change
- Send X-Frame-Options header to deny embeding
- Don't decode
+
during URL sanitization - Catch errors during collection image fetching
- Revert Googlebot-compatibility by default
- Dump Pocket items on importation errors
- Fix tests
- Enable feeds for all!
- Improve accessibility for form captions
- Fix small accessibility issues
- Add an accessibility item to PR checklist
- Add illustrations to collections
- Allow to group collections
- Import OPML groups
- Allow to copy the collection link
- Improve collections look
- Add OpenGraph image to public collections
- Add publication date on all links
- Indicate when a link is being fetched
- Add a follow button for unconnected users
- Make explicit collection name max length
- Improve handling of feeds with bad links
- Fix string length calculation on validations
- Update links if entry id exists on feed sync
- Set correct font-family on buttons
- Add Googlebot-compatible to default user agent
- Update JS dependencies
- Allow to reset forgotten passwords
- Handle Atom feeds with no published date
- Make sure users always have bookmarks
- Rename registration-form controller in csrf-loader
Now, topics can have illustrations. They appear on the new discovery page. You
can update existing topics with CLI and provide an image_url
to set
illustrations.
- Add discovery by topics
- Allow to contact the support
- Add anchors on news "via collections"
- Change "account" to "account & data" in header
- Improve style of popup items
- Add section--longbottom on various sections
- Order links messages by creation date
- Fix alignment of locale form icon
- Set correctly feed entry id for links to sync
- Adapt pull request template
- Update Minz
- Update JS dependencies
- Replace news configuration by pre-selections
- Display publication date on news
- Improve look of the button to empty the news
- Remove points of interest
- Adapt onboarding to the latest changes
- List empty feeds on search page
- Cache successful requests only
- Decrease Youtube rate limit to 1 request per minute
- Force IPv4 when fetching Youtube links
- Decrease number of links to fetch at once
- Remove duplicated info between
links
andnews_links
- Replace links
feed_published_at
bycreated_at
- Improve UX when adding a link to a collection (directly fetch the link + redirect to the collection)
- Ignore rate limits on search page
- Decrease rate limit for Youtube
- Always display feed website on search page
- Hide link if url is a feed URL on search page
- Hide comments on news via feed
- Order links by id when
created_at
are identical - Redirect to paginated page on collections actions
- List only OPML/XML files when uploading OPML
- Refresh links in error
- Dedicate a job to clean system data
- Fix data in dao Job test failing randomly
- Change the icon system (include SVG directly in the HTML)
The data/
directory can now contain big files (OPML importations). You can
move it to a different location by setting the APP_DATA_PATH
variable in your
.env
file. Make sure to move the data/migrations_version.txt
file as
well!
- Provide OPML importation
- Add support for RDF feed (RSS 0.90)
- Adapt feeds look in news
- Fix order in feeds for existing links
- Fix a test in Job DAO
- Handle avatar upload with no files
- Add rate limits on links and feeds fetching
- Tell Chrome to don’t track users (WTF‽)
- Improve look of feeds cards on search page
- Move search button on desktop
- Don’t list empty feeds on search
- Add feeds autodiscovery for Youtube
- Adapt meta tags for feed collections
- Change the default-card.png file
- Don’t set link title if entry title is empty
- Handle feeds with no
feed_site_url
correctly
- Increase HTTP timeouts
- Provide a scheduled job to clean the cache
- Add credits to the README
- Add support for syndication feeds (behind a feature flag)
- Replace new link page by a search page
- Autodiscover feeds on search page
- Improve look of "New link" anchor (header)
- Use absolute URLs for atom links
- Adapt the number of links on owned collections pages
- Make sure to initialize locale with the default one
- Accept CLI parameters containing
=
char - Add html entities protection on URLs
- Add flag system for experimental features
- Add CLI commands to list users and manipulate feeds
- Improve the look of CLI usage command
- Improve jobs priority
- Raise exceptions on Curl errors
- Change
UserLinksFetcher
to a globalLinksFetcher
scheduled job - Move
CurrentUser
underflusio\auth\
namespace - Refactor resources access permissions
- Split and reorganize controllers
- Ignore specific lines with PHP linter
Jobs worker services can now be dedicated to queues.
If APP_DEMO
is true, the reset of the application is now automatically done
via a scheduled job. The make reset-demo
target is removed, you should remove
your cron task if you had one.
If you’ve set the subscription system, the sync cron task must be removed as well (a scheduled job is running every 4 hours).
A new environment variable must be set in your .env
file: APP_SUPPORT_EMAIL
.
It’s used to create a default user. Make sure to set it to a user that doesn’t
exist since feeds are attached to it.
See production documentation for more information.
- Provide an Atom feed for links comments and collections
- Add OpenGraph tags on public links/collections
- Display info about pricing during registration
- Facilitate password managers operations
- Keep order during Pocket importation
- Remove Pocket collections if empty
- Clarify the impact of Pocket tags importation
- Handle iso-8859-1 and bad encoding during link fetching
- Correctly initialize
created_at
on saving - Fix account icon if subscriptions are off
- Add scheduled jobs
- Add data seeds on system setup
- Add jobs queue
- Fix documentation about systemd service file
- Move controllers under their own folder
- Fix ubuntu version on CI
- Allow to set CLI default locale
- Load registration CSRF token with JavaScript
- Add device-width to HTML viewport tag
- Initialize a user to handle support
- Rename Fetch service in LinkFetcher
- Initialize
.env
file onmake start
- Ignore more folders on make tree
Validation emails are now sent asynchronously by a jobs worker. First of all,
you must make sure to have installed the pcntl
PHP extension. Then, please
have a look to the production documentation to learn how to setup the worker.
If you want to setup the Pocket importation system, you’ll have to create a Pocket "consumer key". More information in the production documentation.
- Add Pocket importations
- Allow users to change their avatar
- Allow to directly mark bookmarks as read
- Fetch actual content of Twitter pages
- Reword links "Show publicly" option in "Hide in public collections"
- Add pagination on collection page
- Add
aria-current="page"
on concerned anchors - Remove icons of collections titles
- Fix the infinite redirection when discovering page was empty
- Fix username length issues
- Create validation token on "resend email" action if the token is missing
- Setup an async jobs system
- Provide a DaoConnector trait and refactor code
- Extract the routes into a dedicated class
- Set docker-compose project name to
flusio
- Update the README
- Reorganise technical documentation
A new batch of fixes and improvements to deploy in production today!
- Allow to delete messages
- Provide pagination on discovering page
- Display origin of news links
- Change wording for accepting terms of service
- Clarify important emails on registration
- Improve integration on various platforms
- Improve account nav menu
- Increase modal margin bottom on mobile
- Change default title font-family to sans-serif
- Add spacing under
.news__postpone
- Remove some autofocus
- Lighten the layout border color
- Homogeneize card-action border width with footer
- Fix link to continue on step 4 of onboarding
- Fix modal undefined content
- Fix checkbox shrinking on mobile
- Fix section image on mobile
- Fix header background for Firefox on mobile
This release brings mainly a lot of UI/UX improvements.
- Improve overall layout structure
- Reorganize create/edit/delete buttons
- Remove cancel actions from forms
- Change body background
- Add a border around content
- Improve links UX
- Change link main action from "see" to "read"
- Move actions from link show page to collection cards
- Remove quick unbookmark button in cards
- Simplify link show page
- Remove sharing page
- Add links to web extension stores
- Remove shadow card from discover and public lists
- Hide "remove from news definitively" option
- Change card footer from turquoise to purple
- Change the green color in collections illustration to turquoise
- Create subscription accounts on Cron sync
- Add service param in subscription login request
- Fix a SpiderBits test
- Fix the GitHub funding link
- Bump ParcelJS version
- Bump JS ini version to 1.3.8
A small release for the “grand opening”!
- Provide better integration for browser extension
- Bump ParcelJS version
- Increase default HTTP timeout
- Add log on subscriptions sync
- Allow to mark a single link as read
- Pick public news links in private collections
- Display a default card image for links with no image
- Move news preferences in a modal
- Improve readability of fieldsets
- Increase the quantity of blue in grey color
- Change cards titles to display block
- Add autofocus on security confirm password
- Add a pop-out icon on the subscription anchor
- Reword collections index section intro
- Improve details of the link fetching page
- Put "Show publicly" always at the end of forms
- Reword default option to select collections
- Change the color of selected collections
- Add a confirmation on "mark all as read"
- Add a bit of colors to cards footers
- Animate slowly the "body after" bar
- Fix popup menu position on mobile
Make sure that the GD PHP extension is installed with support of PNG, JPEG and WEBP images.
You might need to reset some ids due to the bug fixed by df29d41
.
(optional) flusio now supports Open Graph and Twitter Cards images. For oldest links, you can refresh their image by running the following command:
flusio$ # where NUMBER should be replaced by a positive integer value (default is 10)
flusio$ php cli --request /links/refresh -pnumber=NUMBER
- Display Open Graph images on links
- Add batch actions at the bottom of news
- Improve the UX of news
- Improve unbookmark UX
- Save and redirect at step 4 of onboarding
- Improve visibility of
.popup__item
on hover - Add light gradient backgrounds
- Change cursor on button hover to pointer
- Reduce line-height of cards titles
- Reorganize commands in CLI usage action
- Fix id on Link::initFromNews
- Don't hide card--shadow on mobile per default
- Add French sync to PR template
- Add PHP gd extension requirement
The ids of collections and links are changing to a numeric form, which means previous URLs will break. This is not a change that I would do if the service was open or installed by other people, at least not in a >= 1.0 release. Since I'm almost the only person using it today and that I shared very few URLs, it’s OK for me to do it. It's also the last occasion to make this change (or it would require more work).
(optional, mostly for myself) You can configure the subscription feature with
the APP_SUBSCRIPTIONS_*
environment variables. Read production documentation
for more details.
- Provide a subscription feature (monetization)
- Allow users to update login credentials
- Add a “terms of service” mecanism
- Block not validated users after 1 day
- Make explicit that JavaScript is required
- Change links and collections ids format (decimal instead of hexadecimal)
- Reorganize the "avatar" menu
- Reduce width of registration/login sections
- Improve extraction of websites title (again!)
- Hide back anchors on public page if no back URL
- Center submit button on profile page
- Homogeneize titles case
- Add a light linear gradient on popup menus
- Fix height of inputs
- Set cookies
SameSite
toLax
- Generate user CSRF token directly instead of calling
Minz\CSRF
- Update Minz version
- Fix the locale in User factory
- Improve SpiderBits\Http get method
- Rename
format_date
toformat_message_date
and create a more genericformat_date()
function
(optional) You can change your instance brand name by setting APP_BRAND
in
your .env
file.
- Allow to configure news
- Provide onboarding
- Allow to change the brand name
- Consider the OpenGraph and Twitter titles
- Redirect intelligently on link deletion
- Improve the news tips section
- Reword options to remove news
- Increase the topic label max size
- Don't select link in owned collection for news
- Hide "add to collections" if user has no collections
- Fix select width with long options on mobile
- Fix padding for header locale form
- Add
[devmode]
in page title in development - Fix break line in cards details
- Refactor listing with
human_implode
in News - Fix NewsPicker duration test
- Fix a test to be sure to generate unique URLs
(optional) You can now create topics. Topics are attached to collections in order to categorize them. Topics are created by the administrator with the CLI:
flusio# php ./cli --request /topics/create -plabel=LABEL
- Provide topics for collections
- Allow users to set their points of interest
- Get news suggestions from points of interest
- Provide public collections discovery
- Allow to delete a link
- Change default avatar
- Display if collection/link is public
- Improve the link and collection settings menus
- Add a card shadow to complete blocks of 3
- Add a light color on card:focus-within
- Add placeholder on public links without comments
- Display owner of followed collections
- Improve tips when there are no news
- Change links to close modals to buttons
- Improve
section__nav
margin on mobile - Fix wording for private collection back button
- Go to previous page from public collection
- Refactor and fix "back" anchor on link pages
- Fix
<title>
for collections pages - Fix cards design
- Hide titles overflow
- Return 404 if deleting non existing collection
- Add support for rollbacks
- Update Parcel to beta-1
- Add support for serial ids in SaveHelper
- Add a test on cli usage command
- Forbid access to not owned collections
- Allow to create public collections
- Allow to follow collections
- Provide tips if there are no news to suggest
- Allow to permanently hide a news
- Allow to set link public during creation/edit
- Improve the process to add news to collections
- Move a bunch of actions in modals
- Improve the collections selector
- Improve the look of checkboxes
- Move public checkboxes at the end of forms
- Add a link to skip to the main content
- Add an anchor to go back from links add page
- Redirect directly to link page after fetch
- Add autofocus on a bunch of inputs
- Improve the look of navbar on mobile
- Change the news icon
- Put primary buttons on the right
- Add back anchor on public pages
- Add a light background to cards footers
- Fix links "collections" button padding
- Add few illustrations
- Improve and homogeneize wording
- Fix sanitization of HTML
<title>
- Fix cards overflow
- Fix scrolling to top on Firefox
- Save backForLink on turbolinks:visit
- Fix margins of
.card__details
- Hide marker of
.popup__opener
on Chrome
- Extract a CSS card component
- Provide a modal mechanism
- Migrate the news system to a dedicated model
- Update French locales
- Change
include_once
byinclude
for JS configuration - Bump bl from 4.0.2 to 4.0.3
- Provide a basic system to read the "News"
- Provide a back anchor on link page
- Show link title on edit and collections
- Make a bunch of small design adjustments
- Return l10n key if value doesn't exist (JS)
- Allow to comment links
- Allow to share public links
- Improve the (un)bookmark button
- Add the logo to the "not connected" header
- Improve look of buttons
- Set session cookie on registration
- Add anchors on cards titles
- Add a title on "manage" link collections
- Update French locales
- Update the PR template
- Complete doc about release and update
- Split Links controller file
- Bump elliptic from 6.5.2 to 6.5.3
- Bump lodash from 4.17.15 to 4.17.19
- Always show anchor to add links to collection
- Rename new collection description label
- Reduce time before fetching link
- Hide "www." from the links hosts
- Change "about" link to flus.fr
- Fix header UI details
- Fix bookmarks name localization
- Fix title scrapping for Youtube
- Parse title only for HTML pages
- Update French locales
- Allow creation/edition/deletion of collections
- Provide a dedicated page to add links
- Manage collections from the link page
- Add support for mobiles
- Rework header bar
- Change style of hr tag
- Set Turbolinks progress bar style
- Move "edit/settings" anchor on link show page
- Set correct version in SpiderBits user agent
- Update French locales
- Update icons
- Force CSRF token for connected users
- Homogeneize routes and controller actions names
- Provide a FakerHelper class for tests
If your instance is a demo, you should change the cron task which reset the
data by make reset-demo NO_DOCKER=true
. This will reset the database and
create a demo user.
(optional) You can close registrations on your instance by setting the
APP_OPEN_REGISTRATIONS
environment variable to false
.
- Allow to close registrations
- Allow to create users via the CLI
- Improve reading time calculation by removing script tags from dom content
- Decrease margins to put more content on small screens
- Add few illustrations
- Create a demo account during demo reset
- Select default locale based on http Accept-Language header
- Improve the look of success message when an account is deleted
- Fix title encoding on some websites
- Fix sessions lifetime by initializing the session from a custom cookie
- Update French l10n
(optional) The responses from links fetching are now cached during one day. The
APP_CACHE_PATH
env variable can be set in order to change the location of
cached responses (default is the flusio cache/
folder).
- Puny-decode links host
- Don't lowercase links title
- Show a spinner animation during link fetching
- Fix "reseted" typo
- Cache response during links fetching
First version