Skip to content

Pre-RC polish: ship the README in the dist, drop always-on ext requirements, un-stale the docs - #85

Merged
loevgaard merged 1 commit into
2.xfrom
chore/rc-polish
Aug 24, 2026
Merged

loevgaard merged 1 commit into
2.xfrom
chore/rc-polish

Conversation

@loevgaard

Copy link
Copy Markdown
Member

Findings from a final review pass over 2.x before drafting the RC — all small and mechanical:

  • .gitattributes export-ignored README.md, so a dist install from Packagist shipped without the package's documentation (while docs/UPGRADE-2.0.md did ship) — the exact gap the SDK closed on its side in 1.1 (Dependabot can't resolve your PHP dependency files #21 there). The README ships now; the dev tooling stays ignored.
  • ext-hash / ext-json dropped from require: they date from when Api computed the callback HMAC and decoded JSON itself. Since the SDK took both over, src/ uses neither — and both extensions are always-enabled on PHP ≥ 8.0 anyway, so they were pure noise. ext-ctype/ext-filter (genuinely used in Details/the factory, genuinely disableable) stay.
  • Doc staleness: docs/UPGRADE-2.0.md still said state logic lives in the Operations helper (deleted with SDK 1.2); the balance-writers lists in README/UPGRADE/CLAUDE.md predated Refuse to queue a capture/refund/cancel while one is still in flight #80 making Cancel and every Refund fetch — every action that touches the payment writes balance now, and the docs say so.
  • One test row for OperationPendingException::assertNoneInFlight(): a newer pending operation of a type the guard ignores (an authorize made outside the gateway) must not mask a pending money operation earlier in the list — kills the one semantically meaningful escaped mutant there.

Full gate green (368 tests); analyser, validate --strict, normalize clean; composer audit no advisories.

The review verdict itself is in the conversation: no blocking findings — with this in, 2.x is RC-ready from my side.

…ements, un-stale the docs

Found in a final pass over 2.x before the release candidate:

- .gitattributes export-ignored README.md, so a dist install from
  Packagist shipped without the package's documentation while
  docs/UPGRADE-2.0.md did ship — the exact gap the SDK closed on its
  side in 1.1. The README ships now; the dev tooling stays ignored.
- ext-hash and ext-json date from when Api computed the callback HMAC
  and decoded JSON itself; since the SDK took both over, src/ uses
  neither — and both extensions are always-enabled on PHP >= 8.0
  anyway, so the requirements were pure noise. ext-ctype and ext-filter
  (genuinely used, genuinely disableable) stay.
- docs/UPGRADE-2.0.md still said state logic lives in the Operations
  helper (deleted with SDK 1.2); the balance-writers lists in README,
  UPGRADE and CLAUDE.md predated the in-flight guard making Cancel and
  every Refund fetch too — every action that touches the payment writes
  balance now, and the docs say so.
- One test row: a newer pending operation of a type the in-flight guard
  ignores (an authorize made outside the gateway) must not mask a
  pending money operation earlier in the list — kills the one
  semantically meaningful escaped mutant in assertNoneInFlight().

Refs #71.
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.53%. Comparing base (4014384) to head (7d3dfb1).

Additional details and impacted files
@@            Coverage Diff            @@
##                2.x      #85   +/-   ##
=========================================
  Coverage     98.53%   98.53%           
  Complexity      203      203           
=========================================
  Files            19       19           
  Lines           545      545           
=========================================
  Hits            537      537           
  Misses            8        8           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@loevgaard
loevgaard merged commit 552a5f4 into 2.x Aug 24, 2026
21 checks passed
@loevgaard
loevgaard deleted the chore/rc-polish branch August 24, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant