Releases: shlinkio/shlink
v4.5.3
v4.5.2
v4.5.1
v4.5.0
Changed
- #2406 Remove references to bootstrap from error templates, and instead inline the very minimum required styles.
Added
-
#2438 Add
MERCURE_ENABLEDenv var and corresponding config option, to more easily allow the mercure integration to be toggled.For BC, if this env var is not present, we'll still consider the integration enabled if the
MERCURE_PUBLIC_HUB_URLenv var has a value. This is considered deprecated though, and next major version will rely only onMERCURE_ENABLED, so if you are using Mercure, make sure to setMERCURE_ENABLED=trueto be ready. -
#2387 Add
REAL_TIME_UPDATES_TOPICSenv var and corresponding config option, to granularly decide which real-time updates topics should be enabled. -
#2418 Add more granular control over how Shlink handles CORS. It is now possible to customize the
Access-Control-Allow-Origin,Access-Control-Max-AgeandAccess-Control-Allow-Credentialsheaders via env vars or config options. -
#2386 Add new
any-value-query-paramandvalueless-query-paramredirect rule conditions.These new rules expand the existing
query-param, which requires both a specific non-empty value in order to match the condition.The new conditions match as soon as a query param exists with any or no value (in the case of
any-value-query-param), or if a query param exists with no value at all (in the case ofvalueless-query-param). -
#2360 Add
TRUSTED_PROXIESenv var and corresponding config option, to configure a comma-separated list of all the proxies in front of Shlink, or simply the amount of trusted proxies in front of Shlink.This is important to properly detect visitor's IP addresses instead of incorrectly matching one of the proxy's IP address, and if provided, it disables a workaround introduced in #2359.
-
#2274 Add more supported device types for the
deviceredirect condition:linux: Will match desktop devices with Linux.windows: Will match desktop devices with Windows.macos: Will match desktop devices with MacOS.chromeos: Will match desktop devices with ChromeOS.mobile: Will match any mobile devices with either Android or iOS.
-
#2093 Add
REDIRECT_CACHE_LIFETIMEenv var and corresponding config option, so that it is possible to set theCache-Controlvisibility directive (publicorprivate) when theREDIRECT_STATUS_CODEhas been set to301or308. -
#2323 Add
LOGS_FORMATenv var and corresponding config option, to allow the logs generated by Shlink to be in console or JSON formats.
Removed
- Nothing
Fixed
- Nothing
Deprecated
- #2408 Generating QR codes via
/{short-code}/qr-codeis now deprecated and will be removed in Shlink 5.0. Use the equivalent capability from web clients instead.
v4.4.6
v4.4.5
Changed
- Nothing
Added
- Nothing
Removed
- Nothing
Fixed
-
#2373 Ensure deprecation warnings do not end up escalated to
ErrorExceptions byProblemDetailsMiddleware.In order to do this, Shlink will entirely ignore deprecation warnings when running in production, as those do not mean something is not working, but only that something will break in future versions.
Deprecated
- Nothing
v4.4.4
v4.4.3
Changed
- Nothing
Added
- Nothing
Removed
- Nothing
Fixed
-
#2351 Fix visitor IP address resolution when Shlink is served behind more than one reverse proxy.
This regression was introduced due to a change in behavior in
akrabat/rka-ip-address-middleware, that now picks the first address from the right after excluding all trusted proxies.Since Shlink does not set trusted proxies, this means the first IP from the right is now picked instead of the first from the left, so we now reverse the list before trying to resolve the IP.
In the future, Shlink will allow you to define trusted proxies, to avoid other potential side effects because of this reversing of the list.
-
#2354 Fix error "NOSCRIPT No matching script. Please use EVAL" thrown when creating a lock in redis.
-
#2319 Fix unique index for
short_codeanddomain_idinshort_urlstable not being used in Microsoft SQL engines for rows wheredomain_idisnull.
Deprecated
- Nothing
v4.4.2
v4.4.1
Changed
- Nothing
Added
- #2331 Add
ADDRESSenv var which allows to customize the IP address to which RoadRunner binds, when using the official docker image.
Removed
- Nothing
Fixed
- #2341 Ensure all asynchronous jobs that interact with the database do not leave idle connections open.
- #2334 Improve how page titles are encoded to UTF-8, falling back from mbstring to iconv if available, and ultimately using the original title in case of error, but never causing the short URL creation to fail.
Deprecated
- Nothing