github shlinkio/shlink v4.3.0

11 hours ago

Changed

  • #2193 API keys are now hashed using SHA256, instead of being saved in plain text.

    As a side effect, API key names have now become more important, and are considered unique.

    When people update to this Shlink version, existing API keys will be hashed for everything to continue working.

    In order to avoid data to be lost, plain-text keys will be written in the name field, either together with any existing name, or as the name itself. Then users are responsible for renaming them using the new api-key:rename command.

    For newly created API keys, it is recommended to provide a name, but if not provided, a name will be generated from a redacted version of the new API key.

  • Update to Shlink PHP coding standard 2.4

  • Update to hidehalo/nanoid-php 2.0

  • Update to PHPStan 2.0

Added

  • #2159 Add support for PHP 8.4.

  • #2207 Add hasRedirectRules flag to short URL API model. This flag tells if a specific short URL has any redirect rules attached to it.

  • #1520 Allow short URLs list to be filtered by domain.

    This change applies both to the GET /short-urls endpoint, via the domain query parameter, and the short-url:list console command, via the --domain|-d flag.

  • #1774 Add new geolocation redirect rules for the dynamic redirects system.

    • geolocation-country-code: Allows to perform redirections based on the ISO 3166-1 alpha-2 two-letter country code resolved while geolocating the visitor.
    • geolocation-city-name: Allows to perform redirections based on the city name resolved while geolocating the visitor.
  • #2032 Save the URL to which a visitor is redirected when a visit is tracked.

    The value is exposed in the API as a new redirectUrl field for visit objects.

    This is useful to know where a visitor was redirected for a short URL with dynamic redirect rules, for special redirects, or simply in case the long URL was changed over time, and you still want to know where visitors were redirected originally.

    Some visits may not have a redirect URL if a redirect didn't happen, like for orphan visits when no special redirects are configured, or when a visit is tracked as part of the pixel action.

Removed

  • Nothing

Fixed

  • #2264 Fix visits counts not being deleted when deleting short URL or orphan visits.

Deprecated

  • Nothing

Don't miss a new shlink release

NewReleases is sending notifications on new releases.