0.13.0 - 13/02/2026
- Add subscription feature with new PhoneCall.Status field (ALLOWED_PENDING_PAYMENT) and getSubscription, cancelSubscription, getNoPaymentStatus and setNoPaymentStatus methods.
- Add date to manual block feature
- Add category icons
- Add extra data to request headers
- Add more monitoring events
- Update monitoring version
0.12.0 - 15/01/2026
- Add monitoring feature
0.11.15 - 12/12/2025
- Improve Contacts query performance, which was making call interception to fail
0.11.14 - 03/12/2025
- Add STG/PROD environment through SpamControl.enableSpamControl and SpamControl.enableSpamControlSilently
- Reduce SpamControlUploadDataWorker to run each hour instead of 15m to 15m
- Reduce retry times for SpamControlUploadDataWorker from 5 to 3
- Add check to isSpamControlOn before triggering triggerGetDatabaseWorker when getDatabaseVersionAndAmountOfNumbers fails
- Remove getAmountOfBlockedNumbers method
0.11.13 - 18/11/2025
- 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.21to1.9.25 - KSP from
2.0.21-1.0.28to1.9.25-1.0.20 - AndroidX Room from
2.7.2to2.6.1 - AndroidX Core-ktx from
1.16.0to1.8.0 - AndroidX AppCompat from
1.7.0to1.6.1 - Android Material from
1.12.0to1.6.1
- Kotlin from
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.4to4.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
OUTGOINGcalls to improve spam detection - Add current
database_idfield 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_PREFIXandCATEGORY_NOT_MAPPEDtoPhoneCallStatusenum
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_CONTACTSas an optional permission
0.8.4 - 18/06/2025
- Add Relinker to reload sqlcipher lib in case of
UnsatisfiedLinkError - Add id to
PhoneCallobject in database - Update try catch in
ContactsHelper.getContactswhen trying to check if a call was from a contact - Change
EncryptedSharedPreferencestoSharedPreferences+Keystoreto safely storeapiKeyandphoneNumber
0.8.3 - 06/06/2025
- Fix a bug where empty
phoneNumberwas being categorized with categories that had empty prefix regex - Fix a bug where
getStringin ContactsHelper is crashing - Update
minSdkVersionto 24 + RemoveSpamControlReceiver
0.8.2 - 05/06/2025
- Fix a bug where user refused to give
READ_CONTACTSpermission - 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,UnblockReturnandDeleteCallsReturnso different uis can be shown to the user in different situations - Add contact name to
phoneCallname - Fix UserEvents crashing the app when happening at the same second