playx 1.6.0
playx: ^1.6.0 copied to clipboard
Playx eco system helps with redundant features as it provides many utilities for themes, widgets and more.
Changelog #
1.6.0 #
- Update dependencies
1.5.0 #
SDK & Dependency Updates #
-
Updated SDK constraints:
- Dart:
>=3.8.0 <4.0.0 - Flutter:
>=3.32.0
- Dart:
-
Upgraded dependencies:
async: ^2.13.0playx_core: ^0.7.3playx_theme: ^1.1.0playx_widget: ^0.3.0playx_network: ^0.5.1playx_navigation: ^0.2.0playx_localization: ^0.3.0sentry_flutter: ^9.2.0internet_connection_checker_plus: ^2.7.2connectivity_plus: ^6.1.4
Connection Status Enhancements #
-
Improved
ConnectionStatusController:- Replaced default internet check URLs with more reliable ones.
- Added
backOnlineDelayto control delay after reconnection. - Skipped unnecessary checks on app resume.
Project Maintenance #
- Migrated example project’s Android build files to Kotlin DSL (
.kts). - Upgraded example project dependencies for compatibility.
1.4.1 #
- Update packages.
1.4.0 #
Enhancements #
-
Updated
bootandrunPlayxto use builder functions for key configurations:appConfigBuilder,localeConfigBuilder,themeConfigBuilder, andenvSettingsBuilderare now passed as builder functions instead of direct instances.- This change improves flexibility, allowing deferred initialization and better dependency management.
-
Deprecated direct configuration parameters in favor of builder functions.
- Existing parameters like
appConfig,localeConfig,themeConfig, andenvSettingswill be removed in future versions.
- Existing parameters like
-
Updated
bootandrunPlayxto includePlayxWebSettingsfor web-specific configurations.PlayxWebSettingsincludes options likeusePathUrlStrategy,optionURLReflectsImperativeAPIs.
Package Updates #
- Updated most dependencies to support WASM web builds for improved web compatibility.
- The only unsupported package is
flutter_secure_storage, which prevents full WASM support.- To override this limitation, use:
dependency_overrides: playx_core: ^1.0.0-beta.3 - This allows Playx to support WASM builds while maintaining secure storage compatibility.
- To override this limitation, use:
Migration Guide #
To update your existing implementation, replace direct configuration parameters with builder functions:
Before:
runPlayx(
appConfig: MyAppConfig(),
localeConfig: MyLocaleConfig(),
themeConfig: MyThemeConfig(),
);
After:
runPlayx(
appConfigBuilder: () => MyAppConfig(),
localeConfigBuilder: () => MyLocaleConfig(),
themeConfigBuilder: () => MyThemeConfig(),
webSettings: PlayxWebSettings(usePathUrlStrategy: true),
);
1.3.0 #
-
Updated Packages:
- Updated to the latest versions of Playx packages for better performance and features.
-
Custom Localization:
- Added
localizationsDelegatestoPlayxAppSettingsto support custom localization alongsidePlayxLocalizationDelegates.
- Added
-
Improved Initialization:
- Added
prefsSettingsandworkerManagerSettingstobootandrunPlayxmethods for easier app setup.
- Added
-
Bug Fix:
- Fixed a connection status issue of
ConnectionStatusControllerwhere it reappeared unnecessarily after the app resumed.
- Fixed a connection status issue of
1.2.1- 1.2.2 #
- Update exports
1.2.0 #
Note: This release has breaking changes. Please refer to playx_theme, playx_localization and playx_core for more information about the changes.
New Features:
- Introduced
PlayxGetMaterialAppandPlayxGetPlatformApp:
Note: These classes might be removed in the future.
-
These new classes are based on the old
PlayxMaterialAppandPlayxPlatformApp, specifically tailored for use withGetMaterialAppandGetPlatformApp. -
They retain full compatibility with GetX features, including GetX-specific navigation and settings.
-
Introduced
[playx_navigation](https://pub.flutter-io.cn/packages/playx_navigation):- Added new package playx_navigation which is a wrapper around GoRouter to make navigation easier and more flexible.
Breaking Changes:
-
Updated
PlayxMaterialAppandPlayxPlatformApp:- These classes have been refactored to remove any references to GetX.
- Now utilize the
PlayxNavigationpackage, with the added flexibility to integrategoRoutervia thenavigationSettings.goRouterconstructor. - This transition allows for more versatile and modern navigation solutions, making these widgets more adaptable to different routing needs and state management solution
-
Updated
ConnectionStatusControllertoValueNotifierinstead ofGetxController:- The
ConnectionStatusControllerhas been updated to useValueNotifierinstead ofGetxController. - This change allows for more flexibility and compatibility with different state management solutions.
- To use the
ConnectionStatusController, users need to wrap it withValueListenableBuilderto listen to changes.
- The
Enhancements:
-
Moved to App Settings:
- The properties
shortcuts,scrollBehavior,actions, andtitlehave been moved to the app settings, centralizing these configurations.
- The properties
-
Added
PlayxGetNavigationSettings:- Introduced a new class with custom GetX navigation settings, offering extensive configurability, including
navigatorKey,routes,initialRoute,onGenerateRoute,navigatorObservers,customTransition,transitionDuration,getPages,unknownRoute,routingCallback, and more.includeSentryNavigationObserver Update:
- Introduced a new class with custom GetX navigation settings, offering extensive configurability, including
-
Added
includeSentryNavigationObserver:- The includeSentryNavigationObserver has been moved to navigation settings.
- It no longer works with Router or GoRouter. Users need to add the observer manually if required.
1.1.1 #
- Update packages.
- Update minimum dart version to 3.4.1 and flutter version to 3.22.0.
1.1.0 #
Note: This release has breaking changes. Please refer to playx_theme and playx_localization for more information about the changes.
- Update packages.
- Renamed XLocaleConfig to
PlayxLocaleConfig - Renamed XThemeConfig to
PlayxThemeConfig
1.0.5 #
- Update packages.
1.0.4 #
- Update packages.
1.0.3 #
- Update packages.
- Add Support for using Router instead of Navigator in
PlayxMaterialAppandPlayxPlatformApp.- Small applications without complex deep linking can use Navigator,
- while apps with specific deep linking and navigation requirements should also use the Router to correctly handle deep links on Android and iOS,
- and to stay in sync with the address bar when the app is running on the web.
- Add new
.routerconstructor forPlayxNavigationSettingsto be able to use Router instead of Navigator.
1.0.2 #
- Update
ConnectionStatusControllercheck time interval and timeouts.
1.0.1 #
- Update packages.
- Bump dart version to 3.2.0 and flutter to 3.16.0.
- Add web support for
ConnectionStatusControllerto allow checking internet connection on web.
1.0.1-beta.1 #
- Add `ConnectionStatusController` which is used to check internet connection status by checking device connectivity and internet connection.
1.0.0-beta.3 #
- Update packages.
1.0.0-beta.2 #
- Update package exports.
1.0.0-beta.1 #
Note: This release has breaking changes. Bumping version from(0.3.0-beta) to version(1.0.0-beta).
- Update packages.
- Update Playx
bootandrunPlayxmethods to take PlayxEnvSettings parameter which is used to configure flutter_dotenv and load the .env file. - Update example app to show example of loading keys from .env file using
PlayxEnv. - Add
flutter_animatepackage to the list of exported packages.
BREAKING Changes #
- Updated
PlayxMaterialAppto take screenSettings, themeSettings, navigationSettings, appSettings in it's constructor to make it easy to configure the app.
playx_core #
BREAKING Changes #
Prefswas renamed toPlayxPrefs.SecurePrefswas renamed toPlayxSecurePrefs.SecurePrefsSettingswas renamed toPlayxSecurePrefsSettings.getString,getInt,getDoubleandgetBoolmethods inPlayxPrefsnow return non nullable value of it's type with the ability to provide it with a fallback that is returned if the key not found .getString,getInt,getDoubleandgetBoolmethods inPlayxSecurePrefsSettingsnow return non nullable value of it's type with the ability to provide it with a fallback that is returned if the key not found .
New features #
- Update packages.
- Added
PlayxEnv: Wrapper for configure any the application with global variables using a.envfile`. - Update
PlayxCorebootCoremethod to takePlayxEnvSettingsparameter which is used to configureflutter_dotenvand load the.envfile. - Added new
maybeGetString,maybeGetInt,maybeGetDoubleandmaybeGetBoolmethods inPlayxPrefswhich return the value of it's type or null if the key not found or any error happened . maybeGetString,maybeGetInt,maybeGetDoubleandmaybeGetBoolmethods inPlayxSecurePrefsSettingswhich return the value of it's type or null if the key not found or any error happened .
playx_widget #
New Widgets #
- DashedLine :Creates a dashed line widget.
- FadeIndexedStack : Creates an indexed Stack widget that paints a single child with fade animation.
- FavoriteButton :Creates a button that shows favorite state.
Bug fixes and Enhancements #
OptimizedCard
- Update OptimizedCard default shadowColor to not be transparent on Ios.
- Add the onPressed callback for the card to listen to any tapping events.
- Add borderRadius which can be used to set the border radius of the default card's rounded rectangular shape.
OptimizedTextField
- Add hintStyle to the text field to customize the hint text style.
- Enhancement to the text field in Ios when using
.adaptiveconstructor.
0.3.0-beta.3 #
Note: This release has breaking changes.
- Update packages.
PlayxAppConfignow requiresasyncBootto be overridden.- We can check whether
PlayxAppConfigasyncBootfunction is completed by callingPlayx.isAsyncBootCompleted. - We can wait for
PlayxAppConfigasyncBootfunction to complete by callingPlayx.asyncBootFuture.
0.3.0-beta.2 #
- Update packages.
- Added platformSettings to
PlayxPlatformAppthat controls current platform settings.
0.3.0-beta.1 #
Note: This release has breaking changes.
New features #
- Update packages.
- Added
PlayxPlatformApp: A widget that wraps [GetMaterialApp] or [ GetCupertinoApp] based on the platform with support toscreen_util,playx_themeandplayx_localization. - Added
asyncBootmethod that can be implemented by [PlayXAppConfig] to boot long running tasks asynchronously when launching the application.
playx_widget #
- include
flutter_platform_widgetsinto the package to include platform specific widgets. - fix errorMaxLines on
OptimizedTextFieldnot working correctly.
playx_theme #
- PlayxTheme now has
isDeviceInDarkModeto indicate whether the user device is in dark mode or not.- XThemeConfig now has
defaultThemeIndexto specify the default theme index that will be used first time as default theme. - new
ImageThemewidget which is a widget that is themed by image content by providing image provider to be used with Material3 themes. - new utilities to be used like
getBlendedColorSchemewhich blends two color schemes together and returns a new color scheme to be used with Material3 themes. - Included
flex_seed_schemepackage which is more flexible and powerful version of Flutter's ColorScheme.fromSeed and uses multiple seed colors, custom chroma and tone mapping to enahce creating a color scheme for Material3.
- XThemeConfig now has
BREAKING Changes #
XColorSchemewas renamed toXColors.- a Removed abstract colors like primary, secondary, background,surface, error ,onPrimary, Color get onSecondary, onBackground, onSurface, onError from
XColors. XThemecolors property now have default value which isDefaultColors.
0.2.6 #
- Update packages.
- Update
PlayxMaterialAppto include latestScreenUtilparameters.
0.2.5 #
- Update packages.
0.2.4 #
- Update packages.
- Integrate
Playx_themeupdates into the app.
0.2.3 #
- Integrate
Playx_localizationpackage into this package. Playx.bootandPlayx.runPlayxfunctions now requireXLocaleConfigto define app localization. Check the example for more information.Playx.bootandPlayx.runPlayxfunctions now boots alsoPlayx_localizationpackage so you don't need to worry about it.PlayxMaterialAppdoesn't take any parameters that is about localization as localization is now done withPlayx_localizationpackage.
0.2.1 -0.2.2 #
- updated packages
0.2.0 #
- Add new
PlayxMaterialAppwhich is a widget that wraps [GetMaterialApp] with [PlayXThemeBuilder] to update the app with current theme and [ScreenUtilInit] that initializes [ScreenUtil] with the ability to set app orientation and more. - Add new playx package
playx_networkwhich is a wrapper around Dio that can perform API requests with better error handling and easily get the result of any API request. - updated packages
0.1.5 #
- add
SecurePrefsSettingsto Playx.runPlayx function to be able to customize secure storage settings.
0.1.4 #
- updated packages
0.1.2 0.1.3 #
- updated packages
0.1.1 #
- updated packages
0.1.0 #
- Add support for Dart 3.0.0 and Flutter 3.10
- Add new
XColorSchemeinplayx_themewhich is a new way to configure custom colors for each themes. - update packages
- Update
Playx.runPlayxfunction to support Sentry. - Add new packages like
Lottie,Sentry,AsyncandFimber - Add
IsEqualwhich validates text form fields. - Update example project.
0.0.9 #
- hide
RContextMediaQueryfromflutter_readablepackage to avoid conflicts withGetxpackage. - update exports.
0.0.8 #
- add
playx_widgetpackage which contains custom utility widgets to make development faster.
0.0.6 0.0.7 #
- add
AppConfing.boot()to initialize default configuration - update packages
0.0.5 #
- remove
sentry
0.0.4 #
- add
Playx.boot() - update
playx_theme - typos
0.0.3 #
- update
playx_coreto 0.0.2 - export
playx_core - fix typos
0.0.2 #
- fix : Error: Undefined name 'kDebugMode'.
0.0.1 #
- initial release.