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

Changelog History
Page 4

  • v2.5.1 Changes

    January 21, 2021

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • โšก๏ธ #968 Fixed index error in MariaDB while updating to v2.5.0.
    • ๐Ÿ›  #972 Fixed 500 error when calling single-step short URL creation endpoint.
  • v2.5.0 Changes

    January 17, 2021

    โž• Added

    • #795 and #882 Added new roles system to API keys.

      API keys can have any combinations of these two roles now, allowing to limit their interactions:

      • Can interact only with short URLs created with that API key.
      • Can interact only with short URLs for a specific domain.
    • ๐Ÿ‘ #833 Added support to connect through unix socket when using an external MySQL, MariaDB or Postgres database.

      It can be provided during the installation, or as the DB_UNIX_SOCKET env var for the docker image.

    • ๐Ÿ‘ #869 Added support for Mercure Hub 0.10.

    • ๐Ÿ‘ #896 Added support for unicode characters in custom slugs.

    • ๐Ÿ”ง #930 Added new bin/set-option script that allows changing individual configuration options on existing shlink instances.

    • โœ… #877 Improved API tests on CORS, and "refined" middleware handling it.

    ๐Ÿ”„ Changed

    • ๐Ÿ“ฆ #912 Changed error templates to be plain html files, removing the dependency on league/plates package.
    • โšก๏ธ #875 Updated to mezzio/mezzio-swoole v3.1.
    • ๐Ÿ“„ #952 Simplified in-project docs, by keeping only the basics and linking to the websites docs for anything else.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ #917 Deprecated /{shortCode}/qr-code/{size} URL, in favor of providing the size in the query instead, /{shortCode}/qr-code?size={size}.
    • ๐Ÿณ #924 Deprecated mechanism to provide config options to the docker image through volumes. Use the env vars instead as a direct replacement.

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • Nothing
  • v2.5.0-alpha.1 Changes

    November 29, 2020

    โž• Added

    ๐Ÿ‘ #869 Added support for Mercure Hub 0.10.

    ๐Ÿ‘ #833 Added support to connect through unix socket when using an external MySQL, MariaDB or Postgres database.

    It can be provided during the installation, or as the DB_UNIX_SOCKET env var for the docker image.

    ๐Ÿ”„ Changed

    • ๐Ÿ“ฆ #912 Changed error templates to be plain html files, removing the dependency on league/plates package.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ #917 Deprecated /{shortCode}/qr-code/{size} URL, in favor of providing the size in the query instead, /{shortCode}/qr-code?size={size}.
    • ๐Ÿณ #924 Deprecated mechanism to provide config options to the docker image through volumes. Use the env vars instead as a direct replacement.

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • Nothing
  • v2.4.2 Changes

    November 22, 2020

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ“„ #904 Explicitly added missing "Domains" and "Integrations" tags to swagger docs.
    • #901 Ensured domains which are not in use on any short URL are not returned on the list of domains.
    • #899 Avoided filesystem errors produced while downloading geolite DB files on several shlink instances that share the same filesystem.
    • ๐Ÿ›  #827 Fixed swoole config getting loaded in config cache if a console command is run before any web execution, when swoole extension is enabled, making subsequent non-swoole web requests fail.
  • v2.4.1 Changes

    November 10, 2020

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #891 Fixed error when running migrations in postgres due to incorrect return type hint.
    • ๐Ÿ›  #846 Fixed base image used for the PHP-FPM dev container.
    • ๐Ÿ”ง #867 Fixed not-found redirects not using proper status (301 or 302) as configured during installation.
  • v2.4.0 Changes

    November 08, 2020

    โž• Added

    • ๐Ÿ‘ #829 Added support for QR codes in SVG format, by passing ?format=svg to the QR code URL.
    • #820 Added new option to force enabling or disabling URL validation on a per-URL basis.

      Currently, there's a global config that tells if long URLs should be validated (by ensuring they are publicly accessible and return a 2xx status). However, this is either always applied or never applied.

      Now, it is possible to enforce validation or enforce disabling validation when a new short URL is created or edited:

      • On the POST /short-url and PATCH /short-url/{shortCode} endpoints, you can now pass validateUrl: true/false in order to enforce enabling or disabling validation, ignoring the global config. If the value is not provided, the global config is still normally applied.
      • On the short-url:generate CLI command, you can pass --validate-url or --no-validate-url flags, in order to enforce enabling or disabling validation. If none of them is provided, the global config is still normally applied.
    • #838 Added new endpoint and CLI command to list existing domains.

      It returns both default domain and specific domains that were used for some short URLs.

      • REST endpoint: GET /rest/v2/domains
      • CLI Command: domain:list
    • ๐Ÿณ #832 Added support to customize the port in which the docker image listens by using the PORT env var or the port config option.

    • ๐Ÿ‘ #860 Added support to import links from bit.ly.

      Run the command short-urls:import bitly and introduce requested information in order to import all your links.

      Other sources will be supported in future releases.

    ๐Ÿ”„ Changed

    • ๐Ÿšš #836 Added support for the <field>-<dir> notation while determining how to order the short URLs list, as in ?orderBy=shortCode-DESC. This effectively deprecates the array notation (?orderBy[shortCode]=DESC), that will be removed in Shlink 3.0.0
    • โœ… #782 Added code coverage to API tests.
    • โšก๏ธ #858 Updated to latest infection version. Updated docker images to PHP 7.4.11 and swoole 4.5.5
    • ๐Ÿš€ #887 Started tracking the API key used to create short URLs, in order to allow restrictions in future releases.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ #883 Deprecated POST /tags endpoint and tag:create command, as tags are created automatically while creating short URLs.

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐ŸŽ #837 Drastically improved performance when creating a new shortUrl and providing findIfExists = true.
    • ๐Ÿณ #878 Added missing gmp extension to the official docker image.
  • v2.3.0 Changes

    August 09, 2020

    โž• Added

    • ๐Ÿ”ง #746 Allowed to configure the kind of redirect you want to use for your short URLs. You can either set:

      • 302 redirects: Default behavior. Visitors always hit the server.
      • 301 redirects: Better for SEO. Visitors hit the server the first time and then cache the redirect.

      When selecting 301 redirects, you can also configure the time redirects are cached, to mitigate deviations in stats.

    • ๐Ÿ‘ #734 Added support to redirect to deeplinks and other links with schemas different from http and https.

    • ๐Ÿ— #709 Added multi-architecture builds for the docker image.

    • ๐Ÿ–จ #707 Added --all flag to short-urls:list command, which will print all existing URLs in one go, with no pagination.

      It has one limitation, though. Because of the way the CLI tooling works, all rows in the table must be loaded in memory. If the amount of URLs is too high, the command may fail due to too much memory usage.

    ๐Ÿ”„ Changed

    • โœ… #508 Added mutation checks to database tests.
    • โšก๏ธ #790 Updated to doctrine/migrations v3.
    • โšก๏ธ #798 Updated to guzzlehttp/guzzle v7.
    • โšก๏ธ #822 Updated docker image to use PHP 7.4.9 with Alpine 3.12 and swoole 4.5.2.

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • Nothing
  • v2.2.2 Changes

    June 08, 2020

    โž• Added

    • ๐Ÿ— #709 Added multi-architecture builds for the docker image.

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #769 Fixed custom slugs not allowing valid URL characters, like ., _ or ~.
    • ๐Ÿ›  #781 Fixed memory leak when loading visits for a tag which is used for big amounts of short URLs.
  • v2.2.1 Changes

    May 11, 2020

    โž• Added

    • Nothing

    ๐Ÿ”„ Changed

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #764 Fixed error when trying to match an existing short URL which does not have validSince and/or validUntil, but you are providing either one of them for the new one.
  • v2.2.0 Changes

    May 09, 2020

    โž• Added

    • ๐Ÿ‘ #712 Added support to integrate Shlink with a mercure hub server.

      Thanks to that, Shlink will be able to publish events that can be consumed in real time.

      For now, two topics (events) are published, when new visits occur. Both include a payload with the visit and the shortUrl:

      * A visit occurs on any short URL: `https://shlink.io/new-visit`.
      * A visit occurs on short URLs with a specific short code: `https://shlink.io/new-visit/{shortCode}`.
      

      The updates are only published when serving Shlink with swoole.

      Also, Shlink exposes a new endpoint GET /rest/v2/mercure-info, which returns the public URL of the mercure hub, and a valid JWT that can be used to subscribe to updates.

    • #673 Added new [GET /visits] rest endpoint which returns basic visits stats.

    • #674 Added new [GET /tags/{tag}/visits] rest endpoint which returns visits by tag.

      It works in the same way as the [GET /short-urls/{shortCode}/visits] one, returning the same response payload, and supporting the same query params, but the response is the list of visits in all short URLs which have provided tag.

    • #672 Enhanced [GET /tags] rest endpoint so that it is possible to get basic stats info for every tag.

      Now, if the withStats=true query param is provided, the response payload will include a new stats property which is a list with the amount of short URLs and visits for every tag.

      Also, the tag:list CLI command has been changed and it always behaves like this.

    • #640 Allowed to optionally disable visitors' IP address anonymization. This will make Shlink no longer be GDPR-compliant, but it's OK if you only plan to share your URLs in countries without this regulation.

    ๐Ÿ”„ Changed

    • ๐ŸŽ #692 Drastically improved performance when loading visits. Specially noticeable when loading big result sets.
    • โšก๏ธ #657 Updated how DB tests are run in travis by using docker containers which allow all engines to be covered.
    • โšก๏ธ #751 Updated PHP and swoole versions used in docker image, and removed mssql-tools, as they are not needed.

    ๐Ÿ—„ Deprecated

    • Nothing

    โœ‚ Removed

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ›  #729 Fixed weird error when fetching multiple visits result sets concurrently using mariadb or mysql.
    • ๐Ÿ“‡ #735 Fixed error when cleaning metadata cache during installation when APCu is enabled.
    • ๐Ÿ›  #677 Fixed /health endpoint returning 503 fail responses when the database connection has expired.
    • ๐Ÿ”Š #732 Fixed wrong client IP in access logs when serving app with swoole behind load balancer.