Core
- Batch now compiles with Android SDK 37 (Android 17 'Cinnamon Bun').
Profile
- String array attributes and topic preferences are now automatically deduplicated.
BatchProfileAttributeEditormethods (setAttribute,addToArray,removeFromArray,setTopicPreferences,addToTopicPreferences,removeFromTopicPreferences) now deduplicate values before processing, matching the behavior already applied by Batch's server and the CEP Profile API.- Deduplication follows a last-wins rule: if a value already exists in the array, it is moved to the end.
- Size limits are enforced after deduplication.
- Breaking: Added client-side 25 kB payload size validation for custom events and profile attribute updates.
- Payloads exceeding the limit are now rejected when using
BatchProfileAttributeEditor.save()orBatch.Profile.trackEvent(). BatchEventAttributes.validateEventAttributes()also reports this error, making it catchable at development time.
- Payloads exceeding the limit are now rejected when using
- Fixed an issue where some internal events could be skipped on Batch's servers when the CEP was not yet activated. No data was lost since it remained indexed on the MEP.