Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5.7.1 release preview #1884

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
name: Publish Release

# Every time we merge to main branch we publish a release.
# Only triggered manually
on:
push:
branches: [ main ]
workflow_dispatch:

jobs:
Expand All @@ -14,7 +12,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
ref: main
ref: release/5.7.1

- name: Set up JDK
uses: actions/setup-java@v4
Expand All @@ -33,8 +31,6 @@ jobs:
- name: Gradle check
run: ./gradlew check

# TODO: add more tests or rely on check_release workflow?

# Base64 decodes and pipes the GPG key content into the secret file
- name: Prepare environment
env:
Expand Down Expand Up @@ -73,9 +69,9 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
commitish: main
commitish: release/5.7.1
tag_name: ${{ env.PROJECT_VERSION }}
release_name: ${{ env.PROJECT_VERSION }}
body_path: ${{ github.workspace }}/RELEASE_NOTES.md
draft: false
draft: true
prerelease: false
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,23 @@ Import the corresponding module in your `build.gradle` file.

For Drop-in:
```groovy
implementation "com.adyen.checkout:drop-in-compose:5.7.0"
implementation "com.adyen.checkout:drop-in-compose:5.7.1"
```
For the Credit Card component:
```groovy
implementation "com.adyen.checkout:card:5.7.0"
implementation "com.adyen.checkout:components-compose:5.7.0"
implementation "com.adyen.checkout:card:5.7.1"
implementation "com.adyen.checkout:components-compose:5.7.1"
```

### Without Jetpack Compose

For Drop-in:
```groovy
implementation "com.adyen.checkout:drop-in:5.7.0"
implementation "com.adyen.checkout:drop-in:5.7.1"
```
For the Credit Card component:
```groovy
implementation "com.adyen.checkout:card:5.7.0"
implementation "com.adyen.checkout:card:5.7.1"
```

The library is available on [Maven Central][mavenRepo].
Expand Down
68 changes: 3 additions & 65 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,69 +8,7 @@
[//]: # (## Deprecated)
[//]: # ( - Configurations public constructor are deprecated, please use each Configuration's builder to make a Configuration object)

## New
- You can now use [Adyen Test Cards Android](https://github.com/Adyen/adyen-testcards-android) to prefill test payment method information, to test your integration more quickly.
- For Twint:
- You can now [store payment details](/docs/payment-methods/TWINT.md#optional-configurations) and [pay with stored payment details](/docs/payment-methods/TWINT.md#stored-twint-payments).
> [!WARNING]
> For Twint Components integrations, you must now use [`TwintComponent`](/docs/payment-methods/TWINT.md) instead of `InstantPaymentComponent`.
- For French meal vouchers, the following payment method types are now available:
- Up. Payment method type: **mealVoucher_FR_groupeup**.
- Natixis. Payment method type: **mealVoucher_FR_natixis**.
- Sodexo. Payment method type: **mealVoucher_FR_sodexo**.
- Learn to [configure French meal vouchers](/docs/payment-methods/FRENCH_MEAL_VOUCHER.md).
- For [API-only integrations with encrypted card details](https://docs.adyen.com/payment-methods/cards/custom-card-integration/?tab=candroid_3), you can now use the following classes to validate corresponding fields:

| Class | Description |
|-----------------------------|------------------------------------|
| `CardNumberValidator` | Validates the card number field. |
| `CardExpiryDateValidator` | Validates the expiry date field. |
| `CardSecurityCodeValidator` | Validates the security code field. |

- Support for the following locales:

| Locale | Values |
|------------|-----------|
| Catalan | **ca-ES** |
| Icelandic | **is-IS** |
| Bulgarian | **bg-BG** |
| Estonian | **et-EE** |
| Latvian | **lv-LV** |
| Lithuanian | **lt-lT** |

## Fixed
- When parsing JSON objects with explicit null values, JSON deserialization no longer returns the coerced `null` string.

## Improved
- For UPI Intent, if the shopper selects the **Continue** button without selecting an UPI option, an error message now shows.
- For Drop-in, in the navigation bar, the accessibility of the **Back/Close** button is improved.

## Changed
- For Drop-in, headers of preselected stored payment screen and payment methods list screen are updated.
- When you set `analyticsConfiguration = AnalyticsConfiguration(AnalyticsLevel.NONE)`, only [Drop-in/Components analytics](https://docs.adyen.com/online-payments/analytics-and-data-tracking#data-we-are-collecting) are not sent to Adyen.
- Dependency versions:
| Name | Version |
|--------------------------------------------------------------------------------------------------------|-------------------------------|
| [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.21) | **2.2.21** |
| [Cash App Pay](https://github.com/cashapp/cash-app-pay-android-sdk/releases/tag/v2.5.0) | **2.5.0** |
| [Android Gradle Plugin](https://developer.android.com/build/releases/past-releases/agp-8-5-0-release-notes#android-gradle-plugin-8.5.1) | **8.5.1** |
| [AndroidX Fragment](https://developer.android.com/jetpack/androidx/releases/fragment#1.8.3) | **1.8.3** |
| [AndroidX Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2) | **1.9.2** |
| [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2) | **1.9.2** |
| [AndroidX Compose BOM](https://developer.android.com/develop/ui/compose/bom/bom-mapping) | **2024.06.00** |
| [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.3) | **2.8.3** |
| [AndroidX Lifecycle ViewModel Compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.3) | **2.8.3** |
| [AndroidX AppCompat](https://developer.android.com/jetpack/androidx/releases/appcompat#1.7.0) | **1.7.0** |

## Deprecated
- The style for payment method list headers. Use the new style instead.

| Previous | Now |
|--------------------------------------------|--------------------------------------------|
| `AdyenCheckout.TextAppearance.HeaderTitle` | `AdyenCheckout.TextAppearance.HeaderLabel` |

- The `com.adyen.checkout.instant.ActionHandlingMethod` method. Use the new method instead.

| Previous | Now |
|---------------------------------------------------|-----------------------------------------------------------|
| `com.adyen.checkout.instant.ActionHandlingMethod` | `com.adyen.checkout.components.core.ActionHandlingMethod` |
- For the Address Lookup functionality:
- Address data is now correctly saved to `PaymentComponentData`.
- Address fields that were edited manually no longer lose their state when starting Lookup mode.
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ class DefaultCardDelegate(
addressLookupDelegate.addressLookupSubmitFlow
.onEach {
_viewFlow.tryEmit(CardComponentViewType.DefaultCardView)
inputData.address = it
inputData.address.set(it)
updateOutputData()
}
.launchIn(coroutineScope)
Expand Down Expand Up @@ -491,8 +491,8 @@ class DefaultCardDelegate(
}

override fun startAddressLookup() {
_viewFlow.tryEmit(CardComponentViewType.AddressLookup)
addressLookupDelegate.initialize(coroutineScope, inputData.address)
_viewFlow.tryEmit(CardComponentViewType.AddressLookup)
}

override fun handleBackPress(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import com.adyen.checkout.components.core.internal.ui.model.AddressInputModel
import com.adyen.checkout.components.core.internal.ui.model.InputData
import com.adyen.checkout.core.internal.ui.model.EMPTY_DATE
import com.adyen.checkout.core.ui.model.ExpiryDate
import com.adyen.checkout.ui.core.internal.ui.model.AddressLookupInputData

@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
data class CardInputData(
Expand All @@ -25,7 +24,6 @@ data class CardInputData(
var kcpBirthDateOrTaxNumber: String = "",
var kcpCardPassword: String = "",
var postalCode: String = "",
var addressLookupInputData: AddressLookupInputData = AddressLookupInputData(),
var address: AddressInputModel = AddressInputModel(),
var isStorePaymentMethodSwitchChecked: Boolean = false,
var selectedCardIndex: Int = -1,
Expand Down
2 changes: 1 addition & 1 deletion dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ext {
// just for example app, don't need to increment
version_code = 1
// The version_name format is "major.minor.patch(-(alpha|beta|rc)[0-9]{2}){0,1}" (e.g. 3.0.0, 3.1.1-alpha04 or 3.1.4-rc01 etc).
version_name = "5.7.0"
version_name = "5.7.1"

// Build Script
android_gradle_plugin_version = '8.5.1'
Expand Down
4 changes: 2 additions & 2 deletions example-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ dependencies {
// Checkout
implementation project(':drop-in')
implementation project(':components-compose')
// implementation "com.adyen.checkout:drop-in:5.7.0"
// implementation "com.adyen.checkout:components-compose:5.7.0"
// implementation "com.adyen.checkout:drop-in:5.7.1"
// implementation "com.adyen.checkout:components-compose:5.7.1"

// Dependencies
implementation libraries.kotlinCoroutines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ object AddressFormUtils {
*/
fun makeAddressData(addressOutputData: AddressOutputData, addressFormUIState: AddressFormUIState): Address? {
return when (addressFormUIState) {
AddressFormUIState.FULL_ADDRESS -> Address(
AddressFormUIState.FULL_ADDRESS, AddressFormUIState.LOOKUP -> Address(
postalCode = addressOutputData.postalCode.value.ifEmpty { Address.ADDRESS_NULL_PLACEHOLDER },
street = addressOutputData.street.value.ifEmpty { Address.ADDRESS_NULL_PLACEHOLDER },
stateOrProvince = addressOutputData.stateOrProvince.value.ifEmpty { Address.ADDRESS_NULL_PLACEHOLDER },
Expand All @@ -151,7 +151,7 @@ object AddressFormUtils {
country = Address.ADDRESS_COUNTRY_NULL_PLACEHOLDER,
)

else -> null
AddressFormUIState.NONE -> null
}
}

Expand Down
Loading
Loading