Skip to content

Merge release/4.5.0 into develop - #557

Closed
ali-farhadi-cko wants to merge 76 commits into
developfrom
release/4.5.0
Closed

ali-farhadi-cko wants to merge 76 commits into
developfrom
release/4.5.0

Conversation

@ali-farhadi-cko

Copy link
Copy Markdown
Contributor

Back-merge of the 4.5.0 release branch into develop to keep Gitflow in sync, as per the release process.

Release PR: #556

🤖 Generated with Claude Code

aashna-narula-cko and others added 30 commits January 23, 2024 14:27
Demo projects section was trying to scroll down just for a couple of lines. On a big screen, it looked like it didn't work.

If we remove it, I believe the README would look less confusing.
Previously, Run Regression Tests and Validate For App Store
was getting skipped automatically. Now the if condition is updated
with a manual trigger check and it works well.

In addition, this PR fixes a failing test case in regression
tests.
Make some workflows to be able to run manually
Include Package.resolved into git as per Apple recommendation
Let Publish Checkout.podspec and Publish Frames.podspec to be run from specific branches only
Bump Checkout pod deployment target to iOS 12
…risk-sdk

Pass correlation ID to risk SDK
okhan-okbay-cko and others added 25 commits May 29, 2024 16:23
Merge release/4.3.7 into main
RELEASE-4.4.0: Updates Sample App versions
Bump the Risk SDK from 4.0.1 to 6.0.1 in the SwiftPM manifest and the
CocoaPods podspec, and regenerate both sample Podfile.lock files. The
major bump pulls in FingerprintPro >= 2.12.0 and a new FingerprintJS
1.7.0 dependency, both reflected in the locks. No source changes were
needed: the Risk API used in CheckoutAPIService is unchanged in 6.0.1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bump Frames and Checkout to 4.5.0 in constants, podspecs, the SPM sample
project, and the sample app Podfile.lock files.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@agent-wall-e

agent-wall-e Bot commented Oct 7, 2026

Copy link
Copy Markdown

🔴 Risk Classification: MAJOR

Approval route: AI Review + Human Approval Required
Rollback controls: Change-freeze window + documented rollback plan

Classification reasons

  • security_sensitive_path:.github/workflows/check-pr.yml
  • security_sensitive_path:.github/workflows/codeql-analysis.yml
  • security_sensitive_path:.github/workflows/deploy-github-pages.yml
  • security_sensitive_path:.github/workflows/generate-jazzy-docs.yml
  • security_sensitive_path:.github/workflows/publish-Checkout.podspec.yml

Operational gates

  • ✅ jira_ticket
  • ✅ independent_review

Files analysed: 100


wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…

@agent-wall-e

agent-wall-e Bot commented Oct 7, 2026

Copy link
Copy Markdown
🔬 Debug — why this classification?

Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.

Reason code Kind Clause Meaning
security_sensitive_path — .github/workflows/check-pr.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/codeql-analysis.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/deploy-github-pages.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/generate-jazzy-docs.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/publish-Checkout.podspec.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/publish-Frames.podspec.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/run-regression-tests.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — .github/workflows/validate-for-app-store.yml classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — Checkout/Source/Tokenisation/CheckoutAPIService.swift classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).
security_sensitive_path — CheckoutTests/Tokenisation/CheckoutAPIServiceTests.swift classifying §2.1 M4/M5 Path matched a sensitive pattern (auth, secrets, crypto, PCI, migrations, network IaC).

Kinds:

  • classifying — this rule contributed to the chosen tier.
  • informational — context only; did not by itself decide the tier.

See issue #3 for the proposal to formalise this map as Appendix A of the standards doc.

wall-e 2026.06.19-02 · debug

@agent-wall-e

agent-wall-e Bot commented Oct 7, 2026

Copy link
Copy Markdown

🔵 Advisory review: Sound, but needs your judgement

This PR needs a human approval. The code itself reads as correct; whether it should land depends on context I don't have.

This is a Gitflow back-merge of release/4.5.0 into develop, bringing in Risk SDK integration, iOS 13+ minimum target, Xcode 26.x CI infrastructure, and a baseURLPrefix extension. The change is technically substantial and mostly correct, but several items warrant human review before landing.

For you to decide

  • The Risk SDK integration in CheckoutAPIService.swift uses a 5-second timeout (timeoutInterval: 5.0) via taskCompletionQueue and isTaskCompleted flag — the timeout recovery logic is truncated in the diff, so it cannot be fully verified; the reviewer should confirm the DispatchWorkItem/timer implementation is race-free and that isTaskCompleted is only ever accessed on taskCompletionQueue.
  • The branch-guard check in publish-Checkout.podspec.yml and publish-Frames.podspec.yml has been entirely commented out, meaning those workflows can now be triggered from any branch; this is an operational policy decision, not just a code correctness issue.
  • The run-regression-tests.yml trigger was changed from pull_request: [labeled] to workflow_dispatch only, removing automated regression runs on labeled PRs — this is a deliberate workflow change whose operational impact the team should confirm is intentional.
  • The SPM sample project pin was changed from upToNextMajorVersion: 4.0.0 to exactVersion: 4.3.6, which means the sample will not automatically consume 4.5.0 unless manually updated — this looks like an oversight given the rest of the release bumps to 4.5.0.
  • The PrivacyInfo.xcprivacy uses non-standard strings ('Device Model', 'SDK Version', 'SDK Lifecyle Events' [sic]) as NSPrivacyCollectedDataType values; Apple requires specific enumerated keys from their approved list, so these entries may cause App Store submission issues.
  • The Checkout.podspec now declares s.dependency 'Risk', '~> 6.0.1', making Risk a transitive CocoaPods dependency for all Checkout SDK consumers — this is a breaking behavioral change for integrators who may not expect a fingerprinting/device-ID SDK to be pulled in automatically.
  • The CHANGELOG.md inserts entries for 4.3.2 through 4.3.8 above the existing 4.3.1 entry (i.e., in descending order), which is correct, but 4.5.0 itself does not appear to be added to the changelog in this diff — a reviewer should verify it was added elsewhere or is expected to be added separately.
  • The #warning annotation left on the commented-out Apple Pay integration test (test_createApplePayToken) will emit a build warning in every build until resolved; this is a concrete gap in test coverage that the team should track.

⚠️ The diff was too large to read in full, so this review covers only part of the change.


This is not an approval. wall-e cannot auto-approve this PR — it is an opinion to help whoever does. Advisory review · us.anthropic.claude-sonnet-4-6 · wall-e 2026.06.19-02

@sonarqubecloud

sonarqubecloud Bot commented Oct 7, 2026

Copy link
Copy Markdown

This branch had an error being deployed

1 failed deployment
CocoaPodsRelease — 84f3e9da Deployed Oct 6, 2026 by ali-farhadi-cko via publish #24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants