Skip to content

Latest commit

 

History

History
1163 lines (752 loc) · 30.9 KB

File metadata and controls

1163 lines (752 loc) · 30.9 KB

Changelog

All Notable changes to League\Uri\Components will be documented in this file

7.8.1 - 2026-03-16

Added

  • None

Fixed

  • Update requirement to use uri 7.8.1

Deprecated

  • None

Removed

  • None

7.8.0 - 2026-01-16

Added

  • Added support for BackedEnum
  • Query::hasList
  • Query::getList
  • Query::withList
  • Query::appendList
  • Query::withoutList
  • Query::withoutLists
  • Query::onlyLists
  • Query::countDistinctKeys
  • Query::isNotEmpty
  • Query::map
  • Query::filter
  • Query::indexOfValue
  • Query::valueAt
  • Query::keyAt
  • Query::pair
  • URLSearchParams::countDistinctKeys
  • URLSearchParams::tap
  • Domain::isSubdomainOf
  • Domain::hasSubdomain
  • Domain::isSiblingOf
  • Domain::parentHos
  • Domain::commonAncestorWith
  • Added transform method to Immutable classes

Fixed

  • Query and Modifier methods can opt to switch to different query string extraction using the new $extractMode parameter.
  • Query and Modifier methods can opt to switch to different query string composition using the new $composeMode parameter.
  • Query and Modifier methods can opt to switch to different type coercion using the new $coercionMode parameter.

Deprecated

  • URLSearchParams::uniqueKeyCount use URLSearchParams::countDistinctKeys instead

Removed

  • None

7.7.0 - 2025-12-08

Added

  • Domain::first returns the first domain label
  • Domain::last returns the last domain label
  • Domain::contains tells wether the label is present in the domain
  • Domain::indexOf returns the index of the first occurrence of the label
  • Domain::lastIndexOf returns the index of the last occurrence of the label
  • Domain::isEmpty tells whether the domain is empty or not (contains at least on label)
  • HierarchicalPath::first returns the first segment
  • HierarchicalPath::last returns the last segment
  • HierarchicalPath::contains tells whether the segment is present in the path
  • HierarchicalPath::indexOf returns the index of the first occurrence of the segment
  • HierarchicalPath::lastIndexOf returns the index of the last occurrence of the segment
  • HierarchicalPath::isEmpty tells whether the path is empty or not (contains at least on segment)
  • Query::first returns the first value for a given query key pair
  • Query::last returns the last value for a given query key pair
  • Query::isEmpty tells whether the query is empty or not
  • URLSearchParams::first returns the first value for a given query key pair
  • URLSearchParams::last returns the last value for a given query key pair
  • URLSearchParams::hasValue an alias of using URLSearchParams::has with 2 parameters
  • URLSearchParams::deleteValue an alias of using URLSearchParams::delete with 2 parameters
  • Modifier::redactUserInfo redacts the user info component if present
  • Modifier::redactPathSegments redacts specific path segments if present
  • Modifier::redactPathNextSegments redacts specific path next segments if present
  • Modifier::redactPathSegmentsByOffset redacts specific path segments by offset if present
  • Modifier::redactQueryPairs redacts specific query pair if present
  • Modifier::prependQuery prepend a query string to the URI query component
  • Modifier::prependPath replace Modifier::prependSegment
  • Modifier::appendPath replace Modifier::appendSegment
  • Modifier::prependSegments
  • Modifier::appendSegments

Fixed

  • Fix deprecation message for Modifier::uri() method 166 by meyerbaptiste
  • Fix missing SensitiveParameter usage on Modifier::withUserInfo method
  • Fix Host resolution using the new HostRecord class
  • Fix Modifier::withPath improve handling of path leading slash presence for PSR-7 implementing classes

Deprecated

  • Modifier::prependSegment use Modifier::prependPath instead
  • Modifier::appendSegment use Modifier::appendPath instead

Removed

  • None

7.6.0 - 2025-11-18

