Shlink
The definitive self-hosted URL shortener
Alternative to: bitly, tinyurl, rebrandly
v3.0.0
2022-01-28Added
-
#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-urlsendpoint now accepts atagsMode=allparam which will make only short URLs matching all the tags in thetags[]query param, to be returned.The
short-urls:listcommand now accepts a-i/--including-all-tagsflag 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 /tagsendpoint now supportspageanditemsPerPagequery params, to make sure only a subset of the tags is returned.This is supported both when invoking the endpoint with and without
withStats=truequery param.Additionally, the endpoint also supports filtering by
searchTermquery 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-orphanendpoint.
Changed
- #1277 Reduced docker image size to 45% of the original size.
- #1268 Updated dependencies, including symfony/console 6 and mezzio/mezzio-swoole 4.
- #1283 Changed behavior of
DELETE_SHORT_URL_THRESHOLDenv var, disabling the feature if a value was not provided. - #1300 Changed default ordering for short URLs list, returning always from newest to oldest.
- #1299 Updated to the latest base docker images, based in PHP 8.1.1, and bumped openswoole to v4.9.1.
- #1282 Env vars now have precedence over installer options.
- #1328 Refactored ShortUrlsRepository to use DTOs in methods with too many arguments.
Deprecated
- #1315 Deprecated
GET /tags?withStats=trueendpoint. UseGET /tags/statsinstead.
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
- Nothing