Skip to content

Commit aa94d81

Browse files
author
PSPDFKit
committed
Release 5.0.0
1 parent eaecb89 commit aa94d81

File tree

130 files changed

+4567
-1879
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+4567
-1879
lines changed

CHANGELOG.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## 5.0.0 - 22 Jul 2025
2+
3+
- Rebrands the PSPDFKit Flutter SDK to Nutrient Flutter SDK. Now available as [`nutrient_flutter`](https://pub.dev/packages/nutrient_flutter) on pub.dev.(J#HG-682)
4+
- Adds the `androidContentEditorEnabled` configuration option to `PdfConfiguration` for controlling content editor availability on Android. (J#HYB-834)
5+
- Adds automatic disabling of date stamps when custom default stamps are configured on iOS for a better user experience. (J#HYB-835)
6+
- Introduces a migration script for seamless upgrade to Nutrient Flutter SDK 5.0.0. (#48175)
7+
- Updates to Nutrient Android SDK 10.5.0 with the latest features and fixes.
8+
- Updates to Nutrient iOS SDK 14.10.0 with the latest features and fixes.
9+
- Now requires Flutter 3.30.0 or later.
10+
- Fixes an issue where the `onPageChanged` callback was triggering multiple times on iOS. (J#HYB-839)
11+
112
## 4.4.1 - 20 Jun 2025
213

314
- Updates for Nutrient Android SDK 10.4.0.
@@ -41,23 +52,23 @@
4152

4253
## 4.1.1 - 17 Jan 2025
4354

44-
- Fixes build issues where some Android resource IDs are missing. (J#HYB-625)
55+
- Fixes build issues where some Android resource IDs are missing. (J#HYB-625)
4556
- Fixes issue where `onPageChanged` callback returns the wrong page index on iOS. (J#HYB-575)
4657

4758
## 4.1.0 - 03 Jan 2025
4859

49-
- Adds support for `PspdfkitWidgetController.addEventListener` to iOS and Android. (J#HYB-550)`
60+
- Adds support for `PspdfkitWidgetController.addEventListener` to iOS and Android. (J#HYB-550)`
5061
- Adds support for the latest Android Studio version. (J#HYB-539)
5162
- Nutrient Flutter SDK now requires Android Gradle Plugin 8.0.0 or later. (J#HYB-539)
5263
- Nutrient Flutter SDK now requires Flutter 3.27.0 or later. (J#HYB-596)
5364
- Updates for Nutrient Android SDK 2024.9.0.
54-
- Updates for Nutrient iOS SDK 14.3.0.
65+
- Updates for Nutrient iOS SDK 14.3.0.
5566
- Fixes onPageChanged callback being triggered early on iOS. (J#HYB-596)
5667

5768
## 4.0.0 - 01 Nov 2024
5869

5970
- Adds Pigeon for communication between Flutter and native iOS and Android platforms. (J#HYB-455)
60-
- Fixes issue where annotation preset configurations are not applied to some annotation tools. (J#HYB-185)
71+
- Fixes issue where annotation preset configurations are not applied to some annotation tools. (J#HYB-185)
6172
- Fixes inconsistency in the `applyInstantJson` method parameter type. It now accepts a string on both iOS and Android. (#45541)
6273
- Updates for Nutrient Android SDK 2024.6.1. (#45458)
6374
- Updates for Nutrient iOS SDK 14.1.1. (#45458)
@@ -127,10 +138,10 @@
127138
- Adds Flutter for Web support. (#42151)
128139
- Replaces configuration `Map` with a dedicated `PdfConfiguration` class. (#42191)
129140
- Deprecates imports for `package:pspdfkit_flutter/widgets/pspdfkit_widget.dart` and `package:pspdfkit_flutter/widgets/pspdfkit_widget_controller.dart`.
130-
Use `package:pspdfkit_flutter/pspdfkit.dart` instead. (#43254)
141+
Use `package:pspdfkit_flutter/pspdfkit.dart` instead. (#43254)
131142
- Updates for PSPDFKit 2024.1.0 for Android. (#43305)
132143
- Updates for PSPDFKit 13.3.0 for iOS. (#43305)
133-
- Compile SDK version 34 is now required on Android. (#43305)
144+
- Compile SDK version 34 is now required on Android. (#43305)
134145

135146
## 3.7.2 - 12 Jan 2024
136147

@@ -165,14 +176,14 @@
165176

166177
## 3.5.0 - 17 Jan 2023
167178

168-
- Adds Instant Synchronization support. (#37675)
179+
- Adds Instant Synchronization support. (#37675)
169180
- Updates for PSPDFKit 8.5 for Android. (#38136)
170181
- Updates for PSPDFKit 12.0.2 for iOS. (#38136)
171182

172183
## 3.4.1 - 18 Nov 2022
173184

174185
- Updates for PSPDFKit 12.0 for iOS. (#37508)
175-
- Fixes missing header file issue. (#37283)
186+
- Fixes missing header file issue. (#37283)
176187

177188
## 3.4.0 - 26 Oct 2022
178189

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Add powerful PDF functionality to your Flutter apps with the Nutrient Flutter SD
2121

2222
```yaml
2323
dependencies:
24-
pspdfkit_flutter: any
24+
nutrient_flutter: any
2525
```
2626
2727
2. Run the following command:
@@ -125,7 +125,7 @@ Create a new file `lib/main.dart` with the following content:
125125

126126
```dart
127127
import 'package:flutter/material.dart';
128-
import 'package:pspdfkit_flutter/pspdfkit_flutter.dart';
128+
import 'package:nutrient_flutter/nutrient_flutter.dart';
129129
import 'dart:io';
130130
import 'package:flutter/foundation.dart';
131131

android/config.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ if (pspdfkitMavenUrl == null || pspdfkitMavenUrl == '') {
3838

3939
ext.pspdfkitVersion = localProperties.getProperty('pspdfkit.version')
4040
if (pspdfkitVersion == null || pspdfkitVersion == '') {
41-
ext.pspdfkitVersion = '10.4.0'
41+
ext.pspdfkitVersion = '10.4.1'
4242
}
4343

4444
ext.pspdfkitMavenModuleName = 'nutrient'

android/src/main/java/com/pspdfkit/flutter/pspdfkit/ConfigurationAdapter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ class ConfigurationAdapter {
8181
private static final String SHOW_PRINT_ACTION = "showPrintAction";
8282
private static final String SHOW_DOCUMENT_INFO_VIEW = "showDocumentInfoView";
8383
private static final String ENABLE_DOCUMENT_EDITOR = "enableDocumentEditor";
84+
private static final String ENABLE_CONTENT_EDITOR = "enableContentEditor";
8485
private static final String DARK_THEME_RESOURCE = "darkThemeResource";
8586
private static final String DEFAULT_THEME_RESOURCE = "defaultThemeResource";
8687

@@ -344,6 +345,10 @@ class ConfigurationAdapter {
344345
if (key != null) {
345346
configureEnableDocumentEditor((Boolean) configurationMap.get(key));
346347
}
348+
key = getKeyOfType(configurationMap, ENABLE_CONTENT_EDITOR, Boolean.class);
349+
if (key != null) {
350+
configureEnableContentEditor((Boolean) configurationMap.get(key));
351+
}
347352
key = getKeyOfType(configurationMap, SHOW_THUMBNAIL_BAR, String.class);
348353
if (key != null) {
349354
configureShowThumbnailBar((String) configurationMap.get(key));
@@ -726,6 +731,10 @@ private void configureEnableDocumentEditor(boolean enableDocumentEditor) {
726731
configuration.documentEditorEnabled(enableDocumentEditor);
727732
}
728733

734+
private void configureEnableContentEditor(boolean enableContentEditor) {
735+
configuration.contentEditingEnabled(enableContentEditor);
736+
}
737+
729738
private void configureDocumentInfoView(boolean enableDocumentInfoView) {
730739
configuration.documentInfoViewEnabled(enableDocumentInfoView);
731740
}

android/src/main/java/com/pspdfkit/flutter/pspdfkit/FlutterWidgetCallback.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ import android.view.MotionEvent
1414
import com.pspdfkit.annotations.Annotation
1515
import com.pspdfkit.document.DocumentSaveOptions
1616
import com.pspdfkit.document.PdfDocument
17-
import com.pspdfkit.flutter.pspdfkit.api.PspdfkitWidgetCallbacks
17+
import com.pspdfkit.flutter.pspdfkit.api.NutrientViewCallbacks
1818
import com.pspdfkit.listeners.DocumentListener
1919

20-
2120
class FlutterWidgetCallback(
22-
private var pspdfkitWidgetCallbacks: PspdfkitWidgetCallbacks? = null
21+
private var pspdfkitWidgetCallbacks: NutrientViewCallbacks? = null
2322
) : DocumentListener {
2423

2524
override fun onDocumentLoaded(document: PdfDocument) {

android/src/main/java/com/pspdfkit/flutter/pspdfkit/PSPDFKitView.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import androidx.fragment.app.commit
2222
import androidx.fragment.app.commitNow
2323
import com.pspdfkit.flutter.pspdfkit.api.CustomToolbarCallbacks
2424
import com.pspdfkit.flutter.pspdfkit.api.NutrientEventsCallbacks
25-
import com.pspdfkit.flutter.pspdfkit.api.PspdfkitWidgetCallbacks
26-
import com.pspdfkit.flutter.pspdfkit.api.PspdfkitWidgetControllerApi
25+
import com.pspdfkit.flutter.pspdfkit.api.NutrientViewCallbacks
26+
import com.pspdfkit.flutter.pspdfkit.api.NutrientViewControllerApi
2727
import com.pspdfkit.flutter.pspdfkit.events.FlutterEventsHelper
2828
import com.pspdfkit.flutter.pspdfkit.toolbar.FlutterMenuGroupingRule
2929
import com.pspdfkit.flutter.pspdfkit.toolbar.FlutterViewModeController
@@ -58,15 +58,15 @@ internal class PSPDFKitView(
5858
private var fragmentCallbacks: FlutterPdfUiFragmentCallbacks? = null
5959
private val pspdfkitViewImpl: PspdfkitViewImpl = PspdfkitViewImpl()
6060
private val nutrientEventsCallbacks: NutrientEventsCallbacks = NutrientEventsCallbacks(messenger, "events.callbacks.$id")
61-
private val widgetCallbacks: PspdfkitWidgetCallbacks = PspdfkitWidgetCallbacks(messenger, "widget.callbacks.$id")
61+
private val widgetCallbacks: NutrientViewCallbacks = NutrientViewCallbacks(messenger, "widget.callbacks.$id")
6262
private val customToolbarCallbacks: CustomToolbarCallbacks = CustomToolbarCallbacks(messenger, "customToolbar.callbacks.$id")
6363
private var isFragmentAttached = false
6464
private var methodCallHandler: PSPDFKitWidgetMethodCallHandler? = null
6565
private var aiAssistant: AiAssistant? = null
6666

6767
init {
6868
fragmentContainerView?.id = View.generateViewId()
69-
methodChannel = MethodChannel(messenger, "com.pspdfkit.widget.$id")
69+
methodChannel = MethodChannel(messenger, "com.nutrient.widget.$id")
7070

7171
val configurationAdapter = ConfigurationAdapter(context, configurationMap)
7272
val password = configurationAdapter.password
@@ -244,7 +244,7 @@ internal class PSPDFKitView(
244244
fragmentContainerView = null
245245

246246
// Unregister method channel
247-
PspdfkitWidgetControllerApi.setUp(messenger, null, id.toString())
247+
NutrientViewControllerApi.setUp(messenger, null, id.toString())
248248

249249
Log.d(LOG_TAG, "PSPDFKitView disposed successfully")
250250
} catch (e: Exception) {
@@ -257,7 +257,7 @@ internal class PSPDFKitView(
257257
// Set up the method channel for communication with Flutter.
258258
val flutterEventsHelper = FlutterEventsHelper(nutrientEventsCallbacks)
259259
pspdfkitViewImpl.setEventDispatcher(flutterEventsHelper)
260-
PspdfkitWidgetControllerApi.setUp(messenger, pspdfkitViewImpl, id.toString())
260+
NutrientViewControllerApi.setUp(messenger, pspdfkitViewImpl, id.toString())
261261
}
262262

263263
// Get Fragment Activity from context with improved error handling

android/src/main/java/com/pspdfkit/flutter/pspdfkit/PspdfkitApiCallbacks.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@
88
*/
99
package com.pspdfkit.flutter.pspdfkit
1010

11-
import com.pspdfkit.flutter.pspdfkit.api.PspdfkitFlutterApiCallbacks
11+
import com.pspdfkit.flutter.pspdfkit.api.NutrientApiCallbacks
12+
1213

1314
/**
1415
* Callbacks for the PspdfkitApi. This class is responsible for notifying the Flutter side about document loading events.
1516
* A separate class is used because the callback methods are not supported by Java.
1617
* @param pspdfkitFlutterApiCallbacks The callback to notify the Flutter side about document loading events.
1718
*/
18-
class PspdfkitApiCallbacks(private val pspdfkitFlutterApiCallbacks: PspdfkitFlutterApiCallbacks) {
19+
class PspdfkitApiCallbacks(private val pspdfkitFlutterApiCallbacks: NutrientApiCallbacks) {
1920

2021
fun onDocumentLoaded(documentId: String) {
2122
pspdfkitFlutterApiCallbacks.onDocumentLoaded(documentId) {}

0 commit comments

Comments
 (0)