Added

  • UriComponentInterface::equals method
  • FragmentDirectives support
  • Component::when conditional method to ease component building logic.
  • URLSearchParams::when conditional method to ease component building logic.
  • Modifier::prependQueryParameters returns a modifier with prepended query parameters
  • Modifier::replaceQueryParameter returns a modifier with part of its query string replaced
  • Modifier::replaceQueryPair returns a modifier with part of its query string replaced
  • Modifier::when conditional method to ease component building logic.
  • Modifier::normalizeIp returns the host normalized for IPv6 and IPv4 addresses
  • Modifier::normalizeHost returns the host as normalized by the WHATWG algorithm
  • Modifier::with* method from the underlying Uri object are proxy to improve DX.
  • Modifier::wrap static method which wraps the underlying URI object used by the Modifier class.
  • Modifier::unwrap method which returns the underlying URI object used by the Modifier class.
  • Modifier::prefixQueryPairs and Modifier::prefixQueryParameters to prefix Query using the pair key or the parameter names
  • Modifier::toMarkdownAnchor returns the Markdown string representation of the anchor tag with the current instance as its href attribute.
  • Modifier::toHtmlAnchor returns the HTML string representation of the anchor tag with the current instance as its href attribute.
  • tryNew named constructor added to all classes to return a new instance on success or null on failure.
  • Query::decoded the string representation of the component decoded.
  • Query::normalized
  • Query::fromPairs and Query::fromVariable takes a optional $prefix parameter to update the query pair keys or parameter names
  • Query::indexOf and Query::replace
  • Query::mergeParameters
  • Query::replaceParameter
  • Query::replacePair
  • Query::prepend
  • URLSearchParams::decoded the string representation of the component decoded.
  • Path::nornalized
  • Fragment::normalized
  • HierarchicalPath::normalized
  • Datapath::normalized
  • Support for Uri\Rfc3986\Uri
  • Support for Uri\WhatWg\Url
  • Port::defaultSchemes
  • Port::defaultScheme
  • Scheme::isWhatWgSpecial
  • Scheme::defaultPort
  • Scheme::hasDefaultPort

Fixed

  • Modifier host related method return host in IDN form or ASCII form depending on the URI input format
  • UserInfo now can be constructed and mutated even when the user component is not present. It was throwing an exception before.

Deprecated

  • Modifier::getIdnUriString use Modifier::toDisplayString instead
  • Modifier::getUriString use Modifier::toString instead
  • Modifier::getUri use Modifier::uri instead
  • Modifier::from use Modifier::wrap instead

Removed

  • None

7.5.0 - 2024-12-08

Added

  • UrlSearchParams::uniqueKeyCount
  • Modifier::getIdnUriString
  • Modifier::hostToIpv6Compressed
  • Modifier::hostToIpv6Expanded
  • Scheme::isHttp
  • Scheme::isWebsocket
  • Scheme::isSsl
  • Scheme::isSpecial
  • Using PHP8.4 Deprecated attribute to signal deprecated public API methods and constants.
  • Host::encoded method to raw url encode the host

Fixed

  • Remove Usage of PSR-7 UriInterface in UrlSearchParams class
  • Normalizes fromUri to return the same value for the component if the URI object has the same string representation.

Deprecated

  • Usage of PSR-7 UriFactoryInterface is deprecated in Modifier class

Removed

  • None

7.4.1 - 2024-02-23

Added

  • None

Fixed

  • Fix package to avoid PHP8.4 deprecation warnings
  • Bug Fix removeEmptyPairs #133

Deprecated

  • None

Removed

  • None

7.4.0 - 2023-12-01

Added

  • Query::fromVariable
  • UrlSearchParams::fromVariable

Fixed

  • None

Deprecated

  • Query::fromParameters use Query::fromVariable instead
  • UrlSearchParams::fromParameters use UrlSearchParams::fromVariable instead

Removed

  • None

7.3.0 - 2023-09-09

Added

  • League\Uri\Modifier::removeQueryPairsByKey
  • League\Uri\Modifier::removeQueryPairsByValue
  • League\Uri\Modifier::removeQueryPairsByKeyValue
  • League\Uri\Components\Query::hasPair
  • League\Uri\Components\Query::withoutPairByKey
  • League\Uri\Components\Query::withoutPairByValue
  • League\Uri\Components\Query::withoutPairByKeyValue
  • League\Uri\Components\Query::fromFormData
  • League\Uri\Components\Query::toFormData
  • League\Uri\Components\URLSearchParams

