Skip to content

Releases: willdurand/Negotiation

2.0.3 (2016-08-30)

30 Aug 11:12
Compare
Choose a tag to compare
  • Fixed: silently skip invalid header values coming in from a client (cf. #81 and #84)

2.0.2 (2015-12-04)

04 Dec 08:39
Compare
Choose a tag to compare
  • Fixed: allow to have more than to parts (#70, #74)
  • Fixed: Accept header with '*' (#71)
  • Fixed: reduce try/catch block to getBest() method only

2.0.1 (2015-10-02)

02 Oct 12:54
Compare
Choose a tag to compare
  • Fixed: missing use statement for InvalidLanguage exception in AcceptLanguage

1.5.0 (2015-10-01)

01 Oct 07:43
2a59f23
Compare
Choose a tag to compare

Added: langage negotiation specific to generic (see #65)

New Major Release — 2.0.0 (2015-10-01)

01 Oct 07:48
Compare
Choose a tag to compare

After two months of alpha release, Negotiation v2.0.0 is released! You'll find all information in the release page of v2.0.0-alpha1.

Thanks to all contributors!

2.0.0-alpha1 (2015-07-29)

29 Jul 08:48
Compare
Choose a tag to compare
Pre-release

UPDATE: Negotiation 2.0.0 has been released on October 1st, 2015.


Hi! It's been a long time, right?

Negotiation is stable for years now, and it works like a charm for most of the common use cases. It has been installed more than two million times. Yes! 2,000,000. That's awesome!

However, we found tricky edge cases we could not fix easily, and our interpretation of the specification has changed over time. That is why I am proud to announce the immediate availability of Negotiation 2.0 (not entirely stable yet).

This new version is a full rewrite, and therefore it is not backward compatible with Negotiation 1.0. However, migrating should not be too complicated as the API has been drastically simplified: there is only one single method to use now (getBest()), and different classes (Negotiator and *Negotiator) for different needs.

Here is the first pre-release (2.0.0-alpha1) of Negotiation 2.0. Please test it, and report feedback, ideas, bugs so that we can work on providing the best content negotiation library written in PHP ever!

Human Readable Changelog

  • Support for wildcard priorities has been removed (#49).
  • Register formats have been removed, as well as the logic to retrieve a format given a media type. Hence, isMediaRange() method has been removed. It has been considered out of scope of the library, and it will avoid missing formats, adding too many mapping formats, etc.
  • Header parsing has been improved both in term of speed, strictness, and design (for instance, it now accepts quoted parameter).
  • Support for partial media ranges has been added.
  • The overall negotiation logic has changed (#45, #48, #51).
  • More named exceptions (#50).
  • And, of course, even more tests!

Scrutinizer Code Quality Code Coverage

All the commits can be found here: 4dd4643...v2.0.0-alpha1 or in #60.

Last but not the least, THANK YOU to @neural-wetware for his huge contribution on this new major version! 💛 💙 ❤️ 💚 🚢 ⭐ 🌟 💙 🌠 💝

Let's celebrate now!

1.4.0 (2015-07-28)

28 Jul 13:13
8a84c59
Compare
Choose a tag to compare
  • Added: support PSR-4
  • Added: JSON-LD format
  • Added: new method AcceptHeader::getMediaType()
  • Added: Better detection of formats based on mime types
  • Added: Speed improvements (see #42)
  • Fixed: getValue()'s DocBlock fix
  • Fixed: doc in FormatNegotiatorInterface::getBestFormat

1.3.4 (2014-10-02)

02 Oct 07:28
Compare
Choose a tag to compare

Fixed: LanguageNegotiator returns null when getBest() result does not match priorities (#38)
Fixed: undefined variable: $wildcardAccept (#39)

1.2.5 (2014-10-02)

02 Oct 07:26
Compare
Choose a tag to compare

Backported fix for #38 and #39 from master branch.

1.3.3

16 May 12:41
Compare
Choose a tag to compare
  • Fixed: check quality > 0.0 in FormatNegotiator::getBestFormat() (#29)
  • Fixed: incorrect behavior with priorities, related to IE8 Accept header (#24)