# Changelog

## Score

- CAI 39 → 45 (+6.0)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 85 → 85 (-0.5)
- Architecture 96 → 88 (-8.3)
- Maturity 60 → 60 (+0.1)
- Readiness 53 → 47 (-5.6)
- Security 27 → 61 (+33.3)
- Event Sourcing 100 → 100 (+0.0)
- Accessibility 28 → 29 (+1.2)

## Resolved (67)

- Change coupling: HostViewController.swift ↔ FinancialConnectionsWebFlowViewController.swift (StripeFinancialConnections/StripeFinancialConnections/Source/Common/HostViewController.swift)
- Change coupling: HostViewController.swift ↔ NativeFlowController.swift (StripeFinancialConnections/StripeFinancialConnections/Source/Common/HostViewController.swift)
- Change coupling: PaymentPagesAPIResponse+Session.swift ↔ Checkout+Session+Internal.swift (StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Checkout/API Models/PaymentPagesAPIResponse+Session.swift)
- Change-coupling hub: STPIntentAction.swift → STPPaymentMethod.swift, STPPaymentMethodEnums.swift, STPPaymentMethodParams.swift (StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift)
- Documentation: no architecture or design documentation (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (11 lines × 4) (StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodKakaoPay.swift)
- Duplicated block (12 lines × 10) (StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift)
- Duplicated block (12 lines × 2) (StripeCardScan/StripeCardScan/Source/CardScan/CreditCardOcr/CreditCardOcrPrediction.swift)
- Duplicated block (12 lines × 2) (StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift)
- Duplicated block (12 lines × 2) (StripePayments/StripePayments/Source/Helpers/STPBankAccountCollector.swift)
- Duplicated block (12–13 lines × 2) (StripeFinancialConnectionsLite/StripeFinancialConnectionsLite/Source/FCLiteImplementation.swift)
- Duplicated block (13 lines × 4) (StripePayments/StripePayments/Source/API Bindings/Models/SetupIntents/STPSetupIntent.swift)
- Duplicated block (13 lines × 5) (StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodBancontact.swift)
- Duplicated block (14 lines × 3) (StripePayments/StripePayments/Source/API Bindings/Models/PaymentMethods/Types/STPPaymentMethodPayPal.swift)
- Duplicated block (15 lines × 2) (Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift)
- Duplicated block (15 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartView.swift)
- Duplicated block (16 lines × 2) (Example/FinancialConnections Example/FinancialConnections Example/Playground/PlaygroundViewModel.swift)
- Duplicated block (16 lines × 2) (StripePayments/StripePayments/Source/API Bindings/Models/Shared/LinkSettings.swift)
- …and 47 more

## New (218)

- BillingDetails.init (cognitive 23) (StripeApplePay/StripeApplePay/Source/Extensions/BillingDetails+ApplePay.swift)
- Change-coupling hub: HostViewController.swift → FinancialConnectionsSheet.swift, NativeFlowController.swift, FinancialConnectionsWebFlowViewController.swift (StripeFinancialConnections/StripeFinancialConnections/Source/Common/HostViewController.swift)
- ClassTooLong: CryptoOnrampCoordinator (StripeCryptoOnramp/StripeCryptoOnramp/Source/Components/CryptoOnrampCoordinator.swift)
- ConfirmButton.update (cognitive 31) (StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift)
- ConfirmButton.update (cyclomatic 36) (StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Views/ConfirmButton.swift)
- Coverage not measured — Swift suite
- Documentation: no project overview (stripe3ds2-support/doc/html/index.html)
- Duplicated block (10 lines × 2) (Example/CryptoOnramp Example/CryptoOnramp Example/AttachWalletAddressView.swift)
- Duplicated block (10 lines × 2) (Example/CryptoOnramp Example/CryptoOnramp Example/ComplianceIdentifiersEntryView.swift)
- Duplicated block (10 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/ExampleLinkControllerPreviewView.swift)
- Duplicated block (10 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/ExampleSwiftUIViews.swift)
- Duplicated block (10 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift)
- Duplicated block (10 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/PaymentSheetTestPlaygroundSettings.swift)
- Duplicated block (10 lines × 2) (StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/Embedded/EmbeddedFormViewController.swift)
- Duplicated block (10 lines × 2) (StripePaymentSheet/StripePaymentSheet/Source/PaymentSheet/New Payment Method Screen/WalletHeaderView.swift)
- Duplicated block (10 lines × 2) (StripePayments/StripePayments/Source/API Bindings/Models/Shared/STPIntentAction.swift)
- Duplicated block (10 lines × 3) (Testers/IntegrationTester/IntegrationTester/Source/Views/PaymentMethodWithContactInfoView.swift)
- Duplicated block (10–11 lines × 2) (StripePaymentSheet/StripePaymentSheet/Source/Internal/Link/Components/Toast/LinkToast.swift)
- Duplicated block (10–11 lines × 2) (StripePayments/StripePaymentsTestUtils/STPTestingAPIClient+Swift.swift)
- Duplicated block (11 lines × 2) (Example/PaymentSheet Example/PaymentSheet Example/Checkout Playground/CheckoutCartViewController.swift)
- …and 198 more

## Changes since last survey

- 64 commits — 53 feature/other, 11 fixes

## By area

- StripePaymentSheet/StripePaymentSheet — 12 commits
- StripeCryptoOnramp/StripeCryptoOnramp — 10 commits
- (root) — 6 commits
- Example/PaymentSheet Example — 6 commits
- StripePayments/StripePaymentsTestUtils — 6 commits
- Example/FinancialConnections Example — 5 commits
- StripeIdentity/StripeIdentity — 4 commits
- StripeFinancialConnections/StripeFinancialConnections — 3 commits
- Tests/ReferenceImages_64 — 3 commits
- StripeCryptoOnramp/StripeCryptoOnrampTests — 2 commits
- StripePaymentSheet/StripePaymentSheetTests — 2 commits
- Example/CardImageVerification Example — 1 commit
- Example/CryptoOnramp Example — 1 commit
- Stripe/StripeiOSTests — 1 commit
- StripeCore/StripeCore — 1 commit
- StripeIdentity/StripeIdentityTests — 1 commit

## Notable commits

- fix: Fix Currency Selector Element after session updates (#7233)
- fix: Fix Financial Connections onEvent error mapping and emission diagnostics (#7192)
- fix: Fix Identity routing tests (#7209)
- fix: Fix LBP conversion and Apple Pay currency rounding (#7264)
- fix: Fix card funding warnings after scanning (#7159)
- fix: Fix customer session cache expiry (#7237)
- fix: Fixed a potential crash when using certain card brands in PaymentSheet (#7263)
- fix: PaymentSheet: Fixes Failing UI Test (#7257)
- fix: [Card Scan Fixes] Bundle finish() and delegate calls (#7265)
- fix: [Card Scan Fixes] Separate card scanner setup from startup (#7245)
- fix: [FC] Fix Stability Tests Keyboard Dismissal (#7269)
- change: Add CSE height update delegate (#7102)
- change: Add Card Element analytics (#7267)
- change: Add Checkout default email, updateEmail (#6762)
- change: Add GoPay support to PaymentSheet (#7166)
- change: Add Pix support to PaymentSheet (#7238)
- change: Add Xcode 27 files (#7222)
- change: Add border around embedded payment sheet bounds in example app (#7276)
- change: Add email and phone to crypto onramp KycInfo and map them from Apple Pay (#7182)
- change: Add program name for cards that have card art (#7194)
- …and 44 more