Fixed

  • League\Uri\Components\Query::sort to improve WHATWG compliance.
  • League\Uri\QueryString::buildFromPairs should throw SyntaxError instead of TypeError
  • League\Uri\Components\Query uses internally League\Uri\KeyValuePair\Converter
  • League\Uri\Components\Query::toRFC3986 is no longer deprecated
  • League\Uri\Components\Query::jsonSerualize uses toFormData instead of toRFC1738
  • League\Uri\Components\Query fix float handling.
  • Exception message typo fix #121 by GrahamCampbell

Deprecated

  • League\Uri\Modifier::removeQueryPairs use League\Uri\Modifier::removeQueryPairsByKey instead.
  • League\Uri\Components\Query::withoutPair use League\Uri\Components\Query::withoutPairByKey instead.

Removed

  • None

7.2.1 - 2023-08-30

Added

  • None

Fixed

  • composer.json constraints

Deprecated

  • None

Removed

  • None

7.2.0 - 2023-08-30

Added

  • Modifier::appendQueryPairs
  • Modifier::mergeQueryPairs
  • Modifier::removeQueryPairs
  • Modifier::removeEmptyQueryPairs
  • Modifier::appendQueryParameters
  • Modifier::mergeQueryParameters
  • Modifier::removeQueryParameters
  • Modifier::removeQueryParametersIndices

Fixed

  • None

Deprecated

  • Modifier::removeParams use Modifier::removeQueryParameters instead
  • Modifier::removePairs use Modifier::removeQueryPairs instead
  • Modifier::removeEmptyPairs use Modifier::removeEmptyQueryPairs instead

Removed

  • None

7.1.0 - 2023-08-21

Added

  • Modifier::encodeQuery

Fixed

  • Using the Encoder class to normalize encoding and decoding in all packages

Deprecated

  • None

Removed

  • None

7.0.0 - 2023-08-10

Added

  • value method to replace the removed getContent method.
  • requires League\Uri package.
  • League\Uri\Components\Scheme::new named constructor
  • League\Uri\Components\UserInfo::new named constructor
  • League\Uri\Components\Host::new named constructor
  • League\Uri\Components\Domain::new named constructor
  • League\Uri\Components\Fragment::new named constructor
  • League\Uri\Components\Query::new named constructor
  • League\Uri\Components\Path::new named constructor
  • League\Uri\Components\DataPath::new named constructor
  • League\Uri\Components\UserInfo::withUser modifier method
  • League\Uri\Components\UserInfo::withPass modifier method
  • League\Uri\Components\Port::fromNumber modifier method
  • League\Uri\Components\Query::parameters accessing method
  • League\Uri\Components\Query::parameter accessing method
  • League\Uri\Components\Query::hasParameter accessing method
  • League\Uri\IPv4Calculators\MissingIPv4Calculator exception
  • League\Uri\Components\OffsetOutOfBounds exception added
  • League\Uri\Modifier to replace deprecated League\Uri\Modifier

Fixed

  • converts Value Objects properties to being private readonly where possible.
  • All components class constructors (except for the UserInfo and the Authority classes) are made private use the available named constructors instead
  • Named constructors default value are removed, you need to explicitly add an argument value or use the ::new() named constructor instead.
  • UserInfo class makes a distinction between null and the empty string.
  • Query::has accessing method accept a variadic parameters to check multiple keys at the same time.
  • Domain value can be null or a non-empty string previously it would trigger an exception
  • Domain::append and Domain::prepend respects the root status of the instance.

Deprecated

  • All createFromString named constructors are replaced by the new named constructor.
  • All createFromNull named constructors are replaced by the new named constructor.
  • All remaining named constructors which starts with createFrom* replaced by the same method starting with from*. For example Authority::createFromUri is deprecated in favor of Authority::fromUri
  • Query::params is replaced by Query::parameters and Query::parameter
  • HierarchicalPath::segments use HierarchicalPath::getIterator instead
  • Domain::labels use Domain::getIterator instead
  • League\Uri\UriModifier use League\Uri\Modifier
  • League\Uri\IPv4Normalizer use League\Uri\Modifier instead

Removed

  • PHP7 and PHP8.0 support
  • withContent and getContent methods
  • Support for __set_state
  • Support for float type as possible argument for components
  • Support for int type as possible argument for components
  • UserInfo::withUserInfo modifier method use UserInfo::withUser and/or UserInfo::withPass instead
  • Remove the Exceptions namespace
  • League\Uri\Exceptions\IPv4CalculatorMissing use League\Uri\IPv4Calculators\MissingIPv4Calculator instead
  • League\Uri\Exceptions\OffsetOutOfBounds use League\Uri\Components\OffsetOutOfBounds instead
  • League\Uri\QueryString class. Class moved to the uri-interfaces package.

2.4.1 - 2022-05-26

Added

  • None

Fixed

  • conversion query component for non ASCII characters see #202

Deprecated

  • None

Remove

  • None

2.4.0 - 2021-08-02

Added

  • Component::toString
  • IDNA conversion in now normalize using the Uri-Interface package classes

Fixed

  • conversion host component from ASCII to unicode no longer throw

Deprecated

  • None

Remove

  • None

2.3.0 - 2021-01-26

Added

  • Authority::createFromNull
  • Authority::createFromString
  • Authority::createFromComponents
  • DataPath::createFromFilePath
  • DataPath::createFromString
  • Domain::createFromString
  • Domain::createFromHost
  • HierarchicalPath::createFromPath
  • HierarchicalPath::createFromString
  • Path::createFromString
  • Support for PHP8.0

Fixed

  • Fix RFC1738 encoding in QueryString::build
  • Improve UriModifier using the newly added named constructors.

Deprecated

  • Authority::__construct replaced by Authority named constructors
  • DataPath::createFromPath replaced by DataPath::createFromFilePath
  • Domain::__construct replaced by Domain named constructors
  • HierarchicalPath::__construct replaced by HierarchicalPath named constructors

Remove

  • Support for PHP7.2

2.2.1 - 2020-02-09

Added

  • None

Fixed

Deprecated

  • None

Remove

  • None

2.2.0 - 2020-02-08

Added

  • None

Fixed

  • back port improvement made to idn_to_ascii usage see #150 thanks to ntzm

Deprecated

  • None

Remove

2.1.0 - 2019-12-19

Added

  • League\Uri\UriModifier::removeEmptyPairs - to remove empty pairs from the URL object.

Fixed

  • Improve UserInfo decoding issue #28
  • Improve processing URI object with League\Uri\UriModifier with a better distinction between empty and undefined URI component.

Deprecated

  • None

Remove

  • None

2.0.1 - 2019-11-05

Added

  • None

Fixed

  • Improved Domain name detection according to RFC1132 see issue #27
  • Normalized exception message formatting.

Deprecated

  • None

Remove

  • None

2.0.0 - 2019-10-18

Added

  • League\Uri\IPv4HostNormalizer to ease IPV4 host string normalization.
  • League\Uri\UriModifier to ease manipulating League\Uri\UriInterface and Psr\Http\Message\UriInterface implementing objects.
  • League\Uri\QueryString to parse, extract and build query string and parameters
  • All components classes implement the League\Uri\Contracts\ComponentInterface
  • All components classes expose the createFromUri named constructor to instantiate a component object from a URI object
  • League\Uri\Components\Authority to represent the URI authority component
  • League\Uri\Components\Fragment::decoded to return the safely decoded fragment content
  • League\Uri\Components\UserInfo::decoded to return the safely decoded user info content
  • League\Uri\Components\Port::toInt to return the int representation of the Port or null
  • League\Uri\Components\Domain to better process domain host
  • League\Uri\Components\HierarchicalPath::createAbsoluteFromSegments
  • League\Uri\Components\HierarchicalPath::createRelativeFromSegments
  • League\Uri\Components\HierarchicalPath::segments to return the component segments
  • League\Uri\Components\HierarchicalPath::get to return a specific segment
  • League\Uri\Components\Query follows more closely the URLSearchParams specifications from the WHATWG group
  • League\Uri\Components\Query::createFromRFC3986 to return a new object from a RFC3986 query string
  • League\Uri\Components\Query::createFromRFC1738 to return a new object from a RFC1738 query string
  • League\Uri\Components\Query::toRFC3986 to return a RFC3986 query string
  • League\Uri\Components\Query::toRFC1738 to return a RFC1738 query string

Fixed

  • Components classes are made final
  • getContent no-longer takes any parameter
  • Host objects throws League\Uri\Exception\IdnSupportMissing on mis-configured or absent Intl extension presence.
  • UserInfo::__construct expects two arguments the user and the pass instead of one.
  • Query::__construct is now private
  • Query parsing/building is fixed so that a round between parsing and building returns the original input.

Deprecated

  • None

Remove

  • support for PHP7.0
  • support for PHP7.1
  • support for Public Suffix List resolution
  • isEmpty and isNull methods are removed
  • League\Uri\parse_query
  • League\Uri\build_query
  • League\Uri\extract_query
  • League\Uri\pairs_to_params
  • League\Uri\QueryBuilder
  • League\Uri\QueryParser
  • League\Uri\Components\ComponentInterface
  • League\Uri\Components\HierarchicalPath::createFromSegments
  • League\Uri\Components\HierarchicalPath::getSegments
  • League\Uri\Components\HierarchicalPath::getSegment
  • League\Uri\Components\HierarchicalPath::IS_ABSOLUTE
  • League\Uri\Components\HierarchicalPath::IS_RELATIVE
  • The following methods are transferred to the new League\Uri\Components\Domain class
  • League\Uri\Components\Host::isAbsolute
  • League\Uri\Components\Host::getLabels
  • League\Uri\Components\Host::getLabel
  • League\Uri\Components\Host::keys
  • League\Uri\Components\Host::count
  • League\Uri\Components\Host::getIterator
  • League\Uri\Components\Host::append
  • League\Uri\Components\Host::prepend
  • League\Uri\Components\Host::replaceLabel
  • League\Uri\Components\Host::withoutLabels
  • League\Uri\Components\Host::withRootLabel
  • League\Uri\Components\Host::withoutRootLabel
  • League\Uri\Components\Query::ksort
  • League\Uri\Components\Query::getParams
  • League\Uri\Components\Query::getParam
  • League\Uri\Components\Query::getPairs
  • League\Uri\Components\Query::getPair
  • League\Uri\Components\Query::hasPair

1.8.2 - 2018-10-24

Added

  • None

Fixed

  • Issues #22 bug with path encoding and path validation before path modification see issue #4

Deprecated

  • None

Remove

  • None

1.8.1 - 2018-07-06

Added

  • None

Fixed

  • Issue #21 namespace collision with exception usage in Uri\QueryParser and QUri\QueryBuilder

Deprecated

  • None

Remove

  • None

1.8.0 - 2018-03-14

Added

  • IPvFuture support

Fixed

  • Using PHPStan
  • Using the new scrutinizr engine for PHP
  • Bug fix Port class to conform to RFC3986 now allow any port number greater or equals to 0.
  • Improve Host parsing

Deprecated

  • None

Remove

  • mbstring extension requirement

1.7.1 - 2018-02-16

Added

  • None

Fixed

  • The Host resolver and its usage is lazyloaded so that Host only requires and used them if needed
  • Bug fix issue with:
    • Host::withPublicSuffix
    • Host::withRegistrableDomain
    • Host::withSubDomain methods that were leaving the current Host object corrupted in some cases.

Deprecated

  • None

Remove

  • None

1.7.0 - 2018-01-31

Added

  • Adding the possibility to use your own domain resolver object.
    • Host::__construct can take an optional Rules object as the domain resolver
    • Host::createFromIp can take an optional Rules object as the domain resolver
    • Host::createFromLabels can take an optional Rules object as the domain resolver
    • Host::withDomainResolver to enable switching to current domain resolver object

