Skip to content

Releases

version 7.10.0

Choose a tag to compare

@nyamsprod nyamsprod released this 04 Nov 13:11

Added

  • HostRecord::encoded

Fixed

  • Encoder::normalizeHost Host encoding and normalization #230
  • HostRecord Host validation and Unicode/Ascii convertion #230
  • Encoder::isQueryEncoded Should follow the rules from RFC3986 #229

Deprecated

  • None

Removed

  • None

version 7.9.1

Choose a tag to compare

@nyamsprod nyamsprod released this 28 Oct 08:40

Added

  • None

Fixed

  • Reject URI ports that overflow PHP_INT_MAX instead of clamping them #227 by wleeaf
  • Encoder::normalizeHost Lowercase percent-decoded letters when normalizing the host #227 by wleeaf
  • Drop the base URI fragment when resolving an empty reference #226 by wleeaf
  • Fix data URI with only ;base64 parameter being rejected #225 by ViniTou

Deprecated

  • None

Removed

  • None

version 7.9.0

Choose a tag to compare

@nyamsprod nyamsprod released this 16 Oct 17:02

Added

  • HostRecord::parse returns a new HostRecord or null complements HostRecord::from

Fixed

  • Encoder URI component encoding #191
  • Preserve the root when removeDotSegments pops past it (RFC 3986 §5.2.4) #190
  • UriString URI normalization algorithm to be inline with PHP's Uri extension

Deprecated

  • None

Removed

  • None

Full Changelog: 7.8.1...7.9.0

version 7.8.1

Choose a tag to compare

@nyamsprod nyamsprod released this 15 Mar 20:34

Added

  • None

Fixed

  • Host::isIp is fixed to be more strict.
  • UriString::resolve regression from previous minor version fixed see issue #184

Deprecated

  • None

Removed

  • None

version 7.8.0

Choose a tag to compare

@nyamsprod nyamsprod released this 16 Jan 09:24

Added

  • QueryString::compose and QueryString::composeFromValue a userland improved http_build_query method.
  • QueryExtractMode and QueryComposeMode Enum to improve query parsing and building.
  • StringCoercionMode to normalize type coercion
  • Added support for BackedEnum
  • FragmentDirective::toFragmentValue
  • DomainHostInteraface::isSubdomainOf
  • DomainHostInteraface::hasSubdomain
  • DomainHostInteraface::isSiblingOf
  • DomainHostInteraface::parentHost
  • DomainHostInteraface::commonAncestorWith
  • Added the Transformable interface

Fixed

  • Fix issue #177 improved userInfo encoding.
  • Fix UriString::resolve method.
  • Fix Type coercion when using the QueryString

Deprecated

  • None

Removed

  • None

version 7.7.0

Choose a tag to compare

@nyamsprod nyamsprod released this 08 Dec 15:24

Added

  • HostRecord class to normalize parsing and caching Host resolution
  • HostType Host type enumeration list as defined by RFC3986
  • HostFormat Host format enumaration list as defined by RFC3986/RFC3987

Fixed

  • UriString::buildAuthority should fail if an optional component is present when the host is missing.
  • UriString::build should fail if an optional component is present when the host is missing.

Deprecated

  • UriString::isValidHost use HostRecord::isValid method instead

Removed

  • None

version 7.6.0

Choose a tag to compare

@nyamsprod nyamsprod released this 18 Nov 12:26

Added

  • UriComponentInterface::equals
  • Contidionable interface
  • UriInterface::resolve
  • UriInterface::relativize
  • UriInterface::equals
  • UriInterface::toNormalizedString
  • UriInterface::withUsername
  • UriInterface::withPassword
  • IPv6\Converter::isIpv6
  • IPv6\Converter::normalize
  • UriString::resolve
  • UriString::removeDotSegments
  • UriString::normalize
  • UriString::normalizeAuthority
  • UriString::containsRfc3986Chars
  • UriString::containsRfc3987Chars
  • UriString::isValidScheme
  • UriString::isValidHost
  • FeatureDetection::supportsDom
  • Encoder::decodeNecessary
  • Encoder::decodePath
  • Encoder::decodeQuery
  • Encoder::decodeFragment
  • Encoder::isUserEncoded
  • Encoder::isPasswordEncoded
  • Encoder::isUserInfoEncoded
  • Encoder::isPathEncoded
  • Encoder::isQueryEncoded
  • Encoder::isFragmentEncoded
  • Encoder::normalizeUser
  • Encoder::normalizePassword
  • Encoder::normalizeUserInfo
  • Encoder::normalizePath
  • Encoder::normalizeQuery
  • Encoder::normalizeFragment
  • Encoder::normalizeHost

Fixed

  • UriString::parse will fail if the URI contains whitespace.
  • UriString::buildUri allows all arguments to be null including the path.
  • UriString::buildAuthority allows the $user argument to be null and still generate a user info component.

Deprecated

  • Encoder::decodePartial replaced by Encoder::decodeNecessary

Removed

  • Dependency to psr/http-factory package which is never required in the package.

version 7.5.0

Choose a tag to compare

@nyamsprod nyamsprod released this 08 Dec 08:32

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.
  • 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

Deprecated

  • UriInterface::getComponents use UriInterface::toComponents

Removed

  • None

7.4.1

Choose a tag to compare

@nyamsprod nyamsprod released this 23 Mar 07:48

Added

  • None

Fixed

  • Fix package to avoid PHP8.4 deprecation warnings

Deprecated

  • None

Removed

  • None

version 7.3.0

Choose a tag to compare

@nyamsprod nyamsprod released this 09 Sep 19:59

Added

  • League\Uri\Contracts\QueryInterface::withoutPairByKey
  • League\Uri\Contracts\QueryInterface::withoutPairByValue
  • League\Uri\Contracts\QueryInterface::withoutPairByKeyValue
  • League\Uri\Contracts\QueryInterface::toFormData
  • League\Uri\Contracts\QueryInterface::withoutPairByKeyValue
  • League\Uri\KeyValuePair\Converter::fromFormData
  • League\Uri\KeyValuePair\Converter::separator method
  • League\Uri\KeyValuePair\Converter::encondingMap method

Fixed

  • League\Uri\KeyValuePair\Converter fix encoding when the value is a float or the boolean false
  • Exception message typo fix #121 by GrahamCampbell

Deprecated

  • Contracts\QueryInterface\QueryInterface::withoutPair use Contracts\QueryInterface\QueryInterface::withoutPairByKey instead.

Removed

  • None