Shlink logo

Shlink

The definitive self-hosted URL shortener

Alternative to: bitly, tinyurl, rebrandly

Shlink screenshot

About Versions (100)

v5.1.5

2026-06-22

Improved the performance of the Version20260607082210 migration by implementing batch fetching for short URLs.

v5.1.4

2026-06-18

Fixed an issue where MySQL connections failed with insecure transport errors when using encrypted connections against servers requiring TLS.

v5.1.3

2026-06-16

Fixed a PDO connection error occurring with MySQL and PHP 8.5 when database encryption is enabled.

v5.1.2

2026-06-14

Fixed an issue where clearing the entity cache on startup would silently fail when using Redis or Valkey.

v5.1.1

2026-06-11

Fixed a Postgres migration error caused by a missing explicitly set type during UTF8 encoding.

v5.1.0

2026-06-11

Introduces a new long URL hash column for performance, updates Docker to PHP 8.5, adds browser-based dynamic redirect conditions, and improves Redis cluster support.

v5.0.2

2026-04-16

Fixed an issue where long URLs were ignored when editing a short URL using the short-url:edit console command.

v5.0.1

2026-03-04

Updated PHPUnit to version 13 and updated Docker images to Alpine 3.22 to address a security vulnerability.

v5.0.0

2026-01-09

Introduces date-based redirection conditions and Redis unix socket support, while removing QR code generation and several deprecated environment variables and command options.

v4.6.0

2025-11-01

Added new filtering options for short URLs and visits, support for FrankenPHP, PHP 8.5, and enhanced Redis sentinel credential management.

v4.5.3

2025-10-10

Fixed an issue to ensure Access-Control-Allow-Credentials is set in all cross-origin responses when CORS_ALLOW_CREDENTIALS is enabled.

v4.5.2

2025-08-27

Fixed memory leaks by enabling garbage collection cycles for RoadRunner requests and jobs.

v4.5.1

2025-08-24

Mitigated memory leaks by restarting job and http workers every 250 executions when using RoadRunner.

v4.5.0

2025-07-24

Introduces new configuration options for Mercure, CORS, and trusted proxies, adds new redirect rule conditions and device types, and deprecates QR code generation via URL.

v4.4.6

2025-03-20

Fixed an issue with Matomo country code reporting and resolved a QR code option error.

v4.4.5

2025-03-01

Fixed an issue where deprecation warnings were escalated to ErrorExceptions by ProblemDetailsMiddleware, specifically ignoring them in production.

v4.4.4

2025-02-19

Fixed errors related to redis-cluster lock creation and listing non-orphan visits when using specific API key roles.

v4.4.3

2025-02-15

Fixed visitor IP address resolution behind multiple reverse proxies, Redis lock creation errors, and MS SQL unique index issues.

v4.4.2

2025-01-29

Restored Docker images for ARM architectures.

v4.4.1

2025-01-28

Introduces an ADDRESS environment variable for RoadRunner binding and fixes database connection leaks and page title UTF-8 encoding.

v4.4.0

2024-12-27

Introduces a new REDIRECT_EXTRA_PATH_MODE option, expands allowed characters in custom slugs, updates to PHP 8.4, and drops support for PHP 8.2.

v4.3.1

2024-11-25

Fixed performance degradation for Microsoft SQL by correcting the column order in the unique_short_code_plus_domain index.

v4.3.0

2024-11-24

This release adds PHP 8.4 support, introduces geolocation redirect rules, enables domain filtering for short URLs, and implements SHA256 hashing for API keys.

v4.2.5

2024-11-03

Fixed integration issues with Redis 7.4 and Valkey.

v4.2.4

2024-10-27

Updates the qr-code library to version 6.0, implements environment variables for dev/local options, and improves RoadRunner signal handling in Docker.

v4.2.3

2024-10-17

Fixed a regression where configuration options with null values were incorrectly promoted as empty environment variables.

v4.2.2

2024-10-14

This release improves installer configuration environment variable handling and fixes issues with query parameter forwarding, Docker image versioning, and environment variable fallbacks.

v4.2.1

2024-10-04

Added support for specifying the Redis database index in the connection URI and fixed an issue where the MEMORY_LIMIT installer option was ignored.

v4.2.0

2024-08-11

Updated to RoadRunner 2024 and introduced IP address conditions for dynamic rules, robots.txt customization options, and new CLI commands for editing short URLs.

v4.1.1

2024-05-23

Updated PHPUnit to version 11, replaced the shortid-php package with nanoid-php, and fixed issues with OAS documentation and charset resolution.

v4.1.0

2024-04-14

This release introduces performance improvements for visit counting, adds new CLI commands for deleting expired URLs and sending visits to Matomo, and enhances request traceability.

v4.0.3

2024-03-15

Fixed issues with database credentials being cast to integers and errors when redirecting to non-http long URLs.

v4.0.2

2024-03-09

Fixed an issue causing infinite GeoLite2 downloads.

v3.7.4

2024-03-09

Fixed an issue causing infinite GeoLite2 downloads.

v4.0.1

2024-03-08

Fixed language redirect condition logic and updated OAS documentation for QR code route parameters.

v4.0.0

2024-03-03

Introduces a rule-based dynamic redirects engine, updates to Symfony 7 and Doctrine ORM 3, and removes support for OpenSwoole and Swoole.

v3.7.3-beta.1

2024-01-04

v3.7.3

2024-01-04

Moves migrations from data to module/Core and fixes an issue allowing empty directories to be mounted in data for Docker images.

v3.7.2

2023-12-26

Fixed an issue to allow QR codes to be optionally resolved even when the corresponding short URL is disabled.

v3.7.1

2023-12-17

Removed functional-php dependency, optimized RoadRunner logging, and fixed a Postgres short URL import error.

v3.7.0-beta.1

2023-11-25

v3.7.0

2023-11-25

This release adds PHP 8.3 support, SSL/TLS for Redis and RabbitMQ, experimental Matomo integration, and drops support for PHP 8.1.

v3.6.4

2023-09-23

This release updates the usage of the INITIAL_API_KEY environment variable and fixes issues related to DB timeouts and Redis shared locks.

v3.6.3

2023-06-14

Fixed an issue where Shlink attempted to create SQLite database tables that already existed.

v3.6.2

2023-06-08

Fixed an issue with the rr binary downloading during Shlink updates.

v3.6.1

2023-06-04

Fixed an error during initial Postgres database creation and corrected the default RoadRunner port when not using Docker.

v3.6.0

2023-05-24

This release sets RoadRunner as the default Docker runtime, adds functionality to delete short URL and orphan visits, and introduces an installation automation command.

v3.5.4

2023-04-12

Fixed issues with invalid URL schema validation and CLI short URL creation in OpenSwoole contexts.

v3.5.3

2023-03-31

This release fixes short URL validation, API key tag retrieval, and a memory leak during URL imports.

v3.5.2

2023-02-16

Migrated to PHPUnit 10 and fixed issues related to robots.txt, tags statistics performance, and database detection.

v3.5.2-beta.1

2023-02-12

v3.5.1

2023-02-04

Renamed loosely mode to loose and fixed issues with MS SQL case-insensitive checks and Redis entities metadata cache.

v3.5.0

2023-01-28

Introduces device-based dynamic redirects, expanded visit statistics, support for HTTP methods 307 and 308, case-insensitive short URLs, and updated OpenSwoole configuration.

v3.4.0

2022-12-16

This release adds PHP 8.2 support, new short URL filtering and visit statistics, Redis DSN credential support, and various bug fixes.

v3.3.2

2022-10-18

Fixed an error occurring when attempting to retry visits location from the CLI.

v3.3.1

2022-09-30

This release adds preliminary PHP 8.2 support, reorganizes namespaces for geolocation and core modules, and fixes a trailing slash issue with multi-segment slugs.

v3.3.0

2022-09-18

Introduces REST API v3, experimental RoadRunner support, trailing slash support for short URLs, and improved build times and Docker startup efficiency.

v3.2.1

2022-08-08

Updated route configuration to support multi-segment slugs and restricted support to PHP 8.1, while fixing environment variable config loading.

v3.2.0

2022-08-05

Updated Monolog, added multi-segment custom slugs, expanded visit commands, and introduced Redis pub/sub support for real-time updates.

v3.1.2

2022-06-04

Fixed issues with HTML entity parsing in page titles and a 500 error when filtering short URLs by tags and search terms.

v3.1.1

2022-05-09

Updated the Docker image to openswoole 4.11.1 and fixed a crash occurring during title auto-resolution for large binary files.

v3.1.0

2022-04-23

This release adds Kutt.it import support, a new domain visits endpoint, customizable timezones, and deprecates webhooks ahead of version 4.0.0.

v3.0.3

2022-02-19

Updates the Docker image to PHP 8.1.3 and fixes issues with the installer's delete threshold and API key creation.

v3.0.2

2022-02-10

Fixed incorrect configuration imports for SQLite users upgrading from Shlink 2.x and optimized regexps in the .htaccess file.

v3.0.1

2022-02-04

Fixed an issue with title resolution and updated the pdo_sqlsrv version in the Docker image.

v3.0.0

2022-01-28

Added emoji support, enhanced tag filtering and pagination, a new non-orphan visits endpoint, and reduced docker image size, while removing deprecated 2.x features.

v2.10.3

2022-01-23

Fixed a memory leak in the cache implementation.

v2.10.2

2022-01-07

Fixed issues related to long short URL titles, remote IP logging in swoole/openswoole, and a Redis memory leak causing non-expiring keys.

v2.10.1

2021-12-21

Fixed database connection expiration errors and resolved an issue where the x-request-id header was not generated for non-rest requests.

v2.10.0

2021-12-12

Introduced RabbitMQ support, YOURLS import, PHP 8.1 support, and updated to Symfony 6, while deprecating several environment variables.

v2.9.3

2021-11-15

Fixed a potential SQL injection vulnerability by enforcing doctrine/dbal 3.1.4.

v2.9.2

2021-10-23

Fixed issues with real-time update notifications, MySQL migration transaction errors, and task worker configuration validation.

v2.9.1

2021-10-11

Fixed a crash related to the USE_HTTPS boolean value resolution.

v2.9.0

2021-10-10

Added environment variable configuration, custom QR code defaults, query string forwarding options, not-found redirect placeholders, and Redis sentinel support.

v2.8.1

2021-08-15

Fixed an issue where numeric query parameters in long URLs were incorrectly replaced by 0.

v2.9.0-alpha.1

2021-08-05

v2.8.0

2021-08-04

Introduces QR code error correction, path-appending redirects, domain-specific not-found redirects, and drops support for PHP 7.4.

v2.7.3

2021-08-02

Fixed errors related to importing short URLs without visits and fetching visit data for invalid page numbers.

v2.7.2

2021-07-30

Increased the memory limit for the docker image to prevent crashes during GeoLite database downloads.

v2.8.0-alpha.1

2021-07-16

v2.7.1

2021-05-30

Fixed an issue where GeoLite2 database files were downloaded even when tracking was disabled.

v2.7.0

2021-05-23

This release introduces API key naming, real-time visit location, URL import capabilities, granular tracking options, and bot detection.

v2.6.2

2021-03-12

Fixed a migration error occurring during fresh installations using PHP 8 with MySQL or MariaDB databases.

v2.6.1

2021-02-22

This release removes non-inclusive terms from the source code and fixes bugs related to migrations, Twitter URL shortening, and Swoole stop warnings.

v2.6.0

2021-02-13

Adds PHP 8.0 support, short URL titles, CSV imports, orphan visit tracking, and updates pagination handling while deprecating several command flags and a tag edition endpoint.

v2.5.2

2021-01-24

Added documentation for Architectural Decision Records and fixed several issues related to Swagger docs and CORS headers.

v2.5.1

2021-01-21

Fixed a MariaDB index error during updates to v2.5.0 and resolved a 500 error in the single-step short URL creation endpoint.

v2.5.0

2021-01-17

Introduces a new API key roles system, unix socket database support, unicode slugs, and a configuration script, while deprecating certain QR code URLs and Docker volume configurations.

v2.5.0-alpha.2

2021-01-11

v2.5.0-alpha.1

2020-11-29

v2.4.2

2020-11-22

Fixed several bugs related to swagger documentation, domain listing, Geolite DB downloads, and Swoole configuration caching.

v2.4.1

2020-11-10

Fixed PostgreSQL migration return type hints, the PHP-FPM dev container base image, and not-found redirect status codes.

v2.4.0

2020-11-08

Introduces SVG QR codes, per-URL validation options, domain listing, Bitly imports, and customizable Docker ports, while deprecating certain tag and ordering notations.

v2.3.0

2020-08-09

Added configurable 301/302 redirects, support for non-HTTP schemas, multi-architecture Docker builds, and a new --all flag for listing short URLs.

v2.2.2

2020-06-08

Fixed issues with custom slug character validation and a memory leak when loading visits for tags with many short URLs.

v2.2.1

2020-05-11

Fixed an error occurring when matching existing short URLs with missing validity dates while providing new ones.

v2.2.0

2020-05-09

Added Mercure hub integration for real-time events, new visit statistics endpoints, optional IP anonymization disablement, and improved visit loading performance.

v2.1.4

2020-04-30

Added support for providing a custom GeoLite2 license key to avoid download limits.

v2.2.0-alpha.1

2020-04-25

Added support for Mercure hub integration for real-time event publishing and fixed several bugs related to database connections and cache cleaning.

v2.1.3

2020-04-09

This release fixes several bugs including issues with entities metadata cache, duplicated headers in HEAD requests, Twitter URL previews, Swoole DB connections, and QR code domain inference.