Skip to content

Latest commit

 

History

History
97 lines (60 loc) · 2.61 KB

changelog.md

File metadata and controls

97 lines (60 loc) · 2.61 KB

Changelog

📖 back to readme

Cumulus follows semantic versioning.
Any issues should be reported.

v2.0

Supports PHP 8.1 and drops PHP 7 support.

Breaking changes

This version is mostly compatible with the previous one, except for some edge cases regarding Dsn. Most users won't be affected.

Changes to Dsn:

  • Dsn class is now final. Use composition to extend functionality.
  • Dsn::getUrl method removed
  • Dsn::get now only accepts string type as the first argument:
    • signature changed to Dsn::get(string $key, mixed $default = null): mixed
  • if the URI provider returns something that is not a string, error is thrown
  • "seriously malformed" URIs will throw LogicException upon resolution

💡

These changes prevent incorrect or unintended use of the package.

v1.6

Dsn: PDO now contains port number, if present in the URL.

$dsn = new Dsn('mysql://localhost:3306/my_db');
$dsn->pdo; // mysql:host=localhost;port=3306;dbname=my_db

v1.5

Added Pipeline class for easy building of middleware and pipelines.
Dropped PHP 7.1 support.

License changed to simpler and even more permissive Unlicense.
This change implies no change to usage of the package, commercial and non-commercial alike.

v1.4 ❕

Added trim to prevent adding _ char instead of unintentional white space chars by parse_url. This potentially changes behaviour (albeit incorrect one) in an edge case, thus a new minor release and not a patch.

v1.3

Dropped PHP 7.0 support.

v1.2

v1.2.1

Backward compatibility fix:
Any type of value is now accepted by Dsn as a URL, but will be ignored, instead of throwing a runtime exception.

v1.2.0 ❕

Introduced Dsn class.

Changes:

  • the UrlConfig class has been replaced by Dsn class and is now deprecated
    • you can keep using UrlConfig, it extends Dsn now
  • added support for query parameters and fragment
  • added option to pass custom mappings as argument to Dsn constructor
  • added possibility to access configuration using array access and magic props
  • added value mapping helper

Warning
Even though the public API has not changed, the internal structure has changed in this release.
In case you extend UrlConfig class, you need to update your implementation.

v1.1

Added LazyIterator.
Fixed bug in PDO string returned by UrlConfig::getPdoDsn.

v1.0

The initial release. Contains UrlConfig class.