chore: bump CodeScanner and Lottie, pin all SPM dependencies to exact versions - #657
chore: bump CodeScanner and Lottie, pin all SPM dependencies to exact versions#657dependabot[bot] wants to merge 4 commits into
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.
| requirement = { | ||
| kind = upToNextMajorVersion; | ||
| minimumVersion = 2.5.1; | ||
| minimumVersion = 2.5.2; |
There was a problem hiding this comment.
Why did it tighten minimumVersion here but not for Lottie? We only have 3 external dependencies, so I think we can afford to be strict on their versions - In light of recent security concerns - and get into the habit of reading their change sets.
There was a problem hiding this comment.
Why did it tighten minimumVersion here but not for Lottie?
Probably there was not a clear pattern for the bot follow, since this is the first PR. I'll move the dependency declaration kinds to exactVersion for safety and consistency
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