From 8691223030dd17a9089b79709c43554ec0c7c11d Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Wed, 23 Sep 2026 14:00:48 +0200 Subject: [PATCH 01/11] chore(android): bump Talsec SDK to 19.3.1 --- android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 740a874..3cc736d 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -105,7 +105,7 @@ dependencies { implementation "com.facebook.react:react-native:$react_native_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" - implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:19.2.3" + implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:19.3.1" } if (isNewArchitectureEnabled()) { From 30c5879daf0eab06703b7435a08970984da64d12 Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Wed, 30 Sep 2026 14:32:53 +0200 Subject: [PATCH 02/11] feat(android): apply the Talsec Gradle plugin in host mode --- android/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/android/build.gradle b/android/build.gradle index 3cc736d..25a1422 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,6 +6,7 @@ buildscript { repositories { google() mavenCentral() + maven { url 'https://europe-west3-maven.pkg.dev/talsec-artifact-repository/plugin' } } dependencies { @@ -13,6 +14,8 @@ buildscript { // noinspection DifferentKotlinGradleVersion classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" + // TODO: set the real version once app.talsec.plugin with wrapper support is released + classpath 'app.talsec.plugin:talsec-security-plugin:1.1.0' } } @@ -23,6 +26,7 @@ def isNewArchitectureEnabled() { apply plugin: "com.android.library" apply plugin: "kotlin-android" apply plugin: 'kotlinx-serialization' +apply plugin: 'app.talsec.plugin' if (isNewArchitectureEnabled()) { apply plugin: "com.facebook.react" @@ -53,6 +57,8 @@ def getMaxVersion(name) { android { compileSdk getMaxVersion("compileSdk") + talsec { hostAppIdentity = true } + defaultConfig { minSdkVersion getIntegerDefault("minSdkVersion") targetSdkVersion getIntegerDefault("targetSdkVersion") From 4a7eec298e97bf0d331872e08e7acf30d0db410f Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Wed, 30 Sep 2026 14:28:53 +0200 Subject: [PATCH 03/11] fix(expo): accept the config plugin without options --- package.json | 2 +- plugin/build/index.d.ts | 2 +- plugin/build/index.js | 2 +- plugin/src/index.ts | 5 ++++- plugin/tests/pluginProps.test.js | 15 +++++++++++++++ 5 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 plugin/tests/pluginProps.test.js diff --git a/package.json b/package.json index 2f31c79..6e8f2e8 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "prettier": "prettier \"**/*.{ts,js}\"", "prepack": "bob build && yarn build:plugin", "build": "bob build", - "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js", + "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js && node plugin/tests/pluginProps.test.js", "example": "yarn --cwd example", "bootstrap": "yarn example && yarn install && yarn example pods", "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build", diff --git a/plugin/build/index.d.ts b/plugin/build/index.d.ts index 078b0fa..b693706 100644 --- a/plugin/build/index.d.ts +++ b/plugin/build/index.d.ts @@ -1,4 +1,4 @@ import { type ConfigPlugin } from '@expo/config-plugins'; import { type PluginConfigType } from './pluginConfig'; -declare const _default: ConfigPlugin; +declare const _default: ConfigPlugin; export default _default; diff --git a/plugin/build/index.js b/plugin/build/index.js index fc6c8fd..4dd4a07 100644 --- a/plugin/build/index.js +++ b/plugin/build/index.js @@ -108,7 +108,7 @@ const withRnTalsecIos = (config, props) => { config = withFreeraspIosPodfile(config, { spmEnabled }); return config; }; -const withRnTalsecApp = (config, props) => { +const withRnTalsecApp = (config, props = {}) => { config = withBuildscriptDependency(config); config = withAndroidMinSdkVersion(config, props); config = withAndroidR8Version(config, props); diff --git a/plugin/src/index.ts b/plugin/src/index.ts index 438a59b..6a0f5ef 100644 --- a/plugin/src/index.ts +++ b/plugin/src/index.ts @@ -157,7 +157,10 @@ const withRnTalsecIos: ConfigPlugin = (config, props) => { return config; }; -const withRnTalsecApp: ConfigPlugin = (config, props) => { +const withRnTalsecApp: ConfigPlugin = ( + config, + props: PluginConfigType = {} +) => { config = withBuildscriptDependency(config); config = withAndroidMinSdkVersion(config, props); config = withAndroidR8Version(config, props); diff --git a/plugin/tests/pluginProps.test.js b/plugin/tests/pluginProps.test.js new file mode 100644 index 0000000..fb0fd21 --- /dev/null +++ b/plugin/tests/pluginProps.test.js @@ -0,0 +1,15 @@ +/* eslint-env node */ + +const assert = require('assert').strict; +const withRnTalsecApp = require('../build').default; + +const expoConfig = () => ({ name: 'example', slug: 'example' }); + +assert.doesNotThrow(() => withRnTalsecApp(expoConfig())); +assert.doesNotThrow(() => withRnTalsecApp(expoConfig(), undefined)); +assert.doesNotThrow(() => withRnTalsecApp(expoConfig(), {})); +assert.doesNotThrow(() => + withRnTalsecApp(expoConfig(), { android: { minSdkVersion: 26 } }) +); + +console.log('pluginProps tests passed'); From f97b3331011b6cbb8dc1c60e82f656ee8593e00a Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Wed, 30 Sep 2026 14:32:53 +0200 Subject: [PATCH 04/11] release: freeRASP 5.3.0 (Android SDK 19.3.1) --- CHANGELOG.md | 22 ++++++++++++++++------ package.json | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2acce3..d4c0849 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,20 +5,30 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [5.2.3] - 2026-10-05 +## [5.3.0] - 2026-09-30 -- Android SDK version: 19.2.3 -- iOS SDK version: 8.0.1 +- Android SDK version: 19.3.1 +- iOS SDK version: 7.1.4 -### iOS +### React Native #### Changed -- Improved logging structure and data enrichment for better Portal insights/reports. +- Android builds now request a license token from Talsec through the `app.talsec.plugin` Gradle plugin, applied by freeRASP automatically #### Fixed -- Fixed usage of `_dyld_get_shared_cache_range`. +- Expo config plugin no longer fails when added to `app.json` without options + +### Android + +#### Changed + +- Changed Talsec integration from Maven dependency to the `app.talsec.plugin` Gradle plugin with `talsec { }` configuration block + +#### Fixed + +- Root detection related bugs causing false positives ## [5.2.2] - 2026-09-29 diff --git a/package.json b/package.json index 6e8f2e8..b61df6a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "freerasp-react-native", - "version": "5.2.3", + "version": "5.3.0", "description": "React Native plugin for improving app security and threat monitoring on Android and iOS mobile devices.", "main": "lib/commonjs/index", "module": "lib/module/index", From 27ca42672141151fd974e74e063d3ae182c748c0 Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Tue, 20 Oct 2026 16:23:16 +0200 Subject: [PATCH 05/11] feat(android): configure the Talsec plugin with sdkVersion and platform --- CHANGELOG.md | 1 + android/build.gradle | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4c0849..12ab0dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Android SDK version: 19.3.1 - iOS SDK version: 7.1.4 +- Talsec Gradle plugin version: 1.1.0 ### React Native diff --git a/android/build.gradle b/android/build.gradle index 25a1422..71ded90 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -57,7 +57,10 @@ def getMaxVersion(name) { android { compileSdk getMaxVersion("compileSdk") - talsec { hostAppIdentity = true } + talsec { + sdkVersion = "19.3.1" + platform = "ReactNative" + } defaultConfig { minSdkVersion getIntegerDefault("minSdkVersion") @@ -111,7 +114,6 @@ dependencies { implementation "com.facebook.react:react-native:$react_native_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1" - implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-ReactNative:19.3.1" } if (isNewArchitectureEnabled()) { From ed1655835adf2888626315966e6e658ba6056406 Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Tue, 20 Oct 2026 17:37:09 +0200 Subject: [PATCH 06/11] docs(changelog): state the Android Gradle Plugin 8.3 requirement --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12ab0dc..416e521 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### Changed - Changed Talsec integration from Maven dependency to the `app.talsec.plugin` Gradle plugin with `talsec { }` configuration block +- The Talsec Gradle plugin requires the app to build with Android Gradle Plugin 8.3 or newer #### Fixed From 58664d1a5b5fbbfedc6bad2c0dd9a4b07f00b3f8 Mon Sep 17 00:00:00 2001 From: martinzigrai Date: Wed, 4 Nov 2026 16:57:47 +0100 Subject: [PATCH 07/11] chore: finalize the Talsec Gradle plugin at 1.1.0 Drop the internal plugin version from the changelog and the TODO next to the plugin reference, since 1.1.0 is the release version. --- CHANGELOG.md | 1 - android/build.gradle | 1 - 2 files changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 416e521..7225f56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Android SDK version: 19.3.1 - iOS SDK version: 7.1.4 -- Talsec Gradle plugin version: 1.1.0 ### React Native diff --git a/android/build.gradle b/android/build.gradle index 71ded90..0c1c820 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -14,7 +14,6 @@ buildscript { // noinspection DifferentKotlinGradleVersion classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" - // TODO: set the real version once app.talsec.plugin with wrapper support is released classpath 'app.talsec.plugin:talsec-security-plugin:1.1.0' } } From acdc5e231e3d32f4541acea76a558bf502b9ca20 Mon Sep 17 00:00:00 2001 From: Tomas Psota Date: Mon, 9 Nov 2026 12:19:23 +0100 Subject: [PATCH 08/11] release: freeRASP 5.3.0 (Android SDK 19.3.1) Rebased onto master (5.2.3). Version set to 5.3.0 from package.json. Co-Authored-By: Claude Haiku 5.5 --- CHANGELOG.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7225f56..c297687 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Root detection related bugs causing false positives + +## [5.2.3] - 2026-10-05 + +- Android SDK version: 19.2.3 +- iOS SDK version: 8.0.1 + +### iOS + +#### Changed + +- Improved logging structure and data enrichment for better Portal insights/reports. + +#### Fixed + +- Fixed usage of `_dyld_get_shared_cache_range`. + ## [5.2.2] - 2026-09-29 - Android SDK version: 19.2.3 diff --git a/package.json b/package.json index b61df6a..cb8147d 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "prettier": "prettier \"**/*.{ts,js}\"", "prepack": "bob build && yarn build:plugin", "build": "bob build", - "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js && node plugin/tests/pluginProps.test.js", + "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js", "example": "yarn --cwd example", "bootstrap": "yarn example && yarn install && yarn example pods", "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build", From 847f1b120512266622d90374757ca31f441015d6 Mon Sep 17 00:00:00 2001 From: Tomas Psota Date: Mon, 9 Nov 2026 12:24:32 +0100 Subject: [PATCH 09/11] docs(changelog): use latest iOS SDK version 8.0.1 Co-Authored-By: Claude Haiku 5.5 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c297687..13f006a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [5.3.0] - 2026-09-30 - Android SDK version: 19.3.1 -- iOS SDK version: 7.1.4 +- iOS SDK version: 8.0.1 ### React Native From c83c32d48eaa5c17534f4a8af38b382c224cfe89 Mon Sep 17 00:00:00 2001 From: Tomas Psota Date: Mon, 9 Nov 2026 13:37:18 +0100 Subject: [PATCH 10/11] test(expo): run the plugin props test in test:plugin Co-Authored-By: Claude Opus 5.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cb8147d..b61df6a 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "prettier": "prettier \"**/*.{ts,js}\"", "prepack": "bob build && yarn build:plugin", "build": "bob build", - "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js", + "test:plugin": "yarn build:plugin && node plugin/tests/iosSpm.test.js && node plugin/tests/pluginProps.test.js", "example": "yarn --cwd example", "bootstrap": "yarn example && yarn install && yarn example pods", "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build", From 1db807d6aee7a27c62e4c9c6c53809081a1d62f2 Mon Sep 17 00:00:00 2001 From: Tomas Psota Date: Mon, 9 Nov 2026 13:37:22 +0100 Subject: [PATCH 11/11] docs(changelog): set the release date to 2026-11-09 Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13f006a..5f891bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [5.3.0] - 2026-09-30 +## [5.3.0] - 2026-11-09 - Android SDK version: 19.3.1 - iOS SDK version: 8.0.1