Added
-
#2431 Add new date-based conditions for the dynamic rules redirections system, that allow to perform redirections based on an ISO-8601 date value.
before-date: matches when current date and time is earlier than the defined threshold.after-date: matches when current date and time is later than the defined threshold.
-
#2513 Add support for redis connections via unix socket (e.g.
REDIS_SERVERS=unix:/path/to/redis.sock). -
Visits generated in the command line can now be formatted in CSV, via
--format=csv.
Changed
-
#2522 Shlink no longer tries to detect trusted proxies automatically, when resolving the visitor's IP address, as this is a potential security issue.
Instead, if you have more than 1 proxy in front of Shlink, you should provide
TRUSTED_PROXIESenv var, with either a comma-separated list of the IP addresses of your proxies, or a number indicating how many proxies are there in front of Shlink. -
#2311 All visits-related commands now return more information, and columns are arranged slightly differently.
Among other things, they now always return the type of the visit, region, visited URL, redirected URL and whether the visit comes from a potential bot or not.
-
#2540 Update Symfony packages to 8.0.
-
#2512 Make all remaining console commands invokable.
Deprecated
- Nothing
Removed
- #2507 Drop support for PHP 8.3.
- #2514 Remove support to generate QR codes. This functionality is now handled by Shlink Web Client and Shlink Dashboard.
- #2517 Remove
REDIRECT_APPEND_EXTRA_PATHenv var. UseREDIRECT_EXTRA_PATH_MODE=appendinstead. - #2519 Disabling API keys by their plain-text key is no longer supported. When calling
api-key:disable, the first argument is now always assumed to be the name. - #2520 Remove deprecated
--including-all-tagsand--show-api-key-nameoptions fromshort-url:listcommand. Use--tags-alland--show-api-keyinstead. - #2521 Remove deprecated
--tagsoption in all commands using it. Use--tagmultiple times instead, one per tag. - #2543 Remove support for
--order-by=field,diroptionshort-url:listcommand. Use--order-by=field-dirinstead. - Remove support to provide redis database index via URI path. Use
?database=3query instead. - #2565 Remove explicit dependency in ext-json, since it's part of PHP since v8.0
Fixed
-
#2564 Fix error when trying to persist non-utf-8 title without being able to determine its original charset for parsing.
Now, when resolving a website's charset, two improvements have been introduced:
- If the
Content-Typeheader does not define the charset, we fall back to<meta charset>or<meta http-equiv="Content-Type">. - If it's still not possible to determine the charset, we ignore the auto-resolved title, to avoid other encoding errors further down the line.
- If the