Skip to content

Commit 59e6342

Browse files
runnerrunner
authored andcommitted
Release 2.0.4
1 parent 3c22c88 commit 59e6342

File tree

270 files changed

+29583
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

270 files changed

+29583
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# DO NOT RUN THIS MANUALLY - THIS GETS RUN AS PART OF A DIFFERENT GH ACTIONS SCRIPT
2+
3+
name: Publish Release to Pub.dev
4+
on:
5+
push:
6+
tags:
7+
- "[0-9]+.[0-9]+.[0-9]+*"
8+
9+
env:
10+
FLUTTER_VERSION: 3.29.0
11+
12+
jobs:
13+
Release-It-To-The-People:
14+
runs-on: macos-13
15+
environment: live_pub_dev
16+
permissions:
17+
id-token: write
18+
contents: read
19+
steps:
20+
- name: "Test Release Check"
21+
id: test-release-check
22+
run: |
23+
if [[ ${{ github.repository_owner }} == *"ololabs-playground"* ]]
24+
then
25+
echo "is-test=true" >> "$GITHUB_OUTPUT"
26+
else
27+
echo "is-test=false" >> "$GITHUB_OUTPUT"
28+
fi
29+
30+
- name: "Checkout Project"
31+
uses: actions/checkout@v4
32+
33+
- name: Setup Flutter
34+
uses: flutter-actions/setup-flutter@v3.6
35+
with:
36+
channel: stable
37+
version: ${{ env.FLUTTER_VERSION }}
38+
39+
- name: "Install Flutter Dependencies"
40+
run: |
41+
flutter pub get
42+
43+
- name: "Publish Dry Run"
44+
if: ${{ steps.test-release-check.outputs.is-test == 'true' }}
45+
run: |
46+
flutter pub publish --dry-run
47+
48+
- name: "Pub.dev Token Authentication"
49+
if: ${{ steps.test-release-check.outputs.is-test == 'false' }}
50+
uses: dart-lang/setup-dart@v1
51+
52+
- name: "Publish Release"
53+
if: ${{ steps.test-release-check.outputs.is-test == 'false' }}
54+
run: flutter pub publish --force

CHANGELOG.md

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

LICENSE

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
**Olo Pay Software Development Kit License Agreement**
2+
3+
Copyright © 2022 Olo Inc. All rights reserved.
4+
5+
Subject to the terms and conditions of the license, you are hereby granted a non-exclusive, worldwide, royalty-free license to (a) copy and modify the software in source code or binary form for your use in connection with the software services and interfaces provided by Olo, and (b) redistribute unmodified copies of the software to third parties. The above copyright notice and this license shall be included in or with all copies or substantial portions of the software.
6+
7+
Your use of this software is subject to the Olo APIs Terms of Use, available at https://www.olo.com/api-usage-terms. This license does not grant you permission to use the trade names, trademarks, service marks, or product names of Olo, except as required for reasonable and customary use in describing the origin of the software and reproducing the content of this license.
8+
9+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10+

0 commit comments

Comments
 (0)