league/uri
URI manipulation library
7.8.1
264M downloads/mo
#92 most downloaded on composer
thephpleague/uri
What this package is like to depend on
Last release 5 months ago
15 Mar 2026
Release timing varies
gaps range from 8 days to 12 months
Nearly every release is documented
notes for 38 of 39 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
41 releases · first in 2015
4 releases in the last 12 months
see the full history below
Release timeline
41 releases · Sep 2015 to Mar 2026Releases
latest 41-
7.8.115 Mar 2026Release notes
Open source →Added
- None
Fixed
- Update requirement to use
uri-interfaces7.8.1 - Simplify
VariableBagimplementation
Deprecated
- None
Removed
- None
Release notes
Open source →Added
- None
Fixed
- Update requirement to use
uri-interfaces7.8.1 - Simplify
VariableBagimplementation
Deprecated
- None
Removed
- None
-
7.8.014 Jan 2026Release notes
Open source →Added
- Added the
Builderclass - Added support for
BackedEnum - Added
transformmethod toUriandUrn
Fixed
- Fix regression in deprecated
Uri::frombaseUrimethod 175
Deprecated
- None
Removed
- None
Release notes
Open source →Added
- Added the
Builderclass - Added support for
BackedEnum - Added
transformmethod toUriandUrn
Fixed
- Fix regression in deprecated
Uri::frombaseUrimethod 175
Deprecated
- None
Removed
- None
- Added the
-
7.7.007 Dec 2025Release notes
Open source →Added
Uri::isIpv4Hosttells whether the URI host is an IPv4 addressUri::isIpv6Hosttells whether the URI host is an IPv6 addressUri::isIpvFutureHosttells whether the URI host is an IPvFuture addressUri::isRegisteredNameHosttells whether the URI host is a registered nameUri::isDomainHosttells whether the URI host is a domain name
Fixed
- Query order not respected in
BaseUri::isSameDocumentmethod 165 - Fix Host resolution using the new
HostRecordclass, some registered name were wrongly throwing exceptions. - Fix
Uri::withPathimprove handling of path leading slash presence - Fix
UriTemplate::exapndToUrlandUriTemplate::expandToUrlOrFailadding the missing softErrors argument populated by reference.
Deprecated
- None
Removed
- None
Release notes
Open source →Added
Uri::isIpv4Hosttells whether the URI host is an IPv4 addressUri::isIpv6Hosttells whether the URI host is an IPv6 addressUri::isIpvFutureHosttells whether the URI host is an IPvFuture addressUri::isRegisteredNameHosttells whether the URI host is a registered nameUri::isDomainHosttells whether the URI host is a domain name
Fixed
- Query order not respected in
BaseUri::isSameDocumentmethod 165 - Fix Host resolution using the new
HostRecordclass, some registered name were wrongly throwing exceptions. - Fix
Uri::withPathimprove handling of path leading slash presence - Fix
UriTemplate::exapndToUrlandUriTemplate::expandToUrlOrFailadding the missing softErrors argument populated by reference.
Deprecated
- None
Removed
- None
-
7.6.018 Nov 2025Release notes
Open source →Added
League\Uri\Urnobject to specifically work with URN as defined by RFC8141Http::tryNewreturns a newUriinstance on success or null on failure (ie: a Relax version ofHttp::new).Http::whenconditional method to ease component building logic.Uri::parsereturns a newUriinstance on success or null on failure (ie: a Relax version ofUri::fromBaseUriandUri::new) that mimics the behaviour of the upcoming native PHP URI parse method.Uri::tryNewreturns a newUriinstance on success or null on failure (ie: a Relax version ofUri::new).Uri::whenconditional method to ease component building logic.Uri::isOpaquetells whether the URI is opaque or not.Uri::isAbsolutetells whether the URI is absolute or not.Uri::isNetworkPathtells whether the URI is a network path.Uri::isAbsolutePathtells whether the URI is an absolute path.Uri::isRelativePathtells whether the URI is a relative path.Uri::isSameDocumenttells whether both URIs refer to the same document.Uri::equalstells whether both URIs refer to the same document (allows taking into account the fragment component)Uri::isLocalFiletells whether thefilescheme base URI represents a local file.Uri::isCrossOrigintells whether two URI do not share the same origin.Uri::isSameOrigintells whether two URI share the same origin.Uri::getOriginreturns the URI origin as described in the WHATWG URL Living standard specification.Uri::toDisplayStringreturns the human-readable string representation of the URI as an IRI.Uri::toRfc8089The method will return null if the URI scheme is not thefileschemeUri::resolvereturns a newUriinstance resolve against the current instance.Uri::normalizereturns a newUriinstance with a full “normalized-decoded” representation: The URI is normalized (when applicable), and components are percent-decoded. Normalization may contain destructive operation.Uri::withUsernamereturns a newUriinstance with the updated username component.Uri::withPasswordreturns a newUriinstance with the updated password component.Uri::toAsciiStringreturns the URI string representation as per RFC3986Uri::toAsciiStringreturns the URI string representation as per RFC3987 with the host in Unicode form if availableUri::getUnicodeHostreturns the host in Unicode form if available; fallback to its RFC3986 representation otherwiseUriTemplateimplements theStringableinterfaceUriTemplate::expandToUriandUriTemplate::expandToUriOrFailUriTemplate::expandToUrlandUriTemplate::expandToUrlOrFailUriTemplate::expandToPsr7UriandUriTemplate::expandToPsr7UriOrFailUriTemplate::expandandUriTemplate::expandOrFailtake a second optional parameter which represents a base URI to resolve the URI from.- Dependency to
psr/http-factorypackage which is required for the package. - Support for
Uri\Rfc3986\UriandUri\Whatwg\Url
Fixed
UserInfonow can be constructed and mutated even when theusercomponent is not present. It was silently ignored.UriandHttpnormalization normalized IP against RFC3986 rules and not WHATWG rules.Uri::getOriginnow follows WHATWG cross-origin definitionUrihost encoding compliance to RFC3986 is improved by supporting RFC3986 encoded URI properlyUriparsing with strings started or ended with empty string are no longer allowedUrispace are rawurlencoded.Urivalidatesurnas per RFC 8141Urivalidatesmailtoscheme as per RFC 6068Urivalidatesblobscheme as per Blob DefinitionUri::getPathno longer trim the leading slashes (theHttpclass which is a PSR-7 compliant class still do!)
Deprecated
BasUriuse theUriclass or the uri-componentModifierclass depending on your requirements.
Removed
- None
Release notes
Open source →Added
League\Uri\Urnobject to specifically work with URN as defined by RFC8141Http::tryNewreturns a newUriinstance on success or null on failure (ie: a Relax version ofHttp::new).Http::whenconditional method to ease component building logic.Uri::parsereturns a newUriinstance on success or null on failure (ie: a Relax version ofUri::fromBaseUriandUri::new) that mimics the behaviour of the upcoming native PHP URI parse method.Uri::tryNewreturns a newUriinstance on success or null on failure (ie: a Relax version ofUri::new).Uri::whenconditional method to ease component building logic.Uri::isOpaquetells whether the URI is opaque or not.Uri::isAbsolutetells whether the URI is absolute or not.Uri::isNetworkPathtells whether the URI is a network path.Uri::isAbsolutePathtells whether the URI is an absolute path.Uri::isRelativePathtells whether the URI is a relative path.Uri::isSameDocumenttells whether both URIs refer to the same document.Uri::equalstells whether both URIs refer to the same document (allows taking into account the fragment component)Uri::isLocalFiletells whether thefilescheme base URI represents a local file.Uri::isCrossOrigintells whether two URI do not share the same origin.Uri::isSameOrigintells whether two URI share the same origin.Uri::getOriginreturns the URI origin as described in the WHATWG URL Living standard specification.Uri::toDisplayStringreturns the human-readable string representation of the URI as an IRI.Uri::toRfc8089The method will return null if the URI scheme is not thefileschemeUri::resolvereturns a newUriinstance resolve against the current instance.Uri::normalizereturns a newUriinstance with a full “normalized-decoded” representation: The URI is normalized (when applicable), and components are percent-decoded. Normalization may contain destructive operation.Uri::withUsernamereturns a newUriinstance with the updated username component.Uri::withPasswordreturns a newUriinstance with the updated password component.Uri::toAsciiStringreturns the URI string representation as per RFC3986Uri::toAsciiStringreturns the URI string representation as per RFC3987 with the host in Unicode form if availableUri::getUnicodeHostreturns the host in Unicode form if available; fallback to its RFC3986 representation otherwiseUriTemplateimplements theStringableinterfaceUriTemplate::expandToUriandUriTemplate::expandToUriOrFailUriTemplate::expandToUrlandUriTemplate::expandToUrlOrFailUriTemplate::expandToPsr7UriandUriTemplate::expandToPsr7UriOrFailUriTemplate::expandandUriTemplate::expandOrFailtake a second optional parameter which represents a base URI to resolve the URI from.- Dependency to
psr/http-factorypackage which is required for the package. - Support for
Uri\Rfc3986\UriandUri\Whatwg\Url
Fixed
UserInfonow can be constructed and mutated even when theusercomponent is not present. It was silently ignored.UriandHttpnormalization normalized IP against RFC3986 rules and not WHATWG rules.Uri::getOriginnow follows WHATWG cross-origin definitionUrihost encoding compliance to RFC3986 is improved by supporting RFC3986 encoded URI properlyUriparsing with strings started or ended with empty string are no longer allowedUrispace are rawurlencoded.Urivalidatesurnas per RFC 8141Urivalidatesmailtoscheme as per RFC 6068Urivalidatesblobscheme as per Blob DefinitionUri::getPathno longer trim the leading slashes (theHttpclass which is a PSR-7 compliant class still do!)
Deprecated
BasUriuse theUriclass or the uri-componentModifierclass depending on your requirements.
Removed
- None
-
7.5.108 Dec 2024 -
7.5.008 Dec 2024Release notes
Open source →Added
Uri::getUsernamereturns the encoded user component of the URI.Uri::getPasswordreturns the encoded password component of the URI.BaseUri::isOpaquetells whether a URI is opaque.- Using PHP8.4
Deprecatedattribute to signal deprecated public API methods and constants.
Fixed
- Improve PSR-7
Httpclass implementation. BaseUri::fromwill compress the IPv6 host to its compressed form if possible.
Deprecated
- Usage of PSR-7
UriFactoryInterfaceis deprecated inBaseUriclass
Removed
- None
Release notes
Open source →Added
Uri::getUsernamereturns the encoded user component of the URI.Uri::getPasswordreturns the encoded password component of the URI.BaseUri::isOpaquetells whether a URI is opaque.- Using PHP8.4
Deprecatedattribute to signal deprecated public API methods and constants.
Fixed
- Improve PSR-7
Httpclass implementation. BaseUri::fromwill compress the IPv6 host to its compressed form if possible.
Deprecated
- Usage of PSR-7
UriFactoryInterfaceis deprecated inBaseUriclass
Removed
- None
-
7.4.123 Mar 2024Release notes
Open source →Added
- None
Fixed
- Fix package to avoid PHP8.4 deprecation warnings
Deprecated
- None
Removed
- None
Release notes
Open source →Added
- None
Fixed
- Fix package to avoid PHP8.4 deprecation warnings
Deprecated
- None
Removed
- None
-
7.4.001 Dec 2023Release notes
Open source →Added
Uri::fromDataUri::fromRfc8089BaseUri::unixPathBaseUri::windowsPathBaseUri::toRfc8089
Fixed
- None
Deprecated
- None
Removed
- None
Release notes
Open source →Added
Uri::fromDataUri::fromRfc8089BaseUri::unixPathBaseUri::windowsPathBaseUri::toRfc8089
Fixed
- None
Deprecated
- None
Removed
- None
-
7.3.009 Sep 2023Release notes
Open source →Added
- None
Fixed
- URI Template incorrect when variable name only contains numbers #109 by GrahamCampbell
- Exception message typo fix #121 by GrahamCampbell
Deprecated
- None
Removed
- None
Full Changelog: 7.2.1...7.3.0
Release notes
Open source →Added
- None
Fixed
- URI Template incorrect when variable name only contains numbers #109 by GrahamCampbell
- Exception message typo fix #121 by GrahamCampbell
Deprecated
- None
Removed
- None
-
7.2.130 Aug 2023 -
7.2.030 Aug 2023 -
7.1.021 Aug 2023Release notes
Open source →Added
- None
Fixed
- Using the
Encoderclass to normalize encoding and decoding in all packages
Deprecated
- None
Removed
- None
-
7.0.010 Aug 2023Release notes
Open source →Added
League\Uri\Uri::newLeague\Uri\Uri::fromComponentsLeague\Uri\Uri::fromServerLeague\Uri\Uri::fromWindowsPathLeague\Uri\Uri::fromUnixPathLeague\Uri\Uri::fromFileContentsLeague\Uri\Uri::fromClientLeague\Uri\Uri::fromTemplateLeague\Uri\Http::newLeague\Uri\Http::fromComponentsLeague\Uri\Http::fromBaseUriLeague\Uri\Http::fromServerLeague\Uri\Http::fromTemplateLeague\Uri\UriTemplate::expandOrFailLeague\Uri\UriTemplate\Template::expandOrFailLeague\Uri\UriTemplate\TemplateCanNotBeExpandedLeague\Uri\UriString::parseAuthorityLeague\Uri\UriString::buildAuthorityLeague\Uri\BaseUri
Fixed
League\Uri\UriInfouri input now supportsStringableandstringtype.League\Uri\UriTemplate\VariableBagimplements theIteratorAggregateinterfaceLeague\Uri\UriTemplate\Operatorto improve internal representation when using UriTemplate features.
Deprecated
League\Uri\UriResolveruseLeague\Uri\BaseUriinsteadLeague\Uri\Uri::createFromStringuseLeague\Uri\Uri::newLeague\Uri\Uri::createFromUriuseLeague\Uri\Uri::newLeague\Uri\Uri::createFromComponentsuseLeague\Uri\Uri::fromComponentsLeague\Uri\Uri::createFromBaseUriuseLeague\Uri\Uri::fromBaseUriLeague\Uri\Uri::createFromServeruseLeague\Uri\Uri::fromServerLeague\Uri\Uri::createFromWindowsPathuseLeague\Uri\Uri::fromWindowsPathLeague\Uri\Uri::createFromUnixPathuseLeague\Uri\Uri::fromUnixPathLeague\Uri\Uri::createFromDataPathuseLeague\Uri\Uri::fromFileContentsLeague\Uri\Http::createFromStringuseLeague\Uri\Http::newLeague\Uri\Http::createFromUriuseLeague\Uri\Http::newLeague\Uri\Http::createFromComponentsuseLeague\Uri\Http::fromComponentsLeague\Uri\Http::createFromBaseUriuseLeague\Uri\Http::fromBaseUriLeague\Uri\Http::createFromServeruseLeague\Uri\Http::fromServerLeague\Uri\UriTemplate\Template::createFromStringuseLeague\Uri\UriTemplate\Template::new
Remove
- Support for
__set_state - Support for
__debugInfo League\Uri\UriTemplate\VariableBag::allLeague\Uri\Exceptions\TemplateCanNotBeExpandeduseLeague\Uri\UriTemplate\TemplateCanNotBeExpandedinsteadLeague\Uri\UriStringclass. Class moved to theuri-interfacespackage.
-
7.0.0-beta.226 Jun 2023 pre-releaseNothing published for this version
-
7.0.0-beta.126 Jun 2023 pre-releaseNothing published for this version
-
6.8.013 Sep 2022Release notes
Open source →Added
- Added PHP8.2+
SensitiveParameterattributes to user information component
Fixed
- Optimize URI performance for server intensive usage 206 by @kelunik
- Improve
Templateresolution - Added PHPBench to benchmark the package main functionnalities.
- Normalize
UriInterface::getPathvalue in the context of multiple leading slash characters.
Deprecated
- None
Remove
- Support for PHP7.4 and PHP8.0
- Added PHP8.2+
-
6.7.213 Sep 2022Release notes
Open source →Added
- None
Fixed
Http::getPathandUri::getPathmethods returned values are normalized to prevent potential XSS and open redirect vectors.
Deprecated
- None
Remove
- None
-
6.7.129 Jun 2022Release notes
Open source →Added
- None
Fixed
UriInfo::isCrossOriginmethod is fix to make it work with any PSR-7 compliant object 205
Deprecated
- None
Remove
- None
-
6.7.028 Jun 2022Release notes
Open source →Added
UriInfo::isCrossOriginmethod
Fixed
- None
Deprecated
- None
Remove
- None
-
6.6.028 May 2022Release notes
Open source →Added
- None
Fixed
- Some errors are moved from
TypeErrortoInvalidArgumentExceptionto align with otherUriInterfacePSR-7 implementations. - Improved documentation by @GwendolenLynch
- Added PSR7 compliance tests from the PHP-HTTP group
Deprecated
- None
Remove
- Support for PHP7.3
-
6.5.027 Aug 2021Release notes
Open source →Added
Uri::toStringas a clean method to return URI string representation.IDNAconversion in now normalize using theUri-Interfacepackage classes
Fixed
- conversion host component from ASCII to unicode no longer throw
Deprecated
- None
Remove
- Support for PHP7.2
-
6.4.022 Nov 2020Release notes
Open source →Added
HttpFactorya class that implements PSR-17 UriFactoryInterface. The package needs to be present for the class to work.
Fixed
Deprecated
- Nothing
Remove
- None
-
6.3.013 Aug 2020Release notes
Open source →Added
UriInfo::getOriginto returns the URI origin as described in the WHATWG URL Living standard specificationUriTemplate\Template,UriTemplate\Expression,UriTemplate\VarSpecifier,UriTemplate\VariableBagto improveUriTemplateimplementation.- Added early support for PHP8
Fixed
UriTemplatecomplete rewrite by reducing deep nested array usage.- Exception misleading message see issue #167
Uri::withSchemeUri validation failed to catch the empty string as an invalid scheme. #171
Deprecated
- Nothing
Remove
- None
-
6.2.117 Mar 2020Release notes
Open source →Added
- None
Fixed
- Bugfix
UriTemplate::expandto comply with expansion rules for undefined variables #161 thanks Gabe Sullice - Improve package testing settings and environment.
Deprecated
- Nothing
Remove
- None
-
6.2.008 Feb 2020Release notes
Open source →Added
- None
Fixed
- None
Deprecated
- Nothing
Remove
- Hard dependencies on the
ext-mbstringand theext-fileinfoPHP extensions #154 thanks Nicolas Grekas
-
6.1.130 Jan 2020Release notes
Open source →Added
- Nothing
Fixed
League\Uri\UriTemplatevariables validation and normalization improved
Deprecated
- Nothing
Remove
- Nothing
-
6.1.029 Jan 2020Release notes
Open source →Added
League\Uri\UriTemplatea class to handle uri template expansion as described in RFC7560 see PR #153
Fixed
Deprecated
- Nothing
Remove
- Nothing
-
6.0.123 Nov 2019Release notes
Open source →Added
- Nothing
Fixed
Urishould not depend onintlextension if the host is in its ascii form #141
Deprecated
- Nothing
Remove
- Nothing
-
6.0.018 Oct 2019Release notes
Open source →Added
League\Uri\UriInfo: to get RFC3986 information from an URI objectLeague\Uri\UriResolver: to resolve or relativize an URI objectLeague\Uri\UriString: to parse or build an URL into or from its componentsLeague\Uri\Uri::createFromBaseUrinamed constructorLeague\Uri\Uri::createFromDataPathnamed constructorLeague\Uri\Uri::createFromPsr7named constructorLeague\Uri\Uri::createFromUnixPathnamed constructorLeague\Uri\Uri::createFromWindowsPathnamed constructorLeague\Uri\Http::createFromBaseUrinamed constructor
Fixed
- Improve parsing and building URI
- All URI object are now finals and supports parameter type widening
League\Uri\Uriimplements theJsonSerializableinterfaceLeague\Uri\Httpimplements theJsonSerializableinterface
Deprecated
- None
Remove
- support for PHP7.1 and PHP7.0
createfunction defined in theLeague\Urinamespace replaced byLeague\Uri\Uri::createFromBaseUriLeague\Uri\Factoryreplaced byLeague\Uri\UriLeague\Uri\Datareplaced byLeague\Uri\UriLeague\Uri\Filereplaced byLeague\Uri\UriLeague\Uri\Ftpreplaced byLeague\Uri\UriLeague\Uri\Wsreplaced byLeague\Uri\UriLeague\Uri\UriExceptionreplaced byLeague\Uri\Contract\UriExceptionLeague\Uri\AbstractUriinternal, replaced byLeague\Uri\UriLeague\Uri\Schemesnamespace and all classes insideLeague\Uri\Urino longer implementsLeague\Uri\UriInterface
-
5.3.014 Mar 2018Release notes
Open source →See packages release notes for more informations
Added
- IPvFuture support
Fixed
- Adding PHPStan
- Improve RFC3986 compliance
- Improve performance
Remove
- remove
mbstringextension requirement
-
5.2.001 Dec 2017Release notes
Open source →- URI Parser
- URI Hostname parser
- URI Manipulations 1.3.0 Changelog
- URI Components 1.5.0 Changelog
- URI Schemes 1.1.1 Changelog
Fixed
- Support for PHP7.2
-
5.1.017 Nov 2017Release notes
Open source →Added
- Support for PHP7.2
Fixed
- Update library dependencies
Deprecated
- Nothing
Remove
- Nothing
-
5.0.006 Feb 2017Release notes
Open source →Added
The library is now a metapackage, you can read the migration guide for upgrading or the complete documentation for the new version.
Remove
- PHP5 support
-
4.2.317 Oct 2017Nothing published for this version
-
4.2.212 Dec 2016Release notes
Open source →Added
- Nothing
Fixed
- issue #91 Path modifier must be RFC3986 compliant
- issue #94 Improve Query parser encoder
Formatter::__invokepath must be RFC3986 compliant
Deprecated
- Nothing
Remove
- Nothing
-
4.2.124 Nov 2016 -
4.2.030 Sep 2016Release notes
Open source →Added
Component::getContentreturns the raw encoded representation of a componentComponent::withContentto create a new instance from a given raw encoded contentgetDecodedmethod to access the decoded content for the following classes:UserPassFragment
- Support for PHP's magic methods
__debugInfoand__set_stateto improve debugging Modifiers\RelativizeModifiers\DecodeUnreservedCharactersPath::createFromSegmentsPath::getSegmentsHost::createFromLabelsHost::getLabelsQuery::createFromPairsQuery::getPairsModifiers\uri_referencefunction to return URI reference state.
Fixed
- Components encoding/decoding to be more RFC3986 compliant
Host::getRegisterableDomainmust always return a string as per the host interface expected return typeHost::getSubdomainmust always return a string as per the host interface expected return typeHost::isPublicSuffixValidwhen nopublicSuffixinformation is foundHost::isPublicSuffixValidmust always return a string as per the host interface expected return type- On instantiation, query and fragment delimiter are preserved
createFromComponentsfailing withparse_urlresult when no path is defined- On URI transformation
InvalidArgumentExceptionexceptions are emitted instead ofRuntimeExceptionones to normalize exception to PSR-7 Modifiers\Normalizeclass removes dot segments only on URI with absolute path.Modifiers\Normalizeclass decode all unreserved characters.FtpandWsobjects now accept relative reference URI without the scheme.
Deprecated
Component::modifyuseComponent::withContentinsteadHost::getLiteralPort::toIntusePort::getContentinsteadHierarchicalPath::createFromArrayuseHierarchicalPath::createFromSegmentsinsteadHierarchicalPath::toArrayuseHierarchicalPath::getSegmentsinsteadHost::createFromArrayuseHost::createFromLabelsinsteadHost::toArrayuseHost::getLabelsinsteadQuery::createFromArrayuseQuery::createFromPairsinsteadQuery::toArrayuseQuery::getPairsinsteadUriPart::sameValueAs
Remove
- Nothing
-
4.1.124 Mar 2016Release notes
Open source → -
4.1.018 Feb 2016Release notes
Open source →Added
Formatter::preserveQueryto improve query inclusion in URI string representationFormatter::preserveFragmentto improve fragment inclusion in URI string representationFormatter::__invokeas an alias ofFormatter::formatUriParser::__invokeas an alias ofUriParser::parse
Fixed
- Improve Uri Component modification issue #29
- Improve Path encoding/decoding issue #28
- Improve lowercase transformation in hostname issue #27
- Fix empty string evaluation issue #31
Deprecated
Formatter::getHostEncodingFormatter::getQueryEncodingFormatter::getQuerySeparatorModifiers\Filters\Flag::withFlagsModifiers\Filters\ForCallbable::withCallableModifiers\Filters\ForCallbable::withCallableModifiers\Filters\Keys::withKeysModifiers\Filters\Label::withLabelModifiers\Filters\Offset::withOffsetModifiers\Filters\QueryString::withQueryModifiers\Filters\Segment::withSegmentModifiers\Filters\Uri::withUriModifiers\DataUriParameters\withParametersModifiers\Extension\withExtensionModifiers\KsortQuery\withAlgorithmModifiers\Typecode\withType
Remove
- Nothing
-
4.0.103 Nov 2015Release notes
Open source →Added
- Nothing
Fixed
UserandPassencodingHttp::createFromServerhandling userinfo when not usingmod_phpwith$_SERVER['HTTP_AUTHORIZATION']UriParserhandling URI strings with invalid schemeQueryParserhandling numeric index issue #25DataPathmimetype syntax validation issue #21DataPath::withParametersthe;base64binary code now always throw anInvalidArgumentException
Deprecated
- Nothing
Remove
- Nothing
-
4.0.023 Sep 2015Release notes
Open source →Added
Intlextension is now required to use the libraryFileInfoextension is now required to use the library- Domain parsing capabilities to
Hostusingjeremykendall/php-domain-parserpackage UriParserto parse an URI according to RFC3986 rulesQueryParserto parse and build a query string according to RFC3986 rules.League\Uri\Schemes\Generic\AbstractUrito enable better URI extension- URI Modifiers classes to modify URI objects in an uniform way for interoperability
- A
Dataclass to specifically manipulatedataschemed URI - A
Httpclass to specifically manipulatehttp,httpsschemed URI - A
Ftpclass to specifically manipulateftpschemed URI - A
Wsclass to specifically manipulatews,wssschemed URI - A
DataPathcomponent class to manipulate Data-uri path component - A
HierarchicalPathto manipulate Hierarchical-like path component - Support for IP host
Fixed
- Move namespace from
League\UrltoLeague\Urito avoid dependency hell - Uri components classes are fixed to comply to
RFC3986 - Uri components classes are now all immutable value objects
Deprecated
- Nothing
Remove
- Support for
PHP 5.4andPHP 5.3 - Dependency on PHP
parse_url,parse_strandhttp_build_queryfunctions - Dependency on the
True/php-punycodelibrary League\Url\Url,League\Url\UrlImmutable,League\Url\UrlConstantsclasses- Most of the public API is removed