Skip to content

Update SDK to 3.0.0-8316-37817253 - #7267

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

Update SDK to 3.0.0-8316-37817253#7267
bw-ghapp[bot] wants to merge 1 commit into
mainfrom
sdlc/sdk-update

Conversation

@bw-ghapp

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

Copy link
Copy Markdown
Contributor

Updates the SDK version from 3.0.0-8288-99ffb6ef to com.bitwarden:sdk-android 3.0.0-8316-37817253

What's Changed

Raw changelog
- Update API bindings to e19a9bbc8ab6507a6c66a66f27d3a861825822bc (#1366)

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

claude Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Claude finished @SaintPatrck's task in 4m 15s —— View job


SDK bump evaluated

3.0.0-8288-99ffb6ef3.0.0-8316-378172531 commit in range (37817253, bitwarden/sdk-internal#1366: regenerate API bindings at server SHA e19a9bbc).

Verified the bump actually resolves on the compile classpath (+--- com.bitwarden:sdk-android:3.0.0-8316-37817253) before drawing conclusions from the build result.

Compile-time breaks

None found. app:compileStandardDebugKotlin + authenticator:compileDebugKotlin both succeed against the new artifact.

The UniFFI binding surface is untouched in this range: git log -G'uniffi::export|derive\(uniffi|#\[uniffi' over 99ffb6ef..37817253 returns no commits, and every non-generated file the commit touches changes only impl bodies or #[cfg(test)] fixtures — no field added to or removed from a uniffi::Record, and no exported function signature changed. crates/bitwarden-api-api (39 of the 43 changed files) contains zero uniffi annotations, so its generated server DTOs are not part of the Kotlin surface at all.

Runtime considerations

Nothing introduced by this bump, but two notes worth having on record:

  1. New server response fields are additive and already tolerated. The regenerated DTOs add partialData (cipher responses, PAM credential leasing), containedKeyId (master-password unlock), userKeyId (user decryption), and manageAccessRules (permissions). These are consumed inside the SDK; where Android parses the same payloads with its own models, providesJson in core/src/main/kotlin/com/bitwarden/core/di/CoreModule.kt:33 sets ignoreUnknownKeys = true, so the new keys are ignored rather than fatal.
  2. Pre-existing gap, not caused by this bump: the commit adds PolicyType::FillAssist (= 22) to the generated bitwarden-api-api enum. That enum isn't exposed to Kotlin, and the enum Android actually consumes — com.bitwarden.policies.PolicyType — already carried FillAssist before 8288, so nothing changed for us here. Separately, though: PolicyTypeJson (network/src/main/kotlin/com/bitwarden/network/model/PolicyTypeJson.kt:147) stops at 21 (SEND_CONTROLS), and PolicyTypeSerializer is constructed without a default, so BaseEnumeratedIntSerializer throws IllegalArgumentException on an unmodeled int (core/src/main/kotlin/com/bitwarden/core/data/serializer/BaseEnumeratedIntSerializer.kt:33). If a server ever returns a policy of type 22, sync deserialization would fail. Left alone deliberately: it predates this bump, and both possible fixes (model FILL_ASSIST and extend the exhaustive when in VaultSdkPolicyExtensions.kt, or give the serializer an unknown-value default) are product decisions, not mechanical SDK-bump follow-ups. Fix this →

Everything else in range — confirmed safe

  • 37817253generated API bindings (bitwarden-api-api): all-additive Option<...> fields, a new SetUserKeyIdRequestModel, new endpoints, and one new PolicyType variant guarded by the crate's existing __Unknown(i64) forward-compat fallback. No uniffi exposure → no Kotlin call sites.
  • Same commit, internal Rust call-site catch-up: contained_key_id: None / partial_data: None / user_key_id: None added to struct literals in bitwarden-core, bitwarden-auth, bitwarden-crypto-sync-handler, bitwarden-user-crypto-management, and bitwarden-vault. Mostly #[cfg(test)] fixtures; the non-test ones populate userKeyId on the SDK's own TDE-registration and key-rotation requests, which the SDK sends itself — no Android-side wiring involved.
  • Same commit, impl Display for KeyId (bitwarden-crypto/src/keys/key_id.rs): new trait impl, purely additive, no exported symbol affected.

Commit

No commit — nothing needed fixing.

Steps run
  • Resolved old/new bitwardenSdk refs and located the local sdk-internal clone
  • Baseline compile of :app + :authenticator (passed; classpath confirmed on the new artifact)
  • Crawled the commit range for binding-surface changes
  • Classified every hunk, per hunk rather than per commit
  • Grepped the repo for each touched symbol to find Android call sites
  • Reported; no in-scope fix required
• branch [`sdlc/sdk-update`](https://github.com/bitwarden/android/tree/sdlc/sdk-update)

@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.25%. Comparing base (38d79cb) to head (6d95b62).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7267   +/-   ##
=======================================
  Coverage   86.25%   86.25%           
=======================================
  Files         891      891           
  Lines       65294    65294           
  Branches     9808     9808           
=======================================
  Hits        56320    56320           
  Misses       5472     5472           
  Partials     3502     3502           
Flag Coverage Δ
app-data 17.87% <ø> (ø)
app-ui-auth-tools 18.76% <ø> (ø)
app-ui-platform 16.41% <ø> (ø)
app-ui-vault 27.32% <ø> (ø)
authenticator 6.13% <ø> (+0.04%) ⬆️
lib-core-network-bridge 4.10% <ø> (ø)
lib-data-ui 1.20% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

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