getxify 2.0.0 copy "getxify: ^2.0.0" to clipboard
getxify: ^2.0.0 copied to clipboard

An improved and enhanced version of GetX - Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetXify.

2.0.0 #

Breaking Changes #

  • Removed GetUtils class - The GetUtils class with 722 lines of validation and string manipulation methods has been removed. This includes:

    • Validation methods: isEmail, isURL, isPhoneNumber, isDateTime, isMD5, isSHA1, isSHA256, isSSN, isBinary, isIPv4, isIPv6, isHexadecimal, isPalindrome, isUsername, isCurrency, isPassport, Brazilian isCpf/isCnpj
    • File type checks: isVideo, isImage, isAudio, isPPT, isWord, isExcel, isAPK, isPDF, isTxt, isChm, isVector, isHTML
    • String manipulation: capitalize, capitalizeFirst, removeAllWhitespace, camelCase, snakeCase, paramCase, numericOnly, capitalizeAllWordsFirstLetter
    • Length validation methods
    • Basic type checks: isNull, isNullOrBlank, isBlank, isNum, isNumericOnly, isAlphabetOnly, hasCapitalLetter, isBool
  • Removed string extensions - All string extensions that wrapped GetUtils methods have been removed:

    • isNum, isNumericOnly, isAlphabetOnly, isBool
    • isVectorFileName, isImageFileName, isAudioFileName, isVideoFileName, isTxtFileName, isDocumentFileName, isExcelFileName, isPPTFileName, isAPKFileName, isPDFFileName, isHTMLFileName
    • isURL, isEmail, isPhoneNumber, isDateTime
    • capitalize, capitalizeFirst, removeAllWhitespace, camelCase, paramCase, numericOnly, capitalizeAllWordsFirstLetter
  • Removed unused extensions - The following extension modules have been removed:

    • double_extensions.dart
    • duration_extensions.dart
    • dynamic_extensions.dart
    • int_extensions.dart
    • num_extensions.dart
    • widget_extensions.dart
  • Removed GetMicrotask class - The GetMicrotask class has been removed as it was not used anywhere in the codebase.

  • Removed OptimizedListView widget - The OptimizedListView widget has been removed as it was not used anywhere in the codebase.

Migration Guide #

If you were using any of the removed utilities, you should migrate to dedicated packages:

  • Validation: Use the validator package or similar
  • String manipulation: Use the recase package for case conversion
  • File operations: Use the path package
  • Equality: Use the equatable package if you need value-based equality in your own code

Bug Fixes #

  • Fixed controller disposal during rapid navigation - Controllers are now properly disposed when quickly navigating back and forth using keyboard shortcuts or programmatic navigation. Added reportRouteWillDispose call in the didPop method of GetObserver to ensure dependencies are cleaned up correctly.
  • Fixed secondary animation issue - Outgoing pages now animate correctly when using Navigator.push with GetMaterialApp or GetCupertinoApp. The apps now use regular MaterialApp/CupertinoApp when getPages is null and no router config is provided, allowing proper secondary animations for imperative navigation.
  • Fixed null routerDelegate handling - GetRoot now properly handles cases where routerDelegate is null, preventing runtime errors when accessing navigation keys in non-router scenarios.

Improvements #

  • Reduced bundle size - Removed ~1000+ lines of unnecessary utility code
  • Focused scope - GetXify now focuses on its core purpose: state management, navigation, and dependency injection
  • Better separation of concerns - General-purpose utilities should use dedicated packages, not a framework

Kept Functionality #

The following essential utilities remain:

  • Equality mixin - Needed by StateMixin for value-based equality comparison
  • GetPlatform - Platform detection (used in 3 places in core framework)
  • GetQueue - Queue management (used by snackbar system)
  • IterableExtensions - mapMany, firstWhereOrNull (used by router)
  • ContextExtensions - theme, mediaQuery, height, width (used by responsive design and navigation)
  • InternationalizationExtensions - .tr extension for translations
  • EventLoopExtensions - asap, toEnd methods (used by core framework)
  • printInfo method - Added to GetInterface for logging

Testing #

  • All 144 tests passing

1.0.2 #

Code Quality Improvements #

  • Enhanced documentation - Added comprehensive doc comments to get_state_manager module (list_notifier, rx_notifier, get_responsive, rx_getx_widget, mixin_builder, simple_builder)
  • Code cleanup - Removed dead/commented code across get_state_manager files
  • Modernized patterns - Updated constructor patterns to use super.key in doc examples
  • Removed outdated lint ignores - Cleaned up unnecessary lint suppression comments
  • Fixed field overrides - Properly fixed field override issue in _FactoryBind using super parameters

Testing #

  • All 222 tests passing

1.0.1 #

Code Quality Improvements #

  • Internal codebase improvements - Enhanced code structure and organization
  • Removed dead code - Cleaned up commented-out and unused code across multiple modules
  • Added safety checks - Improved widget lifecycle checks to prevent errors
  • Enhanced API documentation - Added comprehensive documentation comments for better developer experience

Feature Updates #

  • BottomSheet - Added new parameters to align with latest Flutter API
  • Snackbar - Added new parameters to align with latest Flutter API
  • Router configuration - Improved initialization logic for better compatibility

Testing #

  • Expanded test coverage - Added more tests to ensure stability
  • All 222 tests passing

1.0.0 #

Initial Release - GetXify #

GetXify is an improved and enhanced version of GetX, compatible with the latest Dart and Flutter versions.

Breaking Changes #

  • Removed GetConnect module - HTTP/WebSocket communication module has been removed
  • Removed mini stream - Stream-related utilities have been removed
  • Removed all deprecated methods - Cleaned up all deprecated APIs from the original GetX

Improvements #

  • Updated to support Dart SDK ^3.12.2
  • Updated to support Flutter >=3.44.2
  • Code cleanup and modernization
  • Removed legacy dependencies and unused code
  • Improved performance and stability

Migration from GetX #

If you were using GetX and want to migrate to GetXify:

  • Replace import 'package:get/get.dart'; with import 'package:getxify/getxify.dart';
  • Replace get dependency with getxify in pubspec.yaml
  • If you were using GetConnect, you'll need to implement your own HTTP client using dio or http package
  • If you were using mini stream utilities, migrate to standard Dart streams or RxDart
  • All deprecated methods have been removed, so update your code to use the current APIs

Features #

GetXify maintains all the core features of GetX:

  • State Management (Reactive and Simple)
  • Route Management (Navigation without context)
  • Dependency Management (Dependency injection)
  • Internationalization (i18n)
  • Theme Management
  • Utils and Helpers
3
likes
0
points
587
downloads

Publisher

unverified uploader

Weekly Downloads

An improved and enhanced version of GetX - Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetXify.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_web_plugins, web

More

Packages that depend on getxify