Skip to content

Commit 396f31a

Browse files
runnerrunner
authored andcommitted
Release 2.0.3
1 parent 31aa6f3 commit 396f31a

File tree

273 files changed

+29572
-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.

273 files changed

+29572
-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: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
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)

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)