Skip to content

[stable34] build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.59 - #63591

Merged
github-actions[bot] merged 1 commit into
stable34from
dependabot/npm_and_yarn/stable34/zip.js/zip.js-2.8.54
Aug 28, 2026
Merged

[stable34] build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.59#63591
github-actions[bot] merged 1 commit into
stable34from
dependabot/npm_and_yarn/stable34/zip.js/zip.js-2.8.54

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 25, 2026

Copy link
Copy Markdown
Contributor

Bumps @zip.js/zip.js from 2.8.51 to 2.8.59.

Release notes

Sourced from @​zip.js/zip.js's releases.

v2.8.59

What's Changed in v2.8.59

New features

  • New ZipReader#warnings property and warnings property on entries. They report non-fatal anomalies noticed while reading, as an array of { reason, filename? } objects deduplicated by reason. ZipReader#warnings is replaced on each getEntries() call and collects the archive-level observations: an unsorted central directory, an unknown "version needed to extract", the compressed patched data bit, a malformed extra field, unknown zip64 extensible data, and a wrapped 16-bit entry count. The entry-level warnings property is set by getData() and collects the local file header observations. The checks controlled by the strictness option deposit a warning with the same reason when a lower strictness tolerates what "strict" rejects: appended or prepended data, trailing central directory data, duplicate filenames, a mismatched zip64 end of central directory record, and local file header mismatches. The warnings only report bytes the parse already read, so enabling nothing costs no additional I/O. The reasons are exported as 14 WARNING_* constants
  • New isZipFile() function. It returns true if the data looks like a zip file, i.e. if ZipReader#getEntries called on the same data would locate the archive structure. It runs the same end-anchored search as ZipReader and verifies that a central directory record is stored where the end of central directory record points, without parsing the entries. The strictness and maxAppendedDataSize options control the tolerated appended data with the same semantics and defaults as ZipReader
  • New centralExtraField option of ZipWriter#add. It sets an extra field written only in the central directory record, complementing the localExtraField option which targets the local file header and the extraField option which targets both

Behavior changes

  • Leading and trailing whitespace in entry names is now preserved by ZipWriter#add instead of being silently trimmed. The zip specification does not restrict whitespace in filenames; note that Windows filesystems cannot represent a trailing space or dot in a name
  • Unclaimed bytes lying between the last central directory record and the end of central directory record are now detected, even when the declared central directory size matches the records. The "strict" strictness rejects such archives with the ERR_AMBIGUOUS_ARCHIVE error and the lower strictness levels deposit the "trailing central directory data" warning. These bytes were previously accepted silently at every strictness level, although the gap can hide records that other readers interpret, e.g. an unadvertised zip64 end of central directory record, and Info-ZIP and 7-Zip both flag such files. The check is skipped when the central directory is encrypted, because the plaintext is legitimately shorter than the stored data

Tests and continuous integration

  • A new test suite covers the warnings: each reason is triggered by byte surgery on a well-formed zip file and asserted both as a warning at the tolerant levels and as a rejection at the levels that make the corresponding check throw
  • New regression tests lock the preserved whitespace in entry names, the isZipFile() probe, the centralExtraField option, and the detection of unclaimed bytes before the end of central directory record

Credits

  • Claude (Fable 5) contributed to every change listed above

v2.8.58

What's Changed in v2.8.58

New features

  • New ZipWriter#appendZip method. It copies the entries of an existing zip file into the current zip. Unlike prependZip, it can be called at any position: after entries have been added, between add() calls, and repeatedly to merge several zip files. The central directory of the copied file is rebuilt and its entries are relocated to the positions they get in the output. prependZip is kept as a deprecated alias
  • New rawLastModDate option of ZipWriter#add. It sets the raw MS-DOS date and time of the entry directly, which passThrough copies of ZipCrypto entries need (see below)
  • New localDirectory.dataOffset property. It is the byte offset of the entry data, i.e. the entry offset plus the size of the local file header, of the filename and of the extra field. It can be used with Reader#createReadable to serve ranged requests into an entry stored without compression
  • New ERR_ZIP_CRYPTO_LAST_MOD_DATE error constant

