Skip to content

Prepare release 3.10.309.1 and use the official SwiftPM xcframework by default - #1557

Merged
bmehta001 merged 1 commit into
microsoft:mainfrom
bmehta001:release/3.10.309.1
Nov 5, 2026
Merged

bmehta001 merged 1 commit into
microsoft:mainfrom
bmehta001:release/3.10.309.1

Conversation

@bmehta001

@bmehta001 bmehta001 commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Prepare SDK release 3.10.309.1 and the corresponding SPM version 3.10.309, using the repository's date-derived version generator.

  • Regenerate lib/include/public/Version.hpp without changing the version policy or any published tag.
  • Make the root Package.swift consume the official, checksum-pinned xcframework by default, rather than requiring consumers to build the C++ SDK. Pin the latest existing artifact, v3.10.281.1; the forthcoming release artifact and its checksum do not exist yet. Its Swift wrapper sources and committed availability metadata are unchanged from the current source.
  • Retain local framework development through MATSDK_SPM_USE_LOCAL_XCFRAMEWORK=1. Ignore stale local availability metadata when using the hosted binary.
  • Update SPM publication to validate the newly built local framework explicitly and then replace the hosted URL/checksum for the new three-component SPM tag. Preserve submodule-free tags and clean external-consumer validation.
  • Add macOS PR coverage for default/local manifest selection and an actual Swift wrapper build against the downloaded official binary. PR validation cannot run the publication job or block its concurrency group.

The new source release includes the fixes merged since v3.10.281.1: #1552, #1554, #1555, and #1556.

Validation

Check Result
Windows version generator and Linux generator version agreement 3.10.309.1
Release-port promotion regressions, Windows and WSL/Linux All 13 tests passed on each platform
Development-overlay feature mappings and registry additive-feature/native-transport mappings, Windows and WSL/Linux Passed
Installed-package dependency selection, Windows and WSL/Linux, separate output roots All 48 configurations, 3 missing-target checks, and 30 missing-package checks passed on each platform
Official xcframework download SHA256 Matches both GitHub's published digest and the committed SPM checksum
Workflow YAML and execution of its actual manifest-rewrite script Passed; replacement, repeat execution, local-path preservation, and missing-target rejection checked
Existing repository spellcheck commands and Windows git diff --check Passed
Native macOS PR validation Both manifest-selection regressions passed; swift build downloaded the official xcframework and built the Swift wrapper successfully

No test exclusions were added. Swift/Xcode are unavailable locally; the native macOS PR job passed, including the expected exclusion of the publication-only job on a PR event. Native release publication will also validate macOS, iOS Simulator, Mac Catalyst, visionOS Simulator, and a clean external SPM consumer. The remaining PR matrix must pass before merge. This PR does not claim device execution or published-archive validation of the future release.

Release and vcpkg handoff

Follow the manual process used for microsoft/vcpkg#54342. The registry promotion recipe intentionally remains a template: do not pin it to an unpublished tag or invent an archive hash.

  • Required PR and upstream CI are green; merge through normal approval.
  • Tag the merged commit v3.10.309.1 and publish a non-draft, non-prerelease GitHub Release.
  • Verify the source archive's Version.hpp and the SPM publication of the xcframework plus 3.10.309 tag.
  • Download the published source .tar.gz and compute its actual SHA512.
  • From the release checkout, run .github/scripts/prepare-vcpkg-release.py with --source-port tools/registry-ports/cpp-client-telemetry, a separate vcpkg checkout's destination port, --version 3.10.309.1, and the archive SHA512.
  • Format the manifest and validate the production port from the published archive, with no local-source override: core/default/additive feature unions and static/shared external consumers on the supported platforms.
  • Commit the port, run vcpkg x-add-version cpp-client-telemetry --overwrite-version, commit the version database, and manually open the vcpkg update PR.

No release/tag is published and no vcpkg PR is opened by this preparation PR.

…onsumption

Pin the official xcframework so package consumers need no C++ build, preserve explicit local development, and keep new-release SPM publication and manual vcpkg promotion ready.

Files changed: lib/include/public/Version.hpp, Package.swift, .github/workflows/spm-release.yml, tests/apple/test-spm-package.py, tools/apple/README.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e76e87ba-aa92-4645-aadd-8154d916da51
@bmehta001
bmehta001 requested a review from a team as a code owner November 5, 2026 07:51
@bmehta001 bmehta001 self-assigned this Nov 5, 2026
@bmehta001
bmehta001 enabled auto-merge (squash) November 5, 2026 07:57
@bmehta001
bmehta001 merged commit 114a2c5 into microsoft:main Nov 5, 2026
99 checks passed
@bmehta001
bmehta001 deleted the release/3.10.309.1 branch November 5, 2026 08:06
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.

2 participants