Releases: shlinkio/shlink
v2.10.1
v2.10.0
Changed
- #844 Added mutation checks to API tests.
- #1218 Updated to symfony/mercure 0.6.
- #1223 Updated to phpstan 1.0.
- #1258 Updated to Symfony 6 components, except symfony/console.
- Added
domain
field toDeleteShortUrlException
exception.
Added
-
#1163 Allowed setting not-found redirects for default domain in the same way it's done for any other domain.
This implies a few non-breaking changes:
- The domains list no longer has the values of
INVALID_SHORT_URL_REDIRECT_TO
,REGULAR_404_REDIRECT_TO
andBASE_URL_REDIRECT_TO
on the default domain redirects. - The
GET /domains
endpoint includes a newdefaultRedirects
property in the response, with the default redirects set via config or env vars. - The
INVALID_SHORT_URL_REDIRECT_TO
,REGULAR_404_REDIRECT_TO
andBASE_URL_REDIRECT_TO
env vars are now deprecated, and should be replaced byDEFAULT_INVALID_SHORT_URL_REDIRECT
,DEFAULT_REGULAR_404_REDIRECT
andDEFAULT_BASE_URL_REDIRECT
respectively. Deprecated ones will continue to work until v3.0.0, where they will be removed.
- The domains list no longer has the values of
-
#868 Added support to publish real-time updates in a RabbitMQ server.
Shlink will create new exchanges and queues for every topic documented in the Async API spec, meaning, you will have one queue for orphan visits, one for regular visits, and one queue for every short URL with its visits.
The RabbitMQ server config can be provided via installer config options, or via environment variables.
-
#1204 Added support for
openswoole
and migrated official docker image toopenswoole
. -
#1242 Added support to import urls and visits from YOURLS.
In order to do it, you need to first install this dedicated plugin in YOURLS, and then run the
short-url:import yourls
command, as with any other source. -
#1235 Added support to disable rounding QR codes block sizing via config option, env var or query param.
-
#1188 Added support for PHP 8.1.
The official docker image has also been updated to use PHP 8.1 by default.
Removed
- Nothing
Fixed
- #1206 Fixed debugging of the docker image, so that it does not run the commands with
-q
when theSHELL_VERBOSITY
env var has been provided. - #1254 Fixed examples in swagger docs.
Deprecated
-
#1260 Deprecated
USE_HTTPS
env var that was added in previous release, in favor of the newIS_HTTPS_ENABLED
.The old one proved to be confusing and misleading, making people think it was used to actually enable HTTPS transparently, instead of its actual purpose, which is just telling Shlink it is being served with HTTPS.
v2.9.3
v2.9.2
Changed
- Nothing
Added
- Nothing
Removed
- Nothing
Fixed
- #1210 Fixed real time updates not being notified due to an incorrect handling of db transactions on multi-process tasks.
- #1211 Fixed
There is no active transaction
error when running migrations in MySQL/Mariadb after updating to doctrine-migrations 3.3. - #1197 Fixed amount of task workers provided via config option or env var not being validated to ensure enough workers to process all parallel tasks.
Deprecated
- Nothing
v2.9.1
v2.9.0
Added
-
#1015 Shlink now accepts configuration via env vars even when not using docker.
The config generated with the installing tool still has precedence over the env vars, so it cannot be combined. Either you use the tool, or use env vars.
-
#1149 Allowed to set custom defaults for the QR codes.
-
#1112 Added new option to define if the query string should be forwarded on a per-short URL basis.
The new
forwardQuery=true|false
param can be provided during short URL creation or edition, via REST API or CLI command, allowing to override the default behavior which makes the query string to always be forwarded. -
#1105 Added support to define placeholders on not-found redirects, so that the redirected URL receives the originally visited path and/or domain.
Currently,
{DOMAIN}
and{ORIGINAL_PATH}
placeholders are supported, and they can be used both in the redirected URL's path or query.When they are used in the query, the values are URL encoded.
-
#1119 Added support to provide redis sentinel when using redis cache.
-
#1016 Added new option to send orphan visits to webhooks, via
NOTIFY_ORPHAN_VISITS_TO_WEBHOOKS
env var or installer tool.The option is disabled by default, as the payload is backwards incompatible. You will need to adapt your webhooks to treat the
shortUrl
property as optional before enabling this option. -
#1104 Added ability to disable tracking based on IP addresses.
IP addresses can be provided in the form of fixed addresses, CIDR blocks, or wildcard patterns (192.168..).
Changed
- #1142 Replaced
doctrine/cache
package withsymfony/cache
. - #1157 All routes now support CORS, not only rest ones.
- #1144 Added experimental builds under PHP 8.1.
Deprecated
- #1164 Deprecated
SHORT_DOMAIN_HOST
andSHORT_DOMAIN_SCHEMA
env vars. UseDEFAULT_DOMAIN
andUSE_HTTPS=true|false
instead.
Removed
- Nothing
Fixed
v2.8.1
v2.9.0-alpha.1
Symfony cache
v2.8.0
Added
-
#1089 Added new
ENABLE_PERIODIC_VISIT_LOCATE
env var to docker image which schedules thevisit:locate
command every hour when provided with valuetrue
. -
#1082 Added support for error correction level on QR codes.
Now, when calling the
GET /{shorCode}/qr-code
URL, you can pass theerrorCorrection
query param with valuesL
for Low,M
for Medium,Q
for Quartile orH
for High. -
#1080 Added support to redirect to URLs as soon as the path starts with a valid short code, appending the rest of the path to the redirected long URL.
With this, if you have the
https://example.com/abc123
short URL redirecting tohttps://www.twitter.com
, a visit tohttps://example.com/abc123/shlinkio
will take you tohttps://www.twitter.com/shlinkio
.This behavior needs to be actively opted in, via installer config options or env vars.
-
#943 Added support to define different "not-found" redirects for every domain handled by Shlink.
Shlink will continue to allow defining the default values via env vars or config, but afterwards, you can use the
domain:redirects
command or thePATCH /domains/redirects
REST endpoint to define specific values for every single domain.
Changed
- #1118 Increased phpstan required level to 8.
- #1127 Updated to infection 0.24.
- #1139 Updated project dependencies, including base docker image to use PHP 8.0.9 and Alpine 3.14.
Deprecated
- Nothing
Removed
- #1046 Dropped support for PHP 7.4.
Fixed
- #1098 Fixed errors when using Redis for caching, caused by some third party lib bug that was fixed on dependencies update.