Releases
These are the release notes from Uri. We’ve tried to cover all changes, including backward compatible breaks from 4.0 through to the current stable release. If we’ve missed anything, feel free to create an issue, or send a pull request.
version 7.8.1 - 2026-03-15
What’s Changed
- fix issue #184 by @nyamsprod in https://github.com/thephpleague/uri-src/pull/185
- Remove accidentally duplicated closing parenthesis by @shaedrich in https://github.com/thephpleague/uri-src/pull/187
New Contributors
- @shaedrich made their first contribution in https://github.com/thephpleague/uri-src/pull/187
See package individual CHANGELOG for complete changes:
CHANGELOG for uri-interfaces CHANGELOG for uri CHANGELOG for uri-components CHANGELOG for uri-polyfill
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.8.0…7.8.1
version 7.8.0 - 2026-01-16
What’s Changed
- Clarification of some suggested libraries by @Simbiat in https://github.com/thephpleague/uri-src/pull/172
- Fix regression in Uri::fromBaseUri #175 by @nyamsprod in https://github.com/thephpleague/uri-src/pull/176
- Fix userinfo component encoding #177 by @nyamsprod in https://github.com/thephpleague/uri-src/pull/179
- Introducing the Uri Builder by @nyamsprod in https://github.com/thephpleague/uri-src/pull/181
- Introducing the QueryBuildingMode Enum to improve serialization by @nyamsprod in https://github.com/thephpleague/uri-src/pull/180
- add tap() to Http by @xabbuh in https://github.com/thephpleague/uri-src/pull/182
- Normalizing and fixing library string coercion by @nyamsprod in https://github.com/thephpleague/uri-src/pull/183
New Contributors
- @Simbiat made their first contribution in https://github.com/thephpleague/uri-src/pull/172
- @xabbuh made their first contribution in https://github.com/thephpleague/uri-src/pull/182
See package individual CHANGELOG for complete changes:
CHANGELOG for uri-interfaces CHANGELOG for uri CHANGELOG for uri-components CHANGELOG for uri-polyfill
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.7.0…7.8.0
version 7.7.0 - 2025-12-08
What’s Changed
- fix: wrong deprecation message on
Modifier::getUri()by @meyerbaptiste in https://github.com/thephpleague/uri-src/pull/166 - Adding new syntactic sugar methods to uri-components by @nyamsprod in https://github.com/thephpleague/uri-src/pull/169
- Adding Modifier redact public API by @nyamsprod in https://github.com/thephpleague/uri-src/pull/168
See package individual CHANGELOG for complete changes:
CHANGELOG for uri-interfaces CHANGELOG for uri CHANGELOG for uri-components CHANGELOG for uri-polyfill
New Contributors
- @meyerbaptiste made their first contribution in https://github.com/thephpleague/uri-src/pull/166
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.6.0…7.7.0
version 7.6.0 - 2025-11-18
What’s Changed
- See package individual CHANGELOG for related changes
- CHANGELOG for uri-interfaces
- CHANGELOG for uri
- CHANGELOG for uri-components
- CHANGELOG for uri-polyfill
New Contributors
- @svenluijten made their first contribution in https://github.com/thephpleague/uri-src/pull/156
- @cedric-anne made their first contribution in https://github.com/thephpleague/uri-src/pull/157
- @stof made their first contribution in https://github.com/thephpleague/uri-src/pull/164
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.5.1…7.6.0
version 7.5.1 - 2024-12-08
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.5.0…7.5.1
version 7.5.0 - 2024-12-08
Added
UriInterface::toComponentsreturns an associative array containing all URI components values.UriInterface::getUsernamereturns the encoded user component of the URI.UriInterface::getPasswordreturns the encoded scheme-specific information about how to gain authorization to access the resource.Uri\IPv6\Converterallows expanding and compressing IPv6.Uri\IPv4\Converter::toIPv6Using6to4allows converting an IPv4 into an IPv6 host using the 6to4 notation.Uri\IPv4\Converter::toIPv6UsingMappingallows mapping an IPv4 address into an IPv6 one.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.UrlSearchParams::uniqueKeyCountModifier::getIdnUriStringModifier::hostToIpv6CompressedModifier::hostToIpv6ExpandedScheme::isHttpScheme::isWebsocketScheme::isSslScheme::isSpecial- Using PHP8.4
Deprecatedattribute to signal deprecated public API methods and constants.
Fixed
- Adding Host resolution caching to speed up URI parsing in
UriString Uri\UriString::parseAuthorityacceptsStringableobject as valid inputUri\IPv4\Converter::toDecimalalso handles 6to4 and IPv4 mapped address algorithm.Uri\QueryString::extractandQueryString::convertstop parsing too early issue #146- Improve PSR-7
Httpclass implementation. BaseUri::fromwill compress the IPv6 host to its compressed form if possible.- Remove Usage of PSR-7
UriInterfaceinUrlSearchParamsclass - Normalizes
fromUrito return the same value for the component if the URI object has the same string representation.
Deprecated
UriInterface::getComponentsuseUriInterface::toComponents- Usage of PSR-7
UriFactoryInterfaceis deprecated inBaseUriclass - Usage of PSR-7
UriFactoryInterfaceis deprecated inModifierclass
Removed
- None
7.4.1 - 2024-03-23
Added
- None
Fixed
- Fix package to avoid PHP8.4 deprecation warnings
- Bug Fix for the uri-components see #133
Deprecated
- None
Removed
- None
version 7.4.0 - 2023-12-01
What’s Changed
- Adding BaseUri::unixPath and BaseUri::windowsPath by @nyamsprod in https://github.com/thephpleague/uri-src/pull/125
- Adding Uri::fromData named constructor by @nyamsprod in https://github.com/thephpleague/uri-src/pull/127
- Bugfix/query parameters constructors encoding values by @nyamsprod in https://github.com/thephpleague/uri-src/pull/122
- Fix typo in exception message about invalid path parameters by @JoshuaBehrens in https://github.com/thephpleague/uri-src/pull/128
- Add support for RFC8089 by @nyamsprod in https://github.com/thephpleague/uri-src/pull/131
New Contributors
- @JoshuaBehrens made their first contribution in https://github.com/thephpleague/uri-src/pull/128
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.3.0…7.4.0
version 7.3.0 - 2023-09-09
What’s Changed
- Adding a PHP implementation of URLSearchParams by @nyamsprod in https://github.com/thephpleague/uri-src/pull/118
- Fix broken code that assumes array keys are strings by @GrahamCampbell in https://github.com/thephpleague/uri-src/pull/120
- Fixed grammar errors by @GrahamCampbell in https://github.com/thephpleague/uri-src/pull/121
New Contributors
- @GrahamCampbell made their first contribution in https://github.com/thephpleague/uri-src/pull/120
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.2.1…7.3.0
version 7.2.1 - 2023-08-30
Fix composer.json
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.2.0…7.2.1
version 7.2.0 - 2023-08-30
- Introduce more Modifier methods
- Improve Converters
- Add
BaseUri::hasIdn
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.1.0…7.2.0
version 7.1.0 - 2023-08-21
What’s Changed
- Introduce the Encoder class by @nyamsprod in https://github.com/thephpleague/uri-src/pull/114
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.0.0…7.1.0
version 7.0.0 - 2023-08-10
the new major release for all league uri related packages
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.0.0-beta.2…7.0.0
version 7.0.0-beta.2 - 2023-06-26
Full Changelog: https://github.com/thephpleague/uri-src/compare/7.0.0-beta.1…7.0.0-beta.2