Skip to content

v1.16.0

Compare
Choose a tag to compare
@acelaya acelaya released this 23 Feb 09:17
c70077c

Added

  • #304 Added health endpoint to check healthiness of the service. Useful in container-based infrastructures.

    Call [GET /rest/health] in order to get a response like this:

    HTTP/1.1 200 OK
    Content-Type: application/health+json
    Content-Length: 681
    
    {
      "status": "pass",
      "version": "1.16.0",
      "links": {
        "about": "https://shlink.io",
        "project": "https://github.com/shlinkio/shlink"
      }
    }

    The status code can be 200 OK in case of success or 503 Service Unavailable in case of error, while the status property will be one of pass or fail, as defined in the Health check RFC.

  • #279 Added new findIfExists flag to the [POST /short-url] REST endpoint and the short-urls:generate CLI command. It can be used to return existing short URLs when found, instead of creating new ones.

    Thanks to this flag you won't need to remember if you created a short URL for a long one. It will just create it if needed or return the existing one if possible.

    The behavior might be a little bit counterintuitive when combined with other params. This is how the endpoint behaves when providing this new flag:

    • Only the long URL is provided: It will return the newest match or create a new short URL if none is found.
    • Long url and custom slug are provided: It will return the short URL when both params match, return an error when the slug is in use for another long URL, or create a new short URL otherwise.
    • Any of the above but including other params (tags, validSince, validUntil, maxVisits): It will behave the same as the previous two cases, but it will try to exactly match existing results using all the params. If any of them does not match, it will try to create a new short URL.
  • #336 Added an API test suite which performs API calls to an actual instance of the web service.

Changed

  • #342 The installer no longer asks for a charset to be provided, and instead, it shuffles the base62 charset.
  • #320 Replaced query builder by plain DQL for all queries which do not need to be dynamically generated.
  • #330 No longer allow failures on PHP 7.3 envs during project CI build.
  • #335 Renamed functional test suite to database test suite, since that better describes what it actually does.
  • #346 Extracted installer as an independent tool.
  • #261 Increased mutation score to 70%.

Deprecated

  • #351 Deprecated config:generate-charset and config:generate-secret CLI commands.

Removed

  • Nothing

Fixed

  • #317 Fixed error while trying to generate previews because of global config file being deleted by mistake by build script.
  • #307 Fixed memory leak while trying to process huge amounts of visits due to the query not being properly paginated.