Skip to main content

0.11.13 - 18/11/2025

  • [Fix] Fix isNumberBlocked not considering numbers from remote database

0.11.12 - 17/11/2025

  • Fix behavior and name of SpamControl.isNumberBlocked (from inNumberBlocked)

0.11.11 - 13/11/2025

  • Add stopAndTriggerUploadDataWorker and call it when starting every SpamControlUploadDataWorker

0.11.10 - 11/11/2025

  • Add rules database to limit user events to 1 week old and 300 rows in size
  • Fix SpamControlUploadDataWorker being launched as not unique work, causing a lot of history and parallel coroutines
  • Add SpamControl.EnableReturn.AlreadyOn and SpamControl.EnableSilentlyReturn.AlreadyOn
  • Add dispatcher to retrofit with maxRequests = 8
  • Decrease getUserEvents batch during upload from 50 to 10
  • Add userEvents database migration 4 to 5 to clean all database
  • Add in memory cache inside SharedPreferencesHelper

0.11.9 - 25/09/2025

  • Fix missed databaseID when migrating out of EncryptedSharedPref
  • Update contacts query for more precision when checking if a call is originating from a known contact

0.11.8 - 11/09/2025

  • Add SpamControl.enableSpamControlSilently method so the app host can disable or enable the sdk remotely if the user has already granted the mandatory permissions
  • Add SpamControl.disableSpamControl in SyncDatabaseWorker if mandatory permission is missing
  • Add another userEvents database migration to clean all database
  • Fix SpamControl.disableSpamControl triggering turn off data event even and uploadDataWorker only when flag is on
  • Fix CryptoManager.decrypt crash and disableSpamControl if apiKey or phoneNumber are null in SharedPreferencesHelper

0.11.7 - 05/09/2025

  • Fix event loop crash by adding a userEvents database migration

0.11.6 - 01/09/2025

  • Fix request loop when auth data is lost
  • Fix sdk-version in request header from “currentVersion”
  • Add date to all user event requests
  • Improve performance by:
    • Access device call log only when necessary
    • Update EncryptedSharedPref to be volatile

0.11.5 - 26/08/2025

  • Update coroutines usage to prevent ANRs
  • Update database creation to be lazy
  • Improve performance of some sql queries
  • Stop database operations if CallScreeningService times out

0.11.4 - 15/08/2025

  • Fix a bug where sdk was not asking for optional permissions if the Spam Id permission was already granted. Added hasSpamControlOptionalPermissions public method.

0.11.3 - 11/08/2025

  • Downgrade dependencies to avoid conflicts. Upgrading back is expected in a few weeks.
    • Kotlin from 2.0.21 to 1.9.25
    • KSP from 2.0.21-1.0.28 to 1.9.25-1.0.20
    • AndroidX Room from 2.7.2 to 2.6.1
    • AndroidX Core-ktx from 1.16.0 to 1.8.0
    • AndroidX AppCompat from 1.7.0 to 1.6.1
    • Android Material from 1.12.0 to 1.6.1

0.11.2 - 06/08/2025

  • Fix a bug where the default dialer permission was not being asked correctly for apis 24-28
  • Support for 16kb memory page size. For this, we updated SqlCipher from 4.5.4 to 4.7.2

0.11.1 - 01/08/2025

  • Fix a bug where calls from a contact were allowed even with number blocked manually

0.11.0 - 31/07/2025

  • Add register for OUTGOING calls to improve spam detection
  • Add current database_id field to PhoneCall object
  • Add Popup trigger by extending SpamControlPopupService
  • Add rule to allow calls from contacts
  • Add rule to block calls from private numbers
  • Fix a bug in database sync where numbers were not being mapped correctly

0.10.0 - 25/07/2025

  • Add daily database sync instead of daily full download

0.9.2 - 23/07/2025

  • Add CATEGORY_FILTERED_PREFIX and CATEGORY_NOT_MAPPED to PhoneCallStatus enum

0.9.1 - 22/07/2025

  • Fix Keystore handling with Cipher when storing apiKey and phoneNumber

0.9.0 - 16/07/2025

  • Add call information from system to improve spam detection
  • Improve our SQL query to match numbers with leading 0s
  • Update Gradle, AGP, Kotlin and some dependencies versions

0.8.5 - 25/06/2025

  • Update READ_CONTACTS as an optional permission

0.8.4 - 18/06/2025

  • Add Relinker to reload sqlcipher lib in case of UnsatisfiedLinkError
  • Add id to PhoneCall object in database
  • Update try catch in ContactsHelper.getContacts when trying to check if a call was from a contact
  • Change EncryptedSharedPreferences to SharedPreferences + Keystore to safely store apiKey and phoneNumber

0.8.3 - 06/06/2025

  • Fix a bug where empty phoneNumber was being categorized with categories that had empty prefix regex
  • Fix a bug where getString in ContactsHelper is crashing
  • Update minSdkVersion to 24 + Remove SpamControlReceiver

0.8.2 - 05/06/2025

  • Fix a bug where user refused to give READ_CONTACTS permission
  • Fix a bug where a call doesn’t have a caller number

0.8.1 - 21/05/2025

  • Fix a bug where not blocked categories were not registered in the respective PhoneCall objects
  • Fix a bug where calls were registered with corresponding status even when sdk was off (Ex: MANUAL_BLOCK)
  • Fix a bug where unblocking a number would unblock all matching numbers with different ids

0.8.0 - 05/05/2025

  • Add BlockReturn, UnblockReturn and DeleteCallsReturn so different uis can be shown to the user in different situations
  • Add contact name to phoneCall name
  • Fix UserEvents crashing the app when happening at the same second