Fixed

  • The domain resolver as a Rules object is now injecting into the Host domain so that its data can be cached independently of the filecache. If not domain resolver is provided the Host will fallback to using the filecache with the data being kept for 7 days in a vendor subdirectory.

  • Decoupled the QueryBuilder and the QueryParser from ComponentTrait

Deprecated

  • None

Remove

  • None

1.6.0 - 2017-12-05

Added

  • Host::withPublicSuffix to complete registered name manipulation methods

Fixed

  • registered name infos loading

Deprecated

  • None

Remove

  • None

1.5.0 - 2017-12-01

Added

  • Uri\QueryParser class to parse any string into key/pair value or extract PHP values
  • Uri\QueryBuilder class to build a valid query string from a collection of Key/pair values
  • Uri\pairs_to_params alias for QueryParser::convert

Fixed

  • URI Host parsing to respect RFC3986
  • improve internal code

Deprecated

  • Query::parse replaced by QueryParser::parse
  • Query::extract replaced by QueryParser::extract
  • Query::build replaced by QueryBuilder::build
  • Host::getRegisterableDomain replaced by Host::getRegistrableDomain
  • Host::withRegisterableDomain replaced by Host::withRegistrableDomain

Remove

  • internal traits QueryParserTrait, HostInfoTrait

1.4.1 - 2017-11-24

Added

  • None

Fixed

  • URI Hostname parser local cache update

Deprecated

  • None

Remove

  • None

1.4.0 - 2017-11-22

Added

Fixed

  • Issue #109 Dependencie on a unstable package

Deprecated

  • None

Remove

1.3.0 - 2017-11-17

Added

  • Query::getSeparator, Query::withSeparator to allow modifying query string separator.
  • Query::__construct takes a second argument, the query separator which default to &.
  • Query::__debugInfo nows adds query separator informations.
  • Query::withoutParams to complement Query::withoutPairs method.
  • Query::createFromParams to complement Query::createFromPairs named constructor.
  • Query::withoutNumericIndices to normalized the query string by removing extra numeric indices added by the use of http_build_query.
  • Query::withoutEmptyPairs to normalized the query string #7 and #8

Fixed

  • Query::merge and Query::append normalized the query string to remove empty pairs see #7 and #8
  • Query::build and Uri\build now accept any iterable structure.

Deprecated

  • None

Remove

  • None

1.2.0 - 2017-11-06

Added

  • League\Uri\build_query as an alias of Query::build

Fixed

  • function docblocks

Deprecated

  • None

Remove

  • None

1.1.1 - 2017-11-03

Added

  • League\Uri\parse_query as an alias of Query::parse
  • League\Uri\extract_query as an alias of Query::extract

Fixed

  • League\Uri\parse_query returned value was the wrong one

Deprecated

  • None

Remove

  • None

1.1.0 - 2017-10-24

Added

  • League\Uri\parse_query as an alias of Query::extract

Fixed

  • Internal call in PHP7.2 with incompatible definitions
  • update PHP Domain Parser to be compatible with PHP7.2 deprecation notice
  • remove restriction to constructor characters for Path, Query and UserInfo.

Deprecated

  • None

Remove

  • None

1.0.4 - 2017-08-10

Added

  • None

Fixed

  • Bug fix label conversion depending on locale issue #102

Deprecated

  • None

Remove

  • None

1.0.3 - 2017-04-27

Added

  • None

Fixed

Deprecated

  • None

Remove

  • None

1.0.2 - 2017-04-19

Added

  • None

Fixed

  • Improve registered name validation issue #5

Deprecated

  • None

Remove

  • None

1.0.1 - 2017-02-06

Added

  • None

Fixed

  • Update idn to ascii algorithm from INTL_IDNA_VARIANT_2003 to INTL_IDNA_VARIANT_UTS46

Deprecated

  • None

Remove

  • None

1.0.0 - 2017-01-17

Added

  • None

