github shlinkio/shlink v3.3.0

latest releases: v4.2.1, v4.2.0, v4.1.1...
2 years ago

Changed

  • #1339 Added new test suite for CLI E2E tests.
  • #1503 Drastically improved build time in GitHub Actions, by optimizing parallelization and adding php extensions cache.
  • #1525 Migrated to custom doctrine CLI entry point.
  • #1492 Migrated to immutable options objects, mapped with cuyz/valinor.

Added

  • #1221 Added experimental support to run Shlink with RoadRunner instead of openswoole.

  • #1531 and #1090 Added support for trailing slashes in short URLs.

  • #1406 Added new REST API version 3.

    When making requests to the REST API with /rest/v3/... and an error occurs, all error types will be different, with the next correlation:

    • INVALID_ARGUMENT -> https://shlink.io/api/error/invalid-data
    • INVALID_SHORT_URL_DELETION -> https://shlink.io/api/error/invalid-short-url-deletion
    • DOMAIN_NOT_FOUND -> https://shlink.io/api/error/domain-not-found
    • FORBIDDEN_OPERATION -> https://shlink.io/api/error/forbidden-tag-operation
    • INVALID_URL -> https://shlink.io/api/error/invalid-url
    • INVALID_SLUG -> https://shlink.io/api/error/non-unique-slug
    • INVALID_SHORTCODE -> https://shlink.io/api/error/short-url-not-found
    • TAG_CONFLICT -> https://shlink.io/api/error/tag-conflict
    • TAG_NOT_FOUND -> https://shlink.io/api/error/tag-not-found
    • MERCURE_NOT_CONFIGURED -> https://shlink.io/api/error/mercure-not-configured
    • INVALID_AUTHORIZATION -> https://shlink.io/api/error/missing-authentication
    • INVALID_API_KEY -> https://shlink.io/api/error/invalid-api-key

    If you make a request to the API with v2 or v1, the old error types will be returned, until Shlink 4 is released, when only the new ones will be used.

    Non-error responses are not affected.

  • #1513 Added publishing of the docker image in GHCR.

  • #1114 Added support to provide an initial API key via INITIAL_API_KEY env var, when running Shlink with openswoole or RoadRunner.

    Also, the installer tool now allows to generate an initial API key that can be copy-pasted (this tool is run interactively), in case you use php-fpm or you don't want to use env vars.

  • #1528 Added support to delay when the GeoLite2 DB file is downloaded in docker images, speeding up its startup time.

    In order to do it, pass SKIP_INITIAL_GEOLITE_DOWNLOAD=true when creating the container.

Removed

  • Nothing

Fixed

  • Nothing

Deprecated

  • Nothing

Don't miss a new shlink release

NewReleases is sending notifications on new releases.