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

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::toComponents returns an associative array containing all URI components values.
  • UriInterface::getUsername returns the encoded user component of the URI.
  • UriInterface::getPassword returns the encoded scheme-specific information about how to gain authorization to access the resource.
  • Uri\IPv6\Converter allows expanding and compressing IPv6.
  • Uri\IPv4\Converter::toIPv6Using6to4 allows converting an IPv4 into an IPv6 host using the 6to4 notation.
  • Uri\IPv4\Converter::toIPv6UsingMapping allows mapping an IPv4 address into an IPv6 one.
  • Uri::getUsername returns the encoded user component of the URI.
  • Uri::getPassword returns the encoded password component of the URI.
  • BaseUri::isOpaque tells whether a URI is opaque.
  • 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.

Fixed

  • Adding Host resolution caching to speed up URI parsing in UriString
  • Uri\UriString::parseAuthority accepts Stringable object as valid input
  • Uri\IPv4\Converter::toDecimal also handles 6to4 and IPv4 mapped address algorithm.
  • Uri\QueryString::extract and QueryString::convert stop parsing too early issue #146
  • Improve PSR-7 Http class implementation.
  • BaseUri::from will compress the IPv6 host to its compressed form if possible.
  • 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

  • UriInterface::getComponents use UriInterface::toComponents
  • Usage of PSR-7 UriFactoryInterface is deprecated in BaseUri class
  • Usage of PSR-7 UriFactoryInterface is deprecated in Modifier class

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

version 7.0.0-beta.1 - 2023-06-26