phpro/resource-stream
phpro/resource-stream is a lightweight PHP library for wrapping resource handles in a consistent stream API. It simplifies reading, writing, seeking, and inspecting file, socket, or in-memory resources, making resource-based I/O easier to abstract and test.
memory_limit settings.ZipArchive.maennchen/zipstream-php; this release closes the reading loop. Teams can now plan both "generate a ZIP on the fly" and "consume a ZIP on the fly" with one dependency, reducing the number of bespoke utilities to maintain.phpro, active Dependabot hygiene). Low integration cost, but it is a primitive, not a feature — budget PM/eng time for the surrounding response handling, error paths, and UX (progress, partial failures) rather than expecting it to ship a user-facing capability by itself.Adopt when:
memory_limit/max_execution_time.ZipArchive::extractTo() to disk.Look elsewhere when:
Storage facade; this package complements rather than replaces it.spatie/laravel-medialibrary, laravel-medialibrary-adjacent tooling, or direct use of S3 presigned URLs and multipart uploads.ZipArchive/zipstream-php capabilities before committing.composer.json constraints first, since this release is feature-only and does not signal a compatibility reset.For executives (one paragraph): This is a small, low-cost utility library that removes a hard technical ceiling on file-heavy features. As we grow exports, media handling, and partner data ingestion, the naive approach — loading files fully into memory — causes timeouts, failed jobs, and infrastructure spend on oversized workers. This library lets those operations run in constant memory. Release 1.4.0 adds the ability to read inside ZIP archives as a stream, which unlocks bulk-import and archive-processing features we previously would have had to hand-build. Recommendation: approve as a standard dependency for the streaming workstream; effort is low and the risk is contained.
For engineering: phpro/resource-stream gives you PSR-7/HTTP response factories for streams, strings, and files, and — as of 1.4.0 — a ZipStream factory for reading zip entries, complementing the existing write path via maennchen/zipstream-php. Use it to stream exports directly to the client or to Flysystem/S3 without temp files, and to walk uploaded archives entry-by-entry in queued jobs. Expect to write the response/error-handling glue yourself; this is a primitive, not a framework. Track the 1.4.0 bump of actions/checkout as CI hygiene only — no breaking changes, no deprecations, drop-in upgrade from 1.3.0.
How can I help you explore Laravel packages today?