Skip to content

fix(android): update sqlcipher-android dependency to version 4.17.0 - #695

Merged
robingenz merged 1 commit into
capacitor-community:masterfrom
kklem0:fix/android-sqlcipher-4.17.0
Aug 1, 2026
Merged

fix(android): update sqlcipher-android dependency to version 4.17.0#695
robingenz merged 1 commit into
capacitor-community:masterfrom
kklem0:fix/android-sqlcipher-4.17.0

Conversation

@kklem0

@kklem0 kklem0 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Updates net.zetetic:sqlcipher-android from 4.10.0 to 4.17.0, the latest release on Maven Central. Same shape as #664, which brought it to 4.10.0.

Motivation beyond staying current: the iOS side's SQLCipher pod dependency is unpinned, so fresh iOS installs already resolve to the newest SQLCipher 4.x and its SQLite 3.53 baseline, while Android stays on 4.10's older SQLite. This bump brings the two platforms back to the same SQLite generation.

Verified locally on macOS: cd android && ./gradlew build succeeds against 4.17.0, unit tests included.

Non-blocking side note: pinning the iOS pod to ~> 4.0 would make iOS resolution deterministic within the 4.x line; happy to file that separately if wanted.

@robingenz robingenz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Would you be open to creating another PR to pin the iOS version as well, so everything stays consistent?

@robingenz
robingenz merged commit 59871a2 into capacitor-community:master Aug 1, 2026
2 checks passed
@kklem0

kklem0 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor Author

Done, but it turned out to be more than a pin, so flagging why here: #696.

Short version: SQLCipher removed CocoaPods support in 4.11.0. From its CHANGELOG.md, [4.11.0] - (October 2025):

  • Removes CocoaPods support (SQLCipher.podspec.json)

pod trunk info SQLCipher stops at 4.10.0 (August 2025) while SQLCipher itself is now at 4.17.0, so the pod cannot be brought to the version Android uses after this PR, and never will be. Pinning the podspec alone would have made iOS deterministic but permanently behind Android, which is the opposite of the consistency you asked for.

So the PR supersedes the pin-only follow-up. It pins both iOS dependency managers (the podspec at the 4.10.0 ceiling, Package.swift at exactly 4.17.0 to match Android), and moves this repo's own build and CI onto the Swift package, which is the only path that can track Android from here. The podspec stays exactly as functional as it is today for existing CocoaPods apps, and is now gated by pod lib lint in CI so it cannot break unnoticed.

One correction to my own side note above while I am here: I suggested ~> 4.0 for the pod. The reachable ceiling is 4.10.0, so that is what it is pinned to.

kklem0 added a commit to kklem0/sqlite that referenced this pull request Aug 1, 2026
Native only. Android SQLCipher 4.17.0 arrives in the base from the upstream
merge of capacitor-community#695. iOS is carried from capacitor-community#696, this fork's open follow-up, under the
amended native policy: SQLCipher pinned on both dependency managers, Swift
Package Manager as the built and verified path, the XCTest target compiling
again, the unused CocoaPods development workspace removed, and the plugin's
compiler warnings cleared.
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