react-native-pdf-jsi 2.2.2 → 2.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,6 +35,27 @@ Starting November 1, 2025, Google Play will require apps to support 16KB page si
35
35
  - ✅ **Google Play Approved** - Meets all current and future requirements
36
36
  - ✅ **Drop-in Replacement** - Easy migration from existing libraries
37
37
 
38
+ ## 🎉 Version 2.2.4 - Critical 16KB Bug Fix!
39
+
40
+ **Resolves 16KB page size compatibility issues for Google Play compliance!**
41
+
42
+ ### 🚀 **What's New in v2.2.4:**
43
+ - **🐛 16KB Page Size Fix** - Resolved critical 16KB page size compatibility issues
44
+ - **✅ NDK r28.2 Update** - Updated to NDK 28.2.13676358 with proper 16KB page alignment
45
+ - **✅ CMake Configuration** - Added ANDROID_PAGE_SIZE_AGNOSTIC=ON flag for compliance
46
+ - **✅ Dependency Updates** - Updated pdfiumandroid to v1.0.32 and gson to v2.11.0
47
+ - **✅ Android 15+ Ready** - Full Google Play compliance for Android 15+ requirements
48
+
49
+ ## 🎉 Version 2.2.3 - Bug Fix Release!
50
+
51
+ **Critical bug fix for React Native 0.81 JSI initialization on Android!**
52
+
53
+ ### 🚀 **What's New in v2.2.3:**
54
+ - **🐛 JSI Initialization Fix** - Resolved crash when calling initializeJSI() on React Native 0.81 Android
55
+ - **✅ Error Handling** - Added proper error handling for JSI initialization
56
+ - **✅ RN 0.81 Compatibility** - Full compatibility with React Native 0.81 on Android
57
+ - **✅ Stability Improvements** - Enhanced stability and error recovery
58
+
38
59
  ## 🎉 Version 2.2.2 - Production Ready with Latest NDK!
39
60
 
40
61
  **Includes all the fixes from the GitHub community with the latest NDK r28.2 - tested and verified in production apps!**
@@ -890,7 +911,40 @@ const Pdf = PdfModule.default;
890
911
 
891
912
  ## 📝 Changelog
892
913
 
893
- ### v2.2.2 (2025) - Latest ✅ PRODUCTION READY WITH LATEST NDK
914
+ ### v2.2.4 (2025) - Latest ✅ CRITICAL 16KB BUG FIX
915
+
916
+ #### 🐛 **16KB Page Size Compatibility Fix**
917
+ - **Critical Bug Fix**: Resolved 16KB page size compatibility issues for Google Play compliance
918
+ - **NDK r28.2 Update**: Updated to NDK 28.2.13676358 with proper 16KB page alignment toolchain
919
+ - **CMake Configuration**: Added ANDROID_PAGE_SIZE_AGNOSTIC=ON flag for full compliance
920
+ - **Linker Flags**: Added 16KB page size alignment flags (-Wl,-z,max-page-size=16384)
921
+ - **Dependency Updates**: Updated pdfiumandroid to v1.0.32 and gson to v2.11.0
922
+
923
+ #### 📊 **Google Play Compliance**
924
+ - **Full Compliance**: Meets all Google Play 16KB page size requirements
925
+ - **Android 15+ Ready**: Built with SDK 35 for Android 15+ compatibility
926
+ - **Policy Aligned**: Ensures app updates won't be blocked after November 1, 2025
927
+ - **Production Tested**: Verified working in Android Studio APK analyzer
928
+
929
+ #### 🚀 **Technical Improvements**
930
+ - **Build Configuration**: Updated compileSdkVersion and targetSdkVersion to 35
931
+ - **Native Library Support**: Enhanced native library compatibility with 16KB pages
932
+ - **Memory Alignment**: Proper memory page alignment for optimal performance
933
+
934
+ ### v2.2.3 (2025) - ✅ BUG FIX RELEASE
935
+
936
+ #### 🐛 **Critical Bug Fixes**
937
+ - **JSI Initialization Fix**: Resolved crash when calling `initializeJSI()` on React Native 0.81 Android
938
+ - **Error Handling**: Added comprehensive error handling for JSI initialization process
939
+ - **Stability**: Enhanced error recovery and graceful fallback mechanisms
940
+ - **Compatibility**: Full compatibility with React Native 0.81 on Android platform
941
+
942
+ #### 📊 **Issue Resolution**
943
+ - **GitHub Issue Fix**: Addressed user-reported crash on PDF opening in RN 0.81
944
+ - **Android Stability**: Improved Android JSI initialization reliability
945
+ - **Error Messages**: Better error messages for debugging JSI issues
946
+
947
+ ### v2.2.2 (2025) - ✅ PRODUCTION READY WITH LATEST NDK
894
948
 
