advanced_nav_service 0.4.0
advanced_nav_service: ^0.4.0 copied to clipboard
A comprehensive navigation service package for Flutter applications providing routing, navigation state management, and navigation utilities.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.0 - 2026-01-05 #
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.
0.3.3 - 2026-01-03 #
0.3.2 - 2026-01-03 #
0.3.1 - 2026-01-03 #
Added #
- Bump package version to 0.3.1
- Minor documentation clarifications and README examples
0.3.0 - 2026-01-03 #
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.1 - 2026-01-01 #
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
0.2.0 - 2025-12-24 #
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
0.1.0 - 2025-12-23 #
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