-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update ghcr.io/shlinkio/shlink docker tag to v4.3.1 #1330
Open
gabe565-renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/ghcr.io-shlinkio-shlink-4.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Kustomization Diff
Click to expand--- kubernetes/gabernetes/apps/shlink/app Kustomization: shlink/app HelmRelease: shlink/shlink
+++ kubernetes/gabernetes/apps/shlink/app Kustomization: shlink/app HelmRelease: shlink/shlink
@@ -45,13 +45,13 @@
TZ: America/Chicago
VALIDATE_URLS: 'true'
WEB_WORKER_NUM: '4'
image:
pullPolicy: IfNotPresent
repository: ghcr.io/shlinkio/shlink
- tag: 4.2.5-roadrunner@sha256:eeac42357e63e5fa4df270a5c26e80435958bcf6df7199e92a084e99164cdce6
+ tag: 4.3.1-roadrunner@sha256:c4c9d9322b32100900017a7c808941f44a5f233fd3c9fbcf58ce1777d22a6675
securityContext:
readOnlyRootFilesystem: true
initContainers:
geoip:
command:
- sh
@@ -61,13 +61,13 @@
cp -a ./vendor/shlinkio/shlink-ip-geolocation/src/GeoLite2/* /geoip
sed -i 's|https://download.maxmind.com|http://geoip-download.geoip|' \
/geoip/GeoLite2Options.php
image:
pullPolicy: IfNotPresent
repository: ghcr.io/shlinkio/shlink
- tag: 4.2.5-roadrunner@sha256:eeac42357e63e5fa4df270a5c26e80435958bcf6df7199e92a084e99164cdce6
+ tag: 4.3.1-roadrunner@sha256:c4c9d9322b32100900017a7c808941f44a5f233fd3c9fbcf58ce1777d22a6675
pod:
labels:
policy.gabe565.com/egress-geoip: 'true'
policy.gabe565.com/egress-namespace: 'true'
policy.gabe565.com/egress-world: 'true'
policy.gabe565.com/ingress-ingress: 'true' |
HelmRelease Diff
Click to expand--- HelmRelease: shlink/shlink Deployment: shlink/shlink-api
+++ HelmRelease: shlink/shlink Deployment: shlink/shlink-api
@@ -43,13 +43,13 @@
- -c
- |
set -eux
cp -a ./vendor/shlinkio/shlink-ip-geolocation/src/GeoLite2/* /geoip
sed -i 's|https://download.maxmind.com|http://geoip-download.geoip|' \
/geoip/GeoLite2Options.php
- image: ghcr.io/shlinkio/shlink:4.2.5-roadrunner@sha256:eeac42357e63e5fa4df270a5c26e80435958bcf6df7199e92a084e99164cdce6
+ image: ghcr.io/shlinkio/shlink:4.3.1-roadrunner@sha256:c4c9d9322b32100900017a7c808941f44a5f233fd3c9fbcf58ce1777d22a6675
imagePullPolicy: IfNotPresent
name: geoip
volumeMounts:
- mountPath: /geoip
name: geolite2
- mountPath: /tmp
@@ -88,13 +88,13 @@
- name: TZ
value: America/Chicago
- name: VALIDATE_URLS
value: 'true'
- name: WEB_WORKER_NUM
value: '4'
- image: ghcr.io/shlinkio/shlink:4.2.5-roadrunner@sha256:eeac42357e63e5fa4df270a5c26e80435958bcf6df7199e92a084e99164cdce6
+ image: ghcr.io/shlinkio/shlink:4.3.1-roadrunner@sha256:c4c9d9322b32100900017a7c808941f44a5f233fd3c9fbcf58ce1777d22a6675
imagePullPolicy: IfNotPresent
name: app
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /etc/shlink/data |
gabe565-renovate
bot
force-pushed
the
renovate/ghcr.io-shlinkio-shlink-4.x
branch
from
November 26, 2024 00:31
d9b0da1
to
5d01d7a
Compare
gabe565-renovate
bot
changed the title
chore(deps): update ghcr.io/shlinkio/shlink docker tag to v4.3.0
chore(deps): update ghcr.io/shlinkio/shlink docker tag to v4.3.1
Nov 26, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.2.5-roadrunner
->4.3.1-roadrunner
Release Notes
shlinkio/shlink (ghcr.io/shlinkio/shlink)
v4.3.1
Compare Source
Added
Changed
Deprecated
Removed
Fixed
unique_short_code_plus_domain
index.[4.3.0] - 2024-11-24
Added
#2159 Add support for PHP 8.4.
#2207 Add
hasRedirectRules
flag to short URL API model. This flag tells if a specific short URL has any redirect rules attached to it.#1520 Allow short URLs list to be filtered by
domain
.This change applies both to the
GET /short-urls
endpoint, via thedomain
query parameter, and theshort-url:list
console command, via the--domain
|-d
flag.#1774 Add new geolocation redirect rules for the dynamic redirects system.
geolocation-country-code
: Allows to perform redirections based on the ISO 3166-1 alpha-2 two-letter country code resolved while geolocating the visitor.geolocation-city-name
: Allows to perform redirections based on the city name resolved while geolocating the visitor.#2032 Save the URL to which a visitor is redirected when a visit is tracked.
The value is exposed in the API as a new
redirectUrl
field for visit objects.This is useful to know where a visitor was redirected for a short URL with dynamic redirect rules, for special redirects, or simply in case the long URL was changed over time, and you still want to know where visitors were redirected originally.
Some visits may not have a redirect URL if a redirect didn't happen, like for orphan visits when no special redirects are configured, or when a visit is tracked as part of the pixel action.
Changed
#2193 API keys are now hashed using SHA256, instead of being saved in plain text.
As a side effect, API key names have now become more important, and are considered unique.
When people update to this Shlink version, existing API keys will be hashed for everything to continue working.
In order to avoid data to be lost, plain-text keys will be written in the
name
field, either together with any existing name, or as the name itself. Then users are responsible for renaming them using the newapi-key:rename
command.For newly created API keys, it is recommended to provide a name, but if not provided, a name will be generated from a redacted version of the new API key.
Update to Shlink PHP coding standard 2.4
Update to
hidehalo/nanoid-php
2.0Update to PHPStan 2.0
Deprecated
Removed
Fixed
[4.2.5] - 2024-11-03
Added
Changed
Deprecated
Removed
Fixed
[4.2.4] - 2024-10-27
Added
Changed
endroid/qr-code
6.0.Deprecated
Removed
Fixed
exec
to ensure signals are properly handled.[4.2.3] - 2024-10-17
Added
Changed
Deprecated
Removed
Fixed
null
value to be promoted as env vars with value''
, instead of being skipped.[4.2.2] - 2024-10-14
Added
Changed
Deprecated
Removed
Fixed
_FILE
suffixed counterpart.[4.2.1] - 2024-10-04
Added
Changed
Deprecated
Removed
Fixed
MEMORY_LIMIT
option being ignored when provided via installer options.[4.2.0] - 2024-08-11
Added
#2120 Add new IP address condition for the dynamic rules redirections system.
The conditions allow you to define IP addresses to match as static IP (1.2.3.4), CIDR block (192.168.1.0/24) or wildcard pattern (1.2.*.*).
#2018 Add option to allow all short URLs to be unconditionally crawlable in robots.txt, via
ROBOTS_ALLOW_ALL_SHORT_URLS=true
env var, or config option.#2109 Add option to customize user agents robots.txt, via
ROBOTS_USER_AGENTS=foo,bar,baz
env var, or config option.#2163 Add
short-urls:edit
command to edit existing short URLs.This brings CLI and API interfaces capabilities closer, and solves an overlook since the feature was implemented years ago.
#2164 Add missing
--title
option toshort-url:create
andshort-url:edit
commands.Changed
Deprecated
Removed
Fixed
[4.1.1] - 2024-05-23
Added
Changed
pugx/shortid-php
package withhidehalo/nanoid-php
.Deprecated
Removed
Fixed
query-param
condition type were defined asquery
.[4.1.0] - 2024-04-14
Added
#1330 All visit-related endpoints now expose the
visitedUrl
prop for any visit.Previously, this was exposed only for orphan visits, since this can be an arbitrary value for those.
#2077 When sending visits to Matomo, the short URL title is now used as document title in matomo.
#2059 Add new
short-url:delete-expired
command that can be used to programmatically delete expired short URLs.Expired short URLs are those that have a
validUntil
date in the past, or optionally, that have reached the max amount of visits.This command can be run periodically by those who create many disposable URLs which are valid only for a period of time, and then can be deleted to save space.
#1925 Add new
integration:matomo:send-visits
console command that can be used to send existing visits to integrated Matomo instance.#2087 Allow
memory_limit
to be configured via the newMEMORY_LIMIT
env var or configuration option.Changed
#2034 Modernize entities, using constructor property promotion and readonly wherever possible.
#2036 Deep performance improvement in some endpoints which involve counting visits:
This has been achieved by introducing a new table which tracks slotted visits counts. We can then
SUM
all counts for certain short URL, avoidingCOUNT(visits)
aggregates which are much less performant when there are a lot of visits.#2049 Request ID is now propagated to the background tasks/jobs scheduled during a request.
This allows for a better traceability, as the logs generated during those jobs will have a matching UUID as the logs generated during the request the triggered the job.
Deprecated
Removed
Fixed
[4.0.3] - 2024-03-15
Added
Changed
Deprecated
Removed
Fixed
int
if they include only numbers.[4.0.2] - 2024-03-09
Added
Changed
Deprecated
Removed
Fixed
[4.0.1] - 2024-03-08
Added
Changed
Deprecated
Removed
Fixed
color
andbgColor
params for the QR code route in the OAS docs.[4.0.0] - 2024-03-03
Added
#1914 Add new dynamic redirects engine based on rules. Rules are conditions checked against the visitor's request, and when matching, they can result in a redirect to a different long URL.
Rules can be based on things like the presence of specific params, headers, locations, etc. This version ships with three initial rule condition types: device, query param and language.
#1902 Add dynamic redirects based on query parameters.
This is implemented on top of the new rule-based redirects.
#1915 Add dynamic redirects based on accept language.
This is implemented on top of the new rule-based redirects.
#1868 Add support for docker compose secrets to the docker image.
#1979 Allow orphan visits lists to be filtered by type.
This is supported both by the
GET /visits/orphan
API endpoint viatype=...
query param, and by thevisit:orphan
CLI command, via--type
flag.#1904 Allow to customize QR codes foreground color, background color and logo.
#1884 Allow a path prefix to be provided during short URL creation.
This can be useful to let Shlink generate partially random URLs, but with a known prefix.
Path prefixes are validated and filtered taking multi-segment slugs into consideration, which means slashes are replaced with dashes as long as multi-segment slugs are disabled.
Changed
php-middleware/request-id
with userland simple middleware.league\uri
package.TEXT
type, which allows for much longer values.Deprecated
Removed
Fixed
[3.7.3] - 2024-01-04
Added
Changed
data
tomodule/Core
.Deprecated
Removed
Fixed
data
when using the docker image.[3.7.2] - 2023-12-26
Added
Changed
Deprecated
Removed
Fixed
[3.7.1] - 2023-12-17
Added
Changed
Deprecated
Removed
Fixed
[3.7.0] - 2023-11-25
Added
#1798 Experimental support to send visits to an external Matomo instance.
#1780 Add new
NO_ORPHAN_VISITS
API key role.Keys with this role will always get
0
when fetching orphan visits.When trying to delete orphan visits the result will also be
0
and no visits will actually get deleted.#1879 Cache namespace can now be customized via config option or
CACHE_NAMESPACE
env var.This is important if you are running multiple Shlink instance on the same server, or they share the same Redis instance (even more so if they are on different versions).
#1905 Add support for PHP 8.3.
#1927 Allow redis credentials be URL-decoded before passing them to connection.
#1834 Add support for redis encrypted connections using SSL/TLS.
Encryption should work out of the box if servers schema is set tp
tls
orrediss
, including support for self-signed certificates.This has been tested with AWS ElasticCache using in-transit encryption, and with Digital Ocean Redis database.
#1906 Add support for RabbitMQ encrypted connections using SSL/TLS.
In order to enable SLL, you need to pass
RABBITMQ_USE_SSL=true
or the corresponding config option.Connections using self-signed certificates should work out of the box.
This has been tested with AWS RabbitMQ using in-transit encryption, and with CloudAMQP.
Changed
#1799 RoadRunner/openswoole jobs are not run anymore for tasks that are actually disabled.
For example, if you did not enable RabbitMQ real-time updates, instead of triggering a job that ends immediately, the job will not even be enqueued.
#1835 Docker image is now built only when a release is tagged, and new tags are included, for minor and major versions.
#1055 Update OAS definition to v3.1.
#1885 Update to chronos 3.0.
#1896 Requests to health endpoint are no longer logged.
#1877 Print a warning when manually running
visit:download-db
command and a GeoLite2 license was not provided.Deprecated
Removed
Fixed
[3.6.4] - 2023-09-23
Added
Changed
#1866 The
INITIAL_API_KEY
env var is now only relevant for the official docker image.Going forward, new non-docker Shlink installations provisioned with env vars that also wish to provide an initial API key, should do it by using the
vendor/bin/shlink-installer init --initial-api-key=%SOME_KEY%
command, instead of usingINITIAL_API_KEY
.Deprecated
Removed
Fixed
INITIAL_API_KEY
env var.[3.6.3] - 2023-06-14
Added
Changed
Deprecated
Removed
Fixed
[3.6.2] - 2023-06-08
Added
Changed
Deprecated
Removed
Fixed
rr
binary downloading during Shlink update.[3.6.1] - 2023-06-04
Added
Changed
Deprecated
Removed
Fixed
postgres
db does not exist or the credentials do not grant permissions to connect.[3.6.0] - 2023-05-24
Added
#1148 Add support to delete short URL visits.
This can be done via
DELETE /short-urls/{shortCode}/visits
REST endpoint or viashort-url:visits-delete
console command.The CLI command includes a warning and requires the user to confirm before proceeding.
#1681 Add support to delete orphan visits.
This can be done via
DELETE /visits/orphan
REST endpoint or viavisit:orphan-delete
console command.The CLI command includes a warning and requires the user to confirm before proceeding.
#1753 Add a new
vendor/bin/shlink-installer init
command that can be used to automate Shlink installations.This command can create the initial database, update it, create proxies, clean cache, download initial GeoLite db files, etc
The official docker image also uses it on its entry point script.
#1656 Add support for openswoole 22
#1784 Add new docker tag where the container runs as a non-root user.
#953 Add locks that prevent errors on duplicated keys when creating short URLs in parallel that depend on the same new tag or domain.
Changed
#1755 Update to roadrunner 2023
#1745 Roadrunner is now the default docker runtime.
There are now three different docker images published:
3.6.0
) will contain the default runtime, whichever it is.-roadrunner
suffix (like3.6.0-roadrunner
) will always use roadrunner as the runtime, even if default one changes in the future.-openswoole
suffix (like3.6.0-openswoole
) will always use openswoole as the runtime, even if default one changes in the future.Deprecated
ENABLE_PERIODIC_VISIT_LOCATE
env var. Use an external mechanism to automate visit locations.Removed
Fixed
[3.5.4] - 2023-04-12
Added
Changed
Deprecated
Removed
Fixed
#1742 Fix URLs using schemas which do not contain
//
, likemailto:
, to no longer be considered valid.#1743 Fix Error when trying to create short URLs from CLI on an openswoole context.
Unfortunately the reason are real-time updates do not work with openswoole when outside an openswoole request, so the feature has been disabled for that context.
[3.5.3] - 2023-03-31
Added
Changed
Deprecated
Removed
Fixed
[3.5.2] - 2023-02-16
Added
Changed
Deprecated
Removed
Fixed
robots.txt
./tags/stats
endpoint.[3.5.1] - 2023-02-04
Added
Changed
loosely
mode toloose
, as it was a typo. The old one keeps working and maps to the new one, but it's considered deprecated.Deprecated
Removed
Fixed
[3.5.0] - 2023-01-28
Added
#1557 Added support to dynamically redirect to different long URLs based on the visitor's device type.
For the moment, only
android
,ios
anddesktop
can have their own specific long URL, and when the visitor cannot be matched against any of them, the regular long URL will be used.In the future, more granular device types could be added if appropriate (iOS tablet, android table, tablet, mobile phone, Linux, Mac, Windows, etc).
In order to match the visitor's device, the
User-Agent
header is used.#1632 Added amount of bots, non-bots and total visits to the visits summary endpoint.
#1633 Added amount of bots, non-bots and total visits to the tag stats endpoint.
#1653 Added support for all HTTP methods in short URLs, together with two new redirect status codes, 307 and 308.
Existing Shlink instances will continue to work the same. However, if you decide to set the redirect status codes as 307 or 308, Shlink will also return a redirect for short URLs even when the request method is different from
GET
.The status 308 is equivalent to 301, and 307 is equivalent to 302. The difference is that the spec requires the client to respect the original HTTP method when performing the redirect. With 301 and 302, some old clients might perform a
GET
request during the redirect, regardless the original request method.#1662 Added support to provide openswoole-specific config options via env vars prefixed with
OPENSWOOLE_
.#1389 and #706 Added support for case-insensitive short URLs.
In order to achieve this, a new env var/config option has been implemented (
SHORT_URL_MODE
), which allows eitherstrict
orloosely
loose
.Default value is
strict
, but ifloose
is provided, then short URLs will be matched in a case-insensitive way, and new short URLs will be generated with short-codes in lowercase only.Changed
Deprecated
GET /short-urls/shorten
endpoint. UsePOST /short-urls
to create short URLs instead.validateUrl
option on URL creation/edition.Removed
Fixed
[3.4.0] - 2022-12-16
Added
#1612 Allowed to filter short URLs out of lists, when
validUntil
date is in the past or have reached their maximum amount of visits.This can be done by:
excludeMaxVisitsReached=true
and/orexcludePastValidUntil=true
to theGET /short-urls
endpoint.--exclude-max-visits-reached
and/or--exclude-past-valid-until
to theshort-urls:list
command.#1613 Added amount of visits coming from bots, non-bots and total to every short URL in the short URLs list.
Additionally, added option to order by non-bot visits, by passing
nonBotVisits-DESC
ornonBotVisits-ASC
.#1599 Added support for credentials on redis DSNs, either only password, or both username and password.
#1616 Added support to import orphan visits when importing short URLs from another Shlink instance.
#1519 Allowing to search short URLs by default domain.
#1555 and #1625 Added full support for PHP 8.2, updating the docker image to this version.
Changed
VisitRepository
andShortUrlRepository
into separated repository classes.Deprecated
Removed
Fixed
FLUSHDB
being run on Shlink docker start-up when using redis, causing full cache to be flushed.[3.3.2] - 2022-10-18
Added
Changed
Deprecated
Removed
Fixed
[3.3.1] - 2022-09-30
Added
Changed
Visit\Geolocation
namespace.Deprecated
Removed
Fixed
[3.3.0] - 2022-09-18
Added
#1221 Added experimental support to run Shlink with RoadRunner instead of openswoole.
#1531 and #1090 Added support for trailing slashes in short URLs.
#1406 Added new REST API version 3.
When making requests to the REST API with
/rest/v3/...
and an error occurs, all error types will be different, with the next correlation:INVALID_ARGUMENT
->https://shlink.io/api/error/invalid-data
INVALID_SHORT_URL_DELETION
->https://shlink.io/api/error/invalid-short-url-deletion
DOMAIN_NOT_FOUND
->https://shlink.io/api/error/domain-not-found
FORBIDDEN_OPERATION
->https://shlink.io/api/error/forbidden-tag-operation
INVALID_URL
->https://shlink.io/api/error/invalid-url
INVALID_SLUG
->https://shlink.io/api/error/non-unique-slug
INVALID_SHORTCODE
->https://shlink.io/api/error/short-url-not-found
TAG_CONFLICT
->https://shlink.io/api/error/tag-conflict
TAG_NOT_FOUND
->https://shlink.io/api/error/tag-not-found
MERCURE_NOT_CONFIGURED
->https://shlink.io/api/error/mercure-not-configured
INVALID_AUTHORIZATION
->https://shlink.io/api/error/missing-authentication
INVALID_API_KEY
->https://shlink.io/api/error/invalid-api-key
If you make a request to the API with v2 or v1, the old error types will be returned, until Shlink 4 is released, when only the new ones will be used.
Non-error responses are not affected.
#1513 Added publishing of the docker image in GHCR.
#1114 Added support to provide an initial API key via
INITIAL_API_KEY
env var, when running Shlink with openswoole or RoadRunner.Also, the installer tool now allows to generate an initial API key that can be copy-pasted (this tool is run interactively), in case you use php-fpm or you don't want to use env vars.
#1528 Added support to delay when the GeoLite2 DB file is downloaded in docker images, speeding up its startup time.
In order to do it, pass
SKIP_INITIAL_GEOLITE_DOWNLOAD=true
when creating the container.Changed
Deprecated
Removed
Fixed
[3.2.1] - 2022-08-08
Added
Changed
Deprecated
Removed
Fixed
[3.2.0] - 2022-08-05
Added
#854 Added support for multi-segment custom slugs.
The feature is disabled by default, but you can optionally opt in. If you do, you will be able to create short URLs with multiple segments in the custom slug, like
https://example.com/foo/bar/baz
.#1280 Added missing visit-related commands.
Now you can run
tag:visits
,domain:visits
,visit:orphan
orvisit:non-orphan
to get the corresponding list of visits from the command line.#962 Added new real-time update for new short URLs.
You can now subscribe to the
https://shlink.io/new-short-url
topic on any of the supported async updates technologies in order to get notified when a short URL is created.#1367 Added support to publish real-time updates in redis pub/sub.
The publishing will happen in the same redis instance/cluster configured for caching.
Changed
#1452 Updated to monolog 3
#1485 Changed payload published in RabbitMQ for all visits events, in order to conform with the Async API spec.
Since this is a breaking change, also provided a new
RABBITMQ_LEGACY_VISITS_PUBLISHING=true
env var that can be provided in order to keep the old payload.This env var is considered deprecated and will be removed in Shlink 4, when the legacy format will no longer be supported.
Deprecated
Removed
Fixed
visit:locate
command with any extra parameter (like--retry
).[3.1.2] - 2022-06-04
Added
Changed
Deprecated
Removed
Fixed
[3.1.1] - 2022-05-09
Added
Changed
Deprecated
Removed
Fixed
[3.1.0] - 2022-04-23
Added
#1294 Allowed to provide a specific domain when importing URLs from YOURLS.
#1416 Added support to import URLs from Kutt.it.
#1418 Added support to customize the timezone used by Shlink, falling back to the default one set in PHP config.
The timezone can be set via the
TIMEZONE
env var, or using the installer tool.#1309 Improved URL importing, ensuring individual errors do not make the whole process fail, and instead, failing URLs are skipped.
#1162 Added new endpoint to get visits by domain.
The endpoint is
GET /domains/{domain}/visits
, and it has the same capabilities as any other visits endpoint, allowing pagination and filtering.Changed
Deprecated
Removed
Fixed
db:create
command always reporting the schema exists if thedb:migrate
command has been run before by mistake.[3.0.3] - 2022-02-19
Added
Changed
Deprecated
Removed
Fixed
[3.0.2] - 2022-02-10
Added
Changed
Deprecated
Removed
Fixed
.htaccess
file.[3.0.1] - 2022-02-04
Added
Changed
Deprecated
Removed
Fixed
validateUrl
is not set or is explicitly set to true.[3.0.0] - 2022-01-28
Added
#767 Added full support to use emojis everywhere, whether it is custom slugs, titles, referrers, etc.
#1274 Added support to filter short URLs lists by all provided tags.
The
GET /short-urls
endpoint now accepts atagsMode=all
param which will make only short URLs matching all the tags in thetags[]
query param, to be returned.The
short-urls:list
command now accepts a-i
/--including-all-tags
flag which behaves the same.#1273 Added support for pagination in tags lists, allowing to improve performance by loading subsets of tags.
For backwards compatibility, lists continue returning all items by default, but the
GET /tags
endpoint now supportspage
anditemsPerPage
query params, to make sure only a subset of the tags is returned.This is supported both when invoking the endpoint with and without
withStats=true
query param.Additionally, the endpoint also supports filtering by
searchTerm
query param. When provided, only tags matching it will be returned.#1063 Added new endpoint that allows fetching all existing non-orphan visits, in case you need a global view of all visits received by your Shlink instance.
This can be achieved using the
GET /visits/non-orphan
endpoint.Changed
DELETE_SHORT_URL_THRESHOLD
env var, disabling the feature if a value was not provided.Deprecated
GET /tags?withStats=true
endpoint. UseGET /tags/stats
instead.Removed
#1275 Removed everything that was deprecated in Shlink 2.x.
See UPGRADE doc in order to get details on how to migrate to this version.
#1347 Dropped support for regular swoole in favor of openswoole.
Since openswoole support was introduced in the previous release version, Shlink will still consider the swoole extension as openswoole, as at the moment, functionality hasn't deviated too much, and will simplify migrating to Shlink 3.0.0
However, there's no longer active testing with regular swoole, and it is considered no longer supported. If some incompatibility arises, the only supported solution will be to migrate to openswoole.
Fixed
Older versions
v4.3.0
Compare Source
Added
#2159 Add support for PHP 8.4.
#2207 Add
hasRedirectRules
flag to short URL API model. This flag tells if a specific short URL has any redirect rules attached to it.#1520 Allow short URLs list to be filtered by
domain
.This change applies both to the
GET /short-urls
endpoint, via thedomain
query parameter, and theshort-url:list
console command, via the--domain
|-d
flag.#1774 Add new geolocation redirect rules for the dynamic redirects system.
geolocation-country-code
: Allows to perform redirections based on the ISO 3166-1 alpha-2 two-letter country code resolved while geolocating the visitor.geolocation-city-name
: Allows to perform redirections based on the city name resolved while geolocating the visitor.#2032 Save the URL to which a visitor is redirected when a visit is tracked.
The value is exposed in the API as a new
redirectUrl
field for visit objects.This is useful to know where a visitor was redirected for a short URL with dynamic redirect rules, for special redirects, or simply in case the long URL was changed over time, and you still want to know where visitors were redirected originally.
Some visits may not have a redirect URL if a redirect didn't happen, like for orphan visits when no special redirects are configured, or when a visit is tracked as part of the pixel action.
Changed
#2193 API keys are now hashed using SHA256, instead of being saved in plain text.
As a side effect, API key names have now become more important, and are considered unique.
When people update to this Shlink version, existing API keys will be hashed for everything to continue working.
In order to avoid data to be lost, plain-text keys will be written in the
name
field, either together with any existing name, or as the name itself. Then users are responsible for renaming them using the newapi-key:rename
command.For newly created API keys, it is recommended to provide a name, but if not provided, a name will be generated from a redacted version of the new API key.
Update to Shlink PHP coding standard 2.4
Update to
hidehalo/nanoid-php
2.0Update to PHPStan 2.0
Deprecated
Removed
Fixed
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.