Skip to content

feat(passkeys_doctor): widen package_info_plus to >=9.0.0 <11.0.0 (closes #240)#241

Open
gbpnkans wants to merge 1 commit into
corbado:mainfrom
gbpnkans:widen-package-info-plus-constraint
Open

feat(passkeys_doctor): widen package_info_plus to >=9.0.0 <11.0.0 (closes #240)#241
gbpnkans wants to merge 1 commit into
corbado:mainfrom
gbpnkans:widen-package-info-plus-constraint

Conversation

@gbpnkans
Copy link
Copy Markdown

Summary

Bumps passkeys_doctor 1.3.1 → 1.4.0 with the package_info_plus constraint widened from ^9.0.0 to >=9.0.0 <11.0.0. This is the smallest possible change that unblocks the entire downstream win32 ^6 chain (share_plus 13, flutter_secure_storage_windows 4.2.x, package_info_plus 10) for apps that depend on passkeys.

Closes #240.

Why this is API-safe

passkeys_doctor uses package_info_plus in exactly one place:

// packages/passkeys/passkeys_doctor/lib/src/passkeys_doctor.dart::_getBundleId
final info = await PackageInfo.fromPlatform();
return info.packageName;

PackageInfo.fromPlatform() and the packageName getter have been stable since the 1.x line. The breaking changes in package_info_plus 10.0.0 are entirely in the Windows platform implementation (moves to a win32 ^6 method channel) and do not touch the public API.

Keeping the lower bound at 9.0.0 so existing consumers on package_info_plus 9.x are not forced to upgrade.

Why this matters downstream

package_info_plus 9 depends on win32 ^5.5.3. With passkeys_doctor pinned to package_info_plus ^9.0.0, every Flutter app that depends on passkeys is held on win32 5.x. Recent ecosystem releases — share_plus 13.1.0, flutter_secure_storage_windows 4.2.x, the actual win32 6.2.0 release — all require win32 ^6.0.1. Net effect: any app using passkeys can't pick up the CryptProtectData / LocalFree typing fixes that landed in win32 6 for Windows desktop.

After this change, the parent passkeys package already accepts passkeys_doctor: ^1.3.0 (i.e. <2.0.0), so once 1.4.0 ships to pub.dev no version bump is needed in the passkeys package itself.

Verified locally

  • flutter pub get in packages/passkeys/passkeys_doctor resolves cleanly and now pulls in win32 6.2.0 transitively.
  • flutter analyze in packages/passkeys/passkeys_doctorNo issues found.

Changes

  • packages/passkeys/passkeys_doctor/pubspec.yaml: version + constraint
  • packages/passkeys/passkeys_doctor/CHANGELOG.md: 1.4.0 entry

Test plan

  • flutter pub get resolves with widened constraint
  • flutter analyze clean
  • Maintainer verifies CI on the workflow runs

🤖 Generated with Claude Code

Closes corbado#240.

Bumps passkeys_doctor 1.3.1 → 1.4.0 with `package_info_plus`
constraint widened from `^9.0.0` to `>=9.0.0 <11.0.0`.

The only call site is `_getBundleId` in
`lib/src/passkeys_doctor.dart`, which reads
`PackageInfo.fromPlatform().packageName`. That getter is API-stable
across the 9 → 10 bump — the 10.0.0 breaking changes are entirely
in the Windows platform implementation (move to a win32-6 method
channel) and do not affect the public API.

Why this matters: package_info_plus 9 depends on `win32 ^5.5.3`,
while every other plugin that has bumped recently (share_plus 13,
flutter_secure_storage_windows 4.2.x, plus the `win32 6.2.0`
release itself) depends on `win32 ^6.0.1`. With passkeys_doctor
pinned to pip ^9 the entire downstream chain is held back on
win32 5, which blocks Windows desktop apps from picking up
`CryptProtectData` / `LocalFree` typing fixes that landed in
win32 6.

Verified locally:
- `flutter pub get` resolves cleanly, now pulls in `win32 6.2.0`
- `flutter analyze` passes (no issues found)

CHANGELOG entry added under 1.4.0.

The parent `passkeys` package already accepts `passkeys_doctor:
^1.3.0` (i.e. <2.0.0), so no version bump is required there once
1.4.0 ships to pub.
@TimGustafson
Copy link
Copy Markdown

Thanks for putting this together. We independently confirmed it works: forcing package_info_plus 10.1.0 (via dependency_overrides) alongside passkeys 2.19.0 resolves cleanly and runs fine, which matches your note that the 10.0.0 changes are Windows-only and leave the public API untouched. Would love to see this reviewed and passkeys_doctor 1.4.0 released so we can drop the override. Happy to test a pre-release if that helps.

@kopy
Copy link
Copy Markdown
Contributor

kopy commented May 31, 2026

Thank you for confirming, will try to get it out shortly. @gbpnkans @TimGustafson

@gbpnkans
Copy link
Copy Markdown
Author

gbpnkans commented Jun 3, 2026

Thanks for maintaining the package. I still do not understand why software development is still slow in this era ? What is blocking to merge ? Been on this stage for more than 3 weeks.

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.

passkeys_doctor 1.3.1 pins package_info_plus ^9 — blocks downstream share_plus 13 / win32 ^6 upgrade

3 participants