Changelog

Changelog

All notable changes to GoRouter Modular.

5.0.0

Breaking Changes

  • Transition system: Replaced custom PageTransition enum with go_transitions (opens in a new tab) package.

    • PageTransition enum removed. Use GoTransition instead.
    • pageTransition parameter in Modular.configure() removed.
    // Before (4.x)
    ChildRoute('/', child: (_, __) => HomePage(), transition: PageTransition.fade)
     
    // After (5.x)
    ChildRoute('/', child: (_, __) => HomePage(), transition: GoTransitions.fade)

Added

  • StatefulShellModularRoute: Persistent state across navigation branches using IndexedStack. Each branch gets its own navigator, preserving scroll position, form state, and navigation history.
  • ModularBranch: Define branches with direct routes or full modules (with DI).
  • Lazy branch registration: Branch module binds are registered on first visit and disposed when the shell exits.
  • Enhanced DI: New binds(Injector i) function with key support for multiple instances of the same type.
  • go_transitions integration: Rich set of built-in transitions (fade, slide, scale, rotate, cupertino, material) with inheritance and composition.

Fixed

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

4.2.0

Added

  • Initial transition system.
  • Module architecture with auto-dispose.
  • Dependency injection with singleton, factory, and lazy singleton.

Fixed

  • Various bug fixes and improvements.