get_x_master 0.0.35 copy "get_x_master: ^0.0.35" to clipboard
get_x_master: ^0.0.35 copied to clipboard

Independent Flutter state management, routing, and DI solution inspired by GetX with high performance.

Changelog #

0.0.35 #

  • Fix pub point

0.0.34 #

โœจ New Features #

  • ObxValue.named constructor:

    • Added a named constructor ObxValue.named(builder, {required initialValue}) for explicit, readable call sites.
    • The original positional constructor ObxValue(builder, value) is fully preserved โ€” no breaking change.
    • Example:
      // classic positional style (unchanged)
      ObxValue(
        (isActive) => Switch(
          value: isActive.value,
          onChanged: (flag) => isActive.value = flag,
        ),
        false.obs,
      )
      
      // new named style
      ObxValue.named(
        (isVisible) => Visibility(
          visible: isVisible.value,
          child: const Text('Hello!'),
        ),
        initialValue: true.obs,
      )
      
  • ObxValue.initialValue property:

    • Renamed internal data field to initialValue for clarity.
    • IDE tooltips and autocomplete now show a meaningful property name instead of the generic data.
  • Declarative Async State Management:

    • Added GetAsyncBuilder: A unified widget for Future and Stream handling with automatic state management (loading, error, success, empty).
    • Added GetStateView: A clean, declarative wrapper for controllers using StateMixin.
    • Added StateMixin.futurize(): Automates the process of executing a Future and updating the controller's RxStatus.
    • Added professional default error views with built-in retry logic for async operations.

๐Ÿ“š Documentation #

  • ObxValue โ€” Completely rewritten doc comment with four real-world examples:

    • Toggle (bool) with Switch
    • Counter (int) with increment/decrement buttons
    • Visibility flag with Visibility widget
    • Selected tab index with BottomNavigationBar
  • DisposableInterface โ€” Added rich doc comments with examples to onInit, onReady, and onClose lifecycle methods so IDE autocomplete generates complete override stubs.

  • GetXController / GetxController โ€” Added full lifecycle example in the typedef doc comment covering onInit, onReady, and onClose.


0.0.33 #

๐Ÿ› Bug Fixes โ€” ConditionalNavigation Transition Animation #

  • Fixed broken transition animations with ConditionalNavigation:

    • Affected methods: Get.to(), Get.off(), Get.offAll()
    • Root cause: When ConditionalNavigation (or ConditionalNavigationOff / ConditionalNavigationOffAll) was used, page was set to the closure returned by evaluate(). Deriving routeName from page.runtimeType on that closure produced a garbage string like "Closure: () => LoginPage" instead of "LoginPage". This caused the preventDuplicates guard to silently cancel navigation โ€” and therefore prevented any transition animation from playing.
    • Fix: After evaluate(), the page builder is called once to obtain the widget instance, routeName is derived from the widget's runtimeType, and the widget is re-wrapped into a proper GetPageBuilder. This ensures the correct route name, correct preventDuplicates behaviour, and fully working transition animations for all Transition.* values.
  • Files changed:

    • lib/src/get_navigation/src/extension_navigation.dart

๐Ÿงช Example #

  • Added example/lib/test_conditional_navigation.dart โ€” interactive test screen covering:
    • Get.to() with rightToLeft, fade, zoom transitions
    • Get.off() with ConditionalNavigationOff
    • Get.offAll() with ConditionalNavigationOffAll
    • preventDuplicates sanity check
    • Toggle switches to flip isLoggedIn / hasPremium at runtime

0.0.32 #

  • Fix Bug Get.showLoaderOnWidget()

0.0.31 #

โœจ New Features #

  • Widget-Specific Loader:
    • Added Get.showLoaderOnWidget() method.
    • Allows showing a loading indicator directly over a specific widget (e.g., a button) using its GlobalKey.
    • Supports custom loadingWidget, opacityColor, opacity, and borderRadius.
    • Useful for localized loading states without blocking the entire UI with an overlay.

๐Ÿ“š Documentation #

  • Enhanced API Documentation:
    • Added comprehensive code examples for ALL major navigation and overlay methods in ExtensionNavigation.
    • Examples added for: bottomSheet, dialog, snackbar, toNamed, offNamed, showOverlay, showLoaderOnWidget, and many more.
    • Improved Javadoc-style comments for better IDE integration and developer experience.

0.0.30 #

โœจ New Features #

  • Identity Validation System:

    • Added IdentityValidator class for validating national identity documents.
    • Iranian National Code: Complete validation algorithm for Iranian National Codes.
    • International Passport: Validation support for international passport numbers.
    • Country-Specific Validation: Support for country-specific passport formats (ISO 3166-1 alpha-2).
    • Multi-language Support: Error messages available in English and Persian.
  • Responsive Design Enhancements:

    • Added .r extension for responsive radius calculations.
    • Ensures circular elements (like Avatars) remain proportional based on the smallest screen dimension.
    • Prevents deformation on devices with extreme aspect ratios.

๐Ÿ“š Documentation #

  • Updated README.md with new validation features.
  • Added documentation for IdentityValidator usage.
  • Added documentation for .r extension.

