All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- CHANGELOG now adheres to the Keep a Changelog format.
- ⚡ Added new threat
systemVPN
for VPN detection - 📄 Documentation updates
- ⚡ Added new threat
devMode
for Developer mode detection - ⚡ Enhanced and accelerated the data collection logic
- ⚡ Fixed proguard warning in specific versions of RN
- ⚡ Fixed issue with Arabic alphabet in logs caused by the device’s default system locale
- ✔️ Increased the version of the GMS dependency
- ✔️ Updated CA bundle
- ⚡ Fixed issue with Arabic alphabet in logs caused by the device’s default system locale
- ⚡ Passcode check is now periodical
- ✔️ Updated CA bundle
- ⚡ Update expo config plugin to fix release build issue in RN 0.73
- ⚡ Updated freeRASP SDK artifact hosting ensuring better stability and availibility
- ⚡ Fixed compatibility issues with RN < 0.63
- ⚡ Added support for apps built with Expo SDK
- 📄 Documentation updates
- ⚡ Shortened duration of threat evaluation
- ⚡ Fixed a native crash bug during one of the native root checks (detected after NDK upgrade)
- ⚡ Improved appIntegrity check and its logging
- ⚡ Updated
CURL
to8.5.0
andOpenSSL
to1.1.1w
- ❗ Added Privacy Manifest
- ❗ Added codesigning for the SDK, it is signed by:
- Team ID:
ASQC376HCN
- Team Name:
AHEAD iTec, s.r.o.
- Team ID:
- ⚡ Improved obfuscation of Swift and C strings
- ⚡ Fixed memory leak (freeRASP iOS issue #13)
- ⚡ Updated
CURL
to8.5.0
andOpenSSL
to1.1.1w
- 📄 Documentation updates
- ⚡ Fixed bug that caused app being killed in specific situations (#42)
- ⚡ Improved reaction obfuscation
- 📄 Documentation updates
- ⚡ Fixed ProviderException which could be occassionally triggered
- ⚡ Fixed bug causing incompatibility with some versions of React Native (#38)
- ❗ Raised supported Xcode version to 14.3.1
- ⚡ Improved SDK obfuscation
⚠️ Updated thetalsecStart()
method to returnPromise<string>
. If freeRASP starts successfuly, the method will returnfreeRASP started
string. There are not any changes of the interface if you are using the provideduseFreeRasp
hook.- ⚡ Improved the message passing between native iOS/Android and React Native sides
- ✔️ Restricted message passing to valid callbacks only. If an invalid callback is received, the SDK will kill the app
- 📄 Documentation updates and improvements
- ✔️ updated CA bundle for logging pinning
- ✔️ added error logging of network issues within the logging process
- ✔️ added retry politics for logging
- ⚡ fixed issue with DeadObjectException on Android 5 and 6 caused by excessive PackageManager.queryIntentActivities() usage
- ⚡ improved root detection capabilities
- ✔️ Removed PolarSSL native library
- ✔️ Fixed issue with denied USE_BIOMETRICS permission
- ✔️ Added support for AGP 8.0
- ⚡ Fixed issue with incorrect Keystore type detection on Android 11 and above (talsec/Free-RASP-Flutter#77)
- ⚡ Reduced timeout period for logging from 20 sec to 5 sec
- ⚡ Logging is now async in all calls
- ❗ BREAKING CHANGE: Raised minimum supported Android version to 6.0 (API level 23)
- ✔️ Removed deprecated BouncyCastle dependency that could cause errors in the build phase
- ✔️ Fixed issue that could cause NullPointerException
- 🆕 Added new
obfuscationIssues
check, which is triggered when freeRASP doesn't detect any obfuscation of the source code
⚠️ passcodeChange
check has been deprecated- 🛠️ Refactored the code base
- ✔️ Fixed issue with metadata in iOS framework
- 📄 Documentation updates and improvements
- 📄 Documentation updates and improvements
- 📄 Documentation updates and improvements
Most of the changes relates to accomodating a new way of choosing between the dev and release version of the SDK. There are also some breaking changes in the API, such as renaming parameters and changing types of callbacks. Android has also removed the HMS dependencies and improved the root detection capabilities.
- ❗ BREAKING API CHANGE: Renamed 'device binding' to deviceBinding
- ❗ This allows us to remove apostrophes from other callbacks, too. E.g. 'privilegedAccess' to privilegedAccess
- ❗ Added isProd boolean parameter, which now differentiates between the release (true) and dev (false) version of the SDK. By default set to true
- ❗ androidConfig and iosConfig are from now on optionals, you can omit a platform if you are not developing for it
- ❗ Removed the HMS dependencies
- ❗ Only one version of the SDK is used from now on, instead of two separate for dev and release
- ❗ The app's build.gradle does not have to be modified now
- ⚡ Improved root detection accuracy by moving the 'ro.debuggable' property state to an ignored group
- ⚡ Enhanced root detection capabilities by moving the selinux properties check to device state
- ⚡ Fine-tuning root evaluation strategy
- ❗ Removed one of the xcframeworks
- ❗ Removed the dependency on the symlinks choosing the proper version (release/dev)
- ❗️ Removed pre-built script for changing the Debug and Release versions
- 📄 Documentation updates and improvements
- ⚡ Updated demo app for new implementation
We are proud to share with you the first batch of improvements of freeRASP!
Android devices now support device state listeners. What's more, we unified remaining Android and iOS interfaces for more convenient developer's experience.
- 🆕 Android now has support for device state callbacks:
- 📲
Secure Hardware Not Available
: fires when hardware-backed KeyStore is not available - 📲
Passcode
: fires when freeRASP detects that device is not secured with any type of lock
- 📲
- ❗ BREAKING API CHANGE: Renamed
Missing Secure Enclave
toSecure Hardware Not Available
to match the newly added Android callback. The functionality remains unchanged.
- 📄 Documentation updates and improvements
- Initial release of freeRASP.