Now supports creating streams from functions and iterators.
Supports creating buffered streams and asynchronous streams.
Removed functions.php. Use the corresponding functions provided by
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
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
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\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
Added an InflateStream to inflate gzipped or deflated content.
Added flush to stream wrapper.
Added the ability to easily register the GuzzleStreamWrapper if needed.
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.
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
Added Stream\safe_open to open stream resources and throw exceptions
instead of raising errors.
Added a LazyOpenStream
Added an AppendStream to stream over multiple stream one after the other.
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
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