Behavior changes

  • Errors of add() and appendZip() calls left un-awaited are not lost anymore. close() waits for the pending calls and throws the first unreported error, with all of them available in its entryErrors property. Throwing counts as reporting: catching the error and calling close() again finalizes the zip file without the failed entries. ZipWriterStream now aborts its writable when an entry fails, so the readable errors instead of hanging
  • An interrupted appendZip() copy now sets hasCorruptedEntries on the writer and keeps the offsets of the entries written after it consistent
  • The "version needed to extract" field is now 10 for entries stored without compression or encryption, instead of 20
  • Last modification dates before 1980 are now clamped to the MS-DOS epoch instead of underflowing the date field
  • The directory property of read entries is now derived from the trailing slash of the filename alone. A name ending with "/" is a folder even when the entry declares an uncompressed size
  • Unicode Path and Unicode Comment extra fields are now applied only when their version is 1, as required by section 4.6.8 of the zip specification
  • Reading an archive with a multiple of 65,536 entries and no zip64 record now returns all the entries. The 16-bit count of the end of central directory record wraps around; the reader detects the wrap by walking the central directory records past the declared count. The recovery is skipped when the strictness checks reject ambiguous archives
  • The unsafe* optimizations of the minifier were removed from the builds. Two of them shipped real miscompilations in the past, one of which stayed undetected for four years, and the size they saved was about 50 bytes per compressed bundle

Bug fixes

  • ZipCrypto entries copied with passThrough can now be read back with their password. The password verification byte of ZipCrypto depends on the raw date of the entry when a data descriptor is used, so a copy that regenerated the date or forced the descriptor failed with ERR_INVALID_PASSWORD. The dataDescriptor option is not forced anymore for pass-through ZipCrypto data, the new rawLastModDate option preserves the raw date, and the filesystem API forwards both when exporting, throwing the new ERR_ZIP_CRYPTO_LAST_MOD_DATE error if the date is overridden
  • The end of central directory records of split zip files now declare the number of central directory entries stored on the last disk, as required by section 4.4.21 of the zip specification, instead of the total. The count is 0 when the record starts on a fresh disk, which is how Info-ZIP fills the field. The check deciding whether the disk number of the record requires zip64 also accounts for the actual record and comment length when predicting a disk rollover near 65,535 disks
  • The spanning signature of split zip files is now written while holding the writer lock. A first entry written with bufferedWrite, or interleaved un-awaited add() calls, could fail on the locked stream or misplace the signature

... (truncated)

Commits
  • ac2a189 bump up version
  • ec117ba detect unclaimed data between central directory and its end record
  • 89539e7 add warnings channel on ZipReader and entries
  • 2dbf10d add centralExtraField option
  • e20dea4 add isZipFile
  • dc06c41 keep leading and trailing whitespace in entry names
  • 4bbbd75 fix unawaited error tracking on safari
  • e148475 bump up version
  • cdf3ccd remove dead extra field handling in appendZipEntries
  • e0d3b5f fix end of central directory records of split zip files
  • Additional commits viewable in compare view

@dependabot
dependabot Bot requested review from a team as code owners August 25, 2026 14:28
@dependabot
dependabot Bot requested review from kristian-zendato, skjnldsv and sorbaugh and removed request for a team August 25, 2026 14:28
@github-actions github-actions Bot changed the title build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.54 [stable34] build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.54 Aug 25, 2026
@github-actions
github-actions Bot enabled auto-merge August 25, 2026 14:49
@AndyScherzinger AndyScherzinger added this to the Nextcloud 34.0.4 milestone Aug 25, 2026
@AndyScherzinger

Copy link
Copy Markdown
Member

@dependabot rebase

Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.51 to 2.8.59.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](gildas-lormeau/zip.js@v2.8.51...v2.8.59)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.54
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title [stable34] build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.54 build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.59 Aug 28, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/stable34/zip.js/zip.js-2.8.54 branch from ab5a1d3 to c92d4bc Compare August 28, 2026 22:59
@github-actions github-actions Bot changed the title build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.59 [stable34] build(deps-dev): bump @zip.js/zip.js from 2.8.51 to 2.8.59 Aug 28, 2026
@github-actions
github-actions Bot merged commit a0d41c1 into stable34 Aug 28, 2026
135 checks passed
@github-actions
github-actions Bot deleted the dependabot/npm_and_yarn/stable34/zip.js/zip.js-2.8.54 branch August 28, 2026 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant