Skip to content

release: freeRASP 6.0.0 (Android SDK 20.0.1) - #170

Merged
tompsota merged 9 commits into
masterfrom
chore/android-sdk-20.0.1
Nov 13, 2026
Merged

tompsota merged 9 commits into
masterfrom
chore/android-sdk-20.0.1

Conversation

@tompsota

@tompsota tompsota commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

What's new

Bumps the Android SDK from 19.3.1 to 20.0.1. 20.0.0 renamed the artifact to app.talsec.rasp:TalsecRasp-Community-{platform}. The app.talsec.plugin Gradle plugin 1.1.0 already resolves the new coordinate, so only sdkVersion changes.

The plugin also exposes the SDK's new features (Android only):

  • Ongoing call detection: ongoingCall(state: CallState) threat action ('STARTED' | 'ONGOING' | 'STOPPED') plus startOngoingCallDetection() / stopOngoingCallDetection()
  • Screen control blocking: blockScreenControl() / isScreenControlBlocked()
  • Overlay windows hiding (Android 12+, needs HIDE_OVERLAY_WINDOWS): blockOverlayWindows() / isOverlayWindowsBlocked()
  • Execution states: criticalChecksFinished / postponedChecksFinished actions

Adapting to SDK changes

  • Breaking: the allChecksFinished execution state action → fastChecksFinished, on all platforms. The Android SDK replaced onAllChecksFinished() with onFastChecksFinished(), and the plugin API now uses the same name. On Android it fires when the fast checks finish, while the postponed checks may still run. On iOS it is driven by the SDK's onAllChecksFinished(). Hence the major version bump to 6.0.0.
  • isScreenCaptureBlocked() now passes the current activity, as the SDK requires.
  • The new ids are appended to the end of the positional lists. On Android the threat channel data carries a 4th key (call state), and RaspExecutionState.getValues() / the expected channel-data length are branched per platform, so iOS counts are unchanged.

The changelog adds a ### React Native section and the Android SDK notes for 20.0.0 and 20.0.1 from CHANGELOG_FREE_RASP.md. Entries the plugin section already covers (the new APIs, the execution-state change, isScreenCaptureBlocked(activity)) are dropped from the Android part, and the remaining ones carry no ❗️Breaking marker.

Tested on the Android emulator (Pixel 10 Pro, API 36)

  • Example app builds against TalsecRasp-Community-ReactNative:20.0.1 and starts. It isn't killed by onInvalidCallback, so the Android identifier lists line up.
  • fastChecksFinished and postponedChecksFinished received
  • Screen control and overlay toggles switch to blocked (blockOverlayWindows returned true)
  • Simulated GSM call (adb emu gsm call/accept/cancel) reported STARTED then STOPPED to JS
  • After the rename: all checks and the Android build pass again; the Flutter example also builds for the iOS simulator. The rename wasn't re-run on the emulator.
  • iOS not re-tested. The iOS native code is unchanged, and the new lists are platform-branched so iOS identifier counts stay the same.

Before merging

  • Apply the release label (merging a labeled PR publishes the release)

dSYMs.zip

🤖 Generated with Claude Code

tompsota and others added 3 commits November 10, 2026 15:35
Bump the Android SDK to 20.0.1 (app.talsec.rasp:TalsecRasp-Community-ReactNative)
and expose its new features:

- ongoing call detection: ongoingCall threat action with CallState,
  startOngoingCallDetection/stopOngoingCallDetection
- screen control blocking: blockScreenControl/isScreenControlBlocked
- overlay windows hiding: blockOverlayWindows/isOverlayWindowsBlocked
- criticalChecksFinished/postponedChecksFinished execution states

The new threat and execution-state identifiers and the call-state channel
key are Android only; the TypeScript lists are branched per platform so the
iOS identifier counts stay unchanged.

allChecksFinished is now driven by the SDK's onFastChecksFinished, which
fires where the removed onAllChecksFinished used to.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The execution state that fires when the fast (standard) checks complete is
renamed on all platforms to match the Android SDK's onFastChecksFinished. On
iOS it is driven by the SDK's onAllChecksFinished. This is a breaking change,
so the package major version is bumped.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@tompsota tompsota changed the title release: freeRASP 5.4.0 (Android SDK 20.0.1) release: freeRASP 6.0.0 (Android SDK 20.0.1) Nov 11, 2026
tompsota and others added 2 commits November 11, 2026 10:13
…plugin

The plugin hides these native API changes from its users, so they move from
the Android Breaking Changes section to Changed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
tompsota and others added 3 commits November 11, 2026 12:49
iOS now sends placeholder keys for malware and ongoing call, so the threat
channel data has the same length on both platforms and the JS check no longer
branches by platform.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…espace (#171)

* refactor(android): move plugin to the app.talsec.rasp namespace

Align the Android package of the plugin with the Android SDK's app.talsec.rasp,
adding the platform as the last segment.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* refactor(android): update package names to app.talsec.rasp

Completes the move of the plugin sources: package declarations, imports,
Gradle namespace and build configuration.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
* feat!: unify the public API with the other freeRASP plugins

- TalsecIosConfig.appBundleId (string) -> appBundleIds (string[]), as in the
  iOS SDK
- methods that resolved with status strings or constants resolve to void
- all methods reject with TalsecError carrying a stable code, including
  Android-only methods called on iOS
- onInvalidCallback and removeListenerForEvent are no longer exported;
  abortApp is the only exported internal helper

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* feat: return start status and errors from useFreeRasp

useFreeRasp returns { started, error } instead of only logging failures, so
apps can react when the listeners can't be registered or freeRASP fails to
start.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* refactor(types): type threat and execution state actions as returning void

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
@tompsota tompsota added the release Create release after merging this PR label Nov 13, 2026
@tompsota
tompsota merged commit d776d5b into master Nov 13, 2026
8 checks passed
@tompsota
tompsota deleted the chore/android-sdk-20.0.1 branch November 13, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Create release after merging this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant