flutter_navigation_manager 1.1.2 copy "flutter_navigation_manager: ^1.1.2" to clipboard
flutter_navigation_manager: ^1.1.2 copied to clipboard

A comprehensive Flutter navigation management package with route management, navigation services, and shell navigation support.

Changelog #

All notable changes to this project will be documented in this file.

1.1.2 - 2025-08-06 #

Added #

  • Shell Route Support: Added comprehensive ShellRouteMatch support to prevent redundant navigation
    • isShellRouteActive() - Check if a shell route with the given path is currently active
    • Enhanced path-based navigation methods (pushPath(), replacePath(), pushPathAndClearStack()) to detect and prevent redundant shell route navigation
    • Added shell route detection to avoid unnecessary rebuilds and navigation operations

Enhanced #

  • Route Matching: Improved _routeMatcherCallback() method to properly handle both RouteMatch and ShellRouteMatch cases
    • Added proper type checking and error handling for shell route matches
    • Enhanced documentation explaining shell route design principles
  • Path Matching: Enhanced _pathMatcherCallback() method to support ShellRouteMatch path comparison
  • Current Route Detection: Improved isCurrent() method to handle ShellRouteMatch objects by checking the entire navigation stack for route name matches

Fixed #

  • Type Safety: Fixed compilation errors related to accessing non-existent name property on ShellRouteBase
  • Shell Route Navigation: Resolved issues where shell routes could trigger redundant navigation operations
  • Route Stack Analysis: Enhanced route stack analysis to properly identify active shell routes

Improved #

  • Performance: Prevented unnecessary navigation operations when users attempt to navigate to already active shell routes
  • User Experience: Eliminated jarring navigation effects when clicking the same shell route multiple times
  • State Preservation: Maintained current state within shell routes during redundant navigation attempts
  • API Consistency: Extended navigation manager interface with isShellRouteActive() method for consistent API surface

1.1.1 - 2025-07-29 #

Enhanced #

  • Robust Error Handling: Added comprehensive try-catch blocks throughout GoNavigationManager to handle router state initialization
    • Enhanced currentState getter with fallback to empty state when router is not ready
    • Improved canPop getter with error handling for uninitialized router
    • Added error handling to hasRouteInStack(), isCurrent(), and isCurrentPath() methods
    • Enhanced popUntil() and popUntilPath() methods with fallback navigation logic

Fixed #

  • Route Name Checking: Fixed isCurrent() method to properly check route names instead of paths
  • Type Safety: Updated router getter to return correct RouterConfig<Object> type instead of GoRouter
  • Null Safety: Added proper null checks in route matching callbacks to prevent null pointer exceptions
  • Import Dependencies: Added missing Flutter material import for proper widget support

Updated #

  • Dependencies: Updated flutter_shared_utilities from ^1.0.12 to ^1.0.14
  • Development Dependencies: Updated custom_lint from ^0.7.5 to ^0.8.0
  • Development Dependencies: Updated flutter_custom_lints from ^1.0.12 to ^1.0.19

Improved #

  • API Enhancement: Added notPopIfNotExists parameter to popUntil() method for better navigation control
  • Code Robustness: Enhanced overall stability during router initialization and state transitions
  • Documentation: Improved method documentation with detailed error handling behavior

1.1.0 - 2025-07-07 #

Added #

  • Path-based Navigation Methods: Added comprehensive path-based navigation support alongside existing name-based methods
    • pushPath() - Navigate to a path and push it onto the navigation stack
    • replacePath() - Replace the current route with a path
    • pushPathAndClearStack() - Clear the entire navigation stack and push a path
    • popUntilPath() - Pop routes from the navigation stack until the specified path is reached
    • hasPathInStack() - Check if the specified path exists in the current navigation stack
    • isCurrentPath() - Check if the specified path is the current route

Enhanced #

  • GoNavigationManager: Added complete implementation of all path-based navigation methods
    • Internal helper methods for path matching and query parameter handling
    • Consistent behavior with existing name-based methods
    • Support for NavigationState with query parameters and extra data

1.0.3 - 2025-07-02 #

Enhanced #

  • Major Example App Overhaul: Complete rewrite of the example application with a comprehensive task management demo
    • Added full-featured task management UI with create, edit, delete, and complete functionality
    • Implemented multiple screens: Dashboard, Tasks, Task Details, Create/Edit Task, Profile, Projects, Settings
    • Added authentication flow demonstration
    • Enhanced navigation debugging and state visualization
    • Added comprehensive navigation patterns showcase

Updated #

  • Dependencies: Updated go_router from ^15.2.0 to ^16.0.0
  • Dependencies: Updated flutter_shared_utilities from ^1.0.1 to ^1.0.12
  • Dependencies: Updated flutter_custom_lints from ^1.0.2 to ^1.0.12

Improved #

  • Enhanced example app documentation and README
  • Better demonstration of navigation manager capabilities
  • Improved code organization and documentation
  • Added comprehensive navigation state management examples

1.0.2 - 2025-06-23 #

  • Integrate routerConfig getter to the interface

1.0.1 - 2025-06-20 #

Improved #

  • Extra documentation and increase pubdev score

1.0.0 - 2025-06-19 #

  • Initial release of Flutter Navigation Manager.
  • Unified navigation API: pushNamed, replaceNamed, pushNamedAndClearStack, pop, popUntil, canPop, hasRouteInStack, isCurrent, refresh, dispose.
  • NavigationState model for passing path/query parameters and extra data.
  • Extensible design: implement your own NavigationManager for any navigation backend.
  • Example app demonstrating all features.
1
likes
160
points
64
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter navigation management package with route management, navigation services, and shell navigation support.

Repository (GitHub)
View/report issues

Topics

#navigation #routing #flutter #go-router #shell-navigation

Documentation

API reference

License

MIT (license)

Dependencies

equatable, flutter, flutter_shared_utilities, go_router

More

Packages that depend on flutter_navigation_manager