Skip to content

Deferred dependency upgrades ​

Tracked 2026-07-24 after the dependency-drift critique. Each entry is a held major with a documented blocker (also noted inline in pubspec.yaml). Pick these up one at a time, with the verification steps listed β€” never batch them into an unrelated PR.

UPGRADE-1 β€” very_good_analysis 7 β†’ 10 (lint ruleset) ​

  • Blocker: v10 adds ~750 new lint infos across the codebase. Not errors, but they bury real signal in flutter analyze output.
  • Plan: bump in a dedicated PR; run dart fix --apply first (auto-fixes most), then hand-triage the remainder. Budget half a day.
  • Verify: flutter analyze --no-fatal-infos shows ≀ current info count; full test suite green.

UPGRADE-2 β€” share_plus 10 β†’ 13 (Android share sheet) ​

  • Blocker: 12 fails on Kotlin 2.2.20 (Share.kt KClass<T>.java receiver mismatch); 13 needs win32 ^6 which conflicts with file_picker 11's win32 ^5.9.
  • Plan: upgrade together with file_picker 12 (stable release needed); re-check the Kotlin mismatch against the then-current Android toolchain.
  • Verify: Android release APK builds in CI; share sheet opens on-device (property share-card flow).

UPGRADE-3 β€” record 5 β†’ 7 (voice notes) ​

  • Blocker: record 7's record_android 2.1.1 fails to compile (AacFormat.kt unresolved AdtsContainer). Also lets us drop the record_linux dependency_override.
  • Plan: bump record + remove the override in one PR.
  • Verify: Android release build; record + play back a voice note on-device (/voice-notes).

UPGRADE-4 β€” patrol 3 β†’ 4 (device E2E harness) β€” DONE 2026-08-04 ​

  • Why now: every patrol_cli 3.x pins patrol_log ^0.5.0, whose reader crashes on _singleEntries.last when a test finishes without a start entry β€” what an app crash produces. That killed the CLI mid-run and corrupted the .xcresult, destroying the evidence for the iOS app crashes. 3.11.0 is the last 3.x, so the fix was only reachable through 4.x.
  • Turned out smaller than feared: the native contracts did not have to move. ios/RunnerUITests/RunnerUITests.m and MainActivityTest.java already match Patrol 4's templates verbatim, NativeAutomator/NativeAutomatorConfig are deprecated rather than removed, and test_bundle.dart is gitignored and regenerated by the CLI on every run. The one breaking change was the default test directory (integration_test β†’ patrol_test), pinned back via patrol: test_directory: in pubspec.yaml.
  • Left open: ~58 deprecated_member_use infos for nativeAutomatorConfig / $.native. CI runs flutter analyze --no-fatal-infos, so they don't gate; the PlatformAutomator port is a follow-up.

UPGRADE-5 β€” permission_handler 11 β†’ 12 β€” DONE 2026-08-20 ​

  • Resolved: bumped to 12.0.3 (permission_handler_android 13.0.1).
  • Verified: Permission.contacts.request() and status.isGranted API signatures unchanged; static analysis 0 errors/0 warnings.

UPGRADE-6 β€” latlong2 0.9 β†’ 0.10 & maplibre_gl 0.26 β†’ 0.27 β€” DONE 2026-08-20 ​

  • Resolved: latlong2 bumped to 0.10.1 and maplibre_gl bumped to 0.27.0 in tandem.
  • Verified: all map utils and heatmap calculations pass without breaking changes.

UPGRADE-7 β€” Flutter SDK 3.44.0 β†’ 3.47.1 β€” DONE 2026-08-25 ​

  • Resolved: Bumped Flutter pin in .fvmrc to 3.47.1, updated codemagic.yaml 8 workflows to 3.47.1, synchronized AGENTS.md, README.md, and hooks.
  • Fixed: Resolved 2 closure nullability errors in journey_12_core_operations_test.dart and 3 unawaited_return_in_try_block warnings in repository services.
  • Verified:
    • fvm flutter analyze --no-fatal-infos β†’ 0 errors, 0 warnings (exit code 0).
    • fvm flutter test test/overflow β†’ 596 test cases passed, 0 horizontal overflows across all screens and sheets.

Non-issues confirmed 2026-08-20 ​

  • intl 0.20.2 β†’ 0.20.3: blocked by flutter_localizations pin β€” correct to hold; moves with the Flutter SDK.
  • sentry_flutter 9.x: 10.x is an alpha; stay on 9.x stable, bump minors (9.25 β†’ 9.27) freely.
  • flutter_riverpod 3.1 β†’ 3.3: resolvable only at 3.1.0 due to riverpod_lint 3.1.0 pin β€” bump riverpod_lint first, then riverpod.
  • chewie 1.13 β†’ 1.15: chewie >=1.15 requires wakelock_plus ^1.7 (win32 ^6.0.1) which conflicts with file_picker 11 (win32 ^5.9.0). Upgrade when file_picker 12 is adopted.
  • archive 4.0 β†’ 4.1: package pdf 3.13.x constrains archive to <4.1.0. Holds until pdf package is updated upstream.

Aldilaijan & Khobara Real Estate Platform