NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #407 most downloaded on Packagist
Fork of guzzle/streams (abandoned) to be used with elasticsearch-php
Last release 1 years ago
05 Aug 2025
Ships unpredictably
gaps range from 8 days to 5.3 years
Most releases are documented
notes for 11 of 14 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
16 releases · first in 2014
This release contains the following change:
Changed the minimum PHP version to 7.4+
One column per quarter.
This release includes the following fixes and updates:
Nothing published for this version
Detaching a buffer stream now just clears the buffer
Detaching a buffer stream now just clears the buffer
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.
Added the ability to easily register the GuzzleStreamWrapper if needed.
flush to stream wrapper.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\St…
GuzzleHttp\Streams\Utils. Use GuzzleHttp\Stream\Stream::factory()GuzzleHttp\Stream\create() to create new streams.flush() to StreamInterface. This method is used to flush anyFnStream to easily decorate stream behavior with callables.Utils::hash now throws an exception when the stream cannot seek to 0.getMetadata is called rather than returning a value from a cache.
getMetadata is called rather than returning a value from a cache.
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.
Adding a safe_open function. Tagging release
Adding a safe_open function. Tagging release
Added Stream\safe_open to open stream resources and throw exceptions instead of raising errors.
* Added a LazyOpenStream
Added a LazyOpenStream
Added an AppendStream to stream over multiple stream one after the other.
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.
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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →