packagist league/uri 7.6.0
version 7.6.0

10 hours ago

Added

  • League\Uri\Urn object to specifically work with URN as defined by RFC8141
  • Http::tryNew returns a new Uri instance on success or null on failure (ie: a Relax version of Http::new).
  • Http::when conditional method to ease component building logic.
  • Uri::parse returns a new Uri instance on success or null on failure (ie: a Relax version of Uri::fromBaseUri and Uri::new) that mimics the behaviour of the upcoming native PHP URI parse method.
  • Uri::tryNew returns a new Uri instance on success or null on failure (ie: a Relax version of Uri::new).
  • Uri::when conditional method to ease component building logic.
  • Uri::isOpaque tells whether the URI is opaque or not.
  • Uri::isAbsolute tells whether the URI is absolute or not.
  • Uri::isNetworkPath tells whether the URI is a network path.
  • Uri::isAbsolutePath tells whether the URI is an absolute path.
  • Uri::isRelativePath tells whether the URI is a relative path.
  • Uri::isSameDocument tells whether both URIs refer to the same document.
  • Uri::equals tells whether both URIs refer to the same document (allows taking into account the fragment component)
  • Uri::isLocalFile tells whether the file scheme base URI represents a local file.
  • Uri::isCrossOrigin tells whether two URI do not share the same origin.
  • Uri::isSameOrigin tells whether two URI share the same origin.
  • Uri::getOrigin returns the URI origin as described in the WHATWG URL Living standard specification.
  • Uri::toDisplayString returns the human-readable string representation of the URI as an IRI.
  • Uri::toRfc8089 The method will return null if the URI scheme is not the file scheme
  • Uri::resolve returns a new Uri instance resolve against the current instance.
  • Uri::normalize returns a new Uri instance with a full “normalized-decoded” representation: The URI is normalized (when applicable), and components are percent-decoded. Normalization may contain destructive operation.
  • Uri::withUsername returns a new Uri instance with the updated username component.
  • Uri::withPassword returns a new Uri instance with the updated password component.
  • Uri::toAsciiString returns the URI string representation as per RFC3986
  • Uri::toAsciiString returns the URI string representation as per RFC3987 with the host in Unicode form if available
  • Uri::getUnicodeHost returns the host in Unicode form if available; fallback to its RFC3986 representation otherwise
  • UriTemplate implements the Stringable interface
  • UriTemplate::expandToUri and UriTemplate::expandToUriOrFail
  • UriTemplate::expandToUrl and UriTemplate::expandToUrlOrFail
  • UriTemplate::expandToPsr7Uri and UriTemplate::expandToPsr7UriOrFail
  • UriTemplate::expand and UriTemplate::expandOrFail take a second optional parameter which represents a base URI to resolve the URI from.
  • Dependency to psr/http-factory package which is required for the package.
  • Support for Uri\Rfc3986\Uri and Uri\Whatwg\Url

Fixed

  • UserInfo now can be constructed and mutated even when the user component is not present. It was silently ignored.
  • Uri and Http normalization normalized IP against RFC3986 rules and not WHATWG rules.
  • Uri::getOrigin now follows WHATWG cross-origin definition
  • Uri host encoding compliance to RFC3986 is improved by supporting RFC3986 encoded URI properly
  • Uri parsing with strings started or ended with empty string are no longer allowed
  • Uri space are rawurlencoded.
  • Uri validates urn as per RFC 8141
  • Uri validates mailto scheme as per RFC 6068
  • Uri validates blob scheme as per Blob Definition
  • Uri::getPath no longer trim the leading slashes (the Http class which is a PSR-7 compliant class still do!)

Deprecated

  • BasUri use the Uri class or the uri-component Modifier class depending on your requirements.

Removed

  • None

Don't miss a new uri release

NewReleases is sending notifications on new releases.