All Versions
100
Latest Version
Avg Release Cycle
19 days
Latest Release
500 days ago

Changelog History
Page 3

  • v2.8.1 Changes

    August 15, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #1155 Fixed numeric query params in long URLs being replaced by 0.
  • v2.8.0 Changes

    August 04, 2021

    โž• Added

    • #1089 Added new ENABLE_PERIODIC_VISIT_LOCATE env var to docker image which schedules the visit:locate command every hour when provided with value true.
    • ๐Ÿ‘ #1082 Added support for error correction level on QR codes.

    Now, when calling the GET /{shorCode}/qr-code URL, you can pass the errorCorrection query param with values L for Low, M for Medium, Q for Quartile or H for High.

    • ๐Ÿ‘ #1080 Added support to redirect to URLs as soon as the path starts with a valid short code, appending the rest of the path to the redirected long URL.

    With this, if you have the https://example.com/abc123 short URL redirecting to https://www.twitter.com, a visit to https://example.com/abc123/shlinkio will take you to https://www.twitter.com/shlinkio.

    This behavior needs to be actively opted in, via installer config options or env vars.

    • ๐Ÿ‘ #943 Added support to define different "not-found" redirects for every domain handled by Shlink.

    Shlink will continue to allow defining the default values via env vars or config, but afterwards, you can use the domain:redirects command or the PATCH /domains/redirects REST endpoint to define specific values for every single domain.

    ๐Ÿ”„ Changed

    • #1118 Increased phpstan required level to 8.
    • โšก๏ธ #1127 Updated to infection 0.24.
    • โšก๏ธ #1139 Updated project dependencies, including base docker image to use PHP 8.0.9 and Alpine 3.14.

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • ๐Ÿ‘ #1046 Dropped support for PHP 7.4.

    ๐Ÿ›  Fixed

    • โšก๏ธ #1098 Fixed errors when using Redis for caching, caused by some third party lib bug that was fixed on dependencies update.
  • v2.7.3 Changes

    August 02, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #1135 Fixed error when importing short URLs with no visits from another Shlink instance.
    • ๐Ÿ›  #1136 Fixed error when fetching tag/short-url/orphan visits for a page lower than 1.
  • v2.7.2 Changes

    July 30, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿณ #1128 Increased memory limit reserved for the docker image, preventing it from crashing on GeoLite db download.
  • v2.7.1 Changes

    May 30, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #1100 Fixed Shlink trying to download GeoLite2 db files even when tracking has been disabled.
  • v2.7.0 Changes

    May 23, 2021

    โž• Added

    • #1044 Added ability to set names on API keys, which helps to identify them when the list grows.
    • #819 Visits are now always located in real time, even when not using swoole.

      The only side effect is that a GeoLite2 db file is now installed when the docker image starts or during shlink installation or update.

      Also, when using swoole, the file is now updated after tracking a visit, which means it will not apply until the next one.

    • ๐Ÿ’ป #1059 Added ability to optionally display author API key and its name when listing short URLs from the command line.

    • ๐Ÿ‘ #1066 Added support to import short URLs and their visits from another Shlink instance using its API.

    • #898 Improved tracking granularity, allowing to disable visits tracking completely, or just parts of it.

      In order to achieve it, Shlink now supports 4 new tracking-related options, that can be customized via env vars for docker, or via installer:

      • disable_tracking: If true, visits will not be tracked at all.
      • disable_ip_tracking: If true, visits will be tracked, but neither the IP address, nor the location will be resolved.
      • disable_referrer_tracking: If true, the referrer will not be tracked.
      • disable_ua_tracking: If true, the user agent will not be tracked.
    • #955 Added new option to set short URLs as crawlable, making them be listed in the robots.txt as Allowed.

    • #900 Shlink now tries to detect if the visit is coming from a potential bot or crawler, and allows to exclude those visits from visits lists if desired.

    ๐Ÿ”„ Changed

    • โšก๏ธ #1036 Updated to happyr/doctrine-specification 2.0.
    • โšก๏ธ #1039 Updated to endroid/qr-code 4.0.
    • โœ… #1008 Ensured all logs are sent to the filesystem while running API tests, which helps debugging the reason for tests to fail.

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ— #1041 Ensured the default value for the version while building the docker image is latest.
    • ๐Ÿ›  #1067 Fixed exception when persisting multiple short URLs in one batch which include the same new tags/domains. This can potentially happen when importing URLs.
  • v2.6.2 Changes

    March 12, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #1047 Fixed error in migrations when doing a fresh installation using PHP8 and MySQL/Mariadb databases.
  • v2.6.1 Changes

    February 22, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • ๐Ÿšš #1026 Removed non-inclusive terms from source code.

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #1024 Fixed migration that is incorrectly skipped due to the wrong condition being used to check it.
    • ๐Ÿ›  #1031 Fixed shortening of twitter URLs with URL validation enabled.
    • โš  #1034 Fixed warning displayed when shlink is stopped while running it with swoole.
  • v2.6.0 Changes

    February 13, 2021

    โž• Added

    • ๐Ÿ‘ #856 Added PHP 8.0 support.
    • ๐Ÿ‘ #941 Added support to provide a title for every short URL.

      The title can also be automatically resolved from the long URL, when no title was explicitly provided, but this option needs to be opted in.

    • ๐Ÿ‘ #913 Added support to import short URLs from a standard CSV file.

      The file requires the Long URL and Short code columns, and it also accepts the optional title, domain and tags columns.

    • ๐Ÿ‘ #1000 Added support to provide a margin query param when generating some URL's QR code.

    • #675 Added ability to track visits to the base URL, invalid short URLs or any other "not found" URL, as known as orphan visits.

      This behavior is enabled by default, but you can opt out via env vars or config options.

      This new orphan visits can be consumed in these ways:

      • The https://shlink.io/new-orphan-visit mercure topic, which gets notified when an orphan visit occurs.
      • The GET /visits/orphan REST endpoint, which behaves like the short URL visits and tags visits endpoints, but returns only orphan visits.

    ๐Ÿ”„ Changed

    • #977 Migrated from laminas/laminas-paginator to pagerfanta/core to handle pagination.
    • โšก๏ธ #986 Updated official docker image to use PHP 8.
    • โฑ #1010 Increased timeout for database commands to 10 minutes.
    • ๐Ÿ‘ #874 Changed how dist files are generated. Now there will be two for every supported PHP version, with and without support for swoole.

      The dist files will have been built under the same PHP version they are meant to be run under, ensuring resolved dependencies are the proper ones.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ #959 Deprecated all command flags using camelCase format (like --expirationDate), adding kebab-case replacements for all of them (like --expiration-date).

      All the existing camelCase flags will continue working for now, but will be removed in Shlink 3.0.0

    • ๐Ÿ—„ #862 Deprecated the endpoint to edit tags for a short URL (PUT /short-urls/{shortCode}/tags).

      The short URL edition endpoint (PATCH /short-urls/{shortCode}) now supports setting the tags too. Use it instead.

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #988 Fixed serving zero-byte static files in apache and apache-compatible web servers.
    • ๐Ÿ›  #990 Fixed short URLs not properly composed in REST API endpoints when both custom domain and custom base path are used.
    • ๐Ÿ“‡ #1002 Fixed weird behavior in which GeoLite2 metadata's buildEpoch is parsed as string instead of int.
    • โฑ #851 Fixed error when trying to schedule swoole tasks in ARM architectures (like raspberry).
  • v2.5.2 Changes

    January 24, 2021

    โž• Added

    • ๐Ÿ“„ #965 Added docs section for Architectural Decision Records, including the one for API key roles.

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ“„ #979 Added missing itemsPerPage query param to swagger docs for short RULs list.
    • ๐Ÿ›  #980 Fixed value used for Access-Control-Allow-Origin, that could not work as expected when including an IP address.
    • ๐Ÿ›  #947 Fixed incorrect value returned in Access-Control-Allow-Methods header, which always contained all methods.