895
949
  #### 🚀 **Latest NDK Integration**
896
950
  - **NDK r28.2 Update**: Updated to NDK 28.2.13676358 (matches @IsengardZA's exact solution)
@@ -1230,7 +1284,7 @@ const ComplianceChecker = () => {
1230
1284
  {compliance.message}
1231
1285
  </Text>
1232
1286
  )}
1233
- </View>
1287
+ </View>
1234
1288
  );
1235
1289
  };
1236
1290
  ```
@@ -1463,7 +1517,7 @@ For issues and questions:
1463
1517
 
1464
1518
  *Transform your PDF viewing experience with enterprise-grade performance and reliability.*
1465
1519
 
1466
- **v2.2.2 - Production Ready with Latest NDK**
1520
+ **v2.2.4 - Critical 16KB Bug Fix**
1467
1521
  **Copyright (c) 2025-present, Punith M (punithm300@gmail.com). Enhanced PDF JSI Integration. All rights reserved.**
1468
1522
 
1469
1523
  *Original work Copyright (c) 2017-present, Wonday (@wonday.org). All rights reserved.*
@@ -191,10 +191,13 @@ dependencies {
191
191
  }
192
192
  // NOTE: The original repo at com.github.barteksc is abandoned by the maintainer; there will be no more updates coming from that repo.
193
193
  // The repo from zacharee is based on PdfiumAndroidKt, a much newer fork of PdfiumAndroid, with better maintenance and updated native libraries.
194
- implementation 'com.github.zacharee:AndroidPdfViewer:4.0.1'
194
+ // Keep viewer at a Java 17-compatible version; exclude bundled PdfiumAndroid
195
+ implementation('com.github.zacharee:AndroidPdfViewer:4.0.1') {
196
+ exclude group: 'com.github.barteksc', module: 'PdfiumAndroid'
197
+ }
195
198
  // Depend on PdfiumAndroidKt directly so this can be updated independently of AndroidPdfViewer as updates are provided.
196
- implementation 'io.legere:pdfiumandroid:1.0.24'
197
- implementation 'com.google.code.gson:gson:2.8.5'
199
+ implementation 'io.legere:pdfiumandroid:1.0.32'
200
+ implementation 'com.google.code.gson:gson:2.11.0'
198
201
 
199
202
  // 🚀 Android dependencies for JSI
200
203
  implementation 'androidx.annotation:annotation:1.7.0'
package/index.js CHANGED
@@ -124,7 +124,7 @@ export default class Pdf extends Component {
124
124
  };
125
125
 
126
126
  this.lastRNBFTask = null;
127
- this.pdfJSI = new PDFJSI();
127
+ this.pdfJSI = PDFJSI;
128
128
  this.initializeJSI();
129
129
 
130
130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-pdf-jsi",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "summary": "High-performance React Native PDF viewer with JSI acceleration - up to 80x faster than traditional bridge",
5
5
  "description": "🚀 Ultra-fast React Native PDF viewer with JSI (JavaScript Interface) integration for maximum performance. Features lazy loading, smart caching, progressive loading, and zero-bridge overhead operations. Perfect for large PDF files with 30-day persistent cache and advanced memory optimization. Google Play 16KB page size compliant for Android 15+. Supports iOS, Android, and Windows platforms.",
6
6
  "main": "index.js",