smart_update 1.0.0
smart_update: ^1.0.0 copied to clipboard
Flutter package for checking and prompting app upgrades from app stores
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2025-06-20 #
Added #
- Initial release of Smart Update package
- Multi-platform support (iOS App Store, Google Play Store, Custom Appcast)
- Core architecture with
UpgradeController
,UpgradeState
, andVersionInfo
- Platform detection for automatic store selection
- Semantic version comparison and parsing utilities
- User preference management (ignore versions, timing controls)
- Localization support for multiple languages (EN, ES, FR, DE, JA)
- Two UI components:
UpgradeAlert
: Automatic dialog-based upgrade promptsUpgradeCard
: Inline card widget for upgrade information
- Configurable upgrade policies through
UpgradeConfig
- Debug mode for testing upgrade flows
- Critical update enforcement
- Release notes display with length limits
- Customizable dialog themes and styling
- URL launching for store redirects
- Comprehensive test suite
- Example application demonstrating all features
Features #
- iOS App Store Integration: Fetch version info via iTunes API
- Google Play Store Integration: Parse version info from store HTML
- Appcast Feed Support: XML-based updates for desktop applications
- Smart Version Comparison: Handles various version formats
- User Experience Controls:
- Minimum days between prompts
- Ignore version capability
- Force update for critical releases
- Customization Options:
- Custom button text
- Custom dialog titles and messages
- Themeable UI components
- Configurable release notes display
- Developer Tools:
- Debug mode for testing
- Force check capability
- Comprehensive error handling
- Stream-based state management
Supported Platforms #
- iOS: App Store API integration
- Android: Google Play Store web scraping
- macOS: App Store API + Appcast feeds
- Windows: Appcast feeds
- Linux: Appcast feeds
- Web: Appcast feeds
Dependencies #
- flutter: SDK
- device_info_plus: ^10.1.2 (Device information)
- package_info_plus: ^8.0.2 (App package details)
- os_detect: ^2.0.1 (Platform detection)
- http: ^1.2.2 (Network requests)
- html: ^0.15.4 (HTML parsing for Play Store)
- xml: ^6.5.0 (XML parsing for Appcast)
- version: ^3.0.2 (Version comparison)
- shared_preferences: ^2.3.2 (User preferences)
- url_launcher: ^6.3.0 (Store URL launching)
Documentation #
- Complete API documentation
- Usage examples
- Configuration guide
- Platform-specific setup instructions
- Testing strategies