Skip to content

Releases: braintree/braintree_ios

6.0.0-beta1

13 Dec 19:53
Compare
Choose a tag to compare
  • Convert BraintreeCore module to Swift
  • Convert BraintreeAmericanExpress module to Swift
  • Convert BraintreeDataCollector module to Swift
  • Removed PayPalDataCollector module in favor of single BraintreeDataCollector
  • 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 the client parameter instead of driver
      • Renamed BTClientMetadataSourceType to BTClientMetadataSource
      • Renamed BTClientMetadataIntegrationType to BTClientMetadataIntegration
      • Removed static wrapper methods from BTAppContextSwitcher
      • Replaced BTLogger with BTLogLevel and BTLogLevelDescription
      • Remove BTJSONErrorDomain global constant
      • Remove BTJSONErrorCode
      • Remove BTAPIClientErrorDomain global constant
      • Add BTClientTokenErrors
        • .invalidAuthorizationFingerprint
        • .invalidConfigURL
        • .invalidFormat
        • .unsupportedVersion
        • .failedDecoding
      • Add BTHTTPErrorCodes
        • .httpResponseInvalid
        • .urlStringInvalid
        • .clientApiUrlInvalid
        • .invalidAuthorizationFingerprint
      • Renamed BTCardNetworkUKMaestro to BTCardNetworkUkMaestro in BTCardNetwork enum
    • BraintreeVenmo
      • Renamed BTVenmoDriver to BTVenmoClient
      • Renamed BTVenmoDriverErrorDomain to BTVenmoErrorDomain
      • Renamed BTVenmoDriverErrorType to BTVenmoErrorType
      • All errors are now prefixed with BTVenmoError instead of BTVenmoDriverError
      • Remove .unspecified case from BTVenmoPaymentMethodUsage enum
      • Require paymentMethodUsage param in BTVenmoRequest initializer
      • Move category extension of BTConfiguration into BraintreeCore
    • BraintreePayPal
      • Renamed BTPayPalDriver to BTPayPalClient
      • Renamed BTPayPalDriverErrorDomain to BTPayPalErrorDomain
      • Renamed BTPayPalDriverErrorType to BTPayPalErrorType
      • All errors are now prefixed with BTPayPalError instead of BTPayPalDriverError
      • Remove BTPayPalDriver.requestOneTimePayment in favor of BTPayPalClient.tokenizePayPalAccount
      • Remove BTPayPalDriver.requestBillingAgreement in favor of BTPayPalClient.tokenizePayPalAccount
      • Move category extension of BTConfiguration into BraintreeCore
    • BraintreeAmericanExpress
      • Remove BTAmericanExpressErrorDomain global constant
      • Remove BTAmericanExpressErrorType
      • Make BTAmericanExpressRewardsBalance initializer private
    • BraintreePaymentFlow
      • Renamed BTPaymentFlowDriver to BTPaymentFlowClient
      • Renamed BTPaymentFlowDriverErrorDomain to BTPaymentFlowErrorDomain
      • Renamed BTPaymentFlowDriverErrorType to BTPaymentFlowErrorType
      • All errors are now prefixed with BTPaymentFlowError instead of BTPaymentFlowDriverError
      • Renamed BTPaymentFlowDriverDelegate protocol to BTPaymentFlowClientDelegate
      • handleRequest in delegate protocol now takes in paymentClientDelegate parameter instead of paymentDriverDelegate
      • Move category extension of BTConfiguration into BraintreeCore
    • PayPalDataCollector
      • Removed PayPalDataCollector module in favor of single BraintreeDataCollector
    • BraintreeDataCollector
      • Kount is no longer supported through the SDK
      • Combine PayPalDataCollector and BraintreeDataCollector 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 into BraintreeCore
    • BraintreeUnionPay
      • Move category extension of BTConfiguration into BraintreeCore
    • BraintreeThreeDSecure
      • Move category extension of BTConfiguration into BraintreeCore

5.18.0

13 Dec 16:50
Compare
Choose a tag to compare
  • 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

5.17.0

05 Dec 21:34
Compare
Choose a tag to compare
  • BraintreePayPalNativeCheckout (BETA)
    • Fix CocoaPods bug emitting "Cannot find interface declaration" error (CocoaPods issue #11672)
    • Rename riskCorrelationId to riskCorrelationID
    • Rename nativeRequest to request internally in tokenizePayPalAccount
    • tokenizePayPalAccount now takes in a request of type BTPayPalNativeRequest instead of a nativeRequest of type BTPayPalRequest

5.16.0

27 Oct 18:37
Compare
Choose a tag to compare
  • BraintreePayPalDataCollector
    • Update PPRiskMagnes with a version of 5.4.0 with ENABLE_BITCODE removed

5.15.0

26 Oct 16:15
Compare
Choose a tag to compare
  • BraintreePayPalNativeCheckout (BETA)
    • Fix merchant_account_id and correlation_id keys to be nested at the top level of the internal create order request
    • Update Package.swift to fetch PayPalCheckout binary dependency directly instead of hosting copy in braintree_ios repo
  • BraintreePayPal
    • Resolve depreciation warning with UIApplication.sharedApplication for iOS 15+ targets (fixes #884)

5.14.0

05 Oct 20:20
Compare
Choose a tag to compare
  • Remove ENABLE_BITCODE from framework target build settings
    • The App Store no longer accepts bitcode submissions from Xcode 14
  • BraintreePayPalNativeCheckout (BETA)
    • Update NativeCheckout version from 0.106.0 to 0.108.0
    • Fixes an issue where merchants with multiple client IDs would fallback to web on subsequent checkout sessions
    • Remove exit survey when canceling Native Checkout flow
  • BraintreeSEPADirectDebit
    • Resolve Invalid Bundle error when uploading to the App Store

5.13.0

16 Sep 21:05
Compare
Choose a tag to compare
  • BraintreePayPalNativeCheckout (BETA)
    • Fix CocoaPods integrations to pin exact PayPalCheckout version
    • Update NativeCheckout version from 0.100.0 to 0.106.0
    • This version update allows US based customers with a confirmed phone number to log into their PayPal account using a one time passcode sent via SMS without needing to authenticate through a webview.
    • Update Package.swift to use local PayPalCheckout dependency instead of fetching remotely.
      • Fixes a bug where all Braintree merchants using SPM (including those not using the BraintreePayPalNativeCheckout module), would get PayPalCheckout in their projects.

5.12.0

07 Sep 19:14
Compare
Choose a tag to compare
  • Adds support for Xcode 14 and iOS 16
  • BraintreeSEPADirectDebit
    • Update BTSEPADirectDebitNonce to pull in ibanLastFour and customerID as expected
    • Remove unused presentationContextProvider (fixes #854)

5.11.0

20 Jul 17:21
Compare
Choose a tag to compare
  • BraintreeSEPADirectDebit
    • Add support for SEPA Direct Debit for approved merchants through the Braintree SDK
    • SEPA Direct Debit is only available to select merchants, please contact your Customer Support Manager or Sales to start processing SEPA bank payments
    • Merchants should use the BTSepaDirectDebitClient.tokenize method while passing in the BTSEPADirectDebitRequest and context while conforming to ASWebAuthenticationPresentationContextProviding
  • BraintreePayPalNativeCheckout (BETA)
    • This module can handle the same flows as the existing BraintreePayPal module, but will present the end user with an in-context checkout flow using native UI components.
    • To get started, create a BTPayPalNativeCheckoutClient, and call tokenizePayPalAccount with either a BTPayPalNativeCheckoutRequest (for one time payment transactions), or a BTPayPalNativeVaultRequest (for vaulted flows)

5.10.0

06 Jun 19:17
Compare
Choose a tag to compare
  • Fix potential crash when http request fails with no error but empty data (thanks @cltnschlosser)
  • Update Cardinal SDK to version 2.2.5-3