Releases: mockingbot/react-native-zip-archive
Releases · mockingbot/react-native-zip-archive
v8.0.1
Fixed
- iOS: replace
_methodQueueivar with staticdispatch_onceto fix build on RN 0.83+ with New Architecture (#347)
Added
playground-rn: bare React Native 0.83.9 test app with New Architectureplayground-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
EncryptionMethodsenum from JS entry point - Playground apps read library version dynamically from
package.json - Removed debug-specific Maestro flows
v8.0.0
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
listFilesRecursiveutility 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
unzipAssetsnow handles compressed assets (fallback fromopenFd()toInputStream.available()) - Android
processZipnull check forf.listFiles()to prevent NPE - iOS
zipFolderWithPasswordencryption default consistency (empty string → standard ZipCrypto) - iOS old-arch fallback with
#ifdef RCT_NEW_ARCH_ENABLEDguards - Android
unzipWithPasswordresolves withdestDirectorystring instead of array - Android missing
returnstatements afterpromise.reject()in multiple methods - Android
updateProgress(1,1)moved outside loop inprocessZip - README broken markdown image link
Removed
- Legacy Native Module APIs (RCT_EXPORT_METHOD, @ReactMethod)
v7.1.1
What's Changed
Bug Fixes
- Fix Android build failure: invalid switch selector type double in getCompressionLevel (#342) by @FerRiv3ra
Contributors
Thanks to @FerRiv3ra for the fix!
v7.1.0
What's Changed
New Features
-
Add compression level argument (#332) by @m@rtin.sh
- Added
compressionLevelparameter tozip()andzipWithPassword()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
- Added
-
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
Contributors
Thanks to @m@rtin.sh, @superandrew213, and @pSapien for their contributions!