Releases: braintree/braintree_ios
Releases · braintree/braintree_ios
5.22.0
- Require Xcode 14.1 (per App Store requirements)
- Deprecate 3DS v1. Any attempt to use 3DS v1 will now throw an error. See Migrating to 3D Secure 2 for more information.
- Carthage
.framework
s are no longer supported in Xcode 14.1, please replace all Frameworks with XCFrameworks and use--use-xcframeworks
for all Carthage steps- Multi-architecture platforms are not supported when building framework bundles in Xcode 12+. Prefer building with XCFrameworks).
6.0.0-beta4
- Require Xcode 14.1 (per App Store requirements)
- Move from Braintree to PayPal analytics service
- Make
BTConfiguration
extensions internal - Breaking Changes
- Require Xcode 14.3+ and Swift 5.8+
- Rename
BraintreePaymentFlow
module toBraintreeLocalPayment
- BraintreeThreeDSecure
- Add
BTThreeDSecureClient
- Remove
BTPaymentFlowClient+ThreeDSecure
extension - Move
BTPaymentFlowClient+ThreeDSecure
andBTThreeDSecureRequest
methods toBTThreeDSecureClient
- Remove
BTThreeDSecureError.cannotCastRequest
case
- Remove
- Remove dependency on
BraintreePaymentFlow
module
- Add
- BraintreeLocalPayment (formerly named BraintreePaymentFlow)
- Rename
BTPaymentFlowClient
toBTLocalPaymentClient
- Rename
BTPaymentFlowError
toBTLocalPaymentError
- Rename
BTLocalPaymentError.errorDomain
fromBTPaymentFlowErrorDomain
toBTLocalPaymentErrorDomain
- Rename
- Move
BTLocalPaymentRequest
methods toBTLocalPaymentClient
- Add
BTLocalPaymentError
case.webSessionError
= 10
- Rename
- BraintreePayPal
- Add
BTPayPalError
case- Add error
.webSessionError
= 8
- Add error
- Add
- BraintreeCard
- Add
BTCardError
case- Add error
.fetchConfigurationFailed
= 4
- Add error
- Add
- BraintreeSEPADirectDebit
- Add
BTSEPADirectDebitError
case- Add error
.failedToCreateNonce
= 7
- Add error
- Remove
BTSEPADirectDebitError.presentationContextInvalid
- Add
6.0.0-beta3
- Remove
iosBaseSDK
,iosDeploymentTarget
,iosIdentifierForVendor
,deviceAppGeneratedPersistentUuid
, anddeviceScreenOrientation
fromBTAnalyticsMetadata
- Fixes error
@objcMembers attribute used without importing module 'Foundation'
in Xcode 14.3+ - Add async/await support back to all public Swift methods
- Convert
BraintreeVenmo
module to Swift - Convert
BraintreeCard
module to Swift - Convert
BraintreeThreeDSecure
module to Swift - Convert
BraintreePaymentFlow
module to Swift - Breaking Changes
- BraintreePaymentFlow
- Replaced
SFSafariViewController
withASWebAuthenticationSession
- Removed
BTViewControllerPresentingDelegate
protocol and correlating methods - Rename
BTLocalPaymentRequest.shippingAddressRequired
toisShippingAddressRequired
- Remove
BTPaymentFlowErrorDomain
global constant &BTPaymentFlowErrorType
- Add
BTPaymentFlowError
cases.noAccountData
= 4.failedToCreateNonce
= 6.fetchConfigurationFailed
= 7.missingRedirectURL
= 8.missingReturnURL
= 9
- Update
BTPaymentFlowError
values.integration
= 3
- Replaced
- BraintreeApplePay
- Rename
BTApplePayClient.tokenizeApplePay(_:completion:)
toBTApplePayClient.tokenize(_:completion:)
- Rename
BTApplePayClient.paymentRequest()
toBTApplePayClient.makePaymentRequest()
- Remove
BTApplePayErrorDomain
global constant - Remove
BTApplePayErrorType
- Make
BTApplePayCardNonce
initializer internal
- Rename
- BraintreeDataCollector
- Update PPRiskMagnes to static XCFramework
- BraintreeVenmo
- Rename
BTVenmoAccountNonce.externalId
toBTVenmoAccountNonce.externalID
- Remove
BTVenmoErrorDomain
global constant - Renamed
BTVenmoClient.tokenizeVenmoAccount(with:completion:)
toBTVenmoClient.tokenize(_:completion:)
- Renamed
BTVenmoClient.isiOSAppAvailableForAppSwitch()
toBTVenmoClient.isVenmoAppInstalled()
- Add new
BTVenmoError
.invalidBodyReturned
.invalidRedirectURL
.fetchConfigurationFailed
- Removed
BTVenmoError.integration
andBTVenmoError.requestURL
- Rename
- BraintreeAmericanExpress
- Rename
BTAmericanExpressClient.getRewardsBalance(forNonce:currencyIsoCode:completion:)
toBTAmericanExpressClient.getRewardsBalance(forNonce:currencyISOCode:completion:)
- Rename
- BraintreeSEPADirectDebit
- Rename
BTSEPADirectDebitClient.tokenize(request:completion:)
toBTSEPADirectDebitClient.tokenize(_:completion:)
- Rename
- BraintreeCard
- Make
BTAuthenticationInsight
initializer internal - Remove
BTCardClientErrorDomain
global constant - Rename
BTCardClient.tokenizeCard(_:completion)
toBTCardClient.tokenize(_:completion:)
- Rename
BTCardClientErrorType
toBTCardError
- Remove unused
BTCardClientErrorType.paymentOptionNotEnabled
- Update enum values:
.unknown
= 0.integration
= 1.customerInputInvalid
= 2.cardAlreadyExists
= 3
- Remove unused
- Make
- BraintreeThreeDSecure
- 3D Secure version 1 is no longer supported
- Removed the following:
BTThreeDSecureV1UICustomization
class,BTThreeDSecureRequest.v1UICustomization
property, andBTThreeDSecureVersion
enum- All 3D Secure requests will use version 2
- Rename
BTThreeDSecureV2ButtonType
enum cases to:.verify
,.continue
,.next
,.cancel
, and.resend
- Remove
BTThreeDSecureFlowErrorDomain
global constant - Add new
BTThreeDSecureError
- Add error
.noBodyReturned
= 4 - Add error
.canceled
= 5 - Add error
.invalidAPIClient
= 6 - Add error
.cannotCastRequest
= 7 - Add error
.jsonSerializationFailure
= 8
- Add error
- Removed the following:
- 3D Secure version 1 is no longer supported
- BraintreePaymentFlow
5.21.0
- Add missed deprecation warnings to
BTCardRequest
Union Pay properties - Update Cardinal SDK to version 2.2.5-6
- BraintreePayPalNativeCheckout (BETA)
- Expose
payerID
property onBTPayPalNativeCheckoutAccountNonce
publicly - Expose all properties on
BTPayPalNativeCheckoutAccountNonce
to Objective-C
- Expose
5.20.1
- BraintreePayPalNativeCheckout (BETA)
- Fix bug where some request dictionaries were being constructed incorrectly
- Fix bug where passing
BTPayPalNativeVaultRequest.shippingAddressOverride
asnil
was incorrectly throwing an error
6.0.0-beta2
- Convert
BraintreePayPal
module to Swift - Breaking Changes
- BraintreePayPal
- Rename
BTPayPalRequest.riskCorrelationId
toBTPayPalRequest.riskCorrelationID
- Removed
BTPayPalRequest.activeWindow
property- The window will be set to the first window or a new
ASPresentationAnchor
if the first window isnil
- The window will be set to the first window or a new
- Update
BTPayPalRequestLandingPageType
enum default case to.none
- Update enum values
.none
= 0.login
= 1.billing
= 2
- Update enum values
BTPayPalRequestUserAction
- Update enum cases to
.none
and.payNow
- Update enum values
.none
= 0.payNow
= 1
- Update enum cases to
- Update
BTPayPalRequestIntent
enum values.authorize
= 0.sale
= 1.order
= 2
- Update
BTPayPalLineItemKind
enum values.debit
= 0.credit
= 1
- Create
BTPayPalLocaleCode
enum BTPayPalRequest.localeCode
now uses theBTPayPalLocaleCode
enum instead of aString
- Renamed and replaced
BTPayPalClient.tokenizePayPalAccount
with two methods calledtokenize()
taking in requests of eitherBTPayPalCheckoutRequest
orBTPayPalVaultRequest
- Removed
BTPayPalErrorType
- Replaced
BTPayPalErrorDomain
global constant withBTPayPalError.errorDomain
- Added
BTPayPalError
.disabled
.canceled
.fetchConfigurationFailed
.httpPostRequestError
.invalidURL
.asWebAuthenticationSessionURLInvalid
.invalidURLAction
.failedToCreateNonce
- Make
BTPayPalNonce
initializer internal
- Rename
- BraintreePayPalNativeCheckout (BETA)
- Renamed and replaced
BTPayPalNativeCheckoutClient.tokenizePayPalAccount
with two methods calledtokenize()
taking in requests of eitherBTPayPalNativeCheckoutRequest
orBTPayPalNativeVaultRequest
BTPayPalNativeCheckoutRequest
now takes in anintent
of typeBTPayPalRequestIntent
instead ofBTPayPalNativeRequestIntent
BTPayPalNativeCheckoutRequest.localeCode
now uses theBTPayPalLocaleCode
enum instead of aString
value
- Renamed and replaced
- BraintreeUnionPay
- Remove
BraintreeUnionPay
module- UnionPay cards can now be processed as regular cards (through the BraintreeCard module) due to their partnership with Discover
- Remove
- BraintreeCore
- Remove
BTConfiguration+Extensions.isUnionPayEnabled
property - Remove
BTPreferredPaymentMethods
andBTPreferredPaymentMethodResult
- Remove
- BraintreeSEPADirectDebit
- The
tokenize
method no longer takes in acontext
parameter - Merchants no longer need to conform to the
ASWebAuthenticationPresentationContextProviding
protocol
- The
- BraintreePayPal
5.20.0
- BraintreeThreeDSecure
- Add
requestedExemptionType
toBTThreeDSecureRequest
- Add
5.19.0
- BraintreePayPalNativeCheckout (BETA)
- Update NativeCheckout version from 0.108.0 to 0.110.0
- Fix issue with multiple clientIDs causing incorrect web fallback
6.0.0-beta1
- Convert
BraintreeCore
module to Swift - Convert
BraintreeAmericanExpress
module to Swift - Convert
BraintreeDataCollector
module to Swift - Removed
PayPalDataCollector
module in favor of singleBraintreeDataCollector
- Kount is no longer supported through the SDK
- Breaking Changes
- Bump minimum supported deployment target to iOS 14+
- Require Carthage 0.38.0+ and xcframeworks via
carthage update --use-xcframeworks
- Require Xcode 14
- Bump Swift Tools Version to 5.7 for CocoaPods & SPM
- BraintreeCore
- Renamed
BTAppContextSwitchDriver
protocol to `BTAppContextSwitchClient BTViewControllerPresentingDelegate
protocol now takes in theclient
parameter instead ofdriver
- Renamed
BTClientMetadataSourceType
toBTClientMetadataSource
- Renamed
BTClientMetadataIntegrationType
toBTClientMetadataIntegration
- Removed static wrapper methods from
BTAppContextSwitcher
- Replaced
BTLogger
withBTLogLevel
andBTLogLevelDescription
- Remove
BTJSONErrorDomain
global constant - Remove
BTJSONErrorCode
- Remove
BTAPIClientErrorDomain
global constant - Add
BTClientTokenError
s.invalidAuthorizationFingerprint
.invalidConfigURL
.invalidFormat
.unsupportedVersion
.failedDecoding
- Add
BTHTTPErrorCode
s.httpResponseInvalid
.urlStringInvalid
.clientApiUrlInvalid
.invalidAuthorizationFingerprint
- Renamed
BTCardNetworkUKMaestro
toBTCardNetworkUkMaestro
inBTCardNetwork
enum
- Renamed
- BraintreeVenmo
- Renamed
BTVenmoDriver
toBTVenmoClient
- Renamed
BTVenmoDriverErrorDomain
toBTVenmoErrorDomain
- Renamed
BTVenmoDriverErrorType
toBTVenmoErrorType
- All errors are now prefixed with
BTVenmoError
instead ofBTVenmoDriverError
- Remove
.unspecified
case fromBTVenmoPaymentMethodUsage
enum - Require
paymentMethodUsage
param inBTVenmoRequest
initializer - Move category extension of
BTConfiguration
intoBraintreeCore
- Renamed
- BraintreePayPal
- Renamed
BTPayPalDriver
toBTPayPalClient
- Renamed
BTPayPalDriverErrorDomain
toBTPayPalErrorDomain
- Renamed
BTPayPalDriverErrorType
toBTPayPalErrorType
- All errors are now prefixed with
BTPayPalError
instead ofBTPayPalDriverError
- Remove
BTPayPalDriver.requestOneTimePayment
in favor ofBTPayPalClient.tokenizePayPalAccount
- Remove
BTPayPalDriver.requestBillingAgreement
in favor ofBTPayPalClient.tokenizePayPalAccount
- Move category extension of
BTConfiguration
intoBraintreeCore
- Renamed
- BraintreeAmericanExpress
- Remove
BTAmericanExpressErrorDomain
global constant - Remove
BTAmericanExpressErrorType
- Make
BTAmericanExpressRewardsBalance
initializer private
- Remove
- BraintreePaymentFlow
- Renamed
BTPaymentFlowDriver
toBTPaymentFlowClient
- Renamed
BTPaymentFlowDriverErrorDomain
toBTPaymentFlowErrorDomain
- Renamed
BTPaymentFlowDriverErrorType
toBTPaymentFlowErrorType
- All errors are now prefixed with
BTPaymentFlowError
instead ofBTPaymentFlowDriverError
- Renamed
BTPaymentFlowDriverDelegate
protocol toBTPaymentFlowClientDelegate
handleRequest
in delegate protocol now takes inpaymentClientDelegate
parameter instead ofpaymentDriverDelegate
- Move category extension of
BTConfiguration
intoBraintreeCore
- Renamed
- PayPalDataCollector
- Removed
PayPalDataCollector
module in favor of singleBraintreeDataCollector
- Removed
- BraintreeDataCollector
- Kount is no longer supported through the SDK
- Combine
PayPalDataCollector
andBraintreeDataCollector
into one module to create single entrypoint for data collection - Merchants should use the new
collectDeviceData
function for data collection which will now return a completion with either device data or an error
- BraintreeApplePay
- Move category extension of
BTConfiguration
intoBraintreeCore
- Move category extension of
- BraintreeUnionPay
- Move category extension of
BTConfiguration
intoBraintreeCore
- Move category extension of
- BraintreeThreeDSecure
- Move category extension of
BTConfiguration
intoBraintreeCore
- Move category extension of
5.18.0
- Deprecate Kount Custom integrations
- Deprecate the
BraintreeUnionPay
module and containing classes- UnionPay cards can now be processed as regular cards (through the
BraintreeCard
module) due to their partnership with Discover
- UnionPay cards can now be processed as regular cards (through the