Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Releases: zendframework/zend-diactoros

zend-diactoros 1.7.2

29 May 16:55
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #301 adds stricter comparisons within the uri class to ensure non-empty
    values are not treated as empty.

zend-diactoros 1.7.1

26 Feb 15:47
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • #293 updates Uri::getHost() to cast the value via strtolower() before returning it. While this represents a change, it is fixing a bug in our implementation: the PSR-7 specification for the method, which follows IETF RFC 3986 section 3.2.2, requires that the host name be normalized to lowercase.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #290 fixes Stream::getSize() such that it checks that the result of fstat was succesful before attempting to return its size member; in the case of an error, it now returns null.

zend-diactoros 1.7.0

04 Jan 18:24
Compare
Choose a tag to compare

Added

  • #285 adds a new custom response type, Zend\Diactoros\Response\XmlResponse, for generating responses representing XML. Usage is the same as with the HtmlResponse or TextResponse; the response generated will have a Content-Type: application/xml header by default.

  • #280 adds the response status code/phrase pairing "103 Early Hints" to the Response::$phrases property. This is a new status proposed via RFC 8297.

  • #279 adds explicit support for PHP 7.2; previously, we'd allowed build failures, though none occured; we now require PHP 7.2 builds to pass.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

zend-diactoros 1.6.1

12 Oct 15:27
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • #273 updates each of the SAPI emitter implementations to emit the status line after emitting other headers; this is done to ensure that the status line is not overridden by PHP.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #273 modifies how the SapiEmitterTrait calls header() to ensure that a response code is always passed as the third argument; this is done to prevent PHP from silently overriding it.

zend-diactoros 1.6.0

13 Sep 14:49
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • #270 changes the behavior of Zend\Diactoros\Server: it no longer creates an output buffer.

  • #270 changes the behavior of the two SAPI emitters in two backwards-incompatible ways:

    • They no longer auto-inject a Content-Length header. If you need this functionality, zendframework/zend-expressive-helpers 4.1+ provides it via Zend\Expressive\Helper\ContentLengthMiddleware.

    • They no longer flush the output buffer. Instead, if headers have been sent, or the output buffer exists and has a non-zero length, the emitters raise an exception, as mixed PSR-7/output buffer content creates a blocking issue. If you are emitting content via echo, print, var_dump, etc., or not catching PHP errors or exceptions, you will need to either fix your application to always work with a PSR-7 response, or provide your own emitters that allow mixed output mechanisms.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

zend-diactoros 1.5.0

22 Aug 20:41
Compare
Choose a tag to compare

Added

  • #205 adds support for PHP 7.2.

  • #250 adds a new API to JsonResponse to avoid the need for decoding the response body in order to make changes to the underlying content. New methods include:

    • getPayload(): retrieve the unencoded payload.
    • withPayload($data): create a new instance with the given data.
    • getEncodingOptions(): retrieve the flags to use when encoding the payload to JSON.
    • withEncodingOptions(int $encodingOptions): create a new instance that uses the provided flags when encoding the payload to JSON.

Changed

  • #249 changes the behavior of the various Uri::with*() methods slightly: if the value represents no change, these methods will return the same instance instead of a new one.

  • #248 changes the behavior of Uri::getUserInfo() slightly: it now (correctly) returns the percent-encoded values for the user and/or password, per RFC 3986 Section 3.2.1. withUserInfo() will percent-encode values, using a mechanism that prevents double-encoding.

  • #243 changes the exception messages thrown by UploadedFile::getStream() and moveTo() when an upload error exists to include details about the upload error.

  • #233 adds a new argument to SapiStreamEmitter::emit, $maxBufferLevel between the $response and $maxBufferLength arguments. This was done because the Server::listen() method passes only the response and $maxBufferLevel to emitters; previously, this often meant that streams were being chunked 2 bytes at a time versus the expected default of 8kb.

    If you were calling the SapiStreamEmitter::emit() method manually previously, you will need to update your code.

Deprecated

  • Nothing.

Removed

  • #205 and #243 remove support for PHP versions prior to 5.6 as well as HHVM.

Fixed

  • #248 fixes how the Uri class provides user-info within the URI authority; the value is now correctly percent-encoded , per RFC 3986 Section 3.2.1.

zend-diactoros 1.4.1

17 Aug 21:26
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • #260 removes support for HHVM, as tests have failed against it for some time.

Fixed

  • #247 fixes the Stream and RelativeStream __toString() method implementations to check if the stream isSeekable() before attempting to rewind() it, ensuring that the method does not raise exceptions (PHP does not allow exceptions in that method). In particular, this fixes an issue when using AWS S3 streams.

  • #252 provides a fix to the SapiEmitterTrait to ensure that any Set-Cookie headers in the response instance do not override those set by PHP when a session is created and/or regenerated.

  • #257 provides a fix for the PhpInputStream::read() method to ensure string content that evaluates as empty (including 0) is still cached.

  • #258 updates the Uri::filterPath() method to allow parens within a URI path, per RFC 3986 section 3.3 (parens are within the character set "sub-delims").

zend-diactoros 1.4.0

06 Apr 16:20
Compare
Choose a tag to compare

Added

  • #219 adds two new classes, Zend\Diactoros\Request\ArraySerializer and Zend\Diactoros\Response\ArraySerializer. Each exposes the static methods toArray() and fromArray(), allowing de/serialization of messages from and to arrays.

  • #236 adds two new constants to the Response class: MIN_STATUS_CODE_VALUE and MAX_STATUS_CODE_VALUE.

Changes

  • #240 changes the behavior of ServerRequestFactory::fromGlobals() when no $cookies argument is present. Previously, it would use $_COOKIES; now, if a Cookie header is present, it will parse and use that to populate the instance instead.

    This change allows utilizing cookies that contain period characters (.) in their names (PHP's built-in cookie handling renames these to replace . with _, which can lead to synchronization issues with clients).

  • #235 changes the behavior of Uri::__toString() to better follow proscribed behavior in PSR-7. In particular, prior to this release, if a scheme was missing but an authority was present, the class was incorrectly returning a value that did not include a // prefix. As of this release, it now does this correctly.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

zend-diactoros 1.3.11

06 Apr 16:16
Compare
Choose a tag to compare

Added

  • Nothing.

Changes

  • #241 changes the constraint by which the package provides psr/http-message-implementation to simply 1.0 instead of ~1.0.0, to follow how other implementations provide PSR-7.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #161 adds additional validations to header names and values to ensure no malformed values are provided.

  • #234 fixes a number of reason phrases in the Response instance, and adds automation from the canonical IANA sources to ensure any new phrases added are correct.

zend-diactoros 1.3.10

23 Jan 04:56
1.3.10
Compare
Choose a tag to compare

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #226 fixed an
    issue with the SapiStreamEmitter causing the response body to be cast
    to (string) and also be read as a readable stream, potentially producing
    double output.