Skip to content

version 7.0.0

Compare
Choose a tag to compare
@nyamsprod nyamsprod released this 10 Aug 14:44
· 33 commits to master since this release

Added

  • value method to replace the removed getContent method.
  • requires League\Uri package.
  • League\Uri\Components\Scheme::new named constructor
  • League\Uri\Components\UserInfo::new named constructor
  • League\Uri\Components\Host::new named constructor
  • League\Uri\Components\Domain::new named constructor
  • League\Uri\Components\Fragment::new named constructor
  • League\Uri\Components\Query::new named constructor
  • League\Uri\Components\Path::new named constructor
  • League\Uri\Components\DataPath::new named constructor
  • League\Uri\Components\UserInfo::withUser modifier method
  • League\Uri\Components\UserInfo::withPass modifier method
  • League\Uri\Components\Port::fromNumber modifier method
  • League\Uri\Components\Query::parameters accessing method
  • League\Uri\Components\Query::parameter accessing method
  • League\Uri\Components\Query::hasParameter accessing method
  • League\Uri\IPv4Calculators\MissingIPv4Calculator exception
  • League\Uri\Components\OffsetOutOfBounds exception added
  • League\Uri\Modifier to replace deprecated League\Uri\Modifier

Fixed

  • converts Value Objects properties to being private readonly where possible.
  • All components class constructors (except for the UserInfo and the Authority classes) are made private use the available named constructors instead
  • Named constructors default value are removed, you need to explicitly add an argument value or use the ::new() named constructor instead.
  • UserInfo class makes a distinction between null and the empty string.
  • Query::has accessing method accept a variadic parameters to check multiple keys at the same time.
  • Domain value can be null or a non-empty string previously it would trigger an exception
  • Domain::append and Domain::prepend respects the root status of the instance.

Deprecated

  • All createFromString named constructors are replaced by the new named constructor.
  • All createFromNull named constructors are replaced by the new named constructor.
  • All remaining named constructors which starts with createFrom* replaced by the same method starting with from*. For example Authority::createFromUri is deprecated in favor of Authority::fromUri
  • Query::params is replaced by Query::parameters and Query::parameter
  • HierarchicalPath::segments use HierarchicalPath::getIterator instead
  • Domain::labels use Domain::getIterator instead
  • League\Uri\UriModifier use League\Uri\Modifier
  • League\Uri\IPv4Normalizer use League\Uri\Modifier instead

Removed

  • PHP7 and PHP8.0 support
  • withContent and getContent methods
  • Support for __set_state
  • Support for float type as possible argument for components
  • Support for int type as possible argument for components
  • UserInfo::withUserInfo modifier method use UserInfo::withUser and/or UserInfo::withPass instead
  • Remove the Exceptions namespace
  • League\Uri\Exceptions\IPv4CalculatorMissing use League\Uri\IPv4Calculators\MissingIPv4Calculator instead
  • League\Uri\Exceptions\OffsetOutOfBounds use League\Uri\Components\OffsetOutOfBounds instead
  • League\Uri\QueryString class. Class moved to the uri-interfaces package.

Full Changelog: 7.0.0-beta.2...7.0.0