Fixed

  • Improve validation check for Query::build
  • Remove `func_* function usage
  • Improve HierarchicalPath::createFromSegments
  • Internal code simplification

Deprecated

  • None

Remove

  • None

1.0.0-RC1 - 2017-01-09

Added

  • ComponentInterface
  • EncodingInterface
  • HierarchicalPath::withDirname
  • HierarchicalPath::withBasename
  • HierarchicalPath::withoutSegments
  • HierarchicalPath::replaceSegment
  • Host::withRegisterableDomain
  • Host::withSubdomain
  • Host::withRootLabel
  • Host::withoutRootLabel
  • Host::withoutLabels
  • Host::replaceLabel
  • Query::getParams
  • Query::getParam
  • Query::append
  • Query::hasPair
  • Query::withoutPairs

Fixed

  • ComponentInterface::getContent supports RFC1738
  • The methods that accept integer offset supports negative offset
    • HierarchicalPath::getSegment
    • HierarchicalPath::replaceSegment
    • HierarchicalPath::withoutSegments
    • Host::getLabel
    • Host::replaceLabel
    • Host::withoutLabels
  • Query::merge only accepts string

Deprecated

  • None

Remove

  • PHP5 support
  • Implementing League\Uri\Interfaces\Component
  • Query::hasKey
  • Query::without
  • Query::filter
  • Host::hasKey
  • Host::without
  • Host::filter
  • Host::replace
  • HierarchicalPath::hasKey
  • HierarchicalPath::without
  • HierarchicalPath::filter
  • HierarchicalPath::replace
  • League\Uri\Components\PathInterface

0.5.0 - 2016-12-09

Added

  • None

Fixed

  • Remove League\Uri\Interfaces\CollectionComponent interface dependencies from:

    • League\Uri\Components\Host
    • League\Uri\Components\HierarchicalPath
  • Bug fix League\Uri\Components\Query::build

  • Update dependencies on League\Uri\Interfaces

Deprecated

  • None

Remove

  • None

0.4.0 - 2016-12-01

Added

  • None

Fixed

  • League\Uri\Components\Host::getContent now support correctly RFC3987
  • League\Uri\Components\Host::__toString only returns RFC3986 representation
  • League\Uri\Components\UserInfo::getUser to use the $enc_type parameter
  • League\Uri\Components\UserInfo::getPass to use the $enc_type parameter

Deprecated

  • None

Remove

  • League\Uri\Components\Host::isIdn
  • League\Uri\Components\Port::getDecoded
  • League\Uri\Components\Scheme::getDecoded

0.3.0 - 2016-11-29

Added

  • League\Uri\Components\Exception as the base exception for the library
  • League\Uri\Components\DataPath::getDecoded returns the non-encoded path
  • League\Uri\Components\HierarchicalPath::getDecoded returns the non-encoded path
  • League\Uri\Components\Path::getDecoded returns the non-encoded path
  • League\Uri\Components\Fragment::getDecoded returns the non-encoded fragment
  • League\Uri\Components\Port::getDecoded returns the non-encoded port
  • League\Uri\Components\Scheme::getDecoded returns the non-encoded scheme
  • League\Uri\Components\Query::extract public static method returns a hash similar to parse_str without the mangling from the query string

Fixed

  • getContent is updated to support RFC3987

Deprecated

  • None

Removed

  • Query::parsed use Query::extract instead
  • Query::parsedValue use Query::extract instead

0.2.1

Added

  • None

Fixed

  • issue #84. Query string is not well encoded.

Deprecated

  • None

Removed

  • None

0.2.0

Added

  • Query::parsed returns an array similar to parse_str result with a second options with unmangled key.
  • Query::getParsedValue returns single value from the parse and unmangled PHP variables.
  • Host::createFromIp a name constructor to create a host from a IP
  • Host::getIp returns the IP part from the host if present otherwise returns null

Fixed

  • Host::__construct no longers takes a IPv6 without delimiter as a valid argument.

Deprecated

  • None

Removed

  • None

0.1.1 - 2016-11-09

  • improve dependencies - broken

0.1.0 - 2016-10-17

Added

  • None

Fixed

  • League\Uri\QueryParser is now a trait League\Uri\Components\Traits\QueryParser used by League\Uri\Components\Query
  • League\Uri\Components\UserInfo now only accepts string and null as constructor parameters.

Deprecated

  • None

Removed

  • League\Uri\Components\User
  • League\Uri\Components\Pass
  • League\Uri\QueryParser