Android SDK releases
Track notable DEUNA Android SDK changes, compatibility boundaries, and a safe upgrade process for pinned Gradle integrations.
The maintained Android repository is currently tagged v2.12.7. Pin an exact release in production and review the upstream release artifact before every upgrade. This page summarizes integration-impacting changes verified against repository commit f8c9845e9aa78ea471a69afe952b83579e031154; it is not a substitute for the complete repository release history.
Upgrade flow#
Notable release lines#
v2.12.x · Native fraud and APM hardening
v2.12.7is the newest tag in the audited repository.- The
v2.12.5line added Mercado Pago fraud-provider integration and initialization support. - The
v2.12.4line added explicit missing-reference handling for APM voucher flows and interception for external application schemes.
Re-test native fraud initialization, provider dependency resolution, voucher error callbacks, and every external-app return path. A build that succeeds does not prove the provider SDK initialized or returned usable device data.
v2.9.0 · Embedded widgets and current controller capabilities
This line added embedded widgets, merchant-controlled payment-button behavior, fraud fingerprint generation, and Next Action Widget support, and removed deprecated functions.
When upgrading from an older line, migrate to the current methods in the Android SDK guide, then test modal, embedded, and auto-resize behavior independently.
v2.4.0 beta line · Response and error contract changes
OrderResponseandElementsResponsechanged toMap<String, Any>payloads.CheckoutErrorchanged toPaymentsError.- Payment Widget support moved into the current widget-controller model.
Avoid exhaustive casts over raw maps. Prefer dedicated callbacks and tolerate additive fields in event payloads.
v2.0.0 · Public symbol renames
The major line renamed DeUnaSdk to DeunaSDK, Callbacks to CheckoutCallbacks, response/event symbols, and changed event-listener argument order from (response, type) to (type, response).
Compile every callback and audit analytics adapters when migrating; swapped arguments can produce runtime data corruption even when application logic still builds through loosely typed wrappers.
Compatibility matrix#
| Surface | Upgrade check |
|---|---|
| Gradle and repositories | Resolve the exact SDK tag using the repositories documented for that release |
| Android toolchain | Compile with the app's actual AGP, Kotlin, JDK, compileSdk, and min-SDK matrix |
| Hosted widgets | Modal, embedded, auto-resize, keyboard, rotation, back navigation, and controller disposal |
| External actions | 3DS, Custom Tabs, provider apps, deep links, cancellation, and return-to-app behavior |
| Native wallets | Device capability, merchant configuration, activity result, tokenization, and cancellation |
| Fraud providers | Native dependency present, early initialization, timeout, missing data, and provider-specific configuration |
| Callback payloads | Dedicated success/error/close handlers plus an unknown-event fallback |
Regression checklist#
- Clean installation and upgrade from the currently deployed pin.
- Release build with shrinking/obfuscation enabled.
- Activity recreation, process death, background/foreground, and duplicate launch protection.
- Payment Widget, Elements, Voucher, and Next Action in every supported presentation mode.
- Card, wallet, APM, 3DS, error, timeout, close, and retry paths.
- 320 dp content width, large text, keyboard navigation, TalkBack, and reduced animation settings.
- Backend reconciliation after every client callback.