#Changelog
All Notable changes to League\Url
will be documented in this file
- Invalid Punycode should still be allowed and not produce any error issue #65
- remove useless optional argument from
Path::getUriComponent
-
Package structure is changed to better reflect the importance of each component.
-
League\Url\Interfaces\Url
- now implements
Psr\Http\Message\UriInterface
resolve
to create new URL from relative URL- add proxy methods to ease partial component modifications
- now implements
-
League\Url\Interfaces\UrlPart
- UrlParts implementing object can be compared using the
sameValueAs
- UrlParts implementing object can be compared using the
-
League\Url\Interfaces\Component
modify
to create a new instance from a given component;
-
League\Url\Interfaces\CollectionComponent
:- The interface is simplified to remove ambiguity when manipulating Host and Path objects.
-
League\Url\Interfaces\Host
:- implements IPv4 and IPv6 style host
__toString
method now always return the ascii version of the hostname
-
League\Url\Interfaces\Path
:withoutDotSegment
remove dot segment according to RFC3986 rules;withoutDuplicateDelimiters
remove multiple adjacent delimiters;getBasename
returns the trailing path;- manage the trailing path extension using
getExtension
andwithExtension
;
-
League\Url\Interfaces\Query
:- The interface is simplified to remove ambiguity and allow setting default values for missing keys;
- The object no longer depends on php
parse_str
-
League\Url\Interfaces\Scheme
andLeague\Url\Interfaces\Port
:- support for listing and detecting standard port for a given scheme in both objects with
Interfaces\Port::getStandardSchemes
Interfaces\Port::useStandardScheme
Interfaces\Scheme::getStandardPorts
Interfaces\Scheme::useStandardPort
- support for listing and detecting standard port for a given scheme in both objects with
-
League\Url\UserInfo
class added to better manipulate URL user info part -
The
Url
class as well as all components classes are now immutable value objects. -
The
League\Url\Output\Formatter
class is added to ease Url formatting -
The package is more RFC3986 compliant
- Nothing
- Handling of legacy hostname suffixed with a "." when using
Url::createFromServer
League\Url\Components\User
andLeague\Url\Components\Pass
- Support for
PHP 5.3
UrlImmutable
class- Most of the public API is removed :
- to comply to
RFC3986
; - to enable immutable value object;
- to implement
PSR7
UriInterface;
- to comply to
- Bug fix URL parsing issue #65
- adding the
toArray
method toLeague\Url\AbstractUrl
to output the URL like PHP nativeparse_url
issue #56
League\Url\Components\Query
bug fix remove parameter only if the value equalsnull
issue #58
- Nothing
- Nothing
League\Url\AbstractUrl\createFromServer
bug fix handling of$_SERVER['HTTP_HOST']
- Nothing
- Nothing
- adding the following methods to
League\Url\AbstractUrl
getUserInfo
getAuthority
sameValueAs
- Nothing
League\Url\Components\Fragment::__toString
encoding symbols according to RFC3986
- Nothing
- Nothing
- Nothing
- Nothing
parse_str
does not preserve key params
- Nothing
- Nothing
- Adding IDN support using
True\Punycode
package - The library now requires the
mbstring
extension to work.
The following methods were added:
League\Url\Components\Host::toAscii
League\Url\Components\Host::toUnicode
as an alias ofLeague\Url\Components\Host::__toString
- Nothing
- invalid URI parsing
- Nothing
- Nothing
- Nothing
- Nothing
- invalid URI parsing
- Nothing
- Nothing
New Release, complete rewrite from Bakame\Url