Fix bug in style changes for the Use cases on the live site.
[yaffs-website] / vendor / zendframework / zend-diactoros / CHANGELOG.md
1 # Changelog
2
3 All notable changes to this project will be documented in this file, in reverse chronological order by release.
4
5 ## 1.4.0 - 2017-04-06
6
7 ### Added
8
9 - [#219](https://github.com/zendframework/zend-diactoros/pull/219) adds two new
10   classes, `Zend\Diactoros\Request\ArraySerializer` and
11   `Zend\Diactoros\Response\ArraySerializer`. Each exposes the static methods
12   `toArray()` and `fromArray()`, allowing de/serialization of messages from and
13   to arrays.
14
15 - [#236](https://github.com/zendframework/zend-diactoros/pull/236) adds two new
16   constants to the `Response` class: `MIN_STATUS_CODE_VALUE` and
17   `MAX_STATUS_CODE_VALUE`.
18
19 ### Changes
20
21 - [#240](https://github.com/zendframework/zend-diactoros/pull/240) changes the
22   behavior of `ServerRequestFactory::fromGlobals()` when no `$cookies` argument
23   is present. Previously, it would use `$_COOKIES`; now, if a `Cookie` header is
24   present, it will parse and use that to populate the instance instead.
25
26   This change allows utilizing cookies that contain period characters (`.`) in
27   their names (PHP's built-in cookie handling renames these to replace `.` with
28   `_`, which can lead to synchronization issues with clients).
29
30 - [#235](https://github.com/zendframework/zend-diactoros/pull/235) changes the
31   behavior of `Uri::__toString()` to better follow proscribed behavior in PSR-7.
32   In particular, prior to this release, if a scheme was missing but an authority
33   was present, the class was incorrectly returning a value that did not include
34   a `//` prefix. As of this release, it now does this correctly.
35
36 ### Deprecated
37
38 - Nothing.
39
40 ### Removed
41
42 - Nothing.
43
44 ### Fixed
45
46 - Nothing.
47
48 ## 1.3.11 - 2017-04-06
49
50 ### Added
51
52 - Nothing.
53
54 ### Changes
55
56 - [#241](https://github.com/zendframework/zend-diactoros/pull/241) changes the
57   constraint by which the package provides `psr/http-message-implementation` to
58   simply `1.0` instead of `~1.0.0`, to follow how other implementations provide
59   PSR-7.
60
61 ### Deprecated
62
63 - Nothing.
64
65 ### Removed
66
67 - Nothing.
68
69 ### Fixed
70
71 - [#161](https://github.com/zendframework/zend-diactoros/pull/161) adds
72   additional validations to header names and values to ensure no malformed values
73   are provided.
74
75 - [#234](https://github.com/zendframework/zend-diactoros/pull/234) fixes a
76   number of reason phrases in the `Response` instance, and adds automation from
77   the canonical IANA sources to ensure any new phrases added are correct.
78
79 ## 1.3.10 - 2017-01-23
80
81 ### Added
82
83 - Nothing.
84
85 ### Deprecated
86
87 - Nothing.
88
89 ### Removed
90
91 - Nothing.
92
93 ### Fixed
94
95 - [#226](https://github.com/zendframework/zend-diactoros/pull/226) fixed an
96   issue with the `SapiStreamEmitter` causing the response body to be cast
97   to `(string)` and also be read as a readable stream, potentially producing
98   double output.
99
100 ## 1.3.9 - 2017-01-17
101
102 ### Added
103
104 - Nothing.
105
106 ### Deprecated
107
108 - Nothing.
109
110 ### Removed
111
112 - Nothing.
113
114 ### Fixed
115
116 - [#223](https://github.com/zendframework/zend-diactoros/issues/223)
117   [#224](https://github.com/zendframework/zend-diactoros/pull/224) fixed an issue
118   with the `SapiStreamEmitter` consuming too much memory when producing output
119   for readable bodies.
120
121 ## 1.3.8 - 2017-01-05
122
123 ### Added
124
125 - Nothing.
126
127 ### Deprecated
128
129 - Nothing.
130
131 ### Removed
132
133 - Nothing.
134
135 ### Fixed
136
137 - [#222](https://github.com/zendframework/zend-diactoros/pull/222) fixes the
138   `SapiStreamEmitter`'s handling of the `Content-Range` header to properly only
139   emit a range of bytes if the header value is in the form `bytes {first-last}/length`.
140   This allows using other range units, such as `items`, without incorrectly
141   emitting truncated content.
142
143 ## 1.3.7 - 2016-10-11
144
145 ### Added
146
147 - [#208](https://github.com/zendframework/zend-diactoros/pull/208) adds several
148   missing response codes to `Zend\Diactoros\Response`, including:
149   - 226 ('IM used')
150   - 308 ('Permanent Redirect')
151   - 444 ('Connection Closed Without Response')
152   - 499 ('Client Closed Request')
153   - 510 ('Not Extended')
154   - 599 ('Network Connect Timeout Error')
155 - [#211](https://github.com/zendframework/zend-diactoros/pull/211) adds support
156   for UTF-8 characters in query strings handled by `Zend\Diactoros\Uri`.
157
158 ### Deprecated
159
160 - Nothing.
161
162 ### Removed
163
164 - Nothing.
165
166 ### Fixed
167
168 - Nothing.
169
170 ## 1.3.6 - 2016-09-07
171
172 ### Added
173
174 - [#170](https://github.com/zendframework/zend-diactoros/pull/170) prepared
175   documentation for publication at https://zendframework.github.io/zend-diactoros/
176 - [#165](https://github.com/zendframework/zend-diactoros/pull/165) adds support
177   for Apache `REDIRECT_HTTP_*` header detection in the `ServerRequestFactory`.
178 - [#166](https://github.com/zendframework/zend-diactoros/pull/166) adds support
179   for UTF-8 characters in URI paths.
180 - [#204](https://github.com/zendframework/zend-diactoros/pull/204) adds testing
181   against PHP 7.1 release-candidate builds.
182
183 ### Deprecated
184
185 - Nothing.
186
187 ### Removed
188
189 - Nothing.
190
191 ### Fixed
192
193 - [#186](https://github.com/zendframework/zend-diactoros/pull/186) fixes a typo
194   in a variable name within the `SapiStreamEmitter`.
195 - [#200](https://github.com/zendframework/zend-diactoros/pull/200) updates the
196   `SapiStreamEmitter` to implement a check for `isSeekable()` prior to attempts
197   to rewind; this allows it to work with non-seekable streams such as the
198   `CallbackStream`.
199 - [#169](https://github.com/zendframework/zend-diactoros/pull/169) ensures that
200   response serialization always provides a `\r\n\r\n` sequence following the
201   headers, even when no message body is present, to ensure it conforms with RFC
202   7230.
203 - [#175](https://github.com/zendframework/zend-diactoros/pull/175) updates the
204   `Request` class to set the `Host` header from the URI host if no header is
205   already present. (Ensures conformity with PSR-7 specification.)
206 - [#197](https://github.com/zendframework/zend-diactoros/pull/197) updates the
207   `Uri` class to ensure that string serialization does not include a colon after
208   the host name if no port is present in the instance.
209
210 ## 1.3.5 - 2016-03-17
211
212 ### Added
213
214 - Nothing.
215
216 ### Deprecated
217
218 - Nothing.
219
220 ### Removed
221
222 - Nothing.
223
224 ### Fixed
225
226 - [#160](https://github.com/zendframework/zend-diactoros/pull/160) fixes HTTP
227   protocol detection in the `ServerRequestFactory` to work correctly with HTTP/2.
228
229 ## 1.3.4 - 2016-03-17
230
231 ### Added
232
233 - [#119](https://github.com/zendframework/zend-diactoros/pull/119) adds the 451
234   (Unavailable for Legal Reasons) status code to the `Response` class.
235
236 ### Deprecated
237
238 - Nothing.
239
240 ### Removed
241
242 - Nothing.
243
244 ### Fixed
245
246 - [#117](https://github.com/zendframework/zend-diactoros/pull/117) provides
247   validation of the HTTP protocol version.
248 - [#127](https://github.com/zendframework/zend-diactoros/pull/127) now properly
249   removes attributes with `null` values when calling `withoutAttribute()`.
250 - [#132](https://github.com/zendframework/zend-diactoros/pull/132) updates the
251   `ServerRequestFactory` to marshal the request path fragment, if present.
252 - [#142](https://github.com/zendframework/zend-diactoros/pull/142) updates the
253   exceptions thrown by `HeaderSecurity` to include the header name and/or
254   value.
255 - [#148](https://github.com/zendframework/zend-diactoros/pull/148) fixes several
256   stream operations to ensure they raise exceptions when the internal pointer
257   is at an invalid position.
258 - [#151](https://github.com/zendframework/zend-diactoros/pull/151) ensures
259   URI fragments are properly encoded.
260
261 ## 1.3.3 - 2016-01-04
262
263 ### Added
264
265 - Nothing.
266
267 ### Deprecated
268
269 - Nothing.
270
271 ### Removed
272
273 - Nothing.
274
275 ### Fixed
276
277 - [#135](https://github.com/zendframework/zend-diactoros/pull/135) fixes the
278   behavior of `ServerRequestFactory::marshalHeaders()` to no longer omit
279   `Cookie` headers from the aggregated headers. While the values are parsed and
280   injected into the cookie params, it's useful to have access to the raw headers
281   as well.
282
283 ## 1.3.2 - 2015-12-22
284
285 ### Added
286
287 - [#124](https://github.com/zendframework/zend-diactoros/pull/124) adds four
288   more optional arguments to the `ServerRequest` constructor:
289   - `array $cookies`
290   - `array $queryParams`
291   - `null|array|object $parsedBody`
292   - `string $protocolVersion`
293   `ServerRequestFactory` was updated to pass values for each of these parameters
294   when creating an instance, instead of using the related `with*()` methods on
295   an instance.
296
297 ### Deprecated
298
299 - Nothing.
300
301 ### Removed
302
303 - Nothing.
304
305 ### Fixed
306
307 - [#122](https://github.com/zendframework/zend-diactoros/pull/122) updates the
308   `ServerRequestFactory` to retrieve the HTTP protocol version and inject it in
309   the generated `ServerRequest`, which previously was not performed.
310
311 ## 1.3.1 - 2015-12-16
312
313 ### Added
314
315 - Nothing.
316
317 ### Deprecated
318
319 - Nothing.
320
321 ### Removed
322
323 - Nothing.
324
325 ### Fixed
326
327 - [#113](https://github.com/zendframework/zend-diactoros/pull/113) fixes an
328   issue in the response serializer, ensuring that the status code in the
329   deserialized response is an integer.
330 - [#115](https://github.com/zendframework/zend-diactoros/pull/115) fixes an
331   issue in the various text-basd response types (`TextResponse`, `HtmlResponse`,
332   and `JsonResponse`); due to the fact that the constructor was not
333   rewinding the message body stream, `getContents()` was thus returning `null`,
334   as the pointer was at the end of the stream. The constructor now rewinds the
335   stream after populating it in the constructor.
336
337 ## 1.3.0 - 2015-12-15
338
339 ### Added
340
341 - [#110](https://github.com/zendframework/zend-diactoros/pull/110) adds
342   `Zend\Diactoros\Response\SapiEmitterTrait`, which provides the following
343   private method definitions:
344   - `injectContentLength()`
345   - `emitStatusLine()`
346   - `emitHeaders()`
347   - `flush()`
348   - `filterHeader()`
349   The `SapiEmitter` implementation has been updated to remove those methods and
350   instead compose the trait.
351 - [#111](https://github.com/zendframework/zend-diactoros/pull/111) adds
352   a new emitter implementation, `SapiStreamEmitter`; this emitter type will
353   loop through the stream instead of emitting it in one go, and supports content
354   ranges.
355
356 ### Deprecated
357
358 - Nothing.
359
360 ### Removed
361
362 - Nothing.
363
364 ### Fixed
365
366 - Nothing.
367
368 ## 1.2.1 - 2015-12-15
369
370 ### Added
371
372 - Nothing.
373
374 ### Deprecated
375
376 - Nothing.
377
378 ### Removed
379
380 - Nothing.
381
382 ### Fixed
383
384 - [#101](https://github.com/zendframework/zend-diactoros/pull/101) fixes the
385   `withHeader()` implementation to ensure that if the header existed previously
386   but using a different casing strategy, the previous version will be removed
387   in the cloned instance.
388 - [#103](https://github.com/zendframework/zend-diactoros/pull/103) fixes the
389   constructor of `Response` to ensure that null status codes are not possible.
390 - [#99](https://github.com/zendframework/zend-diactoros/pull/99) fixes
391   validation of header values submitted via request and response constructors as
392   follows:
393   - numeric (integer and float) values are now properly allowed (this solves
394     some reported issues with setting Content-Length headers)
395   - invalid header names (non-string values or empty strings) now raise an
396     exception.
397   - invalid individual header values (non-string, non-numeric) now raise an
398     exception.
399
400 ## 1.2.0 - 2015-11-24
401
402 ### Added
403
404 - [#88](https://github.com/zendframework/zend-diactoros/pull/88) updates the
405   `SapiEmitter` to emit a `Content-Length` header with the content length as
406   reported by the response body stream, assuming that
407   `StreamInterface::getSize()` returns an integer.
408 - [#77](https://github.com/zendframework/zend-diactoros/pull/77) adds a new
409   response type, `Zend\Diactoros\Response\TextResponse`, for returning plain
410   text responses. By default, it sets the content type to `text/plain;
411   charset=utf-8`; per the other response types, the signature is `new
412   TextResponse($text, $status = 200, array $headers = [])`.
413 - [#90](https://github.com/zendframework/zend-diactoros/pull/90) adds a new
414   `Zend\Diactoros\CallbackStream`, allowing you to back a stream with a PHP
415   callable (such as a generator) to generate the message content. Its
416   constructor accepts the callable: `$stream = new CallbackStream($callable);`
417
418 ### Deprecated
419
420 - Nothing.
421
422 ### Removed
423
424 - Nothing.
425
426 ### Fixed
427
428 - [#77](https://github.com/zendframework/zend-diactoros/pull/77) updates the
429   `HtmlResponse` to set the charset to utf-8 by default (if no content type
430   header is provided at instantiation).
431
432 ## 1.1.4 - 2015-10-16
433
434 ### Added
435
436 - [#98](https://github.com/zendframework/zend-diactoros/pull/98) adds
437   `JSON_UNESCAPED_SLASHES` to the default `json_encode` flags used by
438   `Zend\Diactoros\Response\JsonResponse`.
439
440 ### Deprecated
441
442 - Nothing.
443
444 ### Removed
445
446 - Nothing.
447
448 ### Fixed
449
450 - [#96](https://github.com/zendframework/zend-diactoros/pull/96) updates
451   `withPort()` to allow `null` port values (indicating usage of default for
452   the given scheme).
453 - [#91](https://github.com/zendframework/zend-diactoros/pull/91) fixes the
454   logic of `withUri()` to do a case-insensitive check for an existing `Host`
455   header, replacing it with the new one.
456
457 ## 1.1.3 - 2015-08-10
458
459 ### Added
460
461 - [#73](https://github.com/zendframework/zend-diactoros/pull/73) adds caching of
462   the vendor directory to the Travis-CI configuration, to speed up builds.
463
464 ### Deprecated
465
466 - Nothing.
467
468 ### Removed
469
470 - Nothing.
471
472 ### Fixed
473
474 - [#71](https://github.com/zendframework/zend-diactoros/pull/71) fixes the
475   docblock of the `JsonResponse` constructor to typehint the `$data` argument
476   as `mixed`.
477 - [#73](https://github.com/zendframework/zend-diactoros/pull/73) changes the
478   behavior in `Request` such that if it marshals a stream during instantiation,
479   the stream is marked as writeable (specifically, mode `wb+`).
480 - [#85](https://github.com/zendframework/zend-diactoros/pull/85) updates the
481   behavior of `Zend\Diactoros\Uri`'s various `with*()` methods that are
482   documented as accepting strings to raise exceptions on non-string input.
483   Previously, several simply passed non-string input on verbatim, others
484   normalized the input, and a few correctly raised the exceptions. Behavior is
485   now consistent across each.
486 - [#87](https://github.com/zendframework/zend-diactoros/pull/87) fixes
487   `UploadedFile` to ensure that `moveTo()` works correctly in non-SAPI
488   environments when the file provided to the constructor is a path.
489
490 ## 1.1.2 - 2015-07-12
491
492 ### Added
493
494 - Nothing.
495
496 ### Deprecated
497
498 - Nothing.
499
500 ### Removed
501
502 - Nothing.
503
504 ### Fixed
505
506 - [#67](https://github.com/zendframework/zend-diactoros/pull/67) ensures that
507   the `Stream` class only accepts `stream` resources, not any resource.
508
509 ## 1.1.1 - 2015-06-25
510
511 ### Added
512
513 - Nothing.
514
515 ### Deprecated
516
517 - Nothing.
518
519 ### Removed
520
521 - Nothing.
522
523 ### Fixed
524
525 - [#64](https://github.com/zendframework/zend-diactoros/pull/64) fixes the
526   behavior of `JsonResponse` with regards to serialization of `null` and scalar
527   values; the new behavior is to serialize them verbatim, without any casting.
528
529 ## 1.1.0 - 2015-06-24
530
531 ### Added
532
533 - [#52](https://github.com/zendframework/zend-diactoros/pull/52),
534   [#58](https://github.com/zendframework/zend-diactoros/pull/58),
535   [#59](https://github.com/zendframework/zend-diactoros/pull/59), and
536   [#61](https://github.com/zendframework/zend-diactoros/pull/61) create several
537   custom response types for simplifying response creation:
538
539   - `Zend\Diactoros\Response\HtmlResponse` accepts HTML content via its
540     constructor, and sets the `Content-Type` to `text/html`.
541   - `Zend\Diactoros\Response\JsonResponse` accepts data to serialize to JSON via
542     its constructor, and sets the `Content-Type` to `application/json`.
543   - `Zend\Diactoros\Response\EmptyResponse` allows creating empty, read-only
544     responses, with a default status code of 204.
545   - `Zend\Diactoros\Response\RedirectResponse` allows specifying a URI for the
546     `Location` header in the constructor, with a default status code of 302.
547
548   Each also accepts an optional status code, and optional headers (which can
549   also be used to provide an alternate `Content-Type` in the case of the HTML
550   and JSON responses).
551
552 ### Deprecated
553
554 - Nothing.
555
556 ### Removed
557
558 - [#43](https://github.com/zendframework/zend-diactoros/pull/43) removed both
559   `ServerRequestFactory::marshalUri()` and `ServerRequestFactory::marshalHostAndPort()`,
560   which were deprecated prior to the 1.0 release.
561
562 ### Fixed
563
564 - [#29](https://github.com/zendframework/zend-diactoros/pull/29) fixes request
565   method validation to allow any valid token as defined by [RFC
566   7230](http://tools.ietf.org/html/rfc7230#appendix-B). This allows usage of
567   custom request methods, vs a static, hard-coded list.
568
569 ## 1.0.5 - 2015-06-24
570
571 ### Added
572
573 - Nothing.
574
575 ### Deprecated
576
577 - Nothing.
578
579 ### Removed
580
581 - Nothing.
582
583 ### Fixed
584
585 - [#60](https://github.com/zendframework/zend-diactoros/pull/60) fixes
586   the behavior of `UploadedFile` when the `$errorStatus` provided at
587   instantiation is not `UPLOAD_ERR_OK`. Prior to the fix, an
588   `InvalidArgumentException` would occur at instantiation due to the fact that
589   the upload file was missing or invalid. With the fix, no exception is raised
590   until a call to `moveTo()` or `getStream()` is made.
591
592 ## 1.0.4 - 2015-06-23
593
594 This is a security release.
595
596 A patch has been applied to `Zend\Diactoros\Uri::filterPath()` that ensures that
597 paths can only begin with a single leading slash. This prevents the following
598 potential security issues:
599
600 - XSS vectors. If the URI path is used for links or form targets, this prevents
601   cases where the first segment of the path resembles a domain name, thus
602   creating scheme-relative links such as `//example.com/foo`. With the patch,
603   the leading double slash is reduced to a single slash, preventing the XSS
604   vector.
605 - Open redirects. If the URI path is used for `Location` or `Link` headers,
606   without a scheme and authority, potential for open redirects exist if clients
607   do not prepend the scheme and authority. Again, preventing a double slash
608   corrects the vector.
609
610 If you are using `Zend\Diactoros\Uri` for creating links, form targets, or
611 redirect paths, and only using the path segment, we recommend upgrading
612 immediately.
613
614 ### Added
615
616 - [#25](https://github.com/zendframework/zend-diactoros/pull/25) adds
617   documentation. Documentation is written in markdown, and can be converted to
618   HTML using [bookdown](http://bookdown.io). New features now MUST include
619   documentation for acceptance.
620
621 ### Deprecated
622
623 - Nothing.
624
625 ### Removed
626
627 - Nothing.
628
629 ### Fixed
630
631 - [#51](https://github.com/zendframework/zend-diactoros/pull/51) fixes
632   `MessageTrait::getHeaderLine()` to return an empty string instead of `null` if
633   the header is undefined (which is the behavior specified in PSR-7).
634 - [#57](https://github.com/zendframework/zend-diactoros/pull/57) fixes the
635   behavior of how the `ServerRequestFactory` marshals upload files when they are
636   represented as a nested associative array.
637 - [#49](https://github.com/zendframework/zend-diactoros/pull/49) provides several
638   fixes that ensure that Diactoros complies with the PSR-7 specification:
639   - `MessageInterface::getHeaderLine()` MUST return a string (that string CAN be
640     empty). Previously, Diactoros would return `null`.
641   - If no `Host` header is set, the `$preserveHost` flag MUST be ignored when
642     calling `withUri()` (previously, Diactoros would not set the `Host` header
643     if `$preserveHost` was `true`, but no `Host` header was present).
644   - The request method MUST be a string; it CAN be empty. Previously, Diactoros
645     would return `null`.
646   - The request MUST return a `UriInterface` instance from `getUri()`; that
647     instance CAN be empty. Previously, Diactoros would return `null`; now it
648     lazy-instantiates an empty `Uri` instance on initialization.
649 - [ZF2015-05](http://framework.zend.com/security/advisory/ZF2015-05) was
650   addressed by altering `Uri::filterPath()` to prevent emitting a path prepended
651   with multiple slashes.
652
653 ## 1.0.3 - 2015-06-04
654
655 ### Added
656
657 - [#48](https://github.com/zendframework/zend-diactoros/pull/48) drops the
658   minimum supported PHP version to 5.4, to allow an easier upgrade path for
659   Symfony 2.7 users, and potential Drupal 8 usage.
660
661 ### Deprecated
662
663 - Nothing.
664
665 ### Removed
666
667 - Nothing.
668
669 ### Fixed
670
671 - Nothing.
672
673 ## 1.0.2 - 2015-06-04
674
675 ### Added
676
677 - [#27](https://github.com/zendframework/zend-diactoros/pull/27) adds phonetic
678   pronunciation of "Diactoros" to the README file.
679 - [#36](https://github.com/zendframework/zend-diactoros/pull/36) adds property
680   annotations to the class-level docblock of `Zend\Diactoros\RequestTrait` to
681   ensure properties inherited from the `MessageTrait` are inherited by
682   implementations.
683
684 ### Deprecated
685
686 - Nothing.
687
688 ### Removed
689
690 - Nothing.
691 -
692 ### Fixed
693
694 - [#41](https://github.com/zendframework/zend-diactoros/pull/41) fixes the
695   namespace for test files to begin with `ZendTest` instead of `Zend`.
696 - [#46](https://github.com/zendframework/zend-diactoros/pull/46) ensures that
697   the cookie and query params for the `ServerRequest` implementation are
698   initialized as arrays.
699 - [#47](https://github.com/zendframework/zend-diactoros/pull/47) modifies the
700   internal logic in `HeaderSecurity::isValid()` to use a regular expression
701   instead of character-by-character comparisons, improving performance.
702
703 ## 1.0.1 - 2015-05-26
704
705 ### Added
706
707 - [#10](https://github.com/zendframework/zend-diactoros/pull/10) adds
708   `Zend\Diactoros\RelativeStream`, which will return stream contents relative to
709   a given offset (i.e., a subset of the stream).  `AbstractSerializer` was
710   updated to create a `RelativeStream` when creating the body of a message,
711   which will prevent duplication of the stream in-memory.
712 - [#21](https://github.com/zendframework/zend-diactoros/pull/21) adds a
713   `.gitattributes` file that excludes directories and files not needed for
714   production; this will further minify the package for production use cases.
715
716 ### Deprecated
717
718 - Nothing.
719
720 ### Removed
721
722 - Nothing.
723
724 ### Fixed
725
726 - [#9](https://github.com/zendframework/zend-diactoros/pull/9) ensures that
727   attributes are initialized to an empty array, ensuring that attempts to
728   retrieve single attributes when none are defined will not produce errors.
729 - [#14](https://github.com/zendframework/zend-diactoros/pull/14) updates
730   `Zend\Diactoros\Request` to use a `php://temp` stream by default instead of
731   `php://memory`, to ensure requests do not create an out-of-memory condition.
732 - [#15](https://github.com/zendframework/zend-diactoros/pull/15) updates
733   `Zend\Diactoros\Stream` to ensure that write operations trigger an exception
734   if the stream is not writeable. Additionally, it adds more robust logic for
735   determining if a stream is writeable.
736
737 ## 1.0.0 - 2015-05-21
738
739 First stable release, and first release as `zend-diactoros`.
740
741 ### Added
742
743 - Nothing.
744
745 ### Deprecated
746
747 - Nothing.
748
749 ### Removed
750
751 - Nothing.
752
753 ### Fixed
754
755 - Nothing.