Changelog
Version history and release notes for the EdfaPay Soft POS SDK.
Version Policy
We follow semantic versioning (SemVer). Breaking changes are introduced only in major versions with migration guides.
v1.0.5
CurrentFebruary 2026✨ New Features
- Change PIN: New
changePin()method for cardholder PIN change flows - Card Activation: New
activateCard()method for new card activation - Terminal Binding API: New
onTerminalBindingTaskcallback ininitiate()for multi-terminal scenarios - Remote Access API: New
EdfaPayPlugin.RemoteChannelfor POS integration via local network - Type-Safe Error Handling: New
EdfaErrorsealed class hierarchy with 40+ categorized error types - CVM Status: New
CVMStatusenum for cardholder verification method tracking - Data Persistence: New
saveData()andgetData()methods in PluginUtils - Partner Configuration: New
setPartnerConfig()method to apply encrypted partner-level settings (environment URLs, branding, feature flags) before SDK initialization — view docs
🔧 Improvements
- Enhanced Transaction model with
statusCode(),statusMessage(),authentication(),isPinTransaction()methods - New
addAdditionalRequestParams()in TxnParams for custom request data - Improved
Paginationmodel withFieldandSortenums - New
FunctionCodeenum for terminal configuration types - Better silent login handling and session management
- Enhanced encrypted configuration support
🐛 Bug Fixes
- Fixed silent login flow and handling
- Improved terminal binding task error handling
- Fixed session refresh token handling
⚠️ Breaking Changes
initiate()now includesonTerminalBindingTaskcallback parameter- Error handling migrated from
Errorenum toEdfaErrorsealed class hierarchy EdfaException.errornow returnsEdfaErrorinstead ofError
v1.0.4
February 2025✨ New Features
- Kotlin 2.0 Support: Full compatibility with Kotlin 2.0+ and new K2 compiler
- Enhanced Theme API: New typography customization options including custom fonts and text styles
- Animation Controls: Configurable animations with enable/disable toggle
- Presentation Modes: New dialog presentation options (DIALOG_BOTTOM_FILL)
🔧 Improvements
- Improved NFC card reading reliability
- Faster SDK initialization time
- Reduced memory footprint by 15%
- Better error messages with actionable guidance
- Updated compileSdk to 36
🐛 Bug Fixes
- Fixed race condition in multi-tap scenarios
- Resolved memory leak in transaction history view
- Fixed PIN pad shuffle algorithm edge case
- Corrected currency display for certain locales
⚠️ Breaking Changes
minSdkincreased from 28 to 29 (Android 10+)- Deprecated
setFont()replaced withtypography()builder
v1.0.3
December 2024✨ New Features
- Multi-Terminal Support: Manage multiple terminal sessions from a single device
- Session List API: New
getSessionList()method for terminal switching - Reconciliation History: Access past settlement batches and receipts
🔧 Improvements
- Improved session persistence across app restarts
- Enhanced transaction detail model with additional fields
- Better handling of network interruptions
🐛 Bug Fixes
- Fixed logout not clearing all cached data
- Resolved issue with void transaction on same-day purchases
- Fixed terminal sync failing on slow networks
v1.0.2
October 2024✨ New Features
- PIN Pad Customization: Shuffle layout for enhanced security
- Location Validation: Detect mocked/fake GPS locations
- Branding Assets: Custom logos for payment UI
🔧 Improvements
- Reduced SDK size by 20%
- Improved ProGuard rules for better compatibility
- Enhanced debug logging output
🐛 Bug Fixes
- Fixed crash on devices without NFC
- Resolved theme colors not applying to dialogs
- Fixed transaction callback not firing in edge cases
v1.0.1
August 2024🔧 Improvements
- Improved EMV kernel stability
- Better error messages for common issues
- Documentation improvements
🐛 Bug Fixes
- Fixed META-INF conflicts with other libraries
- Resolved initialization timeout on slow networks
- Fixed receipt formatting issues
v1.0.0
Initial ReleaseJune 2024✨ Features
- Core Payment Operations: Purchase, Authorize, Capture, Refund, Void, Reversal
- NFC Tap-to-Pay: Contactless card acceptance via device NFC
- PIN Entry: Secure on-device PIN entry with PCI compliance
- Transaction Management: History, details, and receipts
- Terminal Management: Activation, sync, and configuration
- Reconciliation: End-of-day settlement operations
- Theme Customization: Colors, fonts, and branding
- Multi-Environment: Sandbox and Production modes
Upgrade Guide
Upgrading to v1.0.5
- Update dependency:
implementation("com.edfapay:sa-edfapay-revamp:1.0.5") - Update
initiate()call: Add the newonTerminalBindingTaskcallback (see migration guide below) - Update error handling: Migrate from
Errorenum toEdfaErrorsealed class (see migration guide below) - Sync and rebuild: Run Gradle sync and clean rebuild
Terminal Binding Migration
The initiate() method now includes an onTerminalBindingTask callback for handling multi-terminal scenarios. This is called when terminal selection is required (e.g., first-time setup or when multiple terminals are available).
Before (v1.0.4):
Loading...After (v1.0.5):
Loading...Error Handling Migration
Error handling has been upgraded from a simple Error enum to a type-safeEdfaError sealed class hierarchy with 40+ categorized error types.
Error Categories:
| Category | Code Range | Examples |
|---|---|---|
EdfaError.Initialization | 1xxx | PluginNotInitialized, SessionFailed, ConfigurationMissing |
EdfaError.Network | 2xxx | Timeout, NullResponse, ServerKeyFailure |
EdfaError.Card | 3xxx | NotSupported, DisconnectedWhileProcessing, NoNfcTransceiver |
EdfaError.Kernel | 4xxx | VisaNotInitialized, MastercardNotInitialized |
EdfaError.Terminal | 5xxx | PreparationFailed, RegistrationFailed, TsnNotFound |
EdfaError.Transaction | 6xxx | InvalidParams, MissingLastApproved, NotExistToReverse |
EdfaError.Authentication | 7xxx | Failed, LocationNotGranted |
EdfaError.Validation | 8xxx | PinLengthInvalid |
EdfaError.Security | 9xxx | EncryptionFailed |
EdfaError.Generic | 1-2, -1 | SomethingWentWrong, Custom |
Before (v1.0.4):
Loading...After (v1.0.5):
Loading...New Methods in v1.0.5
Transaction Methods:
Loading...Remote Access API:
Loading...Stay Updated
Subscribe to our developer newsletter for release announcements and migration guides. Visit developers.edfapay.com/subscribe
On this page
Downloads
Coming SoonSample apps, release bundles, and more content will be available here soon.