v0.6.0
Added
- Lazy streams for unchanged ZIP-backed parts, sharing one source archive whose container remains alive until the caller closes the last stream.
- Deferred part paths using native
zip://URIs for unchanged entries and package-owned local materialization for staged content and path-only consumers. - Local path-based APIs for adding and replacing large parts without first loading their contents into PHP strings.
- Same-process coordination of source archives before atomic replacement.
Changed
- Source files are fully hashed once when opened and immediately before an in-place save; part reads use inexpensive filesystem metadata checks.
openStream()now returns a lazy ZIP stream for unchanged parts. Seekability is no longer guaranteed; usegetLocalPath()when random access is required.- Source archives remain open for the package lifetime and are shared by its streams. Replacing a source is rejected while a relevant stream remains open.
- Package opening and small-part reads no longer repeatedly hash the complete source package.
See the full changelog.