Added
-
#411 Added new
meta
property on theShortUrl
REST API model.These endpoints are affected and include the new property when suitable:
GET /short-urls
- List short URLs.GET /short-urls/shorten
- Create a short URL (for integrations).GET /short-urls/{shortCode}
- Get one short URL.POST /short-urls
- Create short URL.
The property includes the values
validSince
,validUntil
andmaxVisits
in a single object. All of them are nullable.{ "validSince": "2016-01-01T00:00:00+02:00", "validUntil": null, "maxVisits": 100 }
-
#285 Visit location resolution is now done asynchronously but in real time thanks to swoole task management.
Now, when a short URL is visited, a task is enqueued to locate it. The user is immediately redirected to the long URL, and in the background, the visit is located, making stats to be available a couple of seconds after the visit without the requirement of cronjobs being run constantly.
Sadly, this feature is not enabled when serving shlink via apache/nginx, where you should still rely on cronjobs.
-
#384 Improved how remote IP addresses are detected.
This new set of headers is now also inspected looking for the IP address:
- CF-Connecting-IP
- True-Client-IP
- X-Real-IP
-
#440 Created
db:create
command, which improves how the shlink database is created, with these benefits:- It sets up a lock which prevents the command to be run concurrently.
- It checks of the database does not exist, and creates it in that case.
- It checks if the database tables already exist, exiting gracefully in that case.
-
#442 Created
db:migrate
command, which improves doctrine's migrations command by generating a lock, preventing it to be run concurrently.
Changed
- #430 Updated to shlinkio/php-coding-standard 1.2.2
- #305 Implemented changes which will allow Shlink to be truly clusterizable.
- #262 Increased mutation score to 75%.
Deprecated
- Nothing
Removed
- Nothing