Fetching contributors…
Cannot retrieve contributors at this time
95 lines (78 sloc) 3.75 KB


3.0.0 (2014-10-12)

  • Now supports creating streams from functions and iterators.
  • Supports creating buffered streams and asynchronous streams.
  • Removed functions.php. Use the corresponding functions provided by GuzzleHttp\Streams\Utils instead.
  • Moved GuzzleHttp\Stream\MetadataStreamInterface::getMetadata to GuzzleHttp\Stream\StreamInterface. MetadataStreamInterface is no longer used and is marked as deprecated.
  • Added attach() to GuzzleHttp\Stream\StreamInterface for PSR-7 compatibility.
  • Removed flush() from StreamInterface.
  • Removed the $maxLength parameter from GuzzleHttp\Stream\StreamInterface::getContents(). This function now returns the entire remainder of the stream. If you want to limit the maximum amount of data read from the stream, use the GuzzleHttp\Stream\Utils::copyToString() function.
  • Streams that return an empty string, '', are no longer considered a failure. You MUST return false to mark the read as a failure, and ensure that any decorators you create properly return true in response to the eof() method when the stream is consumed.
  • GuzzleHttp\Stream\Stream::__construct, GuzzleHttp\Stream\Stream::factory, and GuzzleHttp\Stream\Utils::create no longer accept a size in the second argument. They now accept an associative array of options, including the "size" key and "metadata" key which can be used to provide custom metadata.
  • Added GuzzleHttp\Stream\BufferStream to add support for buffering data, and when read, shifting data off of the buffer.
  • Added GuzzleHttp\Stream\NullBuffer which can be used as a buffer that does not actually store any data.
  • Added GuzzleHttp\Stream\AsyncStream to provide support for non-blocking streams that can be filled by a remote source (e.g., an event-loop). If a drain option is provided, the stream can also act as if it is a blocking stream.

2.1.0 (2014-08-17)

  • Added an InflateStream to inflate gzipped or deflated content.
  • Added flush to stream wrapper.
  • Added the ability to easily register the GuzzleStreamWrapper if needed.

2.0.0 (2014-08-16)

  • Deprecated functions.php and moved all of those methods to GuzzleHttp\Streams\Utils. Use GuzzleHttp\Stream\Stream::factory() instead of GuzzleHttp\Stream\create() to create new streams.
  • Added flush() to StreamInterface. This method is used to flush any underlying stream write buffers.
  • Added FnStream to easily decorate stream behavior with callables.
  • Utils::hash now throws an exception when the stream cannot seek to 0.

1.5.1 (2014-09-10)

  • Stream metadata is grabbed from the underlying stream each time getMetadata is called rather than returning a value from a cache.
  • Properly closing all underlying streams when AppendStream is closed.
  • Seek functions no longer throw exceptions.
  • LazyOpenStream now correctly returns the underlying stream resource when detached.

1.5.0 (2014-08-07)

  • Added Stream\safe_open to open stream resources and throw exceptions instead of raising errors.

1.4.0 (2014-07-19)

  • Added a LazyOpenStream

1.3.0 (2014-07-15)

  • Added an AppendStream to stream over multiple stream one after the other.

1.2.0 (2014-07-15)

  • Updated the detach() method to return the underlying stream resource or null if it does not wrap a resource.
  • Multiple fixes for how streams behave when the underlying resource is detached
  • Do not clear statcache when a stream does not have a 'uri'
  • Added a fix to LimitStream
  • Added a condition to ensure that functions.php can be required multiple times