chore: bump CodeScanner and Lottie, pin all SPM dependencies to exact versions - #657
Conversation
|
PR author is in the excluded authors list. |
|
@dependabot rebase |
|
Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry! If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request |
|
@dependabot recreate |
Bumps the swift group with 3 updates in the / directory: [github.com/twostraws/codescanner](https://github.com/twostraws/CodeScanner), [github.com/airbnb/lottie-ios](https://github.com/airbnb/lottie-ios) and [github.com/21-dot-dev/swift-secp256k1](https://github.com/21-DOT-DEV/swift-secp256k1). Updates `github.com/twostraws/codescanner` from 2.5.1 to 2.5.2 - [Release notes](https://github.com/twostraws/CodeScanner/releases) - [Commits](twostraws/CodeScanner@2.5.1...5e88643) Updates `github.com/airbnb/lottie-ios` from 4.5.2 to 4.6.1 - [Release notes](https://github.com/airbnb/lottie-ios/releases) - [Commits](airbnb/lottie-ios@4.5.2...f4db77d) Updates `github.com/21-dot-dev/swift-secp256k1` from 0.17.0 to 0.23.2 - [Release notes](https://github.com/21-DOT-DEV/swift-secp256k1/releases) - [Changelog](https://github.com/21-DOT-DEV/swift-secp256k1/blob/main/CHANGELOG.md) - [Commits](21-DOT-DEV/swift-secp256k1@0.17.0...e70a10e) --- updated-dependencies: - dependency-name: github.com/21-dot-dev/swift-secp256k1 dependency-version: 0.23.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: swift - dependency-name: github.com/airbnb/lottie-ios dependency-version: 4.6.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: swift - dependency-name: github.com/twostraws/codescanner dependency-version: 2.5.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: swift ... Signed-off-by: dependabot[bot] <support@github.com>
4ec23c8 to
4a149c1
Compare
This comment was marked as resolved.
This comment was marked as resolved.
Pull request was converted to draft
Dependency change-set reviewPer @pwltr's point about reading change sets: below is a review of the actual upstream diffs, not the release notes, with a reachability check against Bitkit's call sites. Bottom line: no new capabilities, no new runtime dependencies, no privacy-manifest or entitlement changes, and nothing that alters how scanned payment data is handled. Both bumps are safe to land. CodeScanner 2.5.1 → 2.5.2 (compare)Three files, one of them source:
The important part for a wallet: the scanned string passthrough is unchanged. No modification to how a QR payload is read or delivered, so nothing here touches BIP-21 / invoice / LNURL parsing. The diff is purely crash-hardening — replacing force-unwraps with guards. Lottie 4.5.2 → 4.6.1 (compare)300 files across 26 commits, which looks alarming until you split it. The overwhelming majority is mechanical reformatting (closing-paren and trailing-comma style) from the Vendored libraries refreshed
Package manifest — No changes to Scope of this reviewI read the CodeScanner source diff in full, and for Lottie I scanned all ~13k changed source lines for capability changes — networking, filesystem writes, dynamic loading, process spawning, credential/storage access — then read the security-relevant hunks and both vendored libraries' upstream release notes. I did not audit all 300 Lottie files line by line; the reformatting churn was not individually reviewed. Verified locally with the versions in this PR: build succeeds and the unit-test suite passes (756 tests, 0 failures). |
Description
Opened by Dependabot as a 3-dependency group bump.
swift-secp256k1was dropped from it (see below), so the net change is two version bumps plus a change to how all SPM dependencies are constrained.Dependency versions
swift-secp256k1removed from the bump. 0.23.2 renames thesecp256k1product toP256Kand moves the raw C API into a separatelibsecp256k1product, so every target failed to load withMissing package product 'secp256k1'. Migrating needs project and source changes acrossCrypto.swift,WatchOnlyAccountService.swiftand all scriptedxcodebuildinvocations, which touches push-notification payload decryption and watch-only key parsing. That is split into #659, with a working patch attached there.All dependency requirements pinned to
exactVersion(94e9728). Following @pwltr's review comment: CodeScanner, lottie-ios and swift-secp256k1 were the only three references still usingupToNextMajorVersion, and Dependabot had tightened CodeScanner's floor while leaving Lottie's untouched. They now match the four Synonym/pubky packages, so all 7 references are exact pins.The practical effect is review visibility. Under a floating range a version change can land with the project file untouched, visible only in the generated
Package.resolved; under exact pins every bump is an explicit edit toproject.pbxprojand shows up in the diff. This is also what let secp256k1 jump 0.17.0 → 0.23.2 across a breaking rename in the first place. There is no downside here specifically: Bitkit is a leaf app with no transitive dependencies (7 references, 7 resolved entries), so exact pins cannot cause the diamond conflicts that make them a bad idea in libraries.Change-set review. Both upstream diffs were reviewed with a reachability check against our call sites — summary in this comment. No new capabilities, no new runtime dependencies, no privacy-manifest or entitlement changes, and no change to how scanned payment data is handled. Notably, Lottie vendors ZipFoundation 0.9.16 → 0.9.20, which carries an upstream zip-slip path-escape fix — unreachable for us, since we only load bundled JSON animations, never dotLottie.
Net diff:
project.pbxproj(6 lines) andPackage.resolved(4 lines).Automated Checks
Build succeeds and the unit-test suite passes locally with these versions (756 tests, 0 failures), on the same simulator and skip-list CI uses.
No changelog fragment:
chore, no user-facing change.Linked Issues/Tasks
Screenshot / Video
N/A