Skip to content

version 0.7.0

Compare
Choose a tag to compare
@nyamsprod nyamsprod released this 06 Feb 20:10
· 236 commits to master since this release
dd20226

Added

  • Support for Stringable instances added to Item::from, the instances will be converted to the string data type.
  • Support for the upcoming Date data type in Item represented as a DateTimeImmutable object. (see https://httpwg.org/http-extensions/draft-ietf-httpbis-sfbis.html)
  • ParameterAccess interface with new methods to ease parameter members modification.
  • Parameter::create named constructor to create a new instance without any parameter.
  • Dictionnary::create named constructor to create a new instance without any parameter.
  • Type Enum of all supported datatype.
  • Value Interface is introduced with Item being the only available implementation.
  • MemberOrderedMap::add and MemberOrderedMap::remove methods
  • ByteSequence::equals and Token::equals to easily compare type instances.
  • StructuredField extends the Stringable interface
  • ForbiddenOperation exception to reports invalid operation on immutable value objects.

Fixed

  • Item::fromHttpValue now internally uses the Parser previously it was using its own parsing rules.
  • Parameters::fromHttpValue now internally uses the Parser previously it was using its own parsing rules.
  • [BC Break] ::fromAssociative, ::fromList, ::fromPairs methods require iterable arguments without default value.
  • [BC Break] Item::value method returns the Item (returns value can be float|int|string|bool|ByteSequence|DateTimeImmutable|Token).
  • [BC Break] InnerList::parameters is no longer accessible as a public readonly property.
  • [BC Break] Modifying container instances with ArrayAccess modifying methods is forbidden and will trigger a ForbiddenOperation exception.

Deprecated

  • None

Removed

  • [BC Break] ForbiddenStateError exception is removed; the InvalidArgument exception is used instead.
  • [BC Break] Item::is* methods are removed; the enum Type is used instead.
  • [BC Break] MemberContainer::clear method is removed without replacement.
  • [BC Break] MemberOrderedMap::set and MemberOrderedMap::delete methods remonved; use MemberOrderedMap::add and MemberOrderedMap::remove instead