Release 1.11.0 - #3901
Conversation
ApprovabilityVerdict: Approved 6a8e969 Standard release PR containing only version bumps, release notes documentation, and minor CI/build fixes. No runtime behavior changes - actual features and fixes were merged in prior commits. You can customize Macroscope's approvability policy. Learn more. |
|
Claude finished @github-actions[bot]'s task —— View job PR Review - Release 1.11.0Review Date: 2026-07-29 15:24 UTC Checklist
SummaryThis is a clean release PR that bumps all SDK versions to 1.11.0 (or equivalent semver for SDK packages) and adds comprehensive release notes. The previous review comments from Macroscope have been addressed. No code quality, security, or performance issues identified. Version Consistency ✅All versions are correctly bumped and consistent:
Documentation Quality ✅The release notes across all platforms are:
Notable Observations
No Issues Found
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3901 +/- ##
=======================================
Coverage 85.81% 85.81%
=======================================
Files 416 416
Lines 68175 68175
=======================================
+ Hits 58503 58507 +4
+ Misses 9672 9668 -4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Dismissing prior approval to re-evaluate 0f4f62f
4cdc8ef to
24ece26
Compare
Dismissing prior approval to re-evaluate 24ece26
…1.0, browser-sdk 7.1.0, node-bindings 1.11.0, wasm-bindings 1.11.0)
- Fix duplicated 'SDK' in the node-sdk and browser-sdk headings (scaffold template appends 'SDK' to names that already end in it). - Qualify the Android background-launch guarantee: the lifecycle seed lands a few async hops after registration (StreamLifecycle.kt), so a stream opened in that cold-start window can still open live. iOS seeds synchronously and its note is accurate as written. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ign (#3917) ## Problem Since the nixpkgs bump in #3909, the darwin-arm64 node bindings build dies in `postFixup`: ``` libc++abi: terminating due to uncaught exception of type std::runtime_error: Failed to spawn codesign_allocate: No such file or directory Abort trap: 6 codesign --force --sign - "$NODE_LIB" ``` This broke the node leg of the 1.11.0 RC (run 30406484418) and the macOS "Cache all Nix Outputs" job on main (run 30414469253), and will break tonight's nightly. ## Root cause sigtool's `codesign` shells out to `codesign_allocate`, which it finds via `PATH` or the `CODESIGN_ALLOCATE` env var. The new nixpkgs darwin stdenv no longer puts cctools on `PATH`, and our bare `codesign --force --sign -` call sets neither. nixpkgs' own signing machinery (`pkgs/os-specific/darwin/signing-utils/utils.sh`) wires it explicitly: ```sh CODESIGN_ALLOCATE=@codesignAllocate@ @sigtool@/bin/codesign -f -s - ... # codesignAllocate = "${cctools}/bin/${cctools.targetPrefix}codesign_allocate" ``` ## Fix Use that machinery instead of reimplementing it: `darwin.autoSignDarwinBinariesHook` (already in our `nativeBuildInputs`) sources signingUtils into the build shell, providing a `sign` function with `CODESIGN_ALLOCATE` correctly set. Replace the bare `codesign` call with `sign "$NODE_LIB"`, and drop `darwin.sigtool` from `nativeBuildInputs` — its only purpose was providing `codesign` on `PATH` for the call being replaced. `sign` also copies the binary aside before signing and moves it back, which sidesteps the in-place re-sign-after-install_name_tool corruption that signingUtils exists to work around. Verified `nix eval .#packages.aarch64-darwin.node-bindings-darwin-arm64.drvPath` still evaluates. (The actual build is darwin-only; CI's macOS jobs are the real test.) Note: this fixes one of two failure classes in the macOS cache job — the `ring` build-script `-liconv` cross-compile failures are separate and under investigation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- Macroscope's pull request summary starts here --> <!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --> <!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --> > [!NOTE] > ### Fix macOS re-signing of node bindings to use `signingUtils sign` instead of bare `codesign` > In [node.nix](https://github.com/xmtp/libxmtp/pull/3917/files#diff-fa9b6ba547ea5ae35048580f634e5edb6375afb0138fd6fb6e77fef6ee8c357b), the `postFixup` hook now calls the `sign` function sourced from `autoSignDarwinBinariesHook` instead of invoking `codesign --force --sign -` directly. `darwin.sigtool` is also removed from `nativeBuildInputs` as it is no longer needed. > > <!-- Macroscope's review summary starts here --> > > <sup><a href="https://app.macroscope.com">Macroscope</a> summarized 14b47af.</sup> > <!-- Macroscope's review summary ends here --> > <!-- macroscope-ui-refresh --> <!-- Macroscope's pull request summary ends here -->
Dismissing prior approval to re-evaluate 16edf5c
## AI-Suggested Release Notes Updates Claude reviewed the release notes for **1.11.0** against the actual code changes and suggested improvements. > This PR is automatically updated on each push to `release/1.11.0`. > Review the diff to see what Claude suggests changing. 🤖 Generated with [Claude Code](https://claude.ai/code) <!-- Macroscope's pull request summary starts here --> <!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --> <!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --> > [!NOTE] > ### Add AI-suggested release notes for version 1.11.0 across mobile, browser, and Node SDKs > - Updates [Android 4.11.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-472922970cc3615e6a445e7252d23171550e9bad9de95b94a15d4605955c0322) and [iOS 4.11.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-a8f738dae82e2740840eb1273360a5cdf0f6b6ba9e1027d4ef8f8cbfb4da04c9) release notes to document `group.unstable.enableProposals()` under New Features, including `@UnstableApi`/`@_spi(Unstable)` opt-in requirements, one-way irreversibility, hard-fail behavior, and a `force` override. > - Rewrites [node-bindings 1.11.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-731ac95268688fc797c0fe016ffab8d09812f090d7e666e3527bbf2a66f70db4) breaking changes to clarify `createClient` and `createClientWithBackend` signature changes (dropping `isSecure`, adding `workerConfig`), and adds an opt-in stream-liveness watchdog section with environment variable controls. > - Adds an opt-in stream-liveness watchdog section to [node-sdk 6.1.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-c643b8d7b52c24277740402d6510e9711141283e6a5ab47016eaffdce8371a1d) describing idle timer and reconnect behavior configured via environment variables, read once per process. > - Updates [browser-sdk 7.1.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-f5bb8ed9ad46046f92c36b8964709af3b447eeb7ceee24b40c8a15eeabfcbd42) to specify that background worker kinds come from the `WorkerKind` enum rather than string literals. > - Removes the `Messages carry their idempotency key` section from [wasm-bindings 1.11.0](https://github.com/xmtp/libxmtp/pull/3919/files#diff-e3cbfffde03b846dadf3c9829a47e6a920ee49500d235cf8321b8b161b6a57f1). > > <!-- Macroscope's review summary starts here --> > > <details> > <summary>📊 <a href="https://app.macroscope.com">Macroscope</a> summarized 81183f2. 6 files reviewed, 0 issues evaluated, 0 issues filtered, 0 comments posted</summary> > > ### 🗂️ Filtered Issues > No issues evaluated. > > > </details><!-- Macroscope's review summary ends here --> > <!-- macroscope-ui-refresh --> <!-- Macroscope's pull request summary ends here --> Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Dismissing prior approval to re-evaluate aa82fb0
## AI-Suggested Release Notes Updates Claude reviewed the release notes for **1.11.0** against the actual code changes and suggested improvements. > This PR is automatically updated on each push to `release/1.11.0`. > Review the diff to see what Claude suggests changing. 🤖 Generated with [Claude Code](https://claude.ai/code) <!-- Macroscope's pull request summary starts here --> <!-- Macroscope will only edit the content between these invisible markers, and the markers themselves will not be visible in the GitHub rendered markdown. --> <!-- If you delete either of the start / end markers from your PR's description, Macroscope will append its summary at the bottom of the description. --> > [!NOTE] > ### Update 1.11.0 release notes across all SDKs with corrected bug fix descriptions > Replaces inaccurate bug fix bullets about SCW verification RPC endpoints and cache poisoning with accurate descriptions across all 1.11.0/6.1.0/7.1.0 release notes. The corrected bullets cover: dropped group invites for SCW members (retryable verification failures), reliable new-installation reconciliation as a durable task, association-state cache returning wrong rows (pairwise filter expanded into cross product), database disconnect errors propagating from background workers, and downgrade resilience for group intents. Also clarifies that `initLogging(options?)` is async and should be awaited before creating any client in the Node SDK and Node bindings notes. > > <!-- Macroscope's review summary starts here --> > > <sup><a href="https://app.macroscope.com">Macroscope</a> summarized 3d60fc6.</sup> > <!-- Macroscope's review summary ends here --> > <!-- macroscope-ui-refresh --> <!-- Macroscope's pull request summary ends here --> Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Dismissing prior approval to re-evaluate 420fb2e
Dismissing prior approval to re-evaluate 6a8e969
Release 1.11.0
This PR was created by the Create Release Branch workflow.
Checklist
Note
Release version 1.11.0 across all SDKs and bindings
Bumps versions from dev/previous releases to 1.11.0 (or equivalent) across all packages and adds release notes for each SDK.
1.11.0-devto1.11.0in Cargo.toml1.11.0; Node SDK to6.1.0; Browser SDK to7.1.04.11.0; iOS CocoaPod spec bumped to4.11.0Changes since #3901 opened
node.nixNix package [16edf5c]createClientandcreateClientWithBackendfunction signatures to remove theisSecureboolean parameter and insert a newworkerConfigparameter [aa82fb0]Group.enableProposalsbehind an unstable namespace with pre-release access annotations for Android and iOS SDKs [aa82fb0]WorkerKindenum members rather than string literals [aa82fb0]GetNodesDNS retry logic [aa82fb0]idempotencyKeyexposure on stored messages from wasm-bindings release notes [aa82fb0]initLoggingmethod in Node SDK and Node bindings documentation [420fb2e]release-notes.ymlworkflow to exclude changes underdocs/release-notes/**from triggering the workflow on push events torelease/**branches [6a8e969]Macroscope summarized 40be7da.