Skip to content

Releases: talsec/Free-RASP-Android

18.3.0

19 May 07:46
afd03f8

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[18.3.0]

Breaking Changes

  • ❗️Breaking: Modified property reason (of type String) in SuspiciousAppInfo to reasons (to type Set<String>)
  • ❗️Breaking: One of the reasons in SuspiciousAppInfo renamed from blacklist to blocklist

Added

  • Added a new sub-check for HMA detection to the root detector
  • Added a new sub-check for KernelSU detection to the root detector
  • Added a new sub-check for Frida Server detection to the hook detector
  • Added Huawei App Market provider to HMA detection queries
  • New API class SuspiciousAppDetectionConfig that can be used to configure malware detection
  • New API for Malware detection configuration in TalsecConfig, look at the TalsecConfig.Builder#suspiciousAppDetection
  • Added option to fetch JitPack dependencies from our own Talsec repository (https://europe-west3-maven.pkg.dev/talsec-artifact-repository/common)

Changed

  • Fine-tuned KernelSU detection
  • Fine-tuned hook detection
  • Fine-tuned location spoofing detection
  • Modified malware incident log structure for better aggregation
  • Old malware configuration API methods in TalsecConfig.Builder were tagged as deprecated (but remain functional); this applies to blacklistedPackageNames, blacklistedHashes, suspiciousPermissions, whitelistedInstallationSources

Fixed

  • Fixed VerifyError caused by JaCoCo bytecode instrumentation
  • Fixed a potential cause of crash in the multi-instance detector
  • Fixed crash caused by unhandled SecurityException thrown by UsageStatsManager in root detection
  • Fixed manifest merge conflicts in HMA detection providers
  • Fixed Java interoperability of ScreenProtector methods
  • Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)

18.0.4

24 Feb 16:13
f3760ef

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[18.0.4]

Added

  • Added new detection check for KernelSU

Fixed

  • Fixed memory management issues in the native code
  • Patched possibility of getInstalledPackages throwing DeadSystemException
  • Patched possibility of getNetworkCapabilities throwing SecurityException
  • Fixed well-known issue of Cipher.init throwing KeyStoreConnectException

Removed

  • Removed deprecated monitoring feature

18.0.2

10 Feb 16:14
bc662fa

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[18.0.2]

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

Added

  • Added support for KernelSU to the existing root detection capabilities

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
  • Refactoring of signature verification code
  • Removed unused library tmlib
  • Merged internal shared libraries into a single one, reducing the final APK size

Fixed

  • Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
  • Fixed manifest queries merge
  • Fixed ScreenProtector crash during activity start and permissions request
  • Fixed screen recording detection callback
  • Fixed exception handling for the KeyStore getEntry operation
  • Fixed issue with late initializers and TalsecMode coroutines scopes

17.0.0

23 Oct 13:11
9e3d652

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[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
  • ❗️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

16.0.1

17 Jul 11:17
e36c9f7

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[16.0.1] - 2025-07-15

Breaking Change

  • ❗️Breaking: Added onMultiInstanceDetected() callback
    • Detecting whether the application is installed/running in various multi-instancing environments (e.g. Parallel Space)

Added

  • Added support for 16 KB memory page sizes

Changed

  • The ADB service running as "root" is a signal for root detection
  • Improved emulator detection
  • Internal security improvements

Fixed

  • Removed malware report duplicates

15.1.0

13 May 09:27
b386bd7

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[15.1.0] - 2025-05-13

Added

  • 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.

Changed

  • Added new root detection checks

Fixed

  • Resolved SecurityException caused by getNetworkCapabilities() - Android 11 specific bug (GH Android issue #56)

15.0.0

27 Mar 15:04
f66b509

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[15.0.0] - 2025-03-24

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

14.0.1

31 Jan 15:26
2062044

Choose a tag to compare

Check out the full changelog to stay updated on new features, improvements, and the complete history of changes: https://docs.talsec.app/freerasp/whats-new-and-changelog

[14.0.1] - 2025-01-30

Breaking Change

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

Fixed

  • Updated proguard rules to fix warnings from okhttp dependency.

freeRASP 13.2.0

29 Dec 22:36
5073306

Choose a tag to compare

[13.2.0] - 2024-12-29

Added

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

freeRASP 13.0.0

20 Nov 10:41
2ade0d4

Choose a tag to compare

[13.0.0] - 2024-11-20

Changed

  • ❗️Breaking: 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