0.0.29 #

โœจ New Features - Enhanced Conditional Navigation #

  • Advanced ConditionalNavigation: Added support for different destination pages in off() and offAll() methods.

    • New optional parameters: truePageOff, falsePageOff for off() method
    • New optional parameters: truePageOffAll, falsePageOffAll for offAll() method
    • Falls back to default truePage/falsePage when optional parameters are null
    • Allows different navigation flows for different navigation methods
  • New Evaluation Methods:

    • evaluateOff(): Evaluates condition specifically for off() navigation
    • evaluateOffAll(): Evaluates condition specifically for offAll() navigation

๐Ÿ“š Documentation #

  • Updated README.md with comprehensive ConditionalNavigation examples
  • Added detailed usage examples for off() and offAll() with different pages
  • Included use cases and best practices for conditional navigation

0.0.28 #

๐Ÿ› Bug Fixes - Flutter 3.35.0+ Compatibility #

  • Fixed Deprecated TickerMode Usage: Updated TickerMode.of(context) to TickerMode.valuesOf(context).enabled for Flutter 3.35.0+ compatibility.

    • Updated GetSingleTickerProviderStateMixin.didChangeDependencies()
    • Updated GetTickerProviderStateMixin.didChangeDependencies()
  • Fixed Async Result Type Errors: Added await keywords in flatMapAsync() and recoverAsync() methods to properly handle Future return types.

  • Fixed Duplicate Parameter Names: Replaced duplicate underscore parameters in badCertificateCallback with named parameters (cert, host, port).

  • Fixed Missing Type Annotation: Added explicit dynamic type annotation to _updateTree parameter in ObxState class.


0.0.27 #

๐Ÿ› Bug Fixes - Responsive System #

  • Fix bug responsive system.

0.0.26 #

๐Ÿ› Bug Fixes - Responsive System #

  • Fixed Oversized UI Elements on Desktop/Laptop: Resolved issue where all UI elements (text, icons, images) appeared too large on desktop and laptop screens.

  • Responsive Scaling Improvements:

    • Reduced aggressive device-specific scaling factors from 1.15-2.2x to 1.0x for all device types
    • Fixed sp(), ws(), imgSize() methods in ResponsiveData class
    • Updated clamp ranges from 0.8-3.0 to conservative 0.8-1.2 across all methods
    • Fixed _getDynamicBaseWidth() and _getDynamicBaseHeight() to use proper fixed base dimensions instead of percentage-based calculations
    • Updated ResponsiveSize extension methods (sp, hsp, ssp, ws, imgSize) with proper scaling
    • Fixed GetResponsiveHelper class scaling factors and clamp ranges
    • Improved _getClampRange() function with consistent conservative ranges
  • Files Modified:

    • lib/src/responsive/responsive_builder.dart
    • lib/src/responsive/size_percent_extension.dart

๐Ÿ“ Notes #

  • The responsive system now scales proportionally based on screen size without additional aggressive multipliers
  • UI elements will maintain consistent sizing across phone, tablet, laptop, and desktop devices
  • Breaking change: If you relied on the previous aggressive scaling behavior, you may need to adjust your design values

0.0.25 #

โœจ New Features - Advanced Error Handling System #

  • GetHttpException Enhanced: Base exception class now includes:

    • statusCode, responseBody, headers, stackTrace, timestamp
    • isClientError, isServerError, isNetworkError getters
    • toDetailedString() for comprehensive error reports
    • toMap() for logging and serialization
  • 15+ Specific Exception Types:

    • BadRequestException (400)
    • UnauthorizedException (401)
    • ForbiddenException (403)
    • NotFoundException (404)
    • MethodNotAllowedException (405)
    • RequestTimeoutException (408)
    • ConflictException (409)
    • UnprocessableEntityException (422)
    • TooManyRequestsException (429)
    • InternalServerException (500)
    • BadGatewayException (502)
    • ServiceUnavailableException (503)
    • GatewayTimeoutException (504)
    • NetworkException with NetworkErrorType enum
    • TimeoutException with duration info
    • RequestCancelledException
  • Result Pattern (Functional Error Handling):

    • Result<T> sealed class with Success and Failure
    • Pattern matching with when() and whenOrNull()
    • Value extraction: getOrElse(), getOrThrow(), valueOrNull
    • Transformations: map(), flatMap(), mapError()
    • Recovery: recover(), recoverWith()
    • Side effects: onSuccess(), onFailure()
    • Future extensions: mapAsync(), flatMapAsync(), recoverAsync()
  • ExceptionHandler Utility:

    • fromResponse() - Convert Response to appropriate exception
    • fromException() - Convert any exception to GetHttpException
    • guard() - Wrap async operations in Result
    • withRetry() - Retry with exponential backoff
  • Response Extensions:

    • response.toResult() - Convert Response to Result
    • response.throwIfError() - Throw if response has error
    • Future<Response>.toResult() - Async conversion
  • GraphQL Error Improvements:

    • GraphQLErrorLocation class for error locations
    • path and extensions support in GraphQLError
    • fromJson() factory constructor

