Uri v4.2.0 Release Notes

Release Date: 2016-09-30 // over 7 years ago
  • ➕ Added

    • Component::getContent returns the raw encoded representation of a component
    • Component::withContent to create a new instance from a given raw encoded content
    • getDecoded method to access the decoded content for the following classes:
      • User
      • Pass
      • Fragment
    • Support for PHP's magic methods __debugInfo and __ set_state to improve debugging
    • Modifiers\Relativize
    • Modifiers\DecodeUnreservedCharacters
    • Path::createFromSegments
    • Path::getSegments
    • Host::createFromLabels
    • Host::getLabels
    • Query::createFromPairs
    • Query::getPairs
    • Modifiers\uri_reference function to return URI reference state.

    🛠 Fixed

    • Components encoding/decoding to be more RFC3986 compliant
    • Host::getRegisterableDomain must always return a string as per the host interface expected return type
    • Host::getSubdomain must always return a string as per the host interface expected return type
    • Host::isPublicSuffixValid when no publicSuffix information is found
    • Host::isPublicSuffixValid must always return a string as per the host interface expected return type
    • On instantiation, query and fragment delimiter are preserved
    • 📜 createFromComponents failing with parse_url result when no path is defined
    • 👻 On URI transformation InvalidArgumentException exceptions are emitted instead of RuntimeException ones to normalize exception to PSR-7
    • 🚚 Modifiers\Normalize class removes dot segments only on URI with absolute path.
    • Modifiers\Normalize class decode all unreserved characters.
    • Ftp and Ws objects now accept relative reference URI without the scheme.

    🗄 Deprecated

    • Component::modify use Component::withContent instead
    • Host::getLiteral
    • Port::toInt use Port::getContent instead
    • HierarchicalPath::createFromArray use HierarchicalPath::createFromSegments instead
    • HierarchicalPath::toArray use HierarchicalPath::getSegments instead
    • Host::createFromArray use HierarchicalPath::createFromLabels instead
    • Host::toArray use Host::getLabels instead
    • Query::createFromArray use Query::createFromPairs instead
    • Query::toArray use Query::getPairs instead
    • UriPart::sameValueAs

    ✂ Remove

    • Nothing