What changed, and why it matters
This commit locks down the exact versions of software building blocks used by the Skylight Wallet app and its Docker build image. It upgrades Flutter from 3.27.1 to 3.38.3, pins the Dart SDK to 3.10.1, and replaces flexible version ranges (like ^1.0.8) with exact versions in the project's dependency list. It also refreshes the lock file with newer patch/minor versions of many supporting libraries. The change is primarily a supply-chain hygiene improvement: it makes builds more reproducible and prevents unexpected future updates, but it also pulls in newer library versions that may contain routine bug and security fixes.
Treat this as a routine maintenance commit. Verify that the regenerated pubspec.lock and Flutter 3.38.3/Dart 3.10.1 versions are compatible with the wallet's build and test pipeline. Review upstream changelogs of the upgraded packages for any behavior changes, especially for security-sensitive dependencies such as crypto, local_auth, flutter_secure_storage, mobile_scanner, and workmanager. No immediate security response is required based solely on this diff.
Security signals we found
Dependency version pinning improves build reproducibility and reduces risk of unexpected malicious or vulnerable package updates
Flutter and Dart SDK versions are pinned to exact releases
Multiple transitive packages were upgraded to newer patch/minor versions, which may include routine security fixes from upstream maintainers
No direct vulnerability, exploit, or security bug is visible in the diff
No vendor statement or advisory links the commit to a known CVE
Evidence from the diff
The commit ‘Pin versions’ modifies Dockerfile, pubspec.yaml, and pubspec.lock. In the Dockerfile the Flutter version is bumped from 3.27.1 to 3.38.3. In pubspec.yaml the SDK constraint is tightened from ^3.8.1 to 3.10.1 and most direct dependencies are changed from caret (^) ranges to exact pinned versions. The pubspec.lock is regenerated, updating many transitive packages to newer patch/minor releases and moving the Dart SDK lower bound to exactly 3.10.1. No application code, API behavior, or cryptographic logic is changed. The diff is consistent with a routine dependency pinning and refresh exercise.
Changed components
Docker build environment (Flutter toolchain version)Dart SDK constraintpubspec.yaml direct dependenciespubspec.lock transitive dependenciesInspect captured patch +85 / −93
diff --git a/Dockerfile b/Dockerfile
index cb886cd..5933a22 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ FROM debian:bullseye-20251117@sha256:ee239c601913c0d3962208299eef70dcffcb7aac178
ARG TARGETARCH
-ARG FLUTTER_VERSION=3.27.1
+ARG FLUTTER_VERSION=3.38.3
ARG RUST_VERSION=1.83.0
ARG ANDROID_CMDLINE_TOOLS_VERSION=11076708
ARG ANDROID_BUILD_TOOLS_VERSION=36.0.0
diff --git a/pubspec.lock b/pubspec.lock
index 0832232..b801af1 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -77,18 +77,18 @@ packages:
dependency: transitive
description:
name: cross_file
- sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
+ sha256: "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608"
url: "https://pub.dev"
source: hosted
- version: "0.3.4+2"
+ version: "0.3.5+1"
crypto:
dependency: transitive
description:
name: crypto
- sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
+ sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://pub.dev"
source: hosted
- version: "3.0.6"
+ version: "3.0.7"
cupertino_icons:
dependency: "direct main"
description:
@@ -170,10 +170,10 @@ packages:
dependency: "direct main"
description:
name: flutter_local_notifications
- sha256: "20ca0a9c82ce0c855ac62a2e580ab867f3fbea82680a90647f7953832d0850ae"
+ sha256: "19ffb0a8bb7407875555e5e98d7343a633bb73707bae6c6a5f37c90014077875"
url: "https://pub.dev"
source: hosted
- version: "19.4.0"
+ version: "19.5.0"
flutter_local_notifications_linux:
dependency: transitive
description:
@@ -194,10 +194,10 @@ packages:
dependency: transitive
description:
name: flutter_local_notifications_windows
- sha256: ed46d7ae4ec9d19e4c8fa2badac5fe27ba87a3fe387343ce726f927af074ec98
+ sha256: "8d658f0d367c48bd420e7cf2d26655e2d1130147bca1eea917e576ca76668aaf"
url: "https://pub.dev"
source: hosted
- version: "1.0.2"
+ version: "1.0.3"
flutter_localizations:
dependency: "direct main"
description: flutter
@@ -215,10 +215,10 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: c2fe1001710127dfa7da89977a08d591398370d099aacdaa6d44da7eb14b8476
+ sha256: ee8068e0e1cd16c4a82714119918efdeed33b3ba7772c54b5d094ab53f9b7fd1
url: "https://pub.dev"
source: hosted
- version: "2.0.31"
+ version: "2.0.33"
flutter_riverpod:
dependency: "direct main"
description:
@@ -279,10 +279,10 @@ packages:
dependency: "direct main"
description:
name: flutter_svg
- sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678
+ sha256: "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95"
url: "https://pub.dev"
source: hosted
- version: "2.2.1"
+ version: "2.2.3"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -305,10 +305,10 @@ packages:
dependency: "direct main"
description:
name: http
- sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
+ sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
url: "https://pub.dev"
source: hosted
- version: "1.4.0"
+ version: "1.6.0"
http_parser:
dependency: transitive
description:
@@ -353,10 +353,10 @@ packages:
dependency: transitive
description:
name: leak_tracker
- sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
+ sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev"
source: hosted
- version: "11.0.1"
+ version: "11.0.2"
leak_tracker_flutter_testing:
dependency: transitive
description:
@@ -393,10 +393,10 @@ packages:
dependency: transitive
description:
name: local_auth_android
- sha256: b2446c74fab1db37f828d4c54adaa3f003df80a29f5cbd710bbb8883d302e991
+ sha256: a0bdfcc0607050a26ef5b31d6b4b254581c3d3ce3c1816ab4d4f4a9173e84467
url: "https://pub.dev"
source: hosted
- version: "1.0.55"
+ version: "1.0.56"
local_auth_darwin:
dependency: transitive
description:
@@ -457,10 +457,10 @@ packages:
dependency: "direct main"
description:
name: mobile_scanner
- sha256: "54005bdea7052d792d35b4fef0f84ec5ddc3a844b250ecd48dc192fb9b4ebc95"
+ sha256: "023a71afb4d7cfb5529d0f2636aa8b43db66257905b9486d702085989769c5f2"
url: "https://pub.dev"
source: hosted
- version: "7.0.1"
+ version: "7.1.3"
monero:
dependency: "direct main"
description:
@@ -506,18 +506,18 @@ packages:
dependency: transitive
description:
name: path_provider_android
- sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
+ sha256: f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e
url: "https://pub.dev"
source: hosted
- version: "2.2.17"
+ version: "2.2.22"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
- sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
+ sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4"
url: "https://pub.dev"
source: hosted
- version: "2.4.1"
+ version: "2.5.1"
path_provider_linux:
dependency: transitive
description:
@@ -594,10 +594,10 @@ packages:
dependency: transitive
description:
name: petitparser
- sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646"
+ sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
url: "https://pub.dev"
source: hosted
- version: "6.1.0"
+ version: "7.0.1"
platform:
dependency: transitive
description:
@@ -626,10 +626,10 @@ packages:
dependency: "direct main"
description:
name: provider
- sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
+ sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272"
url: "https://pub.dev"
source: hosted
- version: "6.1.5"
+ version: "6.1.5+1"
qr:
dependency: transitive
description:
@@ -714,18 +714,18 @@ packages:
dependency: "direct main"
description:
name: share_plus
- sha256: b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0
+ sha256: d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1
url: "https://pub.dev"
source: hosted
- version: "11.0.0"
+ version: "11.1.0"
share_plus_platform_interface:
dependency: transitive
description:
name: share_plus_platform_interface
- sha256: "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef"
+ sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a"
url: "https://pub.dev"
source: hosted
- version: "6.0.0"
+ version: "6.1.0"
shared_preferences:
dependency: "direct main"
description:
@@ -738,18 +738,18 @@ packages:
dependency: transitive
description:
name: shared_preferences_android
- sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
+ sha256: "83af5c682796c0f7719c2bbf74792d113e40ae97981b8f266fa84574573556bc"
url: "https://pub.dev"
source: hosted
- version: "2.4.10"
+ version: "2.4.18"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
- sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
+ sha256: "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f"
url: "https://pub.dev"
source: hosted
- version: "2.5.4"
+ version: "2.5.6"
shared_preferences_linux:
dependency: transitive
description:
@@ -786,10 +786,10 @@ packages:
dependency: "direct main"
description:
name: skeletonizer
- sha256: eebc03dc86b298e2d7f61e0ebce5713e9dbbc3e786f825909b4591756f196eb6
+ sha256: "5d2d44120916cc749ede54c236cef60c2478742806df0b1f065212f00721b185"
url: "https://pub.dev"
source: hosted
- version: "2.1.0+1"
+ version: "2.1.1"
sky_engine:
dependency: transitive
description: flutter
@@ -803,14 +803,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.10.1"
- sprintf:
- dependency: transitive
- description:
- name: sprintf
- sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
- url: "https://pub.dev"
- source: hosted
- version: "7.0.0"
stack_trace:
dependency: transitive
description:
@@ -880,7 +872,7 @@ packages:
description:
path: "."
ref: main
- resolved-ref: "21077186e6bf773ec8a7cd57ef149b2cee5daa7b"
+ resolved-ref: c2706eeb66174273a4a98113d7a8cd910ba124e6
url: "https://github.com/cypherstack/tor"
source: git
version: "0.0.1"
@@ -904,10 +896,10 @@ packages:
dependency: transitive
description:
name: url_launcher_linux
- sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
+ sha256: d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a
url: "https://pub.dev"
source: hosted
- version: "3.2.1"
+ version: "3.2.2"
url_launcher_platform_interface:
dependency: transitive
description:
@@ -928,18 +920,18 @@ packages:
dependency: transitive
description:
name: url_launcher_windows
- sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77"
+ sha256: "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f"
url: "https://pub.dev"
source: hosted
- version: "3.1.4"
+ version: "3.1.5"
uuid:
dependency: transitive
description:
name: uuid
- sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
+ sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8
url: "https://pub.dev"
source: hosted
- version: "4.5.1"
+ version: "4.5.2"
vector_graphics:
dependency: transitive
description:
@@ -976,10 +968,10 @@ packages:
dependency: transitive
description:
name: vm_service
- sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
+ sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60"
url: "https://pub.dev"
source: hosted
- version: "15.0.0"
+ version: "15.0.2"
web:
dependency: transitive
description:
@@ -992,42 +984,42 @@ packages:
dependency: transitive
description:
name: win32
- sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
+ sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
url: "https://pub.dev"
source: hosted
- version: "5.14.0"
+ version: "5.15.0"
workmanager:
dependency: "direct main"
description:
name: workmanager
- sha256: dffcbbfd99af17271ca52d8a3767ba8a1000b357f2774db8ed5d58879cb9783a
+ sha256: "065673b2a465865183093806925419d311a9a5e0995aa74ccf8920fd695e2d10"
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.9.0+3"
workmanager_android:
dependency: transitive
description:
name: workmanager_android
- sha256: a6447816c41aa0ad8f6fa29b62d09a528891cf0737296397e1caae2523ced7dc
+ sha256: "9ae744db4ef891f5fcd2fb8671fccc712f4f96489a487a1411e0c8675e5e8cb7"
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.9.0+2"
workmanager_apple:
dependency: transitive
description:
name: workmanager_apple
- sha256: "9c99003682a8423bdc122ff4bae891e24574d1e676ea302d2ef0493266228461"
+ sha256: "1cc12ae3cbf5535e72f7ba4fde0c12dd11b757caf493a28e22d684052701f2ca"
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.9.1+2"
workmanager_platform_interface:
dependency: transitive
description:
name: workmanager_platform_interface
- sha256: b1f0a868f1117511a23b0eb4220f08134152433b51a83eed479b1d68bbe23789
+ sha256: f40422f10b970c67abb84230b44da22b075147637532ac501729256fcea10a47
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.9.1+1"
xdg_directories:
dependency: transitive
description:
@@ -1040,10 +1032,10 @@ packages:
dependency: transitive
description:
name: xml
- sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
+ sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
url: "https://pub.dev"
source: hosted
- version: "6.5.0"
+ version: "6.6.1"
yaml:
dependency: transitive
description:
@@ -1053,5 +1045,5 @@ packages:
source: hosted
version: "3.1.3"
sdks:
- dart: ">=3.9.0 <4.0.0"
+ dart: "3.10.1"
flutter: ">=3.35.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index b0d732d..85eb259 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -19,7 +19,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
version: 1.0.1+5
environment:
- sdk: ^3.8.1
+ sdk: 3.10.1
flutter_launcher_icons:
android: true
@@ -48,35 +48,35 @@ dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
- cupertino_icons: ^1.0.8
monero:
git:
url: https://github.com/vtnerd/monero_c
ref: lwsf
path: impls/monero.dart
- path: ^1.9.1
- provider: ^6.1.5
- path_provider: ^2.1.5
- dart_date: ^1.5.3
- qr_flutter: ^4.1.0
- share_plus: ^11.0.0
+ cupertino_icons: 1.0.8
+ path: 1.9.1
+ provider: 6.1.5+1
+ path_provider: 2.1.5
+ dart_date: 1.5.3
+ qr_flutter: 4.1.0
+ share_plus: 11.1.0
intl: ^0.20.2
- shared_preferences: ^2.5.3
- http: ^1.4.0
- workmanager: ^0.8.0
- flutter_local_notifications: ^19.4.0
- timeago: ^3.7.1
- flutter_riverpod: ^2.6.1
- screen_brightness: ^2.1.7
- mobile_scanner: ^7.0.1
- permission_handler: ^12.0.1
- flutter_svg: ^2.2.1
- skeletonizer: ^2.1.0+1
- flutter_secure_storage: ^9.2.4
- local_auth: ^2.3.0
- flutter_launcher_icons: ^0.14.4
- gpt_markdown: ^1.1.4
+ shared_preferences: 2.5.3
+ http: 1.6.0
+ workmanager: 0.9.0+3
+ flutter_local_notifications: 19.5.0
+ timeago: 3.7.1
+ flutter_riverpod: 2.6.1
+ screen_brightness: 2.1.7
+ mobile_scanner: 7.1.3
+ permission_handler: 12.0.1
+ flutter_svg: 2.2.3
+ skeletonizer: 2.1.1
+ flutter_secure_storage: 9.2.4
+ local_auth: 2.3.0
+ flutter_launcher_icons: 0.14.4
+ gpt_markdown: 1.1.4
dev_dependencies:
flutter_test:
@@ -87,7 +87,7 @@ dev_dependencies:
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
- flutter_lints: ^5.0.0
+ flutter_lints: 5.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
Why this scored 34/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.