NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
A Flutter plugin for querying platform age signals via Google Play Age Signals on Android and Apple DeclaredAgeRange on iOS, for regional age verification compliance.
Last release 3 months ago
07 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 8 of 8 stable releases
2 versions withdrawn
withdrawn after publishing
4 months old
10 releases · first in 2026
One column per month.
feat(dart): add AgeVerification.resolveErrorCode() helper
feat(dart): add AgeVerification.resolveErrorCode() helper
AgeVerification.resolveErrorCode(String? code) — resolves a raw PlatformException.code string into a typed AgeVerificationErrorCode, or null if it doesn't match a known valueBREAKING CHANGE: AgeVerificationErrorCode.playServicesError removed.
Replace the vague playServicesError catch-all with seven dedicated
error codes (playStoreNotFound, playServicesNotFound,
cannotBindToService, playStoreVersionOutdated,
playServicesVersionOutdated, clientTransientError, appNotOwned)
and add internalError, giving every AgeSignalsErrorCode value its
own corresponding AgeVerificationErrorCode. Fix a test typo
(NOT_INITIALISED → NOT_INITIALIZED). Bump version to 0.2.6.
BREAKING CHANGE: AgeVerificationErrorCode.playServicesError removed.
NOT_INITIALISED → NOT_INITIALIZED) that referenced a non-existent enum constantAgeVerificationErrorCode.playServicesError has been removed. It was a vague catch-all for five distinct AgeSignalsErrorCode conditions; each now has its own dedicated value: playStoreNotFound, playServicesNotFound, cannotBindToService, playStoreVersionOutdated, playServicesVersionOutdated. Two more Android-only conditions that previously fell back to apiNotAvailable/apiError now also have dedicated values: clientTransientError, appNotOwned, internalError. Together with the existing apiNotAvailable, networkError, and sdkVersionOutdated, every AgeSignalsErrorCode value now maps 1:1 to an AgeVerificationErrorCode value.refactor(android): replace magic numbers with AgeSignalsErrorCode con…
refactor(android): replace magic numbers with AgeSignalsErrorCode con…
AgeSignalsException error code mapping to use the AgeSignalsErrorCode enum instead of hardcoded numeric literals, avoiding mismatches if the SDK's internal codes changefeat: add skipEligibilityCheck param to verifyAge
feat: add skipEligibilityCheck param to verifyAge
skipEligibilityCheck parameter to verifyAge — when true, the isEligibleForAgeFeatures check on iOS 26.2+ is bypassed and requestAgeRange is called directly; useful if isEligibleForAgeFeatures hangs or is unreliable in your region. Has no effect on Android. Defaults to false (existing behavior).docs: update README examples for v0.2.3 API changes
docs: update README examples for v0.2.3 API changes
revert: roll back version to 0.2.2 and move breaking changes
revert: roll back version to 0.2.2 and move breaking changes
UIApplication.keyWindow and UIWindowScene.windows usage in presentationViewController() with UIWindowScene.keyWindow (available since iOS 15); primary path targets the foreground-active scene, fallback searches all connected scenesverifyAge parameter ageGates is now named instead of positional — call sites must be updated to verifyAge(ageGates: [...]) or verifyAge()AgeVerification is now a singleton — use AgeVerification.instance instead of constructing instances directlytopics to pubspec.yaml for pub.dev discoverabilityAdded CocoaPods podspec (ios/age_verification.podspec) for compatibility with older Flutter tooling that does not support Swift Package Manager
ios/age_verification.podspec) for compatibility with older Flutter tooling that does not support Swift Package Managerage_verification Swift Package Manager packageRenamed AgeSignalsStatus → AgeVerificationStatus for naming consistency across the public API
AgeSignalsStatus → AgeVerificationStatus for naming consistency across the public APIIntegrated Google Play Age Signals API (com.google.android.play:age-signals:0.0.3)
Initial working release.
com.google.android.play:age-signals:0.0.3)AgeSignalsManagerFactory, AgeSignalsManager.checkAgeSignals(), and full AgeSignalsVerificationStatus mappingageLower, ageUpper, and installId from AgeSignalsResultAgeSignalsException error codes to typed AgeVerificationErrorCode valuesFakeAgeSignalsManager for accurate simulationAgeRangeService.shared.requestAgeRange(ageGates:in:) with 1–3 age gatesisEligibleForAgeFeatures on iOS 26.2+ to skip prompt for non-applicable regionsAgeRangeDeclaration (.selfDeclared, .guardianDeclared) to AgeDeclarationSourceAgeRangeService.Error.notAvailable and .invalidRequest as typed errorsapiNotAvailable on iOS < 26.0 or when DeclaredAgeRange is not linkedAgeVerificationApi, AgeVerificationResult, AgeVerificationStatus, AgeDeclarationSource, AgeVerificationErrorCodeAgeVerification.init({mockConfig}) and AgeVerification.verifyAge(ageGates)AgeVerificationMockConfig — pass to init() to bypass native APIs on both platforms for testing* Initial plugin scaffold.
Your coding agent can read these notes before it upgrades. Set up the MCP server →