Repository navigation
A patch release: no public name was added, renamed or removed.
Added
- 7z archives that use 7-Zip 24's RISC-V branch filter now read. The filter is decoded in Python, so it needs no extra package.
archivey extract --dry-runprints apeak use of the reader limits:line: the largest decoder allocation, the temporary-file peak, the key-derivation rounds and the listing size, to compare with the limits before tightening them.- Reading a member of a solid 7z or RAR archive with
open()orread()logs one INFO record per reader when it decodes data an earlier call already decoded, and namesstream_members()as the one-pass alternative. - The docs state the versioning and stability policy: until 1.0, a removed or renamed name warns for one minor release before it goes.
Changed
ExtractionPolicy.STANDARDrefuses a path segment made only of dots or spaces (such as...or..), asSTRICTalready did: Windows trims such a segment to..or merges it away, so the name means something different there.STANDARDalso treatsnotes.andnotesas the same file, as Windows does, so the second one is a collision on every platform instead of silently replacing the first on Windows.- A ZIP member compressed with Zstandard reads every frame, as a
.zstfile does. A second frame used to raiseDataAfterEndError. - The
STREAM_REWIND_REDECOMPRESSESdiagnostic is logged at INFO instead of WARNING. It is still collected and can still be escalated by aDiagnosticPolicy. - When
rapidgzipspeeds up seeking, the members of one archive share its child process on Linux instead of starting one each, and the child reads a ZIP member from the archive file directly instead of through the parent process.
Fixed
- Several bugs: a zstd seek table pointing where the decoder cannot start no longer makes a seek fail, a rapidgzip member stream used after
fork()raisesArchiveyUsageErrorinstead of disturbing the parent's decoder, and a PPMd member refused underNATIVE_DECODERSisolation now names the setting that reads it.