Skip to content

Release 1.11.0 - #3901

Open
github-actions[bot] wants to merge 7 commits into
mainfrom
release/1.11.0
Open

Release 1.11.0#3901
github-actions[bot] wants to merge 7 commits into
mainfrom
release/1.11.0

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Release 1.11.0

This PR was created by the Create Release Branch workflow.

Checklist

  • Release notes reviewed and finalized
  • All SDK versions bumped
  • RC published and validated
  • Final release published via Release workflow

Note: This PR will be merged automatically by the Release workflow upon final release.

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.

  • Core Rust workspace bumped from 1.11.0-dev to 1.11.0 in Cargo.toml
  • Node bindings and WASM bindings bumped to 1.11.0; Node SDK to 6.1.0; Browser SDK to 7.1.0
  • Android SDK bumped to 4.11.0; iOS CocoaPod spec bumped to 4.11.0
  • Release notes added for all platforms covering highlights, breaking changes, new features, and bug fixes

Changes since #3901 opened

  • Refactored Darwin code signing in the node.nix Nix package [16edf5c]
  • Updated createClient and createClientWithBackend function signatures to remove the isSecure boolean parameter and insert a new workerConfig parameter [aa82fb0]
  • Moved Group.enableProposals behind an unstable namespace with pre-release access annotations for Android and iOS SDKs [aa82fb0]
  • Added opt-in stream-liveness watchdog feature controlled by environment variables for node-bindings and node-sdk [aa82fb0]
  • Specified that worker kinds in browser-sdk background worker configuration must use the exported WorkerKind enum members rather than string literals [aa82fb0]
  • Updated bug fixes documentation in node-bindings to include transaction rollback handling, database disconnect handling, and GetNodes DNS retry logic [aa82fb0]
  • Removed documentation of idempotencyKey exposure on stored messages from wasm-bindings release notes [aa82fb0]
  • Replaced smart contract wallet verification bug fixes with new bug fixes across all platform release notes [420fb2e]
  • Added platform-specific bug fixes to Android and iOS release notes [420fb2e]
  • Clarified async nature of initLogging method in Node SDK and Node bindings documentation [420fb2e]
  • Updated reliability fixes summary in Android release notes [420fb2e]
  • Adjusted bug fix wording in Browser SDK release notes [420fb2e]
  • Added paths-ignore configuration to the release-notes.yml workflow to exclude changes under docs/release-notes/** from triggering the workflow on push events to release/** branches [6a8e969]

Macroscope summarized 40be7da.

@github-actions
github-actions Bot requested review from a team as code owners July 28, 2026 15:27
Comment thread docs/release-notes/browser-sdk/7.1.0.md Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 28, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: 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

claude Bot commented Jul 28, 2026

Copy link
Copy Markdown

Claude finished @github-actions[bot]'s task —— View job


PR Review - Release 1.11.0

Review Date: 2026-07-29 15:24 UTC

Checklist

  • Read release notes files
  • Check version consistency
  • Review documentation accuracy
  • Provide feedback

Summary

This 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:

  • Core Rust workspace: 1.11.0 (Cargo.toml)
  • Node bindings: 1.11.0 (@xmtp/node-bindings)
  • WASM bindings: 1.11.0 (@xmtp/wasm-bindings)
  • Node SDK: 6.1.0 (@xmtp/node-sdk)
  • Browser SDK: 7.1.0 (@xmtp/browser-sdk)
  • Android SDK: 4.11.0 (gradle.properties)
  • iOS SDK: 4.11.0 (XMTP.podspec)

Documentation Quality ✅

The release notes across all platforms are:

  • Comprehensive: Cover highlights, breaking changes, new features, and bug fixes
  • Consistent: Share common features (idempotency keys, catchUpToLive, etc.) with platform-appropriate variations
  • Well-structured: Clear code examples for breaking changes and new APIs
  • Accurate: Previously identified issues (duplicate "SDK" in titles, Android cold-start race condition wording) have been fixed

Notable Observations

  1. Platform-specific accuracy: iOS release notes correctly describe synchronous stream lifecycle seeding, while Android notes appropriately warn about the async cold-start window (docs/release-notes/android/4.11.0.md:65)

  2. API stability signals: The unstable namespace pattern for enableProposals() is well-documented across all platforms with clear migration signals

  3. Breaking changes are well-communicated: Each platform clearly documents signature changes with before/after examples

No Issues Found

  • No security concerns
  • No performance issues introduced (this is a version bump + documentation)
  • No bugs in the changes themselves
  • Test coverage not applicable (documentation-only changes)
  • All previously identified documentation issues have been resolved

@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.81%. Comparing base (085210f) to head (aa82fb0).
⚠️ Report is 4 commits behind head on main.

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.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@macroscopeapp
macroscopeapp Bot dismissed their stale review July 28, 2026 18:41

Dismissing prior approval to re-evaluate 0f4f62f

Comment thread docs/release-notes/android/4.11.0.md Outdated
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 28, 2026
@insipx
insipx force-pushed the release/1.11.0 branch 3 times, most recently from 4cdc8ef to 24ece26 Compare July 28, 2026 22:56
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 28, 2026 22:56

Dismissing prior approval to re-evaluate 24ece26

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 28, 2026
github-actions Bot and others added 3 commits July 29, 2026 09:50
…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 -->
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 29, 2026 14:31

Dismissing prior approval to re-evaluate 16edf5c

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 29, 2026
## 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>
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 29, 2026 14:49

Dismissing prior approval to re-evaluate aa82fb0

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 29, 2026
## 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>
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 29, 2026 15:21

Dismissing prior approval to re-evaluate 420fb2e

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 29, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 29, 2026 15:26

Dismissing prior approval to re-evaluate 6a8e969

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