Skip to content

Update SDK to ab1d63f (3.0.0-7852-b904fe4) - #2989

Open
bw-ghapp[bot] wants to merge 19 commits into
mainfrom
sdlc/sdk-update
Open

Update SDK to ab1d63f (3.0.0-7852-b904fe4)#2989
bw-ghapp[bot] wants to merge 19 commits into
mainfrom
sdlc/sdk-update

Conversation

@bw-ghapp

@bw-ghapp bw-ghapp Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Updates the SDK from b7e7be7e7f5adde3cafcb27d79fac80a53c5c3c8 to ab1d63fefae22cf056e5ad6759dd41f20539bea5

What's Changed

Raw changelog
- fix: add key id to masterpasswordunlockdata (#1391)
- [PM-40985] Introduce managed settings crates (#1403)
- [PM-34718] Implement bw receive / bw send receive (#1317)
- [PM-40994] Add and generate wasm and uniffi bindings for managed settings (#1404)
- [PM-35785] Strongly typed policy enforcement (#1364)
- [deps]: Update actions/checkout action to v7 (#1341)
- [PM-40237] Stop emitting placeholder name for blob ciphers (#1408)
- refactor(shared-unlock): simplify shared unlock (#1397)
- deps: bump h2 to 0.4.16 (RUSTSEC-2026-0258) (#1415)
- Update API bindings to fc5ea9ab05bf7a1679163fc13ec351ff96363000 (#1402)
- [PM-41798] 1Password access module (#1371)
- [PM-41447] Add destination filtering to shared unlock (#1413)
- Ensure no commercial crates are part of the OSS builds (#1248)
- [deps] Platform (cargo): Update Rust crate uniffi to v0.32.0 (#1325)
- [deps]: Update Rust crate rusqlite to >=0.37.0, <0.41 (#1171)
- [PM-38816] New crypto lib in new importers crate for Keeper DI (#1182)
- Fix ThreadBoundRunner Clone Comment (#1420)
- Update API bindings to e607c3f43ebcbf6feb2aa6768c80bc9ddd5f4460 (#1416)

@bw-ghapp bw-ghapp Bot added the automated-pr PR created by workflow or other automation label Aug 21, 2026
@bw-ghapp
bw-ghapp Bot requested a review from matt-livefront as a code owner August 21, 2026 15:21
@bw-ghapp bw-ghapp Bot added the t:deps Change Type - Dependencies label Aug 21, 2026
@bw-ghapp
bw-ghapp Bot requested a review from a team as a code owner August 21, 2026 15:21
@bw-ghapp bw-ghapp Bot added automated-pr PR created by workflow or other automation t:deps Change Type - Dependencies labels Aug 21, 2026
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context labels Aug 21, 2026
@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.50%. Comparing base (c419835) to head (969c4b4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2989      +/-   ##
==========================================
- Coverage   79.53%   79.50%   -0.03%     
==========================================
  Files        1169     1169              
  Lines       75095    75101       +6     
==========================================
- Hits        59724    59712      -12     
- Misses      15371    15389      +18     

☔ 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.

@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Claude finished @bw-ghapp[bot]'s task in 6m 5s —— View job


SDK bump evaluated

  • Revision: b7e7be7e7f5adde3cafcb27d79fac80a53c5c3c8ab1d63fefae22cf056e5ad6759dd41f20539bea5
  • Version: 3.0.0-7742-9794da53.0.0-7852-b904fe4
  • Commits in range: 18 sdk-swift commits (base sdk-internal 9794da5b904fe4)

Note: the PR title/body still describe fd64458 (3.0.0-7851-db45e84), but the branch head pins ab1d63f (3.0.0-7852-b904fe4) — one commit further (bitwarden/sdk-internal#1416, API bindings refresh). The evaluation below covers the full range to the pin actually in project-common.yml.

Compile-time breaks

Verifying build passedbuild-for-testing for both Bitwarden and Authenticator schemes exited 0, with BitwardenSdkMocks and all test targets compiled.

Two real breaks are in range, and both are already fixed by earlier commits on this branch:

  1. Send.data / SendView.data — new non-defaulted initializer parameter ([PM-34718] Implement bw receive / bw send receive sdk-internal#1317, bw receive)
    public let data: SendItem? / SendItemView? was inserted into both memberwise initializers between text: and maxAccessCount:. Every iOS construction site was updated to pass data: nil:

    • BitwardenKit/Core/Vault/Services/Mocks/BitwardenSdk+VaultMocking.swift:480,527
    • BitwardenShared/Core/Tools/Extensions/BitwardenSdk+Tools.swift:92
    • BitwardenShared/Core/Tools/Extensions/TestHelpers/BitwardenSdk+ToolsFixtures.swift:41
    • BitwardenShared/UI/Tools/PreviewContent/SendView+Fixtures.swift:39
    • BitwardenShared/UI/Tools/Send/Send/SendList/Fixtures/SendListState+Fixtures.swift (9 sites)
    • BitwardenShared/UI/Tools/Send/SendItem/AddEditSendItem/AddEditSendItemState.swift:266
  2. MasterPasswordUnlockData.containedKeyId — new field (fix: add key id to masterpasswordunlockdata sdk-internal#1391)
    public let containedKeyId: KeyId? added to the record and its initializer. Threaded through at BitwardenShared/Core/Auth/Models/Request/MasterPasswordUnlockDataRequestModel.swift:10,31, with coverage added in UpdateKdfRequestTests.swift:60.

No unfixed compile break remains.

Not a break — a codegen formatting artifact worth naming

The surface diff reports 104 "removed" error enums (ApiError, CipherError, Fido2CallbackError, CryptoError, …). This is a false positive from the uniffi 0.32 bump (bitwarden/sdk-internal#1325), which now emits the access modifier on its own line:

public
enum Fido2CallbackError: Swift.Error, ... {

All 104 names were verified present and still public at the new revision (0 bare enum decls at OLD, 105 at NEW — the 104 plus the genuinely new ManagedSettingsError). Nothing was removed or de-publiced. Flagging for whoever runs this next, since the same false positive will recur on every bump until sdk-surface-diff.sh tolerates the split modifier.

Runtime considerations

None require a change now, but each is a real behavioral delta:

  1. String decoding across the FFI changed (uniffi 0.32, every binding file). FfiConverterString.lift/read moved from Foundation's String(bytes:encoding:.utf8)! to String(decoding:as: UTF8.self). Two consequences: a leading U+FEFF BOM is no longer silently stripped (so a decrypted value or import that begins with a BOM now retains it, and could render as a leading invisible character or break an exact string comparison), and invalid UTF-8 now substitutes U+FFFD instead of trapping on the force-unwrap. The second is strictly a robustness win.

  2. Timestamp precision changed (uniffi 0.32). FfiConverterTimestamp.read now builds Date(timeIntervalSince1970: seconds).addingTimeInterval(nanos / 1e9) rather than summing into one Double, gaining mantissa bits. DateTime values from the SDK (revisionDate, deletionDate, expirationDate) may differ by sub-microsecond amounts from before — harmless for display, but a candidate cause if an exact-equality date assertion ever goes flaky.

  3. Send v2 payloads are dropped on the inbound mapping path. BitwardenSdk+Tools.swift:92 hardcodes data: nil because the API response model has no v2 field. Correct today — the app only supports v1 sends — but if the server begins returning v2 sends before iOS adds support, the item payload is silently discarded rather than surfaced as unsupported. Worth a ticket when Send v2 lands client-side.

  4. containedKeyId is now serialized into the /accounts/kdf request body. Encoded only when non-nil (JSONEncoder omits nil optionals), so the existing wire format is unchanged for users whose key carries no ID — confirmed by the unchanged test_body expectation alongside the new test_body_containedKeyId.

  5. Blob ciphers no longer send a placeholder Name ([PM-40237] Stop emitting placeholder name for blob ciphers sdk-internal#1408). Gated on the server change deploying first. iOS has no blob-cipher call sites (git grep for blobCipher/encryptBlob/decryptBlob is empty), so no client impact.

Everything else in range — confirmed safe

Commit

No commit — nothing needed fixing. The two compile breaks in range were already resolved by earlier commits on sdlc/sdk-update, and both schemes build clean at the pinned revision.
sdlc/sdk-update

@bw-ghapp bw-ghapp Bot changed the title Update SDK to ed5380c (3.0.0-7748-953508f) Update SDK to a3fda30 (3.0.0-7749-b57d1bb) Aug 22, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to a3fda30 (3.0.0-7749-b57d1bb) Update SDK to 9d646cf (3.0.0-7757-f856c93) Aug 24, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 9d646cf (3.0.0-7757-f856c93) Update SDK to acee733 (3.0.0-7758-49b5213) Aug 24, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to acee733 (3.0.0-7758-49b5213) Update SDK to 59a5e28 (3.0.0-7763-e5ec7c5) Aug 25, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 59a5e28 (3.0.0-7763-e5ec7c5) Update SDK to b89e765 (3.0.0-7776-268fa76) Aug 25, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to b89e765 (3.0.0-7776-268fa76) Update SDK to 8010eeb (3.0.0-7784-2ee904c) Aug 26, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 8010eeb (3.0.0-7784-2ee904c) Update SDK to c158ba1 (3.0.0-7785-de0ac22) Aug 26, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to c158ba1 (3.0.0-7785-de0ac22) Update SDK to 8423bca (3.0.0-7802-6c40e04) Aug 26, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 8423bca (3.0.0-7802-6c40e04) Update SDK to bb998da (3.0.0-7803-e3b223d) Aug 26, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to bb998da (3.0.0-7803-e3b223d) Update SDK to 8eafde8 (3.0.0-7806-c1b859a) Aug 26, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 8eafde8 (3.0.0-7806-c1b859a) Update SDK to e9f50ba (3.0.0-7826-c550467) Aug 27, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to e9f50ba (3.0.0-7826-c550467) Update SDK to 97ff5c6 (3.0.0-7827-b41ba80) Aug 27, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 97ff5c6 (3.0.0-7827-b41ba80) Update SDK to 26f3e11 (3.0.0-7833-b19177e) Aug 27, 2026
bw-ghapp Bot added 7 commits August 27, 2026 10:28
The SDK now populates `MasterPasswordUnlockData.containedKeyId` from the
user key, and its own request-model conversion forwards it. iOS builds
`MasterPasswordUnlockDataRequestModel` by hand, so it was dropping the
field and sending no key ID for users whose key has one — the case
bitwarden/sdk-internal#1391 set out to fix.
bw-ghapp Bot added 9 commits August 27, 2026 10:28
bitwarden/sdk-internal#1317 (bw receive / bw send receive) added a
required `data` field to `Send` (`SendItem?`) and `SendView`
(`SendItemView?`) to carry v2 send item payloads. Neither got a default
value, so every initializer call site stopped compiling.

The app has no v2 send support yet, and nothing on the wire or in the
add/edit form produces a send item payload, so pass `nil` at each site.
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 26f3e11 (3.0.0-7833-b19177e) Update SDK to 5aec8bc (3.0.0-7835-9daf108) Aug 27, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to 5aec8bc (3.0.0-7835-9daf108) Update SDK to fd64458 (3.0.0-7851-db45e84) Aug 28, 2026
@bw-ghapp bw-ghapp Bot changed the title Update SDK to fd64458 (3.0.0-7851-db45e84) Update SDK to ab1d63f (3.0.0-7852-b904fe4) Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context automated-pr PR created by workflow or other automation t:deps Change Type - Dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants