Skip to content

chore: housekeeping cleanup after SDK 14.0.0 / RN 0.85.3 upgrade#467

Merged
wmathurin merged 1 commit into
forcedotcom:devfrom
james-enperso:chore/version-matrix-housekeeping-14.0.0
Jun 16, 2026
Merged

chore: housekeeping cleanup after SDK 14.0.0 / RN 0.85.3 upgrade#467
wmathurin merged 1 commit into
forcedotcom:devfrom
james-enperso:chore/version-matrix-housekeeping-14.0.0

Conversation

@james-enperso

Copy link
Copy Markdown
Contributor

Summary

An audit against the 14.0.0 / RN 0.85.3 / iOS 18.0 / Android 31 version matrix (the row published in README.md) found the repo already meets the matrix in every place that defines it — package.json, SalesforceReact.podspec, android/build.gradle, both test apps, and CI are all at target. The RN 0.85.3 and iOS 18 work landed in earlier PRs.

This PR cleans up the leftovers that the version bump didn't catch. No public API, dependency version, or build-matrix value is changed.

Changes

Docs — stale toolchain minimums (engines.node is >=22; the iOS 18 SDK requires Xcode 16+; CI already uses Node 22 / Xcode ^16):

  • README.md: Xcode 15+ → 16+
  • CLAUDE.md: Node 20+ → 22+, Xcode 15+ → 16+
  • docs/ios-tests/README.md: Xcode 15 → 16, Node 20 → 22, and CI example node-version: '20''22'
  • docs/android-tests/README.md: CI example node-version: '20''22'
  • docs/android-tests/PREPAREANDROID_DETAILED.md: "Node 20+" → "Node 22+"

Dead dependencies in the test apps:

  • iosTests/package.json: removed chai@4.4.1 (replaced by the custom assert.js per CLAUDE.md; no longer imported) and the deprecated metro-react-native-babel-preset@0.77.0 (superseded by @react-native/babel-preset@0.85.3)
  • androidTests/package.json: removed the same deprecated metro-react-native-babel-preset@0.77.0

Podspec — dead header path:

  • SalesforceReact.podspec: removed libs/SalesforceReact/SalesforceReact/SalesforceReact.h from public_header_files. That path is from the pre-14.0 layout (before the bridge moved to ios/SalesforceReact/); the umbrella header no longer exists, so CocoaPods warned on the non-matching glob.

Release tooling — documentation:

  • setversion.sh: added a SCOPE comment clarifying it stamps only the SDK version (package.json version, SDK git tag, podspec s.version) and that the RN / iOS-min / minSdk toolchain values must be bumped manually each upgrade and kept in sync with the README compatibility table.

Verification

  • Both edited package.json files validate as JSON.
  • Repo-wide sweep confirms no remaining Xcode 15, Node 20, chai, metro-react-native-babel-preset, or libs/SalesforceReact references.

🤖 Generated with Claude Code

@salesforce-cla

Copy link
Copy Markdown

Thanks for the contribution! Before we can merge this, we need @james-enperso to sign the Salesforce Inc. Contributor License Agreement.

The repo already meets the 14.0.0 / RN 0.85.3 / iOS 18 / Android 31
version matrix. This removes leftovers from that upgrade that were not
caught in the version bump:

- docs: bump stale Node 20+ -> 22+ and Xcode 15+ -> 16+ references in
  README.md, CLAUDE.md, docs/ios-tests/README.md,
  docs/android-tests/README.md, and PREPAREANDROID_DETAILED.md
  (engines.node is >=22; iOS 18 SDK requires Xcode 16+; CI uses both).
- iosTests/package.json: drop dead `chai` devDependency (replaced by the
  custom assert module; no longer imported) and the deprecated
  `metro-react-native-babel-preset@0.77.0` (superseded by
  @react-native/babel-preset@0.85.3).
- androidTests/package.json: drop the same deprecated
  `metro-react-native-babel-preset@0.77.0`.
- SalesforceReact.podspec: remove the dead
  `libs/SalesforceReact/SalesforceReact/SalesforceReact.h` entry from
  public_header_files (stale path from the pre-14.0 iOS->ios/ layout move;
  the umbrella header no longer exists, so CocoaPods warned on it).
- setversion.sh: document that it stamps only the SDK version, not the
  RN/iOS-min/minSdk toolchain values, which must be bumped manually.

No public API, dependency version, or build-matrix value changes.
@james-enperso james-enperso force-pushed the chore/version-matrix-housekeeping-14.0.0 branch from 7c414db to 61fecbc Compare June 16, 2026 05:02
@james-enperso

Copy link
Copy Markdown
Contributor Author

@wmathurin — this is ready for maintainer review when you have a moment. 🙏

What it is: housekeeping cleanup of leftovers from the SDK 14.0.0 / RN 0.85.3 upgrade. No public API, dependency-version, or build-matrix changes — the repo already meets the published 14.0.0 / RN 0.85.3 / iOS 18 / Android 31 matrix; this just removes stale references the bump missed:

  • docs: Node 20→22, Xcode 15→16 (engines is >=22; iOS 18 SDK needs Xcode 16+; CI already uses both)
  • iosTests/androidTests package.json: drop dead chai and deprecated metro-react-native-babel-preset@0.77.0
  • SalesforceReact.podspec: drop the dead libs/SalesforceReact/.../SalesforceReact.h entry from public_header_files (stale pre-14.0 path; CocoaPods warned on it)
  • setversion.sh: documented that it stamps only the SDK version, not RN/iOS-min/minSdk

CI status: salesforce-cla, SAST, and both Snyk checks are green. ios-pr / android-pr are skipped because permission-check gates the secret-bearing test jobs for fork PRs — would you mind re-running the workflow once you've deemed it safe so the iOS/Android suites actually execute? Thanks!

@github-actions

Copy link
Copy Markdown
TestsPassed ✅SkippedFailed
iOS ^26 Test Results35 ran35 ✅
TestResult
No test annotations available

@github-actions

Copy link
Copy Markdown
TestsPassed ✅SkippedFailed
iOS ^18 Test Results35 ran35 ✅
TestResult
No test annotations available

@wmathurin

Copy link
Copy Markdown
Contributor

Thanks @james-enperso.
(We'll be fixing Android CI in another PR - its failure is not related to the changes).

@wmathurin wmathurin merged commit 9eb69dc into forcedotcom:dev Jun 16, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants