shlink/CHANGELOG.md
2018-07-09 18:40:48 +02:00

16 KiB

CHANGELOG

1.10.0 - 2018-07-09

Added

Changed

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

1.9.1 - 2018-06-18

Added

  • #155 Improved the pagination object returned in lists, including more meaningful properties.

    • Old structure:
    {
      "pagination": {
        "currentPage": 1,
        "pagesCount": 2
      }
    }
    
    • New structure:
    {
      "pagination": {
        "currentPage": 2,
        "pagesCount": 13,
        "itemsPerPage": 10,
        "itemsInCurrentPage": 10,
        "totalItems": 126
      }
    }
    

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #154 Fixed sizes of every result page when filtering by searchTerm
  • #157 Background commands executed by installation process now respect the originally used php binary

1.9.0 - 2018-05-07

Added

  • #147 Allowed short URLs to be created on the fly using a single API request, including the API key in a query param.

    This eases integration with third party services.

    With this feature, a simple request to a URL like https://doma.in/rest/v1/short-codes/shorten?apiKey=[YOUR_API_KEY]&longUrl=[URL_TO_BE_SHORTENED] would return the shortened one in JSON or plain text format.

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #139 Ensured all core actions log exceptions

1.8.1 - 2018-04-07

Added

  • Nothing

Changed

  • #141 Removed workaround used in PathVersionMiddleware, since the bug in zend-stratigility has been fixed.

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #140 Fixed warning thrown during installation while trying to include doctrine script

1.8.0 - 2018-03-29

Added

  • #125 Implemented a path which returns a 1px image instead of a redirection.

    Useful to track emails. Just add an image pointing to a URL like https://doma.in/abc123/track to any email and an invisible image will be generated tracking every time the email is opened.

  • #132 Added infection to improve tests

Changed

  • #130 Updated to Expressive 3
  • #137 Updated symfony components to v4

Deprecated

  • Nothing

Removed

  • #131 Dropped support for PHP 7

Fixed

  • Nothing

1.7.2 - 2018-03-26

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #135 Fixed PathVersionMiddleware being ignored when using expressive 2.2

1.7.1 - 2018-03-21

Added

  • Nothing

Changed

  • #128 Upgraded to expressive 2.2

    This will ease the upcoming update to expressive 3

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #126 Fixed E_USER_DEPRECATED errors triggered when using Expressive 2.2

1.7.0 - 2018-01-21

Added

  • #88 Allowed tracking of short URLs to be disabled by including a configurable query param
  • #108 Allowed metadata to be defined when creating short codes

Changed

  • #113 Updated CLI commands to use SymfonyStyle
  • #112 Enabled Lazy loading in CLI commands
  • #117 Every module which throws exceptions has now its own ExceptionInterface extending Throwable
  • #115 Added phpstan to build matrix on PHP >=7.1 envs
  • #114 Replaced vlucas/phpdotenv dev requirement by symfony/dotenv

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

1.6.2 - 2017-10-25

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #109 Fixed installation error due to typo in latest migration

1.6.1 - 2017-10-24

Added

  • Nothing

Changed

  • #110 Created .gitattributes file to define files to be excluded from distributable package

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

1.6.0 - 2017-10-23

Added

  • #44 Now it is possible to set custom slugs for short URLs instead of using a generated short code
  • #47 Allowed to limit short URLs availability by date range
  • #48 Allowed to limit the number of visits to a short URL
  • #105 Added option to enable/disable URL validation by response status code

Changed

  • #27 Added repository functional tests with dbunit
  • #101 Now specific actions just capture very specific exceptions, and let the ErrorHandler catch any other unhandled exception
  • #104 Used different templates for requested-short-code-does-not-exist and route-could-not-be-match
  • #99 Replaced usages of AnnotatedFactory by ConfigAbstractFactory
  • #100 Updated templates engine. Replaced twig by plates
  • #102 Improved coding standards strictness

Deprecated

  • Nothing

Removed

  • #86 Dropped support for PHP 5

Fixed

  • #103 NotFoundDelegate now returns proper content types based on accepted content

1.5.0 - 2017-07-16

Added

  • #95 Added tags CRUD to CLI
  • #59 Added tags CRUD to REST
  • #66 Allowed certain information to be imported from and older shlink instance directory when updating

Changed

  • #96 Added namespace to functions
  • #76 Added response examples to swagger docs
  • #93 Improved cross domain management by using the ImplicitOptionsMiddleware

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #92 Fixed formatted dates, using an ISO compliant format

1.4.0 - 2017-03-25

Added

  • Nothing

Changed

  • #89 Updated to expressive 2

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

1.3.1 - 2017-01-22

Added

  • Nothing

Changed

  • #82 Enabled FastRoute routes cache
  • #85 Updated year in license file
  • #81 Added docker containers config

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #83 Fixed short codes list: search in tags when filtering by query string
  • #79 Increased the number of followed redirects
  • #75 Applied PathVersionMiddleware only to rest routes defining it by configuration instead of code
  • #77 Allowed defining database server hostname and port

1.3.0 - 2016-10-23

Added

  • #67 Allowed to order the short codes list
  • #60 Accepted JSON requests in REST and used a body parser middleware to set the request's parsedBody
  • #72 When listing API keys from CLI, use yellow color for enabled keys that have expired
  • #58 Allowed to filter short URLs by tag
  • #69 Allowed to filter short URLs by text query
  • #73 Added tag-related endpoints to swagger file
  • #63 Added path versioning to REST API routes

Changed

  • #71 Separated swagger docs into multiple files

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing

1.2.2 - 2016-08-29

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Fixed minor bugs on CORS requests

1.2.1 - 2016-08-21

Added

  • Nothing

Changed

  • Nothing

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #62 Fixed cross-domain requests in REST API

1.2.0 - 2016-08-21

Added

  • #45 Allowed to define tags on short codes, to improve filtering and classification
  • #7 Added website previews while listing available URLs
  • #57 Added database migrations system to improve updating between versions
  • #31 Added support for other database management systems by improving the EntityManager factory
  • #51 Generated build process to create app package and ease distribution
  • #38 Defined installation script. It will request dynamic data on the fly so that there is no need to define env vars
  • #55 Created update script which does not try to create a new database

Changed

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #53 Fixed entities database interoperability
  • #52 Added missing htaccess file for apache environments

1.1.0 - 2016-08-09

Added

  • #46 Defined a route that returns a QR code representing the shortened URL.

    In order to get the QR code URL, use a pattern like https://doma.in/abc123/qr-code

  • #32 Added support for other cache adapters by improving the Cache factory

  • #14 Added logger and enabled errors logging

  • #13 Improved REST authentication

Changed

  • #41 Cached the "short code" => "URL" map to prevent extra DB hits
  • #39 Changed copyright from "Alejandro Celaya" to "Shlink" in error pages
  • #42 REST endpoints that need to find something now return a 404 when it is not found
  • #35 Updated CLI commands to use the same PHP namespace as the one used for the command name

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • #40 Taken into account the X-Forwarded-For header in order to get the visitor information, in case the server is behind a load balancer or proxy

1.0.0 - 2016-08-01

Added

  • #33 Created a command that generates a short code charset by randomizing the default one
  • #23 Translated application literals
  • #21 Allowed to filter visits by date range
  • #4 Added installation steps
  • #12 Improved code coverage

Changed

  • #15 HTTP requests now return JSON/HTML responses for errors (4xx and 5xx) based on Accept header
  • #22 Now visits locations data is saved on a visit_locations table
  • #20 Injected cross domain headers in response only if the Origin header is present in the request
  • #11 Separated code into multiple modules
  • #18 Grouped routable middleware in an Action namespace
  • #6 Project no longer depends on zendframework/zend-expressive-helpers package
  • #30 Replaced the "services" first level config entry by "dependencies", in order to fulfill default Expressive naming
  • #25 Replaced "Middleware" suffix on routable middlewares by "Action"
  • #19 Changed the vendor and app namespace from Acelaya\UrlShortener to Shlinkio\Shlink

Deprecated

  • Nothing

Removed

  • #36 Removed hhvm from the CI matrix since it doesn't support array constants and will fail

Fixed

  • #24 Prevented duplicated short codes errors because of the case insensitive behavior on MySQL

0.2.0 - 2016-08-01

Added

  • #8 Created a REST API
  • #10 Added more CLI functionality
  • #5 Created a CHANGELOG file

Changed

  • #9 Used symfony/console to dispatch console requests, instead of trying to integrate the process with expressive

Deprecated

  • Nothing

Removed

  • Nothing

Fixed

  • Nothing