---
title: "Nutrient 2024.8 migration guide"
canonical_url: "https://www.nutrient.io/guides/android/migration-guides/2024-8-migration-guide/"
md_url: "https://www.nutrient.io/guides/android/migration-guides/2024-8-migration-guide.md"
last_updated: "2026-05-21T11:22:21.505Z"
description: "Lists important public API changes for Nutrient Android SDK 2024.8."
---

This guide outlines the changes to Nutrient Android SDK 2024.8.

## API changes

### Breaking data class changes

[`PdfConfiguration`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration/-pdf-configuration/index.html) and [`PdfActivityConfiguration`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration.activity/-pdf-activity-configuration/index.html) have been replaced with Kotlin data classes. This means some of the APIs have changed slightly.

If you’re writing in Java, you might need to add `configuration.getThing()` syntax instead of `configuration.thing()`. For example:

```java

// Before, to get the starting page:
configuration.page();

// After
configuration.getPage();

```

If you’re writing in Kotlin, you need to use the [property access](https://kotlinlang.org/docs/properties.html#declaring-properties) syntax. For example:

```kotlin

// Before
configuration.getPage()

// After
configuration.page

```

In Java, if you’re using [`InstantPdfActivityIntentBuilder`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.instant.ui/-instant-pdf-activity-intent-builder/index.html), you need to use the `Companion` object to call `fromInstantDocument`:

```java

// Before
final Intent intent = InstantPdfActivityIntentBuilder.fromInstantDocument(

// After
final Intent intent = InstantPdfActivityIntentBuilder.Companion.fromInstantDocument(

```

Note that we’re still using the `Builder` pattern here to reduce the amount of breaking changes we create for customers. Ideally, this would be a pure data class with defaults set in the constructor. This change may come in a future release.

### Breaking SearchType

The `Int` constants `PdfActivityConfiguration.SEARCH_INLINE` and `PdfActivityConfiguration.SEARCH_MODULAR` have been replaced by an enum, [`SearchType`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration.search/-search-type/index.html). You’ll need to update your code if you’re using these — for example:

### KOTLIN

```kotlin

// Before
val searchType: Integer = if (inlineSearch) PdfActivityConfiguration.SEARCH_INLINE else PdfActivityConfiguration.SEARCH_MODULAR

// After
val searchType: SearchType = if (inlineSearch) SearchType.INLINE else SearchType.MODULAR
)

```

### JAVA

```java

// Before
final int searchType = inlineSearch? PdfActivityConfiguration.SEARCH_INLINE : PdfActivityConfiguration.SEARCH_MODULAR;

// After
final SearchType searchType = inlineSearch? SearchType.INLINE : SearchType.MODULAR;

```

### SignatureAppearance option removed

The `PdfConfiguration` option to set [`SignatureAppearance`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-signature-appearance/index.html) has been removed, as it isn’t used internally. To set `SignatureAppearance`, use [`DigitalSignatureMetadata`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-digital-signature-metadata/index.html), which can be passed to [`SignerOptions`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-signer-options/index.html).

### Builder classes removed

#### SignatureAppearance

[`SignatureAppearance`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-signature-appearance/index.html) has changed to a Kotlin data class, and its `Builder` has been removed. [`SignatureGraphic`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-signature-graphic/index.html) has been taken out of the `SignatureAppearance` class into its own file.

Here’s an example of configuring the signature appearance before and after this release:

```kotlin

// Before
val signatureAppearance = SignatureAppearance.Builder().setShowWatermark(false).setShowSignDate(false).setSignatureGraphic(SignatureAppearance.SignatureGraphic.fromBitmap(logo)).build()
// After
val signatureAppearance = SignatureAppearance(
    showWatermark = false,
    showSignDate = false,
    signatureGraphic = SignatureGraphic.fromBitmap(logo)
)

```

#### SearchConfiguration

[`SearchConfiguration`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration.search/-search-configuration/index.html) has changed to a Kotlin data class, and its `Builder` has been removed. Instead, you can construct a custom configuration using its properties:

```kotlin

// Default SearchConfiguration with a custom `snippetLength`
val config = SearchConfiguration(snippetLength = 123)

```

#### BiometricSignatureData

[`BiometricSignatureData`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.signatures/-biometric-signature-data/index.html) has changed to a Kotlin data class, and its `Builder` has been removed. Instead, you must construct it using its constructor.

### Deprecations

We replaced the separate `enable|disableX()` functions in the `Builder` classes for [`PdfConfiguration`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration/-pdf-configuration/-builder/index.html) and [`PdfActivityConfiguration`](https://www.nutrient.io/api/android/nutrient/com.pspdfkit.configuration.activity/-pdf-activity-configuration/-builder/index.html) with a single `xEnabled(boolean)` function. Update your use of these before we remove the deprecations in 2025. For example:

### KOTLIN

```kotlin

// Before
configuration.enableAnnotationRotation()
configuration.disableFormEditing()

// After
configuration.annotationRotationEnabled(true)
configuration.formEditingEnabled(false)
)

```

### JAVA

```java

// Before
configuration.enableAnnotationRotation();
configuration.disableFormEditing();

// After
configuration.annotationRotationEnabled(true);
configuration.formEditingEnabled(false);
)

```
---

## Related pages

- [10 3 Migration Guide](/guides/android/migration-guides/10-3-migration-guide.md)
- [10 4 Migration Guide](/guides/android/migration-guides/10-4-migration-guide.md)
- [10 5 Migration Guide](/guides/android/migration-guides/10-5-migration-guide.md)
- [2024 9 Migration Guide](/guides/android/migration-guides/2024-9-migration-guide.md)
- [Migrate to electronic signatures](/guides/android/migration-guides/migrating-to-electronic-signatures.md)
- [Nutrient 10 Migration Guide](/guides/android/migration-guides/nutrient-10-migration-guide.md)
- [Pspdfkit 2 1 Migration Guide](/guides/android/migration-guides/pspdfkit-2-1-migration-guide.md)
- [Pspdfkit 2024 1 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-1-migration-guide.md)
- [Pspdfkit 2024 4 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-4-migration-guide.md)
- [Pspdfkit 2024 2 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-2-migration-guide.md)
- [Pspdfkit 2024 3 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-3-migration-guide.md)
- [Pspdfkit 2024 6 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-6-migration-guide.md)
- [Pspdfkit 2024 7 Migration Guide](/guides/android/migration-guides/pspdfkit-2024-7-migration-guide.md)
- [Pspdfkit 4 4 Migration Guide](/guides/android/migration-guides/pspdfkit-4-4-migration-guide.md)
- [Pspdfkit 3 1 Migration Guide](/guides/android/migration-guides/pspdfkit-3-1-migration-guide.md)
- [Pspdfkit 5 1 Migration Guide](/guides/android/migration-guides/pspdfkit-5-1-migration-guide.md)
- [Migrate to Nutrient 3.0 with ease](/guides/android/migration-guides/pspdfkit-3-migration-guide.md)
- [Pspdfkit 5 3 Migration Guide](/guides/android/migration-guides/pspdfkit-5-3-migration-guide.md)
- [Pspdfkit 5 5 Migration Guide](/guides/android/migration-guides/pspdfkit-5-5-migration-guide.md)
- [Pspdfkit 5 2 Migration Guide](/guides/android/migration-guides/pspdfkit-5-2-migration-guide.md)
- [Migration guide for Android SDK 4 features](/guides/android/migration-guides/pspdfkit-4-migration-guide.md)
- [Pspdfkit 6 2 Migration Guide](/guides/android/migration-guides/pspdfkit-6-2-migration-guide.md)
- [Pspdfkit 6 3 Migration Guide](/guides/android/migration-guides/pspdfkit-6-3-migration-guide.md)
- [Pspdfkit 6 1 Migration Guide](/guides/android/migration-guides/pspdfkit-6-1-migration-guide.md)
- [Pspdfkit 6 6 Migration Guide](/guides/android/migration-guides/pspdfkit-6-6-migration-guide.md)
- [Pspdfkit 5 Migration Guide](/guides/android/migration-guides/pspdfkit-5-migration-guide.md)
- [Pspdfkit 6 4 Migration Guide](/guides/android/migration-guides/pspdfkit-6-4-migration-guide.md)
- [Pspdfkit 7 Migration Guide](/guides/android/migration-guides/pspdfkit-7-migration-guide.md)
- [Pspdfkit 8 7 Migration Guide](/guides/android/migration-guides/pspdfkit-8-7-migration-guide.md)
- [Pspdfkit 8 6 Migration Guide](/guides/android/migration-guides/pspdfkit-8-6-migration-guide.md)
- [Pspdfkit 8 9 Migration Guide](/guides/android/migration-guides/pspdfkit-8-9-migration-guide.md)
- [Pspdfkit 6 Migration Guide](/guides/android/migration-guides/pspdfkit-6-migration-guide.md)
- [Pspdfkit 8 8 Migration Guide](/guides/android/migration-guides/pspdfkit-8-8-migration-guide.md)
- [Pspdfkit 8 Migration Guide](/guides/android/migration-guides/pspdfkit-8-migration-guide.md)
- [Upgrading](/guides/android/advanced-integration/upgrading.md)

