Changelog

Changelog

History of changes and updates to GoRouter Modular.

[5.0.0] - 2024-12-XX

Breaking Changes

  • Transition System: Replaced custom transition system with go_transitions package
    • BREAKING: PageTransition enum is removed, use GoTransition from go_transitions
    • BREAKING: transition property in routes now uses GoTransition instead of PageTransition
    • BREAKING: pageTransition parameter in GoRouterModular.configure() is removed
    • Migration example:
      // Before (4.2.x):
      ChildRoute('/', child: (_, __) => HomePage(), transition: PageTransition.fade)
       
      // After (5.0.x):
      ChildRoute('/', child: (_, __) => HomePage(), transition: GoTransitions.fade)

Added

  • Enhanced Dependency Injection: New Bind.get<T>() API with key support

    • Support for retrieving dependencies with unique keys
    • Better type safety and error handling
    • Improved service composition capabilities
    • Alternative bind registration using binds(Injector i) function
    • Example:
      // New API with keys
      final apiService = Bind.get<ApiService>(key: 'api');
       
      // Alternative registration (optional)
      @override
      FutureBinds binds(Injector i) {
        i.addLazySingleton<MyService>(() => MyService());
      }
  • Advanced Transition System: Integrated go_transitions package

    • Rich set of built-in transitions (fade, slide, scale, rotate, etc.)
    • Transition inheritance system (child routes inherit from parent modules)
    • Customizable duration and curve settings

Fixed

  • Fixed dependency injection issues with transitions
  • Improved module lifecycle management
  • Better error handling and debugging

[4.2.0] - 2024-11-XX

Added

  • Initial transition system
  • Basic dependency injection
  • Module architecture

Fixed

  • Various bug fixes and improvements