|
| 1 | +# Olo Pay Flutter SDK Changelog |
| 2 | + |
| 3 | +## v2.0.3 (May 1, 2025) |
| 4 | + |
| 5 | +### Updates |
| 6 | +- Relaxed Google Pay requirement from using `FlutterFragmentActivity` to using `FragmentActivity` to help with non-standard uses of Flutter |
| 7 | +- Removed requirement to `FlutterFragmentActivity` from all widgets |
| 8 | + |
| 9 | +## v2.0.2 (Apr 15, 2025) |
| 10 | + |
| 11 | +### Bug Fixes |
| 12 | +- Added `Address` class to the `olo_pay_sdk_data_classes` barrel file |
| 13 | +- Added `CurrencyCode` enum to the `olo_pay_sdk_data_classes` barrel file |
| 14 | + |
| 15 | +## v2.0.1 (Apr 9, 2025) |
| 16 | + |
| 17 | +### Overview |
| 18 | +- Digital wallets overhaul |
| 19 | + - Digital wallets now use a `DigitalWalletConfiguration` object that bundles all information needed to process transactions |
| 20 | + - Digital wallet configurations for both Apple Pay and Google Pay can be updated |
| 21 | + - New `DigitalWalletButton` class that supports both Apple Pay and Google Pay buttons |
| 22 | + - Add support for line items |
| 23 | +- Simplified the SDK setup process |
| 24 | +- New form widget for entering credit card details. |
| 25 | + |
| 26 | +### Updates |
| 27 | +- `OloPaySdk` |
| 28 | + - Added `updateDigitalWalletConfiguration()` |
| 29 | +- `DigitalWalletPaymentParameters` |
| 30 | + - Added `googlePayCheckoutStatus` property |
| 31 | +- `ErrorCodes` |
| 32 | + - Added `emptyCompanyName` property |
| 33 | + - Added `emptyCountryCode` property |
| 34 | + - Added `invalidCountryCode` property |
| 35 | + - Added `lineItemTotalMismatch` property |
| 36 | +- `BackgroundStyles` |
| 37 | + - Added `noPadding` property |
| 38 | + - Added `formDefaults` property |
| 39 | +- `TextStyles` |
| 40 | + - Added `formDefaults` property |
| 41 | + - Added `defaultErrorFontSize` property |
| 42 | + - Added `errorTextSize` property |
| 43 | + - Added `errorAssetFont` property |
| 44 | +- `Hints` |
| 45 | + - Added `formDefaults` property |
| 46 | + - Added `formFocusedDefaults` property |
| 47 | + - Added `singleLineOnly` constructor |
| 48 | + - Added `formOnly` constructor |
| 49 | + - Added `formFocusedOnly` constructor |
| 50 | +- `DigitalWalletPaymentParameters` |
| 51 | + - Added `type` property |
| 52 | + - Added `status` property |
| 53 | +- `CardDetailsSingleLineTextField`: Added `enabled` property |
| 54 | +- `CvvTextField`: Added `enabled` property |
| 55 | +- `PaymentMethod` |
| 56 | + - Added `digitalWalletCardDescription` property |
| 57 | + - Added `email` property |
| 58 | + - Added `phoneNumber` property |
| 59 | + - Added `fullName` property |
| 60 | + - Added `billingAddress` property |
| 61 | +- New Classes/Enums |
| 62 | + - Introduce the `CardDetailsFormTextField` widget |
| 63 | + - Introduce the `DigitalWalletButton` |
| 64 | + - Added `CurrencyCode` enum |
| 65 | + - Added `DigitalWalletConfiguration` |
| 66 | + - Added `GooglePayButtonConfiguration` |
| 67 | + - Added `GooglePayButtonTheme` |
| 68 | + - Added `GooglePayButtonType` |
| 69 | + - Added `ApplePayConfiguration` |
| 70 | + - Added `ApplePayButtonConfiguration` |
| 71 | + - Added `ApplePayButtonStyle` |
| 72 | + - Added `ApplePayButtonType` |
| 73 | + - Added `GooglePayCheckoutStatus` |
| 74 | + - Added `Address` |
| 75 | + - Added `FieldDividerStyles` |
| 76 | + - Added `ErrorBackgroundStyles` |
| 77 | + - Added `DigitalWalletLineItem` |
| 78 | + - Added `DigitalWalletLineItemStatus` |
| 79 | + - Added `DigitalWalletLineItemType` |
| 80 | + |
| 81 | +### Breaking Changes |
| 82 | +- `OloPaySdk` |
| 83 | + - Changed method signature of `initializeOloPay()` |
| 84 | + - Removed `changeGooglePayVendor()` in favor of `updateDigitalWalletConfiguration()` |
| 85 | + - `onDigitalWalletReady` may now be called multiple times for both Apple Pay and Google Pay (See documentation for details) |
| 86 | +- `ApplePaySetupParameters` |
| 87 | + - Renamed to `ApplePayConfiguration` |
| 88 | + - Moved properties common to Apple Pay and Google Pay into `DigitalWalletConfiguration` |
| 89 | +- `GooglePaySetupParameters` |
| 90 | + - Renamed to `GooglePayConfiguration` |
| 91 | + - Moved properties common to Apple Pay and Google Pay into `DigitalWalletConfiguration` |
| 92 | +- `DigitalWalletPaymentParameters` |
| 93 | + - Removed `currencyMultiplier` property (See `GooglePayConfiguration`) |
| 94 | + - Removed `currencyCode` property (See `GooglePayConfiguration` and `ApplePayConfiguration`) |
| 95 | + - Removed `countryCode` property (See `GooglePayConfiguration` and `ApplePayConfiguration`) |
| 96 | +- `ErrorCodes` |
| 97 | + - Removed previously deprecated `missingParameter` property |
| 98 | + - Renamed `googlePayUninitialized` property to `uninitializedDigitalWallet` because it now applies to both Google Pay and Apple Pay |
| 99 | + - Renamed `googlePayNotReady` property to `digitalWalletNotReady` because it now applies to both Google Pay and Apple Pay |
| 100 | +- `CardDetailsSingleLineTextFieldController`: Removed `setEnabled()` in favor of `CardDetailsSingleLineTextField.enabled` property |
| 101 | +- `CvvTextFieldController`: Removed `setEnabled()` in favor of `CvvTextField.enabled` property |
| 102 | +- `Hints` |
| 103 | + - Renamed `defaults` property to `singleLineDefaults` |
| 104 | +- Removed Classes |
| 105 | + - `GooglePayVendorParameters` (see `DigitalWalletConfiguration` and `GooglePayConfiguration`) |
| 106 | + - `OloPaySetupParameters` |
| 107 | + |
| 108 | +### Dependency Updates |
| 109 | +- Native SDKs |
| 110 | + - Updated to use [Olo Pay Android SDK v4.1.0](https://github.com/ololabs/olo-pay-android-sdk-releases/releases/tag/4.1.0) |
| 111 | + - Updated to use [Olo Pay iOS SDK v5.2.0](https://github.com/ololabs/olo-pay-ios-sdk-releases/releases/tag/5.2.0) |
| 112 | + |
| 113 | +- Android |
| 114 | + - Updated to Gradle v8.7 |
| 115 | + - Updated to compile SDK to 35 |
| 116 | + - Updated to `com.android.tools.build:gradle:8.6.1` |
| 117 | + - Updated to `androidx.constraintlayout:constraintlayout:2.2.0` |
| 118 | + - Updated to `androidx.core:core-ktx:1.15.0` |
| 119 | + - Updated to `org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0` |
| 120 | + |
| 121 | +## v1.2.0 (Aug 20, 2024) |
| 122 | + |
| 123 | +### Updates |
| 124 | +- `CardDetailsSingleLineTextField`: Added ability to set alignment of the built in error message with `errorAlignment` |
| 125 | +- `CardDetailsSingleLineTextField`: Changed default `maxHeight` to `45` |
| 126 | +- `CardDetailsSingleLineTextField`: Changed default `errorMarginTop` to `8.0` |
| 127 | +- Deprecated `ErrorCodes.missingParameter`: All previous usages have changed to `ErrorCodes.InvalidParameter` |
| 128 | +- Introduce `CvvTextField` widget for CVV tokenization. |
| 129 | + |
| 130 | +### Dependency Updates |
| 131 | +- Native SDKs |
| 132 | + - Updated to use [Olo Pay Android SDK v3.1.1](https://github.com/ololabs/olo-pay-android-sdk-releases/releases/tag/3.1.1) |
| 133 | + - Updated to use [Olo Pay iOS SDK v4.0.2](https://github.com/ololabs/olo-pay-ios-sdk-releases/releases/tag/4.0.2) |
| 134 | + |
| 135 | +- Android Project |
| 136 | + - Updated to Gradle v8.2 |
| 137 | + - Updated to Java v17 |
| 138 | + - Updated to `com.android.tools.build:gradle:8.2.2` |
| 139 | + - Updated to `androidx.core:core-ktx:1.13.1` |
| 140 | + - Updated to `org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1` |
| 141 | + - Updated to `com.google.android.material:material:1.12.0` |
| 142 | + |
| 143 | +### Bug Fixes |
| 144 | +- `CardDetailsSingleLineTextField`: Fix bug causing slight difference between the default input text error state color and the default error message color. |
| 145 | +- `CardDetailsSingleLineTextField`: Fixed constraints so that the text input widget height properly expands/shrinks to match the height specified by the constructor parameters |
| 146 | + |
| 147 | +## v1.1.0 (Mar 26, 2024) - First Public Release |
| 148 | + |
| 149 | +### Breaking Changes |
| 150 | +- `OloPaySetupParameters`: Removed `freshSetup` parameter |
| 151 | + |
| 152 | +### Updates |
| 153 | +- `CardDetailsSingleLineTextField`: Added built-in error message label to automatically display error messages |
| 154 | +- `CardDetailsSingleLineTextField`: Added `errorStyles` property to style the built-in error message label |
| 155 | +- `CardDetailsSingleLineTextField`: Added `displayErrorMessages` property to control visibility of the error message label |
| 156 | +- `CardDetailsSingleLineTextField`: Added custom error message support via the `customErrorMessages` property |
| 157 | +- `CardDetailsSingleLineTextField`: Added support for custom fonts via `TextStyles` |
| 158 | +- `CardDetailsSingleLineTextField`: Fixed issue on iOS sometimes causing duplicate error messages to display |
| 159 | +- `OloPaySdk`: Added `getFontNames()` for help with debugging custom font issues on iOS |
| 160 | +- `OloPaySdk`: Changed `isDigitalWalletReady()` on iOS so it returns false if the SDK isn't initialized to align with Android behavior |
| 161 | +- `TextStyles`: Added `fontAsset` and `iOSFontName` properties |
| 162 | + |
| 163 | +## v1.0.1 (Feb 7, 2024) |
| 164 | + |
| 165 | +### Bug Fixes |
| 166 | +- `CardDetailsSingleLineTextField`: Fix small edge case preventing `textStyles` and `paddingStyles` from respecting theme values |
| 167 | +- `CardType`: Fix typo causing Mastercard cards to map to `CardType.unknown` |
| 168 | + |
| 169 | +### Updates |
| 170 | +- `TextStyles`: Fixed incorrect documentation for `merge()` |
| 171 | +- `TextStyles`: Added `defaultCursorColor` property |
| 172 | + |
| 173 | +## v1.0.0 (Jan 26, 2024) |
| 174 | + |
| 175 | +### Updates |
| 176 | +- ReadMe updates |
| 177 | + |
| 178 | +## v0.3.0 (Jan 17, 2024) |
| 179 | + |
| 180 | +### Breaking Changes |
| 181 | +- Consolidate import statements so only one is required |
| 182 | +- Renamed classes and types for clarity |
| 183 | + - `PaymentCardDetailsSingleLineWidget` --> `CardDetailsSingleLineTextField` |
| 184 | + - `PaymentCardDetailsSingleLineWidgetController` --> `CardDetailsSingleLineTextFieldController` |
| 185 | + - `PaymentCardDetailsSingleLineWidgetControllerCreated` --> `CardDetailsSingleLineTextFieldControllerCreated` |
| 186 | + - `PaymentCardDetailsSingleLineWidgetOnErrorMessageChanged` --> `CardDetailsErrorMessageChanged` |
| 187 | + - `PaymentCardDetailsSingleLineWidgetOnInputChanged` --> `CardDetailsInputChanged` |
| 188 | + - `PaymentCardDetailsSingleLineWidgetOnValidStateChanged` --> `CardDetailsValidStateChanged` |
| 189 | + - `PaymentCardDetailsSingleLineWidgetOnFocusChanged` --> `CardDetailsFocusChanged` |
| 190 | +- `PaymentMethod.cardType`: Changed type from `String` to `CardType` |
| 191 | +- Updated all data classes to use `final` properties and `const` constructors |
| 192 | + - `OloPaySetupParameters` |
| 193 | + - `GooglePaySetupParameters` |
| 194 | + - `ApplePaySetupParameters` |
| 195 | + - `DigitalWalletPaymentParameters` |
| 196 | + - `GooglePayVendorParameters` |
| 197 | + - `PaymentMethod` |
| 198 | + - `CardFieldState` |
| 199 | + - `Hints` |
| 200 | + - `TextStyles` |
| 201 | + - `BackgroundStyles` |
| 202 | + - `PaddingStyles` |
| 203 | + |
| 204 | +### Updates |
| 205 | +- Change minimum iOS version to iOS 13 |
| 206 | +- `CardDetailsSingleLineTextField`: Add support for light/dark themes |
| 207 | +- `CardDetailsSingleLineTextField`: Add explicit default styles |
| 208 | +- `CardDetailsSingleLineTextField`: Add support for updating styles based on state changes |
| 209 | + |
| 210 | + |
| 211 | +## v0.2.0 (Dec 21, 2023) |
| 212 | + |
| 213 | +### Breaking Changes |
| 214 | +- `OloPaySdk.initializeOloPay()`: Changed from positional to named parameters |
| 215 | +- `PaymentCardDetailsSingleLineWidgetControllerCreated`: Moved typedef to `data_types.dart` |
| 216 | +- `PaymentCardDetailsSingleLineWidget`: Changed `onControllerCreated` to a required parameter |
| 217 | + |
| 218 | +### Updates |
| 219 | +- `PaymentCardDetailsSingleLineWidget`: Background and text styling support |
| 220 | +- `PaymentCardDetailsSingleLineWidget`: Added event handlers for error message changes, valid state changes, and input changes |
| 221 | +- `PaymentCardDetailsSingleLineWigetController`: Additional methods for controlling/interacting with the widget |
| 222 | +- Digital Wallet Support (Apple Pay & Google Pay) |
| 223 | + |
| 224 | + |
| 225 | +## v0.1.0 (Dec 11, 2023) |
| 226 | + |
| 227 | +### Initial Release |
| 228 | +- Use `PaymentCardDetailsSingleLineWidget` to display a single line card input widget |
| 229 | +- Use `PaymentCardDetailsSingleLineWidgetController.createPaymentMethod` to create a payment method based on user-entered card details |
| 230 | +- Uses [Olo Pay Android SDK v3.0.0](https://github.com/ololabs/olo-pay-android-sdk-releases/releases/tag/v3.0.0-full) |
| 231 | +- Uses [Olo Pay iOS SDK v4.0.0](https://github.com/ololabs/olo-pay-ios-sdk-releases/releases/tag/v4.0.0) |
0 commit comments