Skip to content

17.0.0

Latest

Choose a tag to compare

@xprikryl2 xprikryl2 released this 23 Oct 13:11
9e3d652

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