advanced_nav_service
A comprehensive navigation service package for Flutter applications providing routing, navigation state management, persistence, and navigation utilities.
0.5.0
qbao249/nav_service
What this package is like to depend on
Last release 7 months ago
24 Jan 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
9 releases · first in 2025
9 releases in the last 12 months
see the full history below
Release timeline
9 releases · Dec 2025 to Jan 2026
2026
Releases
latest 9-
0.5.024 Jan 2026Release notes
Open source →Major Features:
- Complete navigation state persistence and restoration
- Configurable persistence schedules (immediate/interval)
- BuildContext support in link handlers
- Comprehensive test coverage (29 tests)
Breaking Changes:
- NavLinkHandler.onRedirect() now requires BuildContext parameter
Release notes
Open source →Added
- Navigation Persistence System: Complete infrastructure for persisting and restoring navigation state
- NavPagePersistence: Configuration class for persistence with
onPersistandonRestorecallbacks - NavPagePersistenceSchedule: Schedule configuration supporting immediate and interval-based persistence
- PersistenceServiceExt: Extension methods for persisting and restoring navigation history
- launched() Method: New method to handle app launch with route restoration or default routes
- Automatic State Persistence: Routes are automatically persisted on navigation events when schedule is enabled
- Data Serialization Validation: Built-in validation to ensure only serializable data is persisted
- Restoration Failure Handling: Graceful fallback behavior when restoration fails
Changed
- NavLinkHandler.onRedirect(): Now requires
BuildContextas first parameter for better navigation context - LinkingServiceExt: Updated to pass BuildContext to link handlers with null-safety checks
- Example App: Updated with SharedPreferences-based persistence implementation
- Documentation: README expanded with persistence section and updated examples
Enhanced
- Route Observers: All navigation methods now trigger immediate persistence when configured
- Navigation History: Enhanced validation and parsing for restored route data
- Error Handling: Improved error messages and fallback behaviors for persistence operations
- Link handlers now receive proper BuildContext for navigation operations
- Better handling of navigation context availability in deep linking
Tests
- Added 11 comprehensive persistence test scenarios (state restoration, schedules, data validation, error handling)
- Fixed test structure by separating PageAware tests into dedicated group
- Improved navigation and deep linking tests with proper widget test setup
- Total: 29 passing tests covering navigation, persistence, deep linking, and lifecycle management
Fixed
- Test structure issues with nested group() calls
- Deep linking tests now properly handle BuildContext requirements
- Navigation tests work correctly with actual navigation flow
-
0.4.004 Jan 2026Release notes
Open source →Added
- Introduced
PageAwarewidget for route-aware lifecycle hooks (seelib/nav_service/page_aware.dart). - Example updated:
example/scenes/home.dartnow demonstratesPageAwareusage. - Tests updated to cover
PageAwarelifecycle behaviors (test/nav_service_test.dart).
Changed
- Documentation: README updated and installation snippets bumped to
^0.4.0.
Fixed
- Minor code cleanups and test updates.
- Introduced
-
0.3.303 Jan 2026Release notes
Open source →Added
- Added
topicstopubspec.yaml:nav-service,navigation,navigator,router,deep-linking
Changed
- Bumped package version to 0.3.3
- Added
-
0.3.203 Jan 2026Release notes
Open source →Added
- Expanded README with
LaunchScreeninitial logic example andapp_linksdeep-linking setup
Changed
- Updated installation snippet to reference
^0.3.2
- Expanded README with
-
0.3.103 Jan 2026Release notes
Open source →Added
- Bump package version to 0.3.1
- Minor documentation clarifications and README examples
-
0.3.002 Jan 2026Release notes
Open source →Major features:
- Complete deep linking infrastructure with NavLinkHandler and NavLinkResult
- URL processing with path parameters and query parameter support
- Enhanced navigation methods with improved error handling
- GoRouter and app_links integration guides
- Comprehensive examples and documentation
Release notes
Open source →Added
- Deep Linking System: Complete deep linking infrastructure for handling custom URLs and app links
- NavLinkHandler: Abstract class for creating custom link handlers with redirect path patterns
- NavLinkResult: Data class containing matched route path, path parameters, and query parameters from URL parsing
- LinkingServiceExt: Extension methods for URL processing and link handling with
openUrl()method - Link Prefixes: Support for multiple URL prefixes (scheme-based like
myapp://or domain-based likehttps://example.com) - Path Parameter Extraction: Automatic extraction of path parameters using
:paramNamesyntax in redirect paths - Query Parameter Support: Full query parameter parsing and passing to link handlers
- Duplicate Path Detection: Built-in validation to prevent duplicate redirect paths across handlers
- URL Pattern Matching: Advanced pattern matching for complex URL structures with parameters
Enhanced
- NavServiceConfig: Extended with
linkPrefixesandlinkHandlersproperties for deep linking configuration - Export Structure: Added exports for
NavLinkHandlerandNavLinkResultclasses in main library
Fixed
- Enhanced Navigation Methods: Improved reliability and error handling in core navigation functions
- Fixed
replace()method with better edge case handling when no navigation steps exist - Enhanced
pushReplacementAll()method with improved animation control and route management - Improved
replaceAll()method with enhanced null validation and proper route removal - Fixed
removeAll()method with GoRouter integration warnings and improved state management
- Fixed
- Animation Improvements: Added
_NoTransitionMaterialPageRouteclass for smoother route transitions in replace operations when the steps empty - Data Processing: Enhanced NavExtra constructor with optional
processDataparameter for better data handling flexibility - Navigation State Consistency: Fixed navigation state consistency across all replace operations
Documentation
- Comprehensive deep linking examples in example application
- Link handler implementations for profile and settings navigation
- Integration guides for GoRouter and app_links packages
Notes
- Deep linking system is fully backward compatible with existing navigation methods
- Supports both custom URL schemes (
myapp://) and universal links (https://domain.com) - Link handlers provide flexible routing logic for complex navigation scenarios
-
0.2.101 Jan 2026Release notes
Open source →Added
- Error boundaries: wrapped navigation entry points with
try/catchto surface and log unexpected exceptions
Fixed
- Fixed generic type handling for page routes and route builders (preserve
Tresult types) - Fixed
NavState.fromRoutenull-safety when readingRouteSettings.arguments - Fixed
NavStepconstructor ordering andprevStatehandling
Changed
- Switched several imports from
package:flutter/material.darttopackage:flutter/widgets.dartto reduce dependency surface - Improved and unified debug logging messages across navigation methods
- Reordered singleton initialization and tightened route map construction for consistency
- Error boundaries: wrapped navigation entry points with
-
0.2.024 Dec 2025Release notes
Open source →Enhanced
- Improved
NavExtradata processing with automatic JSON serialization for better data consistency - Enhanced data integrity when passing complex objects between routes
- Added automatic deep cloning of data to prevent reference issues
- Improved
-
0.1.023 Dec 2025Release notes
Open source →Added
- Initial stable release of advanced_nav_service package
NavServicesingleton class for advanced navigation management- Route configuration with
NavServiceConfigandNavRoutedefinitions - Smart navigation with
navigate()method that intelligently handles existing routes - Navigation history tracking with
NavStepand full stack inspection - Extra data support with
NavExtrafor type-safe data passing between routes - Navigation state management with
NavStatefor route-aware widgets - Comprehensive navigation methods:
push()andpop()with animation supportpushReplacement()andreplace()for route replacementpushAndRemoveUntil()for conditional stack managementpopUntil()andpopUntilPath()for targeted navigationpopAll()andremoveAll()for complete stack clearing
- Bulk navigation operations:
pushAll()for multiple route pushingreplaceAll()for complete stack replacementpushReplacementAll()for advanced stack manipulation
- Built-in route observer with automatic navigation event tracking
- Navigation debugging with
joinedLocationand history inspection - Configurable logging for development and debugging
- Custom page route with optimized animations
- Complete example application demonstrating all features
- Comprehensive test coverage for all navigation scenarios
- Full API documentation and usage examples