playx_version_update
Easily show material update dialog in Android or Cupertino dialog in IOS with support for Google play in app updates.
1.3.0
3.0K downloads/mo
#4656 most downloaded on pub.dev
playx-flutter/playx_version_update
What this package is like to depend on
Last release 3 months ago
18 May 2026
Ships fairly regularly
a new release about every 4 months
Nearly every release is documented
notes for 12 of 13 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
13 releases · first in 2023
3 releases in the last 12 months
see the full history below
Release timeline
13 releases · Jun 2023 to May 2026Releases
latest 13-
1.3.018 May 2026Release notes
Open source →- Add
PlayxPlatformVersionwithnewPlatformVersionandminPlatformVersionoverrides for Android- and iOS-specific app version checks. - Keep
newVersionandminVersionas the effective resolved values inPlayxVersionUpdateInfofor backward compatibility. - Enhance minimum-version parsing for store descriptions with bracketed, case-insensitive matching and broader version-style support.
- Improve HTML text formatting utilities and expand automated test coverage across version handling, parsing, results, errors, and datasource utilities.
- Add
-
1.1.003 Apr 2026 -
1.0.118 Nov 2025Release notes
Open source →- Update package_info_plus, playx_network, url_launcher packages
- Add option to enable network logging
-
1.0.006 Jul 2025Release notes
Open source →Note: This release is a major release and may break some of the existing implementations. Please read the documentation carefully.
This major release introduces significant refactoring, enhanced error handling, improved customization options, and updated build infrastructure.
✨ Major Features & API Enhancements
- Unified Update Options:
- Introduced
PlayxUpdateOptionsto consolidate parameters for version checking (e.g., store IDs, local/new versions, country, language). - Introduced
PlayxUpdateUIOptionsto consolidate parameters for the visual presentation of update dialogs/pages (e.g., titles, descriptions, button labels, callbacks, show/hide elements). - This refactoring simplifies method signatures for
checkVersion,showUpdateDialog, andshowInAppUpdateDialog, improving organization and extensibility.
- Introduced
- Comprehensive Error Handling Rework:
- Enhanced Android In-App Update Errors: Replaced generic
PlayxInAppUpdateFailedwith a detailedPlayxInstallErrorsealed class, directly mapping to Android'sInstallErrorCodefor specific error types (e.g.,ApiNotAvailable,AppNotOwned,DownloadNotPresent). - Improved Network Error Clarity: Introduced
PlayxVersionNetworkErrorto wrapplayx_network'sNetworkException, differentiating network issues from other update errors, while providing specific, user-friendly messages for network-related exceptions during app version checks - Error Consolidation: Merged
PlayxInAppUpdateInfoRequestCanceledErrorintoPlayxInAppUpdateCanceledErrorfor simplified error handling. - Updated Dart error classes to mirror native changes and refined messages for clarity.
- Enhanced Android In-App Update Errors: Replaced generic
- Flexible Version Parsing:
- Introduced a new internal
Versionclass for robust and flexible parsing/comparison of version strings (supporting SemVer, multi-part numeric versions, and ignoring non-numeric tags) like 2.25.18.80. - Improved Google Play Store version parsing reliability using the new
Versionclass. - Removed the external
versionpackage dependency.
- Introduced a new internal
- Advanced UI Customization for Flutter:
- Added
PlayxUpdateDisplayTypeenum to control Flutter-based update prompt presentation (Dialog, Page, or Page on Force Update). - Introduced extensive styling options for Flutter-based update dialogs and pages, including text styles (
titleTextStyle,descriptionTextStyle,releaseNotesTitleTextStyle,releaseNotesTextStyle, button text styles) and button styles. PlayxUpdateUIOptions.displayTypenow defaults topageOnForceUpdate.UpdateNameInfoCallbackrenamed toUpdateTextInfoCallback.
- Added
✨ Enhancements & Refinements
- Improved In-App Update Flow:
- If a flexible update is already downloaded,
showInAppUpdateDialognow prompts to complete it. - Enhanced documentation for in-app update methods in
PlayxVersionUpdate, providing clearer descriptions of immediate and flexible flows, detailed error types, and best practice recommendations.
- If a flexible update is already downloaded,
- Result Access: Added
updateDataandupdateErrorgetters toPlayxVersionUpdateResultfor easier access to success data or error information. - Code Quality: Minor code formatting, logging cleanup, and general documentation improvements across the package.
⚙️ Build System & Example App Updates
- Android Gradle Plugin & Kotlin Upgrades:
- Upgraded Android Gradle Plugin to
8.7.3and Kotlin to2.1.0. - Updated compile SDK to
36. - Set Java and Kotlin JVM target to
17. - Updated Gradle wrapper to
8.12.
- Upgraded Android Gradle Plugin to
- Android Example Migration: Migrated the Android example project to use Gradle Kotlin DSL (
.gradle.kts). - Significantly Improved Example App:
- Enhanced UI with updated button labels and more visual elements to demonstrate customization.
- Showcases extensive UI customization using
PlayxUpdateUIOptions(custom leading widget, text styles, button styles, action callbacks). - Clarified behavior for both Android (native) and iOS (custom UI) for flexible and immediate updates, including detailed
iosUiOptionsexamples. - Demonstrates using
PlayxUpdateOptionsforcheckVersionand conditional display ofPlayxUpdatePage(forced) andPlayxUpdateDialog(optional) with custom UI. - Added a button/option in the example app to start flexible updates specifically on Android.
⬆️ Dependency Updates
- Updated SDK constraints to
>=3.6.0 <4.0.0and Flutter to>=3.27.0. - Upgraded
playx_networkto^0.5.1.
- Unified Update Options:
-
0.2.012 Mar 2025Release notes
Open source →Note : This release is a major release and may break some of the existing implementations. Please read the documentation carefully.
PlayxVersionUpdateResult
Breaking Changes
PlayxVersionUpdateResult.whennow returns a value instead of requiring callbacks to handle data.mapandmapAsyncnow directly return transformed results instead of requiring wrapped factory calls.- Renamed
SuccessandERRORclasses toPlayxVersionUpdateSuccessResultandPlayxVersionUpdateErrorResult.
Updates
- New
isSuccessandisErrorGetters – Easily check the result type. - More Flexible
when,map, andmapAsyncMethods – Now return transformed values instead of requiring extra wrapping.
Enhancements
- Update packages.
- Use
playx_networkfor network requests for better error handling. - Dialog with
forceUpdatecan close the app usingSystemNavigator.pop()if noonCancelcallback is provided.
-
0.1.009 Jan 2025Release notes
Open source →Note : This release is a major release and may break some of the existing implementations. Please read the documentation carefully.
-
Plugin now requires the following:
- Flutter >=3.19.0
- Dart >=3.3.0
- compileSDK 34 for Android part
- Java 17 for Android part
- Gradle 8.4 for Android part
- minimum Android sdk is 23
-
Update packages.
-
The plugin now supports wasm for web.
-
Add new methods
getAppVersionandgetAppBuildNumberinPlayxVersionUpdateto get the app version and build number. -
Enhance compatibility with web.
-
Update example app to latest android version and added other platforms.
-
-
0.0.725 Sep 2024Nothing published for this version
-
0.0.625 Sep 2024Release notes
Open source →- Update packages.
- Add
namespaceto build.gradle for the plugin. - Remove package name for manifest.
-
0.0.516 May 2024 -
0.0.427 Nov 2023Release notes
Open source →- Update packages.
- Bump Dart version to 3.2.0 and flutter to 13.16.0
- Add topics
-
0.0.311 Jul 2023Release notes
Open source →- Better support for IOS.
- Add
PlatformNotSupportedErrorerror when the platform is not supported, for example trying to use Google play in app update on IOS.
-
0.0.217 Jun 2023 -
0.0.115 Jun 2023