Skip to content

fix(deps): update dependency react-native-zip-archive to v9 - #1001

Open
renovate[bot] wants to merge 1 commit into
devfrom
renovate/react-native-zip-archive-9.x
Open

renovate[bot] wants to merge 1 commit into
devfrom
renovate/react-native-zip-archive-9.x

Conversation

@renovate

@renovate renovate Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
react-native-zip-archive ^7.1.1 → ^9.5.2 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

mockingbot/react-native-zip-archive (react-native-zip-archive)

v9.5.2

Compare Source

Changed
  • npm package includes AGENTS.md and CLAUDE.md. They were on master after 9.5.1 was published, so 9.5.1 does not contain them (#​391).
  • README rewrite: version matrix, quick start, tighter API (#​391).
  • SECURITY.md: 7.x install line is 7.1.3 (maintenance-7). 7.1.2 has the Zip Slip backport but does not compile on Android (#​390, #​394).
  • MIGRATION.md links the 9.5 Discussion.
Added
  • npm run test:docs-sync (scripts/check-docs-sync.sh) keeps README and AGENTS.md aligned (#​391).
  • Each 9.x minor gets an Announcements GitHub Discussion linked from the GitHub Release (RNZA-28).

v9.5.1

Compare Source

Fixed
  • Android: register as a legacy Native Module when New Architecture is off (isTurboModule follows BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) so NativeModules.RNZipArchive is non-null on old-arch apps (RNZA-5, #​385)
Added
  • CI: RN 0.81.6 old-architecture Android + iOS compile in .github/workflows/old-arch.yml (RNZA-5). RN 0.82+ cannot opt out of New Architecture.
Changed
  • README + MIGRATION: install table by RN version — v7 only for RN < 0.70; v9 on 0.70–0.81 including old architecture; New Architecture only on 0.82+

v9.5.0

Compare Source

Added
  • CI + npm publish gate: non-password zip fixtures must extract with Node unzipper and Java ZipInputStream; WinZip-AES extra field 0x9901 fails the job (#​383, RNZA-16, #​333 / #​323 class)
  • AbortSignal on zip / zipWithPassword / unzip / unzipWithPassword / unzipAssets via an options object ({ signal, compressionLevel?, entries? }) (#​383)
  • ZipError with a stable .code (ERR_CANCELLED, ERR_INVALID_ARGS, …) — implemented as a factory so Metro does not need @babel/runtime helpers when bundling the library (#​383)
  • package.json "types": "index.d.ts" so TypeScript and reactnative.directory hasTypes resolve (#​383)
Changed
  • SECURITY.md: 7.x Zip Slip / symlink backport is 7.1.2 (maintenance-7), not 7.1.1 (#​383)

v9.4.1

Compare Source

Fixed
  • iOS: full unzip / unzipWithPassword / unzipAssets now use the same minizip extract path as selective extract — rejects Zip Slip entries with ERR_UNSAFE_PATH and skips symlink entries instead of materializing them (#​357 parity with Android)

v9.4.0

Compare Source

Added
  • iOS: unzipAssets reads archives from the main app bundle (parity with Android assets/) (#​368)
  • iOS: preserve empty directories when zipping directory items in a files array (#​368)
Changed
  • iOS: non-UTF-8 charset arguments now reject with ERR_UNSUPPORTED instead of being silently ignored (#​368)
  • iOS: getUncompressedSize rejects on failure (previously resolved -1) for parity with Android
Fixed
  • iOS: unzip / unzipAssets emit 0% progress on failure (matches Android) instead of a 100% event before reject

v9.0.2

Compare Source

Fixed
  • Android: unzip/unzipWithPassword no longer extract symlink entries — zip4j's default extractSymbolicLinks=true allowed a crafted archive to plant a symlink resolving outside the destination directory (#​357, thanks @​kimdu0)
  • iOS: zip/zipWithPassword with a files array now add directory items recursively with entry paths relative to the listed directory, matching Android (previously directories produced empty entries and their contents were silently dropped) (#​339, thanks @​trustytrojan)

v9.0.1

Compare Source

Fixed
  • Android: close the zip output file before resolving zip/zipWithPassword promises — fixes zipped data occasionally reading as 0 bytes when used immediately after zip(...) (#​355, thanks @​jamesthomp)

v9.0.0

Compare Source

Changed (Breaking)
  • Progress events are now byte-weighted per entry for unzip/unzipWithPassword on both platforms (previously byte-level with within-file granularity on Android, effectively start/end-only on iOS)
  • iOS unzip progress events now report the zip entry name in filePath instead of the full destination path
  • iOS zip/zipWithPassword with a files array now emits per-file progress events (previously only 0% and 100%)
  • Android operations are serialized on a managed single-thread executor instead of one raw thread per call
  • Android progress events are posted on the main thread; the final 100% event may now arrive after the promise resolves
  • See MIGRATION.md for upgrade guidance
Added
  • Android: Zip Slip protection — entries escaping the destination directory are rejected during extraction (unzip, unzipWithPassword, unzipAssets)
  • Android: ZipSecurity utility with JUnit regression tests
  • CI: Android/iOS build workflows for both playground apps; Expo added to the E2E matrix
Fixed
  • Android: close all zip/stream handles via try-with-resources (previously leaked on error paths)
  • Android: emit progress events on the main thread and flush output streams in StreamUtil.copy
  • Android: minSdkVersion fallback now matches the documented API 23 minimum
  • TypeScript: fix invalid default-parameter syntax in index.d.ts; move the react-native import to the top level
  • iOS: nullability annotations in RNZipArchive.h
  • iOS: per-entry filePath updates during unzip (previously dispatched a stale progress value)
  • playground-rn: pin react-native, react-native-screens, react-native-gesture-handler, react-native-safe-area-context to match playground-expo (fixes CI codegen failure from floating react-native-screens 4.26.x)

v8.0.1

Compare Source

Fixed
  • iOS: replace _methodQueue ivar with static dispatch_once to fix build on RN 0.83+ with New Architecture (#​347)
Added
  • playground-rn: bare React Native 0.83.9 test app with New Architecture
  • playground-expo: Expo SDK 55.0.24 test app with New Architecture
  • Maestro E2E flows now use ${APP_ID} env var for cross-app reuse
  • npm scripts: test:e2e:expo:ios, test:e2e:expo:android, test:e2e:rn:ios, test:e2e:rn:android
Changed
  • Export EncryptionMethods enum from JS entry point
  • Playground apps read library version dynamically from package.json
  • Removed debug-specific Maestro flows (connect-metro, debug-zip)

v8.0.0

Compare Source

Added
  • TurboModule support for React Native New Architecture
  • TypeScript specification with Codegen integration
  • Playground app with Expo Development Builds
  • Jest test suite with TurboModule integration tests
  • Maestro E2E test flow for Android Assets (assets.yaml)
  • Playground listFilesRecursive utility for displaying nested extracted files
Changed
  • iOS implementation converted from RCTBridgeModule to TurboModule protocol
  • Android implementation converted from ReactContextBaseJavaModule to NativeZipArchiveSpec
  • JS entry point now uses TurboModuleRegistry with NativeModules fallback
  • Minimum React Native version: 0.70.0
  • Minimum React version: 18.0.0
  • Minimum Android API: 23
Fixed
  • Android unzipAssets now handles compressed assets (fallback from openFd() to InputStream.available())
  • Android processZip null check for f.listFiles() to prevent NPE
  • iOS zipFolderWithPassword encryption default consistency (empty string → standard ZipCrypto)
  • iOS old-arch fallback with #ifdef RCT_NEW_ARCH_ENABLED guards
  • Android unzipWithPassword resolves with destDirectory string instead of array
  • Android missing return statements after promise.reject() in multiple methods
  • Android updateProgress(1,1) moved outside loop in processZip
  • README broken markdown image link
Removed

v7.1.3

Compare Source

What's Changed

Full Changelog: mockingbot/react-native-zip-archive@v7.1.2...v7.1.3

v7.1.2

Compare Source

What's Changed

Full Changelog: mockingbot/react-native-zip-archive@v7.1.0...v7.1.2


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Issues related to dependency updates or management label Oct 3, 2026
@renovate

renovate Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: formulus/package-lock.json
npm warn Unknown env config "store". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
npm warn Unknown project config "node-linker". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: [email protected]
npm error Found: [email protected]
npm error node_modules/react-native-nitro-modules
npm error   react-native-nitro-modules@"^0.35.10" from the root project
npm error
npm error Could not resolve dependency:
npm error peer react-native-nitro-modules@">=0.36.5" from [email protected]
npm error node_modules/react-native-nitro-sound
npm error   react-native-nitro-sound@"^0.2.19" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-10-05T21_15_53_916Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-10-05T21_15_53_916Z-debug-0.log

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Issues related to dependency updates or management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants