# What's New and Changelog

Stay up-to-date with the latest features, improvements and bug fixes for freeRASP. Here you'll find detailed information about each update we've rolled out, organized by platform. Whether you're using the Android, iOS, Flutter, React Native, Capacitor, or Cordova version, all platforms are supported.

Explore the tabs below to see what's new and how the experience has been improved for you. If you're looking for specific changes or features, each update is documented for your convenience.

## Latest from Articles

* [Apps Security Threats Report 2025](https://www.talsec.app/talsec-global-threat-report-2025)
* [Introducing the Talsec Portal: A New Way to Monitor Your App — Try It Now!](https://docs.talsec.app/appsec-articles/articles/introducing-the-talsec-portal-a-new-way-to-monitor-your-app-try-it-now)
* [iOS Keychain vs. Android Keystore](https://docs.talsec.app/appsec-articles/articles/ios-keychain-vs.-android-keystore)
* [Introducing Multi-Instancing Detection for freeRASP](https://docs.talsec.app/appsec-articles/articles/introducing-multi-instancing-detection-for-freerasp)
* [How to Block Screenshots, Screen Recording, and Remote Access Tools in Android and iOS App](https://docs.talsec.app/appsec-articles/articles/how-to-block-screenshots-screen-recording-and-remote-access-tools-in-android-and-ios-apps)
* [Hook, Hack, Defend: Frida’s Impact on Mobile Security & How to Fight Back](https://docs.talsec.app/appsec-articles/articles/hook-hack-defend-fridas-impact-on-mobile-security-and-how-to-fight-back)
* [🚀A Developer’s Guide to Implement End-to-End Encryption in Mobile Apps 🛡️](https://docs.talsec.app/appsec-articles/articles/a-developers-guide-to-implement-end-to-end-encryption-in-mobile-apps)

Learn more: <https://docs.talsec.app/appsec-articles>

## Changelog

{% tabs %}
{% tab title="Android" %}
**Github Changelog:** <https://github.com/talsec/Free-RASP-Android/releases>

### Latest version 18.0.2

#### Fixed

* Fixed method `storeExternalId` to return `ExternalIdResult` for error handling

### Version 18.0.1

#### Fixed

* Fixed `ScreenProtector` crash during activity start and permissions request
* Fixed screen recording detection callback

### Version 18.0.0

#### Breaking Change

* ❗️Breaking: Changed `ThreatListener` API interfaces (`ThreatDetected`, `DeviceState`) to abstract classes
* ❗️Breaking: Added `onAutomationDetected()` callback to `ThreatDetected` interface
  * We are introducing a new capability, detecting whether the device is being automated using tools like Appium
* ❗️Breaking: Added value restrictions to `externalId`
  * Method `storeExternalId()` now returns `ExternalIdResult`, which indicates `Success` or `Error` when `externalId` violates restrictions

#### Changed

* Improved `HMA` detection to the existing root detection capability
* Updated compile and target API to 36
* Improved root detection capabilities
* Detection of wireless ADB added to ADB detections

#### Fixed

* Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
* Fixed manifest queries merge

### Version 17.0.0

#### Breaking Change

* ❗️Breaking: Added `killOnBypass` method to the `TalsecConfig.Builder` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker [Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65)
* ❗️Breaking: Added `onTimeSpoofingDetected()` callback to `ThreatDetected` interface
  * We are introducing a new capability, detecting whether the device time has been tampered with
* ❗️Breaking: Added `onLocationSpoofing()` callback
  * We are introducing a new capability, detecting whether the location is being spoofed on the device.
* ❗️Breaking: Added `onUnsecureWifi()` callback to `ThreatDetected` interface
* ❗️Breaking: Changed `onMalwareDetected()` method parameter `packageInfo` to non-nullable
* ❗️Breaking: Updated `dispatchKeyEvent()` parameter nullability from `@Nullable` to `@NonNull`
* ❗️Breaking: Changed parameter type of `Activity` instead of `Context` in the `blockScreenCapture()` method
* ❗️Breaking: Removed deprecated functionality `Pbkdf2Native` and both related native libraries (`libpbkdf2_native.so` and `libpolarssl.so`)

#### Added

* Added `ScreenProtector` feature wrapper object that helps with registration/unregistration of screen protection features
* A new constructor parameter of type `RaspExecutionState` in class `ThreatListener`representing changes in state in our library. `RaspExecutionState` contains `onAllChecksFinished()` method, which is triggered after all checks are completed.
* Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`
* New option to start Talsec, `Talsec.start()` takes new parameter `TalsecMode` that determines the dispatcher thread of initialization and sync checks
* Capability to check if another app has an option `REQUEST_INSTALL_PACKAGES` enabled in the system settings to malware detection

#### Fixed

* ANR issue caused by `registerScreenCaptureCallback()` method on the main thread
* `NullPointerException` when checking key alias in Keystore on Android 7
* `JaCoCo` issue causing `MethodTooLargeException` during instrumentation
* `DeadApplicationException` when calling `Settings.Global.getInt` or `Settings.Secure.getInt` on invalid context
* `AndroidKeyStore` crashes causing `java.util.concurrent.TimeoutException` when calling `finalize()` method on `Cipher` (GC issues)

#### Changed

* Shortened the value of threat detection interval
* Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
* Update of internal dependencies and security libraries

### Version 16.0.1

#### Breaking Change, new feature

* ❗️Added `onMultiInstanceDetected()` callback - detection whether the application is installed/running in various multi-instancing environments (e.g. Parallel Space).

#### **Improvement**

* Added support for 16 KB memory page sizes.
* The ADB service running as "root" is a signal for root detection.
* Improved emulator detection.
* Internal security improvements.

#### Fixed

* Removed malware report duplicates.

### Version 15.1.0

#### **Improvement**

* Added new root detection checks.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
* Added externalId to put an integrator-specified custom identifier into the logs. This feature will be presented later.

#### Fixed

* Resolved SecurityException caused by `getNetworkCapabilities()` - Android 11 specific bug ([GH Android issue #56](https://github.com/talsec/Free-RASP-Android/issues/56)).

### Version 15.0.0

#### **Changed**

* Compile API increased to 35, dependencies updated
* Internal library obfuscation reworked
* Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)

#### Fixed

* ANR issues bug-fixing

### Version 14.0.1

#### Breaking Change, new feature

* ❗️Added `onScreenshotDetected()` - detection of **screenshots**, refer to the [Android freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/android#handle-detected-threats).
* ❗️Added `onScreenRecordingDetected()` - detection of **screen recording**, refer to the [Android freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/android#handle-detected-threats).

#### **Improvement**

* Added `blockScreenCapture(Activity activity, boolean enable)` for **FLAG\_SECURE** control, an **active protection against screen capturing.**
* `isScreenCaptureBlocked()` - to receive whether the screen capture is blocked
* Rate limiting for both screenshot and screenRecording incidents
* Improved root detection capabilities

#### **Bug Fix**

* Updated proguard rules to fix warnings from okhttp dependency.

### Version 13.2.0

#### Improvement

* Added request integrity information to data collection headers.
* Enhanced and accelerated the data collection logic.

### Version 13.0.0

#### New features

* <mark style="color:red;">**BREAKING CHANGE:**</mark> Added `onADBEnabledDetected` detection feature, which allows you to detect USB debugging option enabled in the developer settings on the device. App needs to implement this new callback.

### Version 12.0.0

#### Improvement

* Refactored Magisk checks in the root detection
* Internal refactoring of Malware detection feature

**Bug Fix**

* Resolved IllegalArgumentException caused by unregistering not registered receiver in `TalsecMonitoringReceiver`

### Version 11.1.3

#### Bug Fix

* Reported ANR issues present on some devices were resolved ([GH issue #138](https://github.com/talsec/Free-RASP-Flutter/issues/138)).
* Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved ([GH Flutter #140](https://github.com/talsec/Free-RASP-Flutter/issues/140)).
* Reported crashes caused by the UnsupportedOperationException were resolved.

### Version 11.1.1

#### Bug Fix

* False positives in Hook detection (runtimeManipulation).

### Version 11.1.0

#### New Feature

* Added `onMalwareDetected` to `ThreatListener.ThreatDetected` interface, this is a breaking change and the `onMalwareDetected` has to be implemented by the integrating application.&#x20;
  * **Important Information**
    * Further details for this feature will be provided shortly with the new repositories.
    * For now, do not react to the callback, you can implement it simply by just using println().
* Added the auditing of the internal execution for the future check optimization and overall security improvements.

#### Improvement

* Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
* Updated `CURL` to `8.8.0` and `OpenSSL` to `3.0.14` ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114)).            &#x20;
* Refactored fetching the list of installed applications for root and hook detection.

#### Bug Fix

* Fixed native crashes (SEGFAULT errors) in `ifpip` method.
* Fixed collision for command line tools (like ping) invoked without absolute path ([Github issue #41](https://github.com/talsec/Free-RASP-ReactNative/issues/41)).

### Version 9.6.0

#### New Feature

* Two new threat callbacks, `onDeveloperModeDetected` and `onSystemVPNDetected`, have been added for detecting Developer mode and System VPN.

#### Improvement

* Updated GMS dependency to a newer version for improved performance and compatibility.
* Updated CA bundle to enhance security for secure connections.    &#x20;

#### Bug Fix

* Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.

### Version 9.1.0

#### Improvement

* &#x20;Updated freeRASP SDK artifact hosting ensuring better stability and availability.

### Version 9.0.2

#### Improvement

* &#x20;Shortened duration of threat evaluation.
* &#x20;Improved *appIntegrity* check and its logging.
* &#x20;Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`.

#### Bug Fix

* Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).

### Version 9.0.0

#### Improvement

* Increased the `compileSdk` and `targetSdk` in the demo application.
* Updated dependencies in the demo application.

#### Bug Fix

* Fixed issue with ProviderException ([#26](https://github.com/talsec/Free-RASP-Android/issues/26)).

Curious about more in-depth changes for Android? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-Android/releases) for the complete history of updates!
{% endtab %}

{% tab title="iOS" %}
**Github Changelog:** <https://github.com/talsec/Free-RASP-iOS/releases>

### Latest Version: 6.14.1

#### Changed

* Improved `timeSpoofing` detection methods.

### Version 6.14.0

#### New Feature

* Added time spoofing detection, detecting an inaccurate device clock. It is a new threat `timeSpoofing`.

#### Improvement

* Improved jailbreak detection methods.

### Version 6.13.0

#### New Feature

* A new extension of `SecurityThreatCenter`: `RaspExecutionState` contains `onAllChecksFinished()` method, which is triggered after all checks are completed.

#### Improvement

* Updated internal dependencies.

### Version 6.12.1

#### Improvement

* Added palera1n jailbreak detection.
* Improved Dopamine jailbreak detection.

#### Fixed

* Resolved memory-related stability issues.

### Version 6.11.0

#### New Feature

* Screen capture protection obscuring app content in screenshots and screen recordings preventing unauthorized content capture. Refer to the [iOS freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/ios).

#### Improvement

* Added externalId to put an integrator-specified custom identifier into the logs. This feature will be presented later.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.

#### Bug Fix

* Resolved an issue that prevented Xcode tests from running correctly.
* Resolved an issue with the screen recording detection.

### Version 6.9.0

#### Improvement

* Improvement of the obfuscation of the SDK

#### **Changed**

* Deep signing of the OpenSSL binaries

### Version 6.8.0

#### New feature

* Enhanced security with our new **Screen Capture Threat Detection**, now capable of identifying screen recording, AirPlay mirroring, and screenshots to guard against unauthorized viewing. Check out the new `screenshot` and `screenRecording` callbacks.

### Version 6.6.3

#### Maintenance

* Updated SDK code signing; it will now be signed with:
  * Team ID: PBDDS45LQS
  * Team Name: Lynx SFT s.r.o.

### Version 6.6.2

#### New feature

* Added [Serotonin](https://github.com/SerotoninApp/Serotonin) jailbreak detection.

### Version 6.6.1

#### Improvement

* Renewed the signing certificate.

### Version 6.6.0

#### New feature

* [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.

### Version 6.5.3

#### Improvement

* Updated `OpenSSL` to version `3.0.14` and `CURL` to version `8.8.0`. ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114))

### Version 6.5.0

#### New Feature

* Added request integrity information to data collection.
* Significantly improved the response time from data collection service.

### Version 6.4.0

#### New Feature

* Added new threat callback `systemVPN` for System VPN detection.

#### Improvement

* Passcode check is now performed periodically.
* Updated the CA bundle to enhance security for secure connections.

#### Bug Fix

* Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.

### Version 6.1.2

#### New Feature

* Added Privacy Manifest.
* Added codesigning for the SDK, it is signed by:&#x20;
  * Team ID: `ASQC376HCN`,
  * Team Name: `AHEAD iTec, s.r.o.`.

#### Improvement

* Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`.
* Improved obfuscation of Swift and C strings.

#### Bug Fix

* Fixed memory leak ([#13](https://github.com/talsec/Free-RASP-iOS/issues/13)).

Curious about more in-depth changes for iOS? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-iOS/releases) for the complete history of updates!
{% endtab %}

{% tab title="Flutter" %}
**Github Changelog:** <https://github.com/talsec/Free-RASP-Flutter/releases>

### Latest version: 7.3.0

#### Added

* Added `killOnBypass` to `TalsecConfig` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) ([Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65))
* Added `onTimeSpoofing` callback to `ThreatCallback` for handling `Threat.timeSpoofing` threat (Android only)
  * We are introducing a new capability, detecting whether the device time has been tampered with
* Added `onLocationSpoofing` callback to `ThreatCallback` for handling `Threat.locationSpoofing` threat (Android only)
  * We are introducing a new capability, detecting whether the location is being spoofed on the device.
* Added `onUnsecureWifi` callback to `ThreatCallback` for handling `Threat.unsecureWifi` threat (Android only)
  * We are introducing a new capability, detecting whether the device is connected to an unsecured Wi-Fi network.
* Added `onAllChecksDone` callback to new `RaspExecutionStateCallback`
  * We are introducing a new callback that notifies when all security checks have been completed.

#### Removed

* Removed deprecated functionality `Pbkdf2Native` and both related native libraries (`libpbkdf2_native.so` and `libpolarssl.so`)

#### Changed

* Updated internal dependencies

### Version 7.2.2

#### Fixed

* **\[Android]** Fixed an issue with crashing screen protector

### Version 7.2.1

#### Fixed

* **\[iOS]** Fixed an issue with native framework

### Version: 7.2.0

#### New Feature

* Added interface for multi-instance detection

#### Improvement

* **\[iOS]** Added palera1n jailbreak detection
* **\[iOS]** Improved Dopamine jailbreak detection
* **\[Android]** Improved emulator detection
* **\[Android]** Added support for 16 KB pages

#### Fixed

* **\[iOS]** Resolved memory-related stability issues
* **\[Android]** Removed malware report duplicates

### Version: 7.1.0

#### New feature

* Added interface for screenshot / screen recording blocking on iOS.

**Improvements**

* Added interface for external ID storage.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
* **\[Android]** New root detection checks added.

**Fixed**

* Issue that caused compilation errors due to unknown references.
* **\[iOS]** Resolved an issue with the screen recording detection.
* **\[iOS]** Resolved an issue that prevented Xcode tests from running correctly.

### Version 7.0.0

#### Added

* `fvm` support for Flutter version management

#### **Changed**

* Updated versions for example app
* **\[Android]&#x20;**<mark style="color:red;">**Breaking**</mark>: Raised Kotlin version to `2.1.0`
* **\[Android]** Compile API increased to 35, dependencies updated
* **\[Android]** Internal library obfuscation reworked
* **\[Android]** Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
* **\[iOS]** Improvement of the obfuscation of the SDK
* **\[iOS]** Deep signing of the OpenSSL binaries

#### **Fixed**

* **\[Android]** ANR issues bug-fixing

### Version 6.12.0

#### New feature

* Added `screenshot` - detection of **screenshots**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `screenRecording` - detection of **screen recording**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `blockScreenCapture` for **FLAG\_SECURE** control, an **active protection against screen capturing.**
* Added `isScreenCaptureBlocked` - to receive whether the screen capture is blocked

#### **Changed**

* **\[Android]** Raised Android CompileSDK level to 35
* **\[Android]** Monitoring is now disabled by default

#### Improvement

* **\[Android]** Improved root detection

#### Bug Fix

* **\[Android]** Proguard rules to address warnings from okhttp dependency

### Version 6.11.0

#### Improvement

* **\[Android]** Added request integrity information to data collection headers.
* **\[Android]** Enhanced and accelerated the data collection logic.

### Version 6.10.0

#### Improvement

* App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the `getAppIcon` method
* **\[Android]** Malware data is now parsed on background thread to improve responsiveness.

### Version 6.9.0

#### New features

* **\[Android]** `onADBEnabled` callback, allowing you to detect USB debugging option enabled in the developer settings on the device.

### Version 6.8.0

#### New features and improvements

* **\[Android] Malware detection** as a new callback for enhanced app security.
* **\[Android]** Internal refactoring of Malware detection feature.
* **\[Android]** Refactoring Magisk checks in the root detection.
* **\[iOS]** Enhanced security with [**Serotonin Jailbreak**](https://github.com/SerotoninApp/Serotonin) **Detection** to identify compromised devices.

**Maintenance**

* **\[iOS]** Updated SDK code signing; it will now be signed with:
  * Team ID: PBDDS45LQS
  * Team Name: Lynx SFT s.r.o.

#### Bug Fix

* **\[Android]** Resolved IllegalArgumentException caused by unregistering not registered receiver in `TalsecMonitoringReceiver`

### Version 6.7.3

#### Improvement

* **\[iOS]** Renewed the signing certificate.

### Version 6.7.2

#### Bug Fix

* **\[Android]**  Reported ANR issues present on some devices were resolved ([GH Flutter issue #138](https://github.com/talsec/Free-RASP-Flutter/issues/138)).
* **\[Android]** Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved ([GH Flutter issue #140](https://github.com/talsec/Free-RASP-Flutter/issues/140)).
* **\[Android]** Reported crashes caused by the UnsupportedOperationException were resolved.

### Version 6.7.1

#### Bug Fix

* **\[Android]** False positives for hook detection.

### Version 6.7.0

#### New Feature

* **\[Android]** Added the auditing of the internal execution for the future check optimization and overall security improvements.
* **\[iOS]** [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.

#### Improvement

* Migration to [declarative Gradle plugin](https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply).
* Updated `CURL` to `8.8.0` and `OpenSSL` to `3.0.14` ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114)).
* **\[Android]** TalsecConfig creation was migrated to a Builder pattern.
* **\[Android]** Refactored fetching the list of installed applications for root and hook detection.
* **\[iOS]** Enhanced and accelerated the data collection logic.

#### Bug Fix

* **\[Android]** Native crashes (SEGFAULT) in `ifpip` method.
* **\[Android]** Fixed collision for command line tools (like ping) invoked without absolute path ([Github issue #41](https://github.com/talsec/Free-RASP-ReactNative/issues/41)).

### Version 6.6.0

#### New Feature

* Added new threat `Threat.systemVPN` for VPN detection.
* Added new callback `onSystemVPN` in `ThreatCallback` for handling `Threat.systemVPN` threat.
* **\[Android]** Added a new threat detection feature, `Threat.devMode`, to identify Developer mode.
* **\[Android]** Added a new callback `onDevMode` in `ThreatCallback` for handling `Threat.devMode` threat.

#### Improvement

* Increased minimal Dart SDK version to **2.18.0** and minimal Flutter version to **3.3.0**
* Updated the CA bundle to enhance security for secure connections.
* **\[Android]** Increased the version of the GMS dependency
* **\[iOS]** Passcode check is now performed periodically.

#### Bug Fix

* Resolved a problem in logging caused by the device’s default system locale

### Version 6.5.1

#### Improvement

* **\[Android]** New Talsec SDK artifact hosting - better stability and availibility.

### Version 6.5.0

#### New Feature

* **\[iOS]** Added Privacy Manifest.
* **\[iOS]** Added codesigning for the SDK, it is signed by:
  * Team ID: `ASQC376HCN`,
  * Team Name: `AHEAD iTec, s.r.o.`.

#### Improvement

* Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`.
* **\[Android]** Improved *appIntegrity* check and its logging.
* **\[iOS]** Improved obfuscation of Swift and C strings.

#### Bug Fix

* **\[Android]** Fixed issue with disappearing threats when the app is quickly put into the background and then back to the foreground (resolves [issue #91](https://github.com/talsec/Free-RASP-Flutter/issues/91)).
* **\[Android]** Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).

### Version 6.4.0

#### Improvement

* Improved reaction obfuscation.
* **\[iOS]** Improved obfuscation of the iOS SDK.
* **\[iOS]** Raised supported Xcode version to 14.3.1 .

#### Bug Fix

* **\[Android]** Fixed ProviderException.
* Fixed typo in namespace which caused incompatibility with AGP 8.0 .

Curious about more in-depth changes for Flutter? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-Flutter/releases) for the complete history of updates!
{% endtab %}

{% tab title="React Native" %}

### Latest Version: 4.3.2

#### React Native

**Fixed**

* Resolved potential NullPointerException when execution state events are being sent

### Version: 4.3.1

#### React Native

**Fixed**

* Resolved duplicate classes error on iOS [(issue #128)](https://github.com/talsec/Free-RASP-ReactNative/issues/128)

### Version: 4.3.0

#### React Native

**Added**

* Added `killOnBypass` to `TalsecConfig` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) ([Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65))
* Added API for `timeSpoofing` callback into `ThreatEventActions` (Android only)
* Added API for `unsecureWifi` callback into `ThreatEventActions` (Android only)
* Added API for `allChecksFinished` callback into new `RaspExecutionStateEventActions` object
* Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`

**Fixed**

* Resolved potential collision in threat identifiers

#### Android

**Added**

* Added `killOnBypass` method to the `TalsecConfig.Builder` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker [Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65)
* We are introducing a new capability, detecting whether the device time has been tampered with (`timeSpoofing`)
* We are introducing a new capability, detecting whether the location is being spoofed on the device (`locationSpoofing`)
* We are introducing a new capability, detection of unsecure WiFi (`unecureWifi`)
* Removed deprecated functionality `Pbkdf2Native` and both related native libraries (`libpbkdf2_native.so` and `libpolarssl.so`)
* Added new `RaspExecutionState` which contains `onAllChecksFinished()` method, which is triggered after all checks are completed.
* Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`
* New option to start Talsec, `Talsec.start()` takes new parameter `TalsecMode` that determines the dispatcher thread of initialization and sync checks (uses background thread by default)
* Capability to check if another app has an option `REQUEST_INSTALL_PACKAGES` enabled in the system settings to malware detection

**Fixed**

* ANR issue caused by `registerScreenCaptureCallback()` method on the main thread
* `NullPointerException` when checking key alias in Keystore on Android 7
* `JaCoCo` issue causing `MethodTooLargeException` during instrumentation
* `DeadApplicationException` when calling `Settings.Global.getInt` or `Settings.Secure.getInt` on invalid context
* `AndroidKeyStore` crashes causing `java.util.concurrent.TimeoutException` when calling `finalize()` method on `Cipher` (GC issues)
* Fixed issue with late initializers and `TalsecMode` coroutines scopes

**Changed**

* Shortened the value of threat detection interval
* Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
* Update of internal dependencies and security libraries

#### iOS

**Changed**

* Updated internal dependencies

### Version: 4.2.4

#### React Native

**Fixed**

* iOS dependencies are now installed via `install_modules_dependencies` by default

### Version: 4.2.3

#### Android

**Fixed**

* Root detection related bugs causing false positives

**Changed**

* Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)

### Version: 4.2.2

**Changed**

* Replaced deprecated `getCurrentActivity()` call on Android (compatibility with RN 0.81+)

### Version: 4.2.1

**Fixed**

* Possible conflict with other packages during proguard code minification

#### Android

**Fixed**

* Issue with empty `SharedPreferences` files

**Changed**

* Decreased version of `Kotlin` to `2.0.0`

### Version: 4.2.0

#### New Feature

* Added interface for multi-instance detection

#### Improvement

* **\[iOS]** Added palera1n jailbreak detection
* **\[iOS]** Improved Dopamine jailbreak detection
* **\[Android]** Improved emulator detection
* **\[Android]** Added support for 16 KB pages

#### Fixed

* **\[iOS]** Resolved memory-related stability issues
* **\[Android]** Removed malware report duplicates

### Version: 4.1.0

#### New feature

* Added interface for screenshot / screen recording blocking on iOS.

**Improvements**

* Added interface for external ID storage.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
* **\[Android]** New root detection checks added.

**Fixed**

* **\[iOS]** Resolved an issue with the screen recording detection.
* **\[iOS]** Resolved an issue that prevented Xcode tests from running correctly.

### Version 4.0.0

#### **Changed**

* Android SDK requires `kotlin_version` >= `2.0.0`&#x20;
* Set Java version to 17
* **\[Android]** Compile API increased to 35, dependencies updated
* **\[Android]** Internal library obfuscation reworked
* **\[Android]** Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
* **\[iOS]** Improvement of the obfuscation of the SDK
* **\[iOS]** Deep signing of the OpenSSL binaries

#### **Fixed**

* **\[Android]** ANR issues bug-fixing

### Version 3.14.0

#### New feature

* Added `screenshot` - detection of **screenshots**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `screenRecording` - detection of **screen recording**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `blockScreenCapture` for **FLAG\_SECURE** control, an **active protection against screen capturing.**
* Added `isScreenCaptureBlocked` - to receive whether the screen capture is blocked

#### **Changed**

* **\[Android]** Raised Android compileSDK level to 35

#### Improvement

* **\[Android]** Improved root detection

#### **Fixed**

* Compatibility issues with RN New Architecture
* **\[Android]** Added proguard rules for malware data serialization in release mode on Android
* **\[Android]** Proguard rules to address warnings from okhttp dependency

### Version 3.13.0

#### Improvement

* **\[Android]** Added request integrity information to data collection headers.
* **\[Android]** Enhanced and accelerated the data collection logic.

### Version 3.12.0

#### Improvement

* App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the `getAppIcon` method.
* Parsing of malware data is now async.
* **\[Android]** Malware data is now parsed on background thread to improve responsiveness.

### Version 3.11.0

#### New features

* **\[Android]** `adbEnabled` callback, allowing you to detect USB debugging option enabled in the developer settings on the device.

### Version 3.10.0

#### New features and improvements

* Added configuration fields for malware detection.
* **\[Android] Malware detection** as a new callback for enhanced app security.
* **\[Android]** Refactoring Magisk checks in the root detection.
* **\[iOS]** Enhanced security with [**Serotonin Jailbreak**](https://github.com/SerotoninApp/Serotonin) **Detection** to identify compromised devices.

**Maintenance**

* **\[iOS]** Updated SDK code signing; it will now be signed with:
  * Team ID: PBDDS45LQS
  * Team Name: Lynx SFT s.r.o.

### Version 3.9.3

#### Improvement

* **\[iOS]** Renewed the signing certificate.

### Version 3.9.2

#### Bug Fix

* **\[Android]** Reported ANR issues present on some devices were resolved ([GH Flutter issue #138](https://github.com/talsec/Free-RASP-Flutter/issues/138)).
* **\[Android]** Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved ([GH Flutter issue #140](https://github.com/talsec/Free-RASP-Flutter/issues/140)).
* **\[Android]** Reported crashes caused by the UnsupportedOperationException were resolved.

### Version 3.9.1

#### Bug Fix

* **\[Android]** False positives for hook detection.

### Version 3.9.0

#### New Feature

* **\[Android]** Added the auditing of the internal execution for the future check optimization and overall security improvements.
* **\[iOS]** [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.

#### Improvement

* Improved error messages when validation of the freeRASP configuration fails.
* Updated `CURL` to `8.8.0` and `OpenSSL` to `3.0.14` ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114)).
* **\[Android]** Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
* **\[Android]** Refactored fetching the list of installed applications for root and hook detection.

#### Bug Fix

* Fixed incorrect path to types in `package.json`.
* **\[Android]** Fixed native crashes (SEGFAULT errors) in `ifpip` method.
* **\[Android]** Fixed collision for command line tools (like ping) invoked without absolute path ([Github issue #41](https://github.com/talsec/Free-RASP-ReactNative/issues/41)).

### Version 3.8.2

#### Improvement

* Updated proguard rules to resolve build issues in RN 0.75.x.

### Version 3.8.0

#### New Feature

* Added a new threat `systemVPN` for VPN detection.
* **\[Android]** Added a new threat `devMode` for Developer mode detection.

#### Improvement

* Updated the CA bundle to enhance security for secure connections.
* **\[Android]** Updated the GMS dependency to a newer version for improved performance and compatibility.
* **\[iOS]** Enhanced and accelerated the data collection logic.
* **\[iOS]** Passcode check is now performed periodically.

#### Bug Fix

* Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
* **\[Android]** Fixed proguard warning in specific versions of RN.

### Version 3.7.2

#### Improvement

* Updated expo config plugin to fix release build issue in `RN 0.73`.

### Version 3.7.1

#### Improvement

* **\[Android]** Updated freeRASP SDK artifact hosting ensuring better stability and availibility.

#### Bug Fix

* **\[Android]** Fixed compatibility issues with `RN < 0.63`.

### Version 3.7.0

#### New Feature

* Added support for apps built with Expo SDK.
* **\[iOS]** Added Privacy Manifest.
* **\[iOS]** Added codesigning for the SDK, it is signed by:
  * Team ID: `ASQC376HCN`,
  * Team Name: `AHEAD iTec, s.r.o.`.

#### Improvement

* Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`.
* **\[Android]** Shortened duration of threat evaluation.
* **\[Android]** Improved *appIntegrity* check and its logging.
* **\[iOS]** Improved obfuscation of Swift and C strings.

#### Bug Fix

* **\[Android]** Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
* **\[iOS]** Fixed memory leak ([freeRASP iOS issue #13](https://github.com/talsec/Free-RASP-iOS/issues/13)).

Curious about more in-depth changes for React Native? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-ReactNative/releases) for the complete history of updates!
{% endtab %}

{% tab title="Cordova" %}
**Github Changelog:** <https://github.com/talsec/Free-RASP-Cordova/releases>

### Latest Version: 8.1.1

#### Android

**Fixed**

* Issue with empty `SharedPreferences` files

**Changed**

* Decreased version of `Kotlin` to `2.0.0`

### Version: 8.1.0

#### New Feature

* Added interface for multi-instance detection

#### Improvement

* **\[iOS]** Added palera1n jailbreak detection
* **\[iOS]** Improved Dopamine jailbreak detection
* **\[Android]** Improved emulator detection
* **\[Android]** Added support for 16 KB pages

#### Fixed

* **\[iOS]** Resolved memory-related stability issues
* **\[Android]** Removed malware report duplicates

### Version: 8.0.0

#### New feature

* Added interface for screenshot / screen recording blocking on iOS.

**Changed**

* Plugin now requires kotlin version >= 2.0.0.

**Improvements**

* Added interface for external ID storage.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
* **\[Android]** New root detection checks added.

**Fixed**

* **\[iOS]** Resolved an issue with the screen recording detection.
* **\[iOS]** Resolved an issue that prevented Xcode tests from running correctly.

### Version 7.4.1

#### **Changed**

* **\[Android]** Compile API increased to 35, dependencies updated
* **\[Android]** Internal library obfuscation reworked
* **\[Android]** Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
* **\[iOS]** Improvement of the obfuscation of the SDK
* **\[iOS]** Deep signing of the OpenSSL binaries

#### **Fixed**

* **\[Android]** ANR issues bug-fixing

### Version 7.4.0

#### New feature

* Added `screenshot` - detection of **screenshots**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `screenRecording` - detection of **screen recording**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `blockScreenCapture` for **FLAG\_SECURE** control, an **active protection against screen capturing.**
* Added `isScreenCaptureBlocked` - to receive whether the screen capture is blocked

#### **Changed**

* **\[Android]** Set following required SDK versions for Android plugin:
  * **minSdkVersion** 23
  * **targetSdkVersion** to 35
  * **compileSdkVersion** to 35

#### Improvement

* **\[Android]** Improved root detection

#### **Fixed**

* **\[Android]** Proguard rules to address warnings from okhttp dependency

### Version 7.3.0

#### Improvement

* **\[Android]** Added request integrity information to data collection headers.
* **\[Android]** Enhanced and accelerated the data collection logic.

### Version 7.2.0

#### Improvement

* App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the `getAppIcon` method.
* Parsing of malware data is now async.
* **\[Android]** Malware data is now parsed on background thread to improve responsiveness.

### Version 7.1.0

#### New features

* **\[Android]** `adbEnabled` callback, allowing you to detect USB debugging option enabled in the developer settings on the device.

### Version 7.0.0

#### New features and improvements

* Added configuration fields for malware detection.
* **\[Android] Malware detection** as a new callback for enhanced app security.
* **\[Android]** Refactoring Magisk checks in the root detection.
* **\[iOS]** Enhanced security with [**Serotonin Jailbreak**](https://github.com/SerotoninApp/Serotonin) **Detection** to identify compromised devices.

**Maintenance**

* <mark style="color:red;">**BREAKING CHANGE:**</mark> New dependency is required to run freeRASP; add following plugin to `android/build.gradle`:

```gradle
plugins {
    id 'org.jetbrains.kotlin.plugin.serialization' version '1.7.10'
}
```

* **\[iOS]** Updated SDK code signing; it will now be signed with:
  * Team ID: PBDDS45LQS
  * Team Name: Lynx SFT s.r.o.

#### Bug Fix

* **\[Android]** Resolved IllegalArgumentException caused by unregistering not registered receiver in `TalsecMonitoringReceiver`

### Version 6.3.3

#### Improvement

* **\[iOS]** Renewed the signing certificate.

### Version 6.3.2

#### Bug Fix

* **\[Android]** Reported ANR issues present on some devices were resolved ([GH Flutter issue #138](https://github.com/talsec/Free-RASP-Flutter/issues/138)).
* **\[Android]** Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved ([GH Flutter issue #140](https://github.com/talsec/Free-RASP-Flutter/issues/140)).
* **\[Android]** Reported crashes caused by the UnsupportedOperationException were resolved.

### Version 6.3.1

#### Bug Fix

* **\[Android]** False positives for hook detection.

### Version 6.3.0

#### New Feature

* **\[Android]** Added the auditing of the internal execution for the future check optimization and overall security improvements.
* **\[iOS]** [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.

#### Improvement

* Improved error messages when validation of the freeRASP configuration fails.
* Updated `CURL` to `8.8.0` and `OpenSSL` to `3.0.14` ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114)).
* **\[Android]** Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
* **\[Android]** Refactored fetching the list of installed applications for root and hook detection.
* **\[iOS]** Enhanced and accelerated the data collection logic.

#### Bug Fix

* **\[Android]** Fixed native crashes (SEGFAULT errors) in `ifpip` method.
* **\[Android]** Fixed collision for command line tools (like ping) invoked without absolute path ([Github issue #41](https://github.com/talsec/Free-RASP-ReactNative/issues/41)).

### Version 6.2.0

#### New Feature

* Added a new threat `systemVPN` for VPN detection.
* **\[Android]** Added a new threat `devMode` for Developer mode detection.

#### Improvement

* Updated the CA bundle to enhance security for secure connections.
* **\[Android]** Updated the GMS dependency to a newer version for improved performance and compatibility.
* **\[iOS]** Passcode check is now performed periodically.

#### Bug Fix

* Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.

### Version 6.1.3

#### Bug Fix

* Fixed BAD\_ACCESS error occurring in specific versions of `cordova-ios` plugin ([#28](https://github.com/talsec/Free-RASP-Cordova/issues/28)).

### Version 6.1.2

#### Bug Fix

* **\[Android]** Removed the talsec namespace that caused change of namespaces for whole app.
* **\[iOS]** Fixed issue causing app crash with lower versions of `cordova-ios` plugin.

### Version 6.1.1

#### Improvement

* **\[Android]** Updated freeRASP SDK artifact hosting ensuring better stability and availibility.

Curious about more in-depth changes for Cordova? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-Cordova/releases) for the complete history of updates!
{% endtab %}

{% tab title="Capacitor" %}
**Github Changelog:** <https://github.com/talsec/Free-RASP-Capacitor/releases>

### Latest Version: 2.3.0

#### New Feature

* **\[Android]** Added `killOnBypass` to `TalsecConfig` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) ([Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65))
* Added API for `timeSpoofing` callback into `ThreatEventActions` (Android only)
* Added API for `unsecureWifi` callback into `ThreatEventActions` (Android only)
* Added API for `allChecksFinished` callback into new `RaspExecutionStateEventActions` object
* **\[Android]** Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`

#### Improvement

* **\[Android]** Added `killOnBypass` method to the `TalsecConfig.Builder` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker [Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65)
* We are introducing a new capability, detecting whether the device time has been tampered with (`timeSpoofing`)
* We are introducing a new capability, detecting whether the location is being spoofed on the device (`locationSpoofing`)
* We are introducing a new capability, detection of unsecure WiFi (`unecureWifi`)
* Removed deprecated functionality `Pbkdf2Native` and both related native libraries (`libpbkdf2_native.so` and `libpolarssl.so`)
* Added new `RaspExecutionState` which contains `onAllChecksFinished()` method, which is triggered after all checks are completed.
* **\[Android]** Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`
* **\[Android]** New option to start Talsec, `Talsec.start()` takes new parameter `TalsecMode` that determines the dispatcher thread of initialization and sync checks (uses background thread by default)
* **\[Android]** Capability to check if another app has an option `REQUEST_INSTALL_PACKAGES` enabled in the system settings to malware detection

#### Changed

* **\[Android]** Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)
* **\[Android]** Shortened the value of threat detection interval
* **\[Android]** Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
* **\[Android]** Update of internal dependencies and security libraries
* **\[iOS]** Updated internal dependencies

#### Fixed

* **\[Android]** Resolved potential collision in threat identifiers
* **\[Android]** Root detection related bugs causing false positives
* **\[Android]** ANR issue caused by `registerScreenCaptureCallback()` method on the main thread
* **\[Android]** `NullPointerException` when checking key alias in Keystore on Android 7
* **\[Android]** `JaCoCo` issue causing `MethodTooLargeException` during instrumentation
* **\[Android]** `DeadApplicationException` when calling `Settings.Global.getInt` or `Settings.Secure.getInt` on invalid context
* **\[Android]** `AndroidKeyStore` crashes causing `java.util.concurrent.TimeoutException` when calling `finalize()` method on `Cipher` (GC issues)
* **\[Android]** Fixed issue with late initializers and `TalsecMode` coroutines scopes

### Version: 2.2.2

#### New Feature

* **\[Android]** Added `killOnBypass` to `TalsecConfig` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) ([Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65))
* Added API for `timeSpoofing` callback into `ThreatEventActions` (Android only)
* Added API for `unsecureWifi` callback into `ThreatEventActions` (Android only)
* Added API for `allChecksFinished` callback into new `RaspExecutionStateEventActions` object
* **\[Android]** Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`

#### Improvement

* **\[Android]** Added `killOnBypass` method to the `TalsecConfig.Builder` that configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker [Issue 65](https://github.com/talsec/Free-RASP-Android/issues/65)
* We are introducing a new capability, detecting whether the device time has been tampered with (`timeSpoofing`)
* We are introducing a new capability, detecting whether the location is being spoofed on the device (`locationSpoofing`)
* We are introducing a new capability, detection of unsecure WiFi (`unecureWifi`)
* Removed deprecated functionality `Pbkdf2Native` and both related native libraries (`libpbkdf2_native.so` and `libpolarssl.so`)
* Added new `RaspExecutionState` which contains `onAllChecksFinished()` method, which is triggered after all checks are completed.
* **\[Android]** Added matched permissions to `SuspiciousAppInfo` object when malware detection reason is `suspiciousPermission`
* **\[Android]** New option to start Talsec, `Talsec.start()` takes new parameter `TalsecMode` that determines the dispatcher thread of initialization and sync checks (uses background thread by default)
* **\[Android]** Capability to check if another app has an option `REQUEST_INSTALL_PACKAGES` enabled in the system settings to malware detection

#### Changed

* **\[Android]** Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)
* **\[Android]** Shortened the value of threat detection interval
* **\[Android]** Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
* **\[Android]** Update of internal dependencies and security libraries
* **\[iOS]** Updated internal dependencies

#### Fixed

* **\[Android]** Resolved potential collision in threat identifiers
* **\[Android]** Root detection related bugs causing false positives
* **\[Android]** ANR issue caused by `registerScreenCaptureCallback()` method on the main thread
* **\[Android]** `NullPointerException` when checking key alias in Keystore on Android 7
* **\[Android]** `JaCoCo` issue causing `MethodTooLargeException` during instrumentation
* **\[Android]** `DeadApplicationException` when calling `Settings.Global.getInt` or `Settings.Secure.getInt` on invalid context
* **\[Android]** `AndroidKeyStore` crashes causing `java.util.concurrent.TimeoutException` when calling `finalize()` method on `Cipher` (GC issues)
* **\[Android]** Fixed issue with late initializers and `TalsecMode` coroutines scopes

### Version: 2.2.1

#### Changed

* **\[Android]** Issue with empty `SharedPreferences` files

#### Fixed

* **\[Android]** Decreased version of `Kotlin` to `2.0.0`

### Version: 2.2.0

#### New Feature

* Added interface for multi-instance detection

#### Improvement

* **\[iOS]** Added palera1n jailbreak detection
* **\[iOS]** Improved Dopamine jailbreak detection
* **\[Android]** Improved emulator detection
* **\[Android]** Added support for 16 KB pages

#### Fixed

* **\[iOS]** Resolved memory-related stability issues
* **\[Android]** Removed malware report duplicates

### Version: 2.1.0

#### New feature

* Added interface for screenshot / screen recording blocking on iOS.

#### **Improvements**

* Added interface for external ID storage.
* Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
* **\[Android]** New root detection checks added.

#### **Fixed**

* **\[iOS]** Resolved an issue with the screen recording detection.
* **\[iOS]** Resolved an issue that prevented Xcode tests from running correctly.

### Version 2.0.0

#### **Changed**

* Android SDK requires `kotlin_version` >= `2.0.0`&#x20;
* **\[Android]** Compile API increased to 35, dependencies updated
* **\[Android]** Internal library obfuscation reworked
* **\[Android]** Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
* **\[iOS]** Improvement of the obfuscation of the SDK
* **\[iOS]** Deep signing of the OpenSSL binaries

#### **Fixed**

* **\[Android]** ANR issues bug-fixing

### Version 1.10.0

#### New feature

* Added `screenshot` - detection of **screenshots**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `screenRecording` - detection of **screen recording**, refer to the [freeRASP integration documentation](https://docs.talsec.app/freerasp/integration/flutter).
* Added `blockScreenCapture` for **FLAG\_SECURE** control, an **active protection against screen capturing.**
* Added `isScreenCaptureBlocked` - to receive whether the screen capture is blocked

#### **Changed**

* **\[Android]** Raised Android compileSDK level to 35
* **\[Android]** Set minifyEnabled in plugin to true implicitly

#### Improvement

* **\[Android]** Improved root detection

#### **Fixed**

* **\[Android]** Proguard rules to address warnings from okhttp dependency

### Version 1.9.0

#### Improvement

* **\[Android]** Added request integrity information to data collection headers.
* **\[Android]** Enhanced and accelerated the data collection logic.

### Version 1.8.0

#### Improvement

* App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the `getAppIcon` method.
* Parsing of malware data is now async.
* **\[Android]** Malware data is now parsed on background thread to improve responsiveness.

### Version 1.7.0

#### New features

* **\[Android]** `adbEnabled` callback, allowing you to detect USB debugging option enabled in the developer settings on the device.

### Version 1.6.0

#### New features

* Added configuration fields for malware detection.
* **\[Android] Malware detection** as a new callback for enhanced app security.
* **\[Android]** Refactoring Magisk checks in the root detection.
* **\[iOS]** Enhanced security with [**Serotonin Jailbreak**](https://github.com/SerotoninApp/Serotonin) **Detection** to identify compromised devices.

**Maintenance**

* **\[iOS]** Updated SDK code signing; it will now be signed with:
  * Team ID: PBDDS45LQS
  * Team Name: Lynx SFT s.r.o.

**Bug Fix**

* Resolved compatibilty issues with JDK 21 [(issue #21)](https://github.com/talsec/Free-RASP-Capacitor/issues/21)

### Version 1.5.3

#### Improvement

* **\[iOS]** Renewed the signing certificate.

### Version 1.5.2

#### Bug Fix

* **\[Android]** Reported ANR issues present on some devices were resolved ([GH Flutter issue #138](https://github.com/talsec/Free-RASP-Flutter/issues/138)).
* **\[Android]** Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved ([GH Flutter issue #140](https://github.com/talsec/Free-RASP-Flutter/issues/140)).
* **\[Android]** Reported crashes caused by the UnsupportedOperationException were resolved.

### Version 1.5.1

#### Bug Fix

* **\[Android]** False positives for hook detection.

### Version 1.5.0

#### New Feature

* **\[Android]** Added the auditing of the internal execution for the future check optimization and overall security improvements.
* **\[iOS]** [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.

#### Improvement

* Improved error messages when validation of the freeRASP configuration fails.
* Updated `CURL` to `8.8.0` and `OpenSSL` to `3.0.14` ([Github issue #114](https://github.com/talsec/Free-RASP-Flutter/issues/114)).
* **\[Android]** Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
* **\[Android]** Refactored fetching the list of installed applications for root and hook detection.
* **\[iOS]** Enhanced and accelerated the data collection logic.

#### Bug Fix

* **\[Android]** Fixed native crashes (SEGFAULT errors) in `ifpip` method.
* **\[Android]** Fixed collision for command line tools (like ping) invoked without absolute path ([Github issue #41](https://github.com/talsec/Free-RASP-ReactNative/issues/41)).

### Version 1.4.0

#### New Feature

* Added a new threat `systemVPN` for VPN detection.
* **\[Android]** Added a new threat `devMode` for Developer mode detection.

#### Improvement

* Updated the CA bundle to enhance security for secure connections.
* **\[Android]** Updated the GMS dependency to a newer version for improved performance and compatibility.
* **\[iOS]** Passcode check is now performed periodically.

#### Bug Fix

* Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.

### Version 1.3.1

#### Improvement

* **\[Android]** Updated freeRASP SDK artifact hosting ensuring better stability and availibility.

### Version 1.3.0

#### New Feature

* **\[iOS]** Added Privacy Manifest.
* **\[iOS]** Added codesigning for the SDK, it is signed by:
  * Team ID: `ASQC376HCN`,
  * Team Name: `AHEAD iTec, s.r.o.`.

#### Improvement

* Updated `CURL` to `8.5.0` and `OpenSSL` to `1.1.1w`.
* **\[Android]** Shortened duration of threat evaluation.
* **\[Android]** Improved *appIntegrity* check and its logging.
* **\[iOS]** Improved obfuscation of Swift and C strings.

#### Bug Fix

* **\[Android]** Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
* **\[iOS]** Fixed memory leak ([freeRASP iOS issue #13](https://github.com/talsec/Free-RASP-iOS/issues/13))

### Version 1.2.1

* **\[Android]** Fixed bug that prevented firing callbacks in specific situations.
* **\[iOS]** Fixed bug that caused app being killed in specific situations ([#42](https://github.com/talsec/Free-RASP-ReactNative/issues/42)).

Curious about more in-depth changes for Capacitor? Head over to our [GitHub Changelog](https://github.com/talsec/Free-RASP-Capacitor/releases) for the complete history of updates!
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.talsec.app/freerasp/freerasp/whats-new-and-changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