๐Ÿ“š Documentation #

  • Updated lib/src/get_connect/README.md with comprehensive error handling guide
  • Added error handling section to main README.md
  • Created example/lib/test_error_handling.dart with complete examples
  • Updated example/lib/main.dart with demo navigation

0.0.24 #

๐Ÿ”„ Breaking Changes #

  • Enum Naming Convention: Changed enum values to lowercase for consistency with Dart conventions:

    • SnackbarStatus: OPEN โ†’ open, CLOSED โ†’ closed, OPENING โ†’ opening, CLOSING โ†’ closing
    • SnackStyle: FLOATING โ†’ floating, GROUNDED โ†’ grounded
    • SnackPosition: Already lowercase (top, bottom)
  • Class Renamed: CustomExpandableBottomSheetRoute โ†’ BottomSheetExpandableRoute

  • Method Renamed: Get.customExpandableBottomSheet() โ†’ Get.bottomSheetExpandable()

โœจ New Features #

  • PasswordValidator Improvements:

    • Renamed specialChars โ†’ specialCharacters
    • Renamed requireSpecialChar โ†’ requireSpecialCharacter
    • Changed specialCharacters type from String to List<String> for easier customization
  • BottomSheetExpandableRoute: Added BottomSheetExpandableRoute export to main package

๐Ÿ› Bug Fixes #

  • Fix bug PasswordValidator
  • Fix close button in BottomSheetExpandableRoute now uses custom closeIcon parameter
  • Added canPop() check before closing bottom sheet to prevent errors

0.0.23 #

๐Ÿ› Bug Fixes #

  • Snackbar Overlay Fix: Fixed "No Overlay widget found" error when using Get.snackbar() or Get.showSnackbar().
  • Smart Dependency Injection Fix: Fixed smartLazyPut and smartFind not working correctly with Bindings.

๐Ÿ“š Documentation #

  • Added comprehensive SMART_LAZY_PUT_GUIDE.md with Persian documentation.
  • Updated README.md with detailed usage examples for smartLazyPut and smartFind.

0.0.22 #

  • Add PasswordValidator Utils.

0.0.21 #

  • Add ConditionalNavigation support to off() and offAll() methods.
  • Update documentation for Conditional Navigation.
  • Add example for Conditional Navigation.

0.0.20 #

  • Fix initialize dependency injection
  • Edit document.
  • Edit GetResponsiveBuilder add new feature.
  • Update Last SDK.
  • Fix pub point.

0.0.19 #

  • Fix initialize dependency injection

0.0.18 #

  • Fix ConditionalNavigation navigation issue.

0.0.17 #

  • BREAKING CHANGE: Renamed ResponsiveBuilder to GetResponsiveBuilder for consistency with GetX naming conventions.

0.0.16 #

  • Updated all responsive components and extensions to use new GetResponsiveBuilder class.
  • Enhanced responsive system documentation with updated class names.
  • Improved integration with GetX framework naming standards.
  • Fixed all references in examples, documentation, and implementation files.
  • Fix document extension size.
  • Fix Animate extension size.
  • Fix responsive name ResponsiveBuilder detect orientation.

0.0.15 #

  • Add ReactiveGetView - Smart reactive widget for automatic UI updates.
  • Enhanced GetView with intelligent state management capabilities.
  • Automatic reactive updates without manual Obx() wrapping.
  • Improved performance through intelligent rebuilding.
  • Better code readability and maintainability.
  • Full compatibility with existing GetX controller patterns.
  • Updated comprehensive documentation with examples.

0.0.14 #

  • Fix document extension size.

0.0.13 #

  • Fix bug null context.

0.0.12 #

  • Fix bug.

0.0.11 #

  • Fix bug.

0.0.10 #

  • Fix bug.

0.0.9 #

  • Update README.
  • Update responsive.

0.0.8 #

  • Add New feature for Responsive.
  • Add New feature for Utils.
  • Add New feature for State management.

0.0.7 #

  • Add New feature for route.
  • Add New feature for Cupertino.
  • Add New feature for Animation.
  • Add New feature for Dependency injection.
  • Add New feature for Utils.
  • Add New feature for State management.
  • Fix Bug GetBuilder.

0.0.6 #

  • Add New feature for route.

0.0.5 #

  • Fix bug.
  • Add new extensions.

0.0.4 #

  • Edit Document.
  • Fix error handling smartFind.

0.0.3 #

  • Edit Document.

0.0.2 #

  • Fix pub point.

0.0.1 #

  • Update Last Version SDK.
  • Add Documentation Package.
  • Add New Feature.
  • Add Fix AND New Feature Animation Extensions.
  • Add New Feature Dependency injection.
  • Extra codes cleaned up.

15
likes
160
points
418
downloads

Documentation

Documentation
API reference

Publisher

verified publisherswanflutterdev.com

Weekly Downloads

Independent Flutter state management, routing, and DI solution inspired by GetX with high performance.

Repository (GitHub)
View/report issues

Topics

#getx #getxmaster #get #getx-master #get-x-master

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, intl, shamsi_date, web

More

Packages that depend on get_x_master