refreshed 3.2.0
refreshed: ^3.2.0 copied to clipboard
Enhanced GetX for Flutter: Stability, Performance, Beginner-Friendly.
3.2.0 #
State Management Improvements #
-
Controller Lifecycle Refactoring:
- Refactored controller lifecycle management with a more composable architecture and fewer inheritance layers.
- Introduced focused mixins (
UpdateMixin,AppLifecycleMixin) to separate concerns and reduce code duplication. - Simplified controller hierarchy with modern Dart 3.8 pattern matching while maintaining backward compatibility.
- Converted
ScrollMixinto a proper controller class (GetxScrollController) for better type safety and usability. - Added backward compatibility aliases with deprecation notices to ensure smooth migration.
- Improved
GetxScrollControllerwith more concise scroll event handling and better documentation. - Enhanced scroll edge detection with cleaner conditional logic and improved error handling.
-
Reactive Classes Improvements:
- Created a shared utility (
RxJsonUtils) for safer JSON conversion in reactive classes. - Eliminated duplicated error handling code in
toJson()methods acrossRxandRxnclasses. - Improved error messages with more specific type information.
- Added JSON serialization support for reactive collections (
RxList,RxMap,RxSet). - Implemented specialized collection conversion utilities for handling nested objects.
- Added fallback mechanism for safer JSON conversion with
tryToJsonmethod. - Simplified the value setter in
RxObjectMixinwith clearer conditional statements for better readability. - Refactored
BindElement._subscribeToControllerto use helper methods for each controller type, improving maintainability. - Removed redundant field declarations in
_FactoryBindclass by properly using constructor parameter forwarding.
- Created a shared utility (
-
State Management Modernization:
- Modernized
Bindclass static methods with improved type safety and consistent return types. - Enhanced error handling in
replaceandlazyReplacemethods with more descriptive error messages. - Improved documentation across all
Bindclass methods with detailed parameter descriptions and usage examples. - Refactored
Bind.ofmethod with clearer pattern matching and better error reporting. - Fixed inconsistent behavior in
putandspawnmethods regarding theautoRemoveparameter. - Leveraged Dart 3.8 pattern matching in state management utilities for more readable code.
- Created a shared
BindInterfaceto eliminate code duplication betweenBindandBinderclasses. - Improved maintainability by standardizing common fields and methods across binding implementations.
- Modernized
3.1.0 #
Code Modernization #
-
Dart 3.8 Pattern Matching:
- Modernized state management code with Dart 3.8 pattern matching and concise syntax.
- Improved readability and reduced verbosity in reactive extensions and state management classes.
-
Reactive Extensions Improvements:
- Enhanced
RxnStringExtwith new utility methods using pattern matching:isNullOrEmpty,orDefault, andlength. - Modernized numeric extensions (
RxnNumExt,RxnDoubleExt,RxnIntExt) with concise pattern matching for operators. - Improved boolean extensions (
RxnBoolExt) with modern syntax for logical operations.
- Enhanced
-
State Management Enhancements:
- Modernized
Bindclass methods with pattern matching and concise syntax. - Improved
BindElementclass with pattern matching for controller subscriptions and lifecycle management. - Enhanced
lazyPut,replace, andlazyReplacemethods with cleaner syntax and better documentation.
- Modernized
-
Navigation Improvements:
- Modernized
GetDelegatemethods with Dart 3.8 pattern matching and switch expressions. - Enhanced
PageSettingsclass with pattern matching for equality checks and type handling. - Improved route handling with clearer code structure and better type safety.
- Refactored navigation methods for better readability and maintainability.
- Modernized route middleware with pattern matching for parameter handling and redirection logic.
- Enhanced route parsing with improved null safety and cleaner parameter extraction.
- Modernized
-
Snackbar Controller Improvements:
- Modernized
SnackbarControllerwith Dart 3.8 pattern matching for animation status handling. - Enhanced snackbar positioning and alignment with cleaner switch expressions.
- Improved timer configuration and dismissal behavior with pattern matching.
- Modernized
SnackBarQueuewith list pattern matching for better queue management. - Added comprehensive documentation to all modernized methods.
- Modernized
-
Worker Utilities Modernization:
- Refactored worker disposal methods using Dart 3.8 switch expressions.
- Improved conditional logic in reactive workers with functional programming style.
3.0.3 #
- I'm back! I'm continuing to maintain and improve Refreshed. I'll do my best to keep up with issues and pull requests. Thanks for your support!
3.0.2 #
- Fixed defaultPopGesture
3.0.1 #
- Minor fixes for BottomSheet, Dialog, and Navigation.
3.0.0 #
Performance Improvements #
-
Improved Middleware Implementation:
- Optimized for better performance and maintainability.
- Enhanced handling of route parameters for smoother navigation.
-
Optimized Route Parsing:
- Streamlined route matching to improve efficiency in path resolution.
- Enhanced route tree management for better handling of route additions and deletions.
- Optimized handling of parameters and child routes for cleaner, more efficient code.
-
GetSingleTickerProviderStateMixin & GetTickerProviderStateMixin Refactor:
- Refactored for better performance and memory management.
- Improved assertion handling with clearer error messages and prevention of unintended ticker leaks.
- Enhanced
didChangeDependenciesto mute tickers properly based onTickerModechanges. - Optimized
_WidgetTickerlifecycle management to prevent redundant operations.
UI/UX Enhancements #
- Material 3 Snackbar UI:
- Updated Snackbar background to match Material 3 UI design for better consistency.
Breaking Changes #
- Flutter 3.27+ and Dart 3.6+ Support Only:
- This release only supports Flutter versions greater than or equal to 3.27 and Dart versions greater than or equal to 3.6, due to breaking changes introduced in Flutter 3.27.
Bug Fixes #
- Route Management Fixes:
- Fixed the issue where unknown routes would not properly navigate to the 404 route. Now, invalid routes are handled correctly.
Removed Features #
- Deprecated Methods Removed:
- Methods that were not relevant to the core functionality have been removed from the package:
- From
RxDoubleandRxnDouble:abs(),sign(),round(),floor(),ceil(),truncate(), etc. - From
IntExtandIntnExt: Shift operations, mathematical operations (modPow,gcd, etc.), bitwise operations (bitLength,toUnsigned(),toSigned()), negation (operator -()), and parity checks (isEven,isOdd). - From
RxStringandRxnString:pad(),startsWith(),endsWith(),contains(),toLowerCase(),toUpperCase(),substring(), etc.
- From
- Methods that were not relevant to the core functionality have been removed from the package:
API Documentation #
- Added detailed doc comments to improved developer experience and clearer API documentation.
Note: This release is part of ongoing improvements for performance, memory management, and route handling, with a major update requiring Flutter 3.27 and Dart 3.6 for compatibility.
3.0.0-beta.4 #
-
Removed methods from
RxDoubleandRxnDoubleas they were not relevant to the package functionality:abs(),sign(),round(),floor(),ceil(),truncate(), etc.
-
Removed methods from
IntExtandIntnExtthat were unnecessary for the intended functionality:- Shift operations, mathematical operations (e.g.,
modPow,gcd, etc.), bitwise operations (bitLength,toUnsigned(),toSigned()), negation (operator -()), and parity checks (isEven,isOdd).
- Shift operations, mathematical operations (e.g.,
-
Removed methods from
RxStringandRxnStringas they were not relevant to the package functionality:pad(),startsWith(),endsWith(),contains(),toLowerCase(),toUpperCase(),substring(), etc.
3.0.0-beta.3 #
- Refactored
GetSingleTickerProviderStateMixinandGetTickerProviderStateMixinfor better performance and memory management. - Improved assertion handling to provide clearer error messages and prevent unintended ticker leaks.
- Enhanced
didChangeDependenciesto ensure proper ticker muting based onTickerModechanges. - Optimized
_WidgetTickerlifecycle management to prevent redundant operations and improve efficiency. - Added detailed doc comments to
GetXfor better API documentation and improved developer experience.
3.0.0-beta.2 #
- Optimized Middleware implementation for improved performance and maintainability.
- Streamlined route matching to enhance efficiency in path resolution.
- Improved route tree management for better handling of route additions and deletions.
- Enhanced handling of parameters and child routes for cleaner, more efficient code.
3.0.0-beta.1 #
- Removed
mini_streamdependency as it was not widely used or relevant to the package functionality. - Updated Snackbar background to match the Material 3 UI for better design consistency.
- Fixed the
unknownRouteissue: if the route is invalid, it now properly navigates to the 404 route.
2.10.4 #
- Resolved an issue where the
SnackBarwidget's background color was not being applied correctly.
2.10.3 #
- Fixed custom widget not working in
defaultDialog - Set the default button background color to
context.theme.primaryColor
2.10.2 #
- Improved RxIterable methods
addIf()andaddAllIf()methods now conditionally add elements based on simple bool checks- Methods like add(), remove(), and clear() now consistently call refresh() to notify listeners of changes
2.10.1 #
- Improved log and exception messages for easier troubleshooting and better understanding of issues.
- Set the default background color of the bottom sheet to
bottomSheetTheme.backgroundColor. - Renamed
persistenttoisPersistentfor clearer and more intuitive naming.
2.10.0 #
- Removed
Get.backLegacy()method - Updated package compatibility to support Flutter version
3.27.0
2.9.0 #
- Up to date with Getx package.
2.8.1 #
- Fixed futurize empty state handling by correctly triggering
onEmptywhen the result is neithernullnor has data.
2.8.0 #
- Reintroduced Rxn
2.7.2 #
- Fixed padding issue in dialog.
2.7.1 #
- Fixed issue where the dialog displayed the default title instead of custom title.
2.7.0 #
- Upgraded flutter to version
3.22.0 - Resolved asynchronous issues in replace and lazyReplace Dependency Injection (DI) methods.
- Improved overall performance.
2.6.3 #
- Fixed
CupertinoRouteTransitionMixin.isPopGestureInProgressmember not found issue.
2.6.2 #
- Made explicit Bind type declaration optional to maintain compatibility with older projects.
2.6.1 #
- Resolved linting issues.
- Added Binding Example Demo
2.6.0 #
- Added explicit type declaration to
Bind.lazyPut()method, replacingBind.lazyPut(() => CountController())withBind.lazyPut<CountController>(() => CountController()).
2.5.8 #
- Removed unused params from
GetCupertinoApp.
2.5.7 #
- Resolved linting issues.
- Resolved the issue related to generic types.
2.5.6 #
- Updated route parsing for better compatibility with HTTP app links.
2.5.5 #
- Resolved linting issues.
2.5.4 #
- Resolved nullable instance dependency issues where Null type was not compatible with Instance.
2.5.3 #
- Resolved the issue related to generic types.
2.5.2 #
- Altered logger's initial print message from
GetXtoRefreshed. - Resolved linting issues.
2.5.1 #
- Resolved scrolling issue by setting the default value of the persistent parameter to false during bottom sheet dragdown.
- Enhanced clarity by renaming persistent to isPersistent to denote a boolean value for the parameter.
2.5.0 #
- Reintroduced
putAsyncfunction
2.4.1 #
- Fixed pub points
2.4.0 #
- Implemented test cases for Rx extension methods.
- Eliminated
responsiveValuefrom context extension. - Removed Responsiveness-related classes.
- Fixed missing imports
- Fixed datatypes in rx values.
2.3.1 #
- Removed
round(),floor(),ceil(), andtruncate()extension methods from the int extension as they are not applicable to integers.
2.3.0 #
- Rolled back web version to 0.4.0 to resolve package conflicts, ensuring compatibility and stability.
- Resolved Snackbar margin issue, ensuring consistent and visually appealing UI presentation.
2.2.0 #
- Implemented drag handle customization, including visibility, color, and size, along with drag start/end callbacks and shadow color support in the bottom sheet.
2.1.0 #
- Refactored codebase by eliminating String extensions and methods, Instead, use
Quicklypackage for similar functionalities. - Resolved asynchronous issue in Queue by introducing proper await usage.
2.0.3 #
- Fixed the asynchronous issue in
goToUnknownPagefunction within the route, resolving the need forawait. - Removed unnecessary
awaitstatements in the route delegate for improved efficiency. - Enhanced safety in the route delegate by adding required return types.
2.0.2 #
- Resolved await issue in the closeAllSnackbars and closeAllOverlays methods.
2.0.1 #
- Fixed dart formatting issues.
2.0.0 #
- Removed the
int,double,numanddurationextensions, as they are no longer necessary. Instead, useQuicklypackage for similar functionalities. - Resolved the memory leak issue associated with the snackbar component.
- Addressed and fixed the failing tests related to the snackbar component.
- Added
BoxConstraintsto theGet.bottomSheetmethod to ensure more precise control and layout constraints. - Enhance Dart code to align with linting conventions.
- Implemented data types to enhance code safety.
- Added API documentation.
1.5.4 #
- Resolved issue with Snackbar not using full width, causing buttons on that height to be unclickable.
1.5.3 #
- Removed redundant code.
- Added API documentation.
1.5.2 #
- Fixed an issue with the default dialog where custom widgets were not being overridden properly.
1.5.1 #
- Fixed pub points
1.5.0 #
Major Update
- Removed the animation module as it is no longer relevant to the project's scope and requirements.
- Removed the WidgetPaddingX, WidgetMarginX, and WidgetSliverBoxX extensions from the codebase as they were irrelevant.
- Introduced the quickly package to facilitate the use of similar extensions for padding, margin, and lot more.
1.4.0 #
Major Update
- Extracted the get_connect module from the package and published it as vaultify.
- Removed infrequently used string extension methods
1.3.0 #
- Removed unused methods and extensions to enhance code cleanliness.
1.2.0 #
- Removed duplicate methods and extensions to improve code cleanliness and reduce redundancy.
- Implemented stop behavior in the delay extension, allowing users to cancel the delay before it completes.
1.1.3 #
- Fixed an issue in RxList where a type error occurred when initializing with an empty list.
1.1.2 #
- Updated the readme file and addressed various minor issues.
1.1.1 #
- Fixed issues related to pub points and package metadata.
1.1.0 #
- Added documentation comments for improved code documentation.
- Corrected typos in code and documentation.
1.0.3 #
- Addressed minor issues and optimizations.
1.0.2 #
- Resolved data type inconsistencies for better compatibility.
1.0.1 #
- Fixed issues related to pub points and package metadata.
1.0.0 #
Initial Release Changelog #
Features: #
- Enhanced Stability: Improved overall stability with bug fixes and optimizations.
- Performance Boost: Optimized performance for smoother app experiences.
- Beginner-Friendly: Designed with newcomers in mind, making it easier to get started with GetX.
- Latest Compatibility: Fully compatible with the latest Flutter and Dart packages.
- Simplified Routing: Streamlined routing mechanism for easier navigation between screens.
- Updated Documentation: Comprehensive documentation with clear instructions and examples.
- Community-Driven: Built based on feedback from the Flutter community to meet their evolving needs.
We're excited to introduce this initial release of the refreshed GetX package, offering a robust and user-friendly experience for Flutter developers of all levels. Enjoy coding with GetX and stay tuned for future updates!