Skip to content

Releases: mockingbot/react-native-zip-archive

v8.0.1

Choose a tag to compare

@plrthink plrthink released this 19 May 02:23

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

v8.0.0

Choose a tag to compare

@plrthink plrthink released this 17 May 04:40

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

  • Legacy Native Module APIs (RCT_EXPORT_METHOD, @ReactMethod)

v7.1.1

Choose a tag to compare

@plrthink plrthink released this 05 May 15:15

What's Changed

Bug Fixes

  • Fix Android build failure: invalid switch selector type double in getCompressionLevel (#342) by @FerRiv3ra
    • Cast compressionLevel to int before switch; fixes compilation error introduced in v7.1.0
    • Resolves #340 and #341

Contributors

Thanks to @FerRiv3ra for the fix!

v7.1.0

Choose a tag to compare

@plrthink plrthink released this 12 Apr 14:50

What's Changed

New Features

  • Add compression level argument (#332) by @m@rtin.sh

    • Added compressionLevel parameter to zip() and zipWithPassword() functions
    • Added constants: DEFAULT_COMPRESSION, NO_COMPRESSION, BEST_SPEED, BEST_COMPRESSION
    • Supports compression levels 0-9 on both platforms
    • Note: On iOS, compression level only works with directory sources
  • Add AES encryption support for zipFolderWithPassword on iOS (#337) by @superandrew213

    • zipFolderWithPassword now supports AES encryption on iOS
    • Improved error messages in unzipWithPassword
    • Note: zipFilesWithPassword still uses standard encryption

Bug Fixes

  • Fix Android crash due to null promise rejection code (#336) by @pSapien

Contributors

Thanks to @m@rtin.sh, @superandrew213, and @pSapien for their contributions!

v7.0.2

Choose a tag to compare

@plrthink plrthink released this 15 Jun 10:46
  • fix typing issue

v7.0.1

Choose a tag to compare

@plrthink plrthink released this 08 Oct 02:23
  • fix the compilation issue with XCode 16

v7.0.0

Choose a tag to compare

@plrthink plrthink released this 19 Sep 02:47

Well, after tweaking the underlying deps SSZipArchive back and forth, we finally decided to update it to include the changes essential to the latest App Store requirement.

v6.1.2

Choose a tag to compare

@plrthink plrthink released this 19 Sep 02:41
  • Revert update of SSZipArchive, which forces user to update their iOS deployment target.

v6.1.1

Choose a tag to compare

@plrthink plrthink released this 07 May 02:11

THIS IS THE BREAK CHANGE

  • resolve the 'iOS privacy manifest' issue, thanks to @vomchik. #303

updates

Sorry for not following the semver for including a breaking change.
You need to change the minimum iOS deployment version up to 15.5 in your project via podfile.

v6.1.0

Choose a tag to compare

@plrthink plrthink released this 16 Oct 06:57
  • new getUncompressedSize API to get the uncompressed size of the zip file, via #287