Sign in

Shlink

@shlink.io
102 followers 0 following 80 posts

The definitive self-hosted URL shortener. Author: @acelaya.com Website: shlink.io GitHub: github.com/shlinkio/shlink Mastodon: fosstodon.org/@shlinkio

PostsRepliesMedia
Shlink @shlink.io · 07/08/2026
Released Shlink Dashboard 0.3.0 It adds support for Shlink 5.1, updates some dependencies to major versions and has a bunch of bugfixes. slnk.to/0.3.0-dash
slnk.to
Releases · shlinkio/shlink-dashboard
Next generation web application for Shlink. Contribute to shlinkio/shlink-dashboard development by creating an account on GitHub.
010
Reposted by Shlink
Alejandro Celaya @acelaya.com · 20/07/2026
I'm looking for my next #job as a software engineer. I have 16 years of experience in web development with technologies like React, Node.js, Typescript and PHP, but I've also used Python and Kotlin. I've worked in remote and distributed teams for many years and I have good communication skills.
149
Shlink @shlink.io · 20/06/2026
Released Shlink Web Client 4.8.0, with full support for Shlink 5.1.0 slnk.to/v4.8.0-web
slnk.to
Release v4.8.0 · shlinkio/shlink-web-client
Changed Update dependencies Added [shlink-web-client] Add support for Shlink 5.1.0, by supporting browser redirect conditions. Removed Nothing Fixed Nothing Deprecated Nothing
010
Shlink @shlink.io · 11/06/2026
Shlink 5.1.0 released! * New browser condition for dynamic redirect rules * Support ACL in redis sentinel instances * Performance improvements when creating short URLs with findExisting=true * Update docker image to PHP 8.5 slnk.to/v5.1.0
slnk.to
Release v5.1.0 · shlinkio/shlink
Changed #2487 Create a new long_url_hash column, which is an indexed binary sha256 hash of the long URL. Use it when checking if a URL exists for a particular long URL, improving performance thank...
010
Shlink @shlink.io · 21/05/2026
Shlink now has a code of conduct github.com/shlinkio/.gi...
github.com
010
Shlink @shlink.io · 14/05/2026
And while considering if the project should leave GitHub, Shlink has reached 5k stars there 😅
010
Shlink @shlink.io · 05/05/2026
I would probably use renovate, but it's just one more thing where I can't simply click "import"
100
Shlink @shlink.io · 03/05/2026
This might never happen due to 1, but I'm interested in your opinion about 2. github.com/orgs/shlinki...
github.com
Consider leaving GitHub · shlinkio · Discussion #203
I'm more and more misaligned with GitHub's philosophy and priorities, so I'm considering a migration of this project somewhere else, like codeberg.
030
Shlink @shlink.io · 03/05/2026
I'm seriously considering leaving GitHub. The two main reasons I haven't yet: 1. Can be a ton of work: Git, issues and PRs have direct replacements, but things like actions or dependabot don't. 2. Community and discoverability: People have GitHub accounts and assume OSS is on GitHub.
250
Shlink @shlink.io · 15/02/2026
I'll document this decision in the following days. For now, the option has been disabled in main Shlink repos.
010
Shlink @shlink.io · 15/02/2026
Dear community, due to the rise of unsolicited and "by surprise" pull requests, all AI generated, Shlink won't be accepting external contributions anymore. Thank those who don't care. You can still open issues and discussions.
121
Shlink @shlink.io · 04/02/2026
Released Shlink Web Client 4.7.0 and Shlink Dashboard 0.2.3, adding support for Shlink 5.0.0 slnk.to/4.7.0-web slnk.to/0.2.3-dash
slnk.to
Release v4.7.0 · shlinkio/shlink-web-client
Changed Nothing Added [shlink-web-component] Add support for Shlink 5.0.0, by supporting date-based redirect conditions. Removed Nothing Fixed Nothing Deprecated Nothing
030
Shlink @shlink.io · 18/01/2026
This kind of behavior is not welcome in the Shlink project. Issues and PRs looking like AI- generated will be closed with no further notice.
010
Shlink @shlink.io · 18/01/2026
Dear community, I beg you to avoid reporting AI-generated issues or pull requests, with an extremely verbose wall-of-text description. Respect your OSS maintainers and be mindful of their time. Make the effort to manually write well thought and concise descriptions.
162
Shlink @shlink.io · 16/01/2026
Shlink is turning 10 years old in a couple months 😀 slnk.to/first-commit
A screenshot of first Shlink commit, showing the date was April 8, 2016
050
Shlink @shlink.io · 09/01/2026
This is mainly a "cleanup" release, removing a lot of old deprecated code which makes it easier for future functionalities to be developed. As a major release, it introduces breaking changes, so make sure you check the upgrade guide slnk.to/upgrade-4-to-5
slnk.to
shlink/UPGRADE.md at 9edceab3c4dfcd9f953b33c6e38c904c1f8a92df · shlinkio/shlink
The definitive self-hosted URL shortener. Contribute to shlinkio/shlink development by creating an account on GitHub.
010
Shlink @shlink.io · 09/01/2026
Released Shlink 5.0.0 🚀 * New date-based conditional redirects * Allow redis connection via unix socket * Consolidate visits CLI commands * Export visits in CSV via console * Remove all deprecated functionality * Drop support for PHP 8.3 slnk.to/5.0.0
slnk.to
Release v5.0.0 · shlinkio/shlink
Added #2431 Add new date-based conditions for the dynamic rules redirections system, that allow to perform redirections based on an ISO-8601 date value. before-date: matches when current date an...
141
Shlink @shlink.io · 12/12/2025
This release also includes fixes for the latest vulnerabilities found in React Server Components, so it is strongly advised to update.
000
Shlink @shlink.io · 12/12/2025
Shlink Dashboard 0.2.0 just released 🚀 It brings a few UI improvements and bugfixes, as well as full support for Shlink 4.6.0 slnk.to/dash-0.2.0
slnk.to
Release v0.2.0 · shlinkio/shlink-dashboard
Changed #675 Vertically center home and login page content. Added shlink-web-component#839 Allow filtering short URLs by excluded tags when using Shlink >=4.6.0 shlink-web-component#838 Allow fi...
120
Shlink @shlink.io · 30/11/2025
The attack seems to have stopped, so shlink.io is up again (at least provisionally), but I will continue monitoring it.
020
Shlink @shlink.io · 29/11/2025
The attack is still ongoing. I got app.shlink.io back up, as it is not affected, but I can't bring shlink.io up due to the cost it would have. Next week I will evaluate putting it behind Cloudflare or similar to try to mitigate the situation.
100
Shlink @shlink.io · 28/11/2025
app.shlink.io might still work if you accessed it before and have it cached in your device.
app.shlink.io
100
Shlink @shlink.io · 28/11/2025
FYI, shlink.io, app.shlink.io and slnk.to are currently down due to a DDoS attack. I'm trying to reach my service provider to see what can be done.
150
Shlink @shlink.io · 12/11/2025
Released Shlink Web Client 4.6.0 * Filter URLs by excluded tags (Shlink 4.6.0) * Filter tag, orphan and non-orphan visits by domain (Shlink 4.6.0) * Prefill long URL in creation form via `long-url=https://example.com` query * Drop dupport for Shlink older than 4.0.0 slnk.to/v4.6.0-web
slnk.to
Release v4.6.0 · shlinkio/shlink-web-client
Changed Nothing Added shlink-web-component#839 Allow filtering short URLs by excluded tags when using Shlink >=4.6.0 shlink-web-component#838 Allow filtering tag, orphan and non-orphan visits by...
010
Shlink @shlink.io · 01/11/2025
This marks the last 4.x release. Next feature release will be 5.0.0.
010
Shlink @shlink.io · 01/11/2025
Released Shlink 4.6.0 🚀 * Filter short URLs not containing tags * Filter short URLs by API key * Filter tag, orphan and non-orphan visits by domain * Allow deleting API keys * Support for FrankenPHP * Support for PHP 8.5 * Support for redis credentials when using redis sentinels slnk.to/v4.6.0
slnk.to
Release v4.6.0 · shlinkio/shlink
Changed #2424 Make simple console commands invokable. Added #2327 Allow filtering short URL lists by those not including certain tags. Now, the GET /short-urls endpoint accepts two new params: ...
120
Shlink @shlink.io · 21/10/2025
I've been lately thinking Shlink should not handle API key roles and restrictions. See the discussions and provide feedback github.com/orgs/shlinki...
github.com
Removing API key roles and restrictions · shlinkio · Discussion #188
Context A few years ago a feature was implemented to add API key roles to Shlink, allowing to restrict the short URLs and visits a "user" would see. Issue: shlinkio/shlink#882 Main PR: shlinkio/shl...
000
Shlink @shlink.io · 08/08/2025
Released Shlink Web Client 4.5.0 * Support for `any-value-query-param` and `valueless-query-param` redirect conditions. * Support for desktop device types. * Allow visits table columns to be customized. * Allow region to be displayed in visits table. slnk.to/v4.5.0-web
slnk.to
Release v4.5.0 · shlinkio/shlink-web-client
Changed Update to FontAwesome 7 Update to Recharts 3 Update to @shlinkio/shlink-web-component 0.16.1 Added shlink-web-component#755 Add support for any-value-query-param and valueless-query-par...
020
Shlink @shlink.io · 24/07/2025
Released Shlink 4.5.0 * Granular control over enabled real-time updates topics * New device types for device redirects * New query-param-related redirect rules * Cross-domain customizations * Support to generate JSON logs * Deprecated QR codes generation slnk.to/v4.5.0
slnk.to
Release v4.5.0 · shlinkio/shlink
Changed #2406 Remove references to bootstrap from error templates, and instead inline the very minimum required styles. Added #2438 Add MERCURE_ENABLED env var and corresponding config option, ...
020
Shlink @shlink.io · 05/07/2025
✅ Shlink Dashboard 0.1.0 ✅ Shlink Web Client 4.4.0 🛠️ Shlink 4.5.0
130
Shlink @shlink.io · 05/07/2025
We have crossed 4000 stars on GitHub ⭐
A screenshot of Shlink GitHub repository, showing it has 4006 stars at the moment of taking it
030
Shlink @shlink.io · 22/06/2025
Just take into account the first release can be unstable, and I'll keep v0.* until I feel it has been tested by enough people. Next versions may introduce breaking changes until v1.0 is released. It's also lacking a couple feature that will be available in future.
000
Shlink @shlink.io · 22/06/2025
I'm very happy to announce Shlink Dashboard has just been released 🎉 Give it a try and let me know what you think. slnk.to/shlink-dashb...
slnk.to
GitHub - shlinkio/shlink-dashboard: Next generation web application to interact with Shlink servers
Next generation web application to interact with Shlink servers - shlinkio/shlink-dashboard
140
Shlink @shlink.io · 26/05/2025
Perhaps another way of seeing it
Shlink Dashboard 0.1.0 milestone status: 21 tasks finished, 3 left.
000
Shlink @shlink.io · 26/05/2025
So close!
The list of tasks pending to finish Shlink Dashboard 0.1.0, which only shows three items left.
120
Shlink @shlink.io · 20/04/2025
Just released shlink-web-client 4.4.0 🚀 * Support to forward credentials to Shlink. Useful if proxying both shlink-web-client and Shlink, with extra authentication. * Client-side generated QR codes, with extra options, like more formats and logos. * Initial tailwind-based UI. slnk.to/v4.4.0-web
slnk.to
Release v4.4.0 · shlinkio/shlink-web-client
Changed Update to react-router 7.0 Update to @shlinkio/shlink-frontend-kit 0.8.x Update to @shlinkio/shlink-web-component 0.13.x Update to @shlinkio/shlink-js-sdk 2.0.0 Add eslint-plugin-react-com...
031
Shlink @shlink.io · 11/04/2025
Shlink Dashboard 0.2.0 - UI fully Tailwind-based, replacing bootstrap. - Fixes and improvements from feedback received after testing v0.1.0
000
Shlink @shlink.io · 11/04/2025
Shlink 4.5.0 - Deprecates QR code generation, which is now covered by UI apps. - Improvements in redirect rules.
100
Shlink @shlink.io · 11/04/2025
shlink-web-client 4.4.0 - QR codes now generated client-side. Future versions will include extra QR code customizations. - UI fully Tailwind-based, replacing bootstrap.
100
Shlink @shlink.io · 11/04/2025
Shlink Dashboard 0.1.0 - Not fully feature-complete, but enough to get initial testing and feedback. - Sets the foundations for the new Tailwind-based UI for Shlink apps.
100
Shlink @shlink.io · 11/04/2025
Upcoming Shlink ecosystem releases! - Shlink Dashboard 0.1.0 - shlink-web-client 4.4.0 - Shlink 4.5.0 - Shlink Dashboard 0.2.0 After Shlink Dashboard 0.1.0, the order may change a bit
120
Shlink @shlink.io · 31/03/2025
It is settled. When released, Shlink 4.5 will deprecate support to generate QR codes directly from a short URL, and this capability will be moved to the web client/s github.com/shlinkio/shl...
github.com
Deprecate QR code generation · Issue #2408 · shlinkio/shlink
Some time ago I proposed some improvements on the QR code generation #2234, but since then, I have came to the conclusion that Shlink should not be responsible of generating QR codes (see my commen...
000
Shlink @shlink.io · 21/03/2025
A few months ago I posted an RFC around QR codes github.com/shlinkio/shl... I just realized there's more to it and would love to hear your opinions github.com/shlinkio/shl... Do you usually distribute pregenerated QR code images, or their URL?
github.com
Improvements for QR codes · shlinkio shlink · Discussion #2234
Shlink has supported generating QR codes for some time, and allows to customize a number of things. For all the things that can be customized, it allows to set the default value via config options/...
110
Shlink @shlink.io · 02/03/2025
Periodic reminder that this is a hobby project maintained by one person in his free time. It's impossible to avoid a few rough edges. Opening issues just to rant and insult, because you were not able to make it work, is a very selfish, despicable and demotivating thing to do. Don't be that person.
240
Shlink @shlink.io · 10/02/2025
I released Shlink's JS SDK v2.0.0, which introduced a bunch of improvements in its public API, and can now be used in the browser, #node, #deno and #bun. It also now has a dedicated documentation website js-sdk.shlink.io
js-sdk.shlink.io
Shlink JS SDK
040
Shlink @shlink.io · 29/01/2025
If you are using Shlink 4.4.0, it is recommended to update to 4.4.1 or newer, as it has a bug which can cause new database connections to be opened on every visit, and never closed. If you were going to update, go straight to the most recent 4.4.x version
040
Shlink @shlink.io · 27/12/2024
With this release, there should be less issues around hitting GeoLite2 download limits, but in case they are still reached, Shlink will log the attempts and the reason they failed.
000
Shlink @shlink.io · 27/12/2024
Released Shlink 4.4.0! 🚀 A small-ish version with a few but important improvements. * Improved logic to update GeoLite2 db * Support for encrypted database connections * Extra path redirect mode (default, append, ignore) * Update docker image to PHP 8.4 * Drop support for PHP 8.2 slnk.to/v4.4.0
slnk.to
Release v4.4.0 · shlinkio/shlink
Added #2265 Add a new REDIRECT_EXTRA_PATH_MODE option that accepts three values: default: Short URLs only match if the path matches their short code or custom slug. append: Short URLs are matche...
161
Shlink @shlink.io · 09/12/2024
A #Shlink year in retrospect: 🚀 Released new major versions for Shlink and the web client. 🔀 Implemented a rule-based dynamic redirects system. 📉 Started (and paused) work on Shlink Dashboard. 📈 Resumed work on Shlink Dashboard, to release early next year. 🎉 Added support for PHP 8.3 and 8.4
030
Shlink @shlink.io · 30/11/2024
Released shlink-web-client 4.3.0 🎉 * Support for all new features introduced in Shlink 4.3.0 * Server IDs are now predictable and generated from their name and URL slnk.to/v4.3.0-web
slnk.to
Release v4.3.0 · shlinkio/shlink-web-client
Changed Nothing Added #1360 Added ability for server IDs to be generated based on the server name and URL, instead of generating a random UUID. This can improve sharing a predefined set of serv...
011