Skip to content
CAI
Software that uses CAICheck a score

Milad-Akarie/auto_route_library

66.2

Adequate · 19 September 2026

14.2k

lines of production code

Dart

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Flutter routing library that facilitates declarative navigation, deep linking, and tab-based interfaces across mobile and web platforms. It provides a modern API for managing route stacks, handling authentication guards, and supporting predictive back gestures, while offering a code generation tool to automate route configuration. The system also includes comprehensive examples demonstrating nested navigation, state management integration, and platform-specific optimizations.

How it got here

2019–2020 — Declarative routing and Dart 3 migration

20 changes.

The project underwent a major architectural shift to support Dart 3, replacing the legacy code-generation infrastructure with a new declarative routing system. This involved removing the old annotation packages, refactoring the core router and matcher logic, and introducing new widgets for tab navigation and deferred loading.

2021 — Declarative routing and platform modernization

21 changes.

The project implemented a major shift to declarative routing, introducing new configuration models, resolvers, and example applications that demonstrate guarded and nested route structures. This period also focused on platform modernization, updating iOS and Android configurations to current standards, adding PWA support, and fixing critical browser synchronization issues. Comprehensive test suites were added to validate the new routing logic, observer behaviors, and nested router configurations.

2022–2025 — Web support and generator modernization

13 changes.

This period focused on enhancing web platform capabilities, including platform-specific navigation history and authentication guard examples, while modernizing the code generator with a new lean\_builder pipeline and caching support. The team also expanded test coverage for nested routing and added comprehensive examples for declarative and nested navigation patterns.

Features

Add declarative navigation example app

The example application now includes a declarative navigation demo in the \lib/declarative\ directory. This example demonstrates how to use \AutoRouter.declarative\ to manage route stacks based on application state (a \ValueNotifier\), conditionally rendering screens for name input, age input, and results. The entry includes the main router configuration, the declarative UI logic, and the corresponding generated route definitions.

_auto\route/example/lib/declarative · high confidence

Add example demonstrating no-code generation approach

The example application now includes a main.dart file that illustrates the no-code generation approach by defining an AppRouter that extends RootStackRouter with a basic route configuration, allowing users to see how to set up routing without relying on code generation.

_auto\_route\generator/example · high confidence

Add nested navigation example with host and child screens

The nested-navigation example now includes a complete demo of nested routing, featuring a HostScreen that wraps a nested router containing FirstScreen and SecondScreen. The example demonstrates how to configure nested routes using the AutoRouterConfig annotation, navigate between child screens using context.pushRoute, and handle back navigation with AutoLeadingButton and context.maybePop.

_auto\route/example/lib/nested-navigation · high confidence

Add profile section with My Books sub-route to the example app

The example application now includes a new Profile section in its navigation structure. This adds a ProfilePage and a MyBooksPage, with the latter supporting a query parameter filter and demonstrating navigation to settings tabs. The routes.dart file defines the profile path hierarchy, allowing users to navigate to the profile and its my-books sub-route.

_auto\route/example/lib/mobile/screens/profile · high confidence

Add web demo with authentication guard example

The web demo application now includes a new entry point (web\_main.dart) that demonstrates the router's guard capabilities. It features a mock AuthService that acts as a listenable, allowing the router to re-evaluate navigation guards when authentication state changes. The demo UI provides buttons to simulate login, verification, and combined login-and-verify actions, illustrating how global guards can protect routes based on user state.

_auto\_route/example/lib/web\demo · high confidence

Added example data models and providers

The example application now includes a new data layer file (db.dart) that defines the Book, User, BooksDB, and UsersDB classes, along with their corresponding InheritedWidget providers (BooksDBProvider and UsersDBProvider) to make this data accessible throughout the Flutter widget tree.

_auto\route/example/lib/data · high confidence

Added user-data example screens demonstrating declarative routing and state management

The example application now includes a new 'user-data' module featuring a multi-step data collection flow. This addition introduces a \SettingsState\ class for managing user input (name and favorite book) via the Provider package, alongside UI components like \SingleFieldPage\ for input and \UserDataPage\ for displaying results. The \UserDataCollectorPage\ demonstrates the use of \AutoRouter.declarative\ to dynamically render routes based on the collected state, providing a concrete example of how to integrate declarative routing with external state management in the auto\_route library.

_auto\route/example/lib/mobile/screens/user-data · high confidence

Added web entry point and PWA manifest for the example app

The example application now includes the necessary files to run as a web application and Progressive Web App (PWA). A new index.html file serves as the entry point, configuring the page title, icons, and registering a service worker for offline capabilities. Additionally, a manifest.json file defines the app's metadata, including its name, display mode (standalone), theme colors, and icon assets, enabling proper installation and presentation on mobile and desktop browsers.

_auto\route/example/web · high confidence

Introduce lean\_builder code generation pipeline

This change adds the \lean\_builder\ implementation to the generator, introducing a two-stage code generation process. The \LeanAutoRouteBuilder\ scans for \@RoutePage\ annotations and outputs intermediate JSON configuration files (\.route.ln.json\), which are then consumed by the \LeanAutoRouterBuilder\ to generate the final router Dart code (\.gr.dart\). The update includes resolvers for route configurations, type resolution (including support for \dart:\ imports), and parameter handling, along with utility functions for error throwing during the build process.

_auto\_route\_generator/lib/src/lean\builder · high confidence

Introduces declarative routing and new tab navigation widgets

This release adds support for declarative routing via the new \AutoRouter.declarative\ constructor and \AutoRouteNavigator\, allowing the navigator stack to be driven by a list of route objects rather than imperative calls. It also introduces a suite of new widgets for tabbed interfaces, including \AutoTabsRouter\ (with \IndexedStack\, \PageView\, \TabBar\, and custom \builder\ modes), \AutoTabsScaffold\ for scaffold-based tab layouts, \AutoTabView\, and \AutoPageView\. Additionally, \AutoLeadingButton\ replaces the previous back-button implementation to handle hierarchical popping, and \DeferredWidget\ enables lazy-loading of route libraries.

_auto\route/lib/src/router/widgets · high confidence

Introduction of navigation failure types and utility functions

The library now includes a new \NavigationFailure\ abstraction with specific implementations \RouteNotFoundFailure\ and \RejectedByGuardFailure\, enabling developers to handle and distinguish between navigation errors caused by missing routes versus those blocked by route guards. Additionally, internal utility functions for map validation, kebab-case conversion, and conditional throwing have been added to support these new failure handling mechanisms.

_auto\route/lib/src · high confidence

New book browsing and details screens in the example app

The example application now includes a book list screen and a book details screen. Users can view a list of books and tap on an item to navigate to its details page, which displays the book's information and a counter that increments when a button is pressed. The details screen accepts a book ID via a path parameter and supports returning a result to the list screen upon navigation.

_auto\route/example/lib/mobile/screens/books · high confidence

New common library for annotations, observers, and utilities

The \auto\_route/lib/src/common\ directory now contains the foundational building blocks for the declarative routing system. This includes \auto\_route\_annotations.dart\ with new annotations like \AutoRouterConfig\ (for configuring code generation, deferred loading, and route name replacement) and \RoutePage\, as well as \auto\_route\_observer.dart\ which introduces \AutoRouterObserver\ and \AutoRouteAware\ to track tab and route lifecycle events. Additionally, \parameters.dart\ provides a typed \Parameters\ class for safely extracting path and query data, \transitions\_builders.dart\ offers preset animation builders (slide, fade, zoom), and \auto\_route\_wrapper.dart\ enables route wrapping via the \AutoRouteWrapper\ interface.

_auto\route/lib/src/common · high confidence

New declarative routing helpers and AutoRoutePage implementation

The router now uses a new \AutoRoutePage\ class that wraps route data and delegates to specific page route builders (Material, Cupertino, Custom, Adaptive), enabling features like predictive back gesture support and proper opaque/transparent handling. Additionally, a new \AutoRouterX\ extension on \BuildContext\ provides convenient helper methods such as \pushRoute\, \replaceRoute\, \navigateTo\, and \back\, simplifying navigation calls for users.

_auto\route/lib/src/router · high confidence

Support for Android predictive back gestures and custom page transitions

The library now includes native support for Android's predictive back gesture through a new \\_PredictiveBackPageDetector\ implementation, enabling users to see real-time visual feedback when swiping back on Android 14+. Additionally, a new \AutoPageRouteBuilder\ class has been introduced to allow developers to define custom page transitions and control properties like opacity and transition duration when pushing widgets, providing greater flexibility over navigation animations.

_auto\route/lib/src/router/transitions · high confidence

Web demo adds authentication guards and path state management

The web demo example now includes a complete authentication flow using the \AuthGuard\ and \VerifyGuard\ to protect routes, redirecting unauthenticated users to login or verification pages. It also demonstrates the new \pushPathState\ and \pathState\ APIs, allowing the main page to manage and display navigation history state.

_auto\_route/example/lib/web\demo/router · high confidence

Removals

Removal of auto\_route\_annotation package

The auto\_route\_annotation package has been completely removed from the codebase. This deletion eliminates the previous code-generation infrastructure, including the build.yaml configuration, the route collector and generator builders, and the logic for generating router classes and argument holders. Users relying on this package for automatic route generation will no longer have access to these annotations or the associated build-time code generation capabilities.

_auto\_route\annotation · high confidence

Removal of legacy example application files

The example application's source files (home.dart, login.dart, main.dart, main.router.dart, and products\_details.dart) have been removed from the example/lib directory. This cleanup eliminates the previous implementation that relied on the older @AutoRoute() and @RouterApp() annotations and the generated Router class, reflecting a shift in the example's structure to align with newer library features.

example/lib · high confidence

Behavioural changes

Added iOS native integration and LLDB debugging support files

The example iOS project now includes generated files to support native integration and debugging. A new \.swift\_pm.lock\ file manages Swift Package Manager dependencies, while \flutter\_native\_integration.env\ provides environment variables for the build process. Additionally, \flutter\_lldb\_helper.py\ and \flutter\_lldbinit\ are added to enable LLDB script integration, allowing developers to intercept memory page notifications and simplify debugging of the native runtime.

_auto\route/example/ios/Flutter/ephemeral · high confidence

Example app demonstrates declarative routing with guarded nested routes

The mobile router example now uses a declarative \AppRouter\ configuration that defines a nested route structure under a \HomeRoute\. This includes a \BooksTab\ containing a \BookListRoute\ and a \BookDetailsRoute\ protected by an inline \onNavigation\ guard. The guard checks an injected \AuthService\ to redirect unauthenticated users to a \LoginRoute\, illustrating how to implement authentication checks directly within the route definition rather than using separate guard classes.

_auto\route/example/lib/mobile/router · high confidence

Example project restructured with updated tooling configuration

The example project has been reorganized into the auto\_route/example directory and updated with modern Flutter tooling configurations. A new .gitignore file excludes standard build artifacts and IDE files, while analysis\_options.yaml enforces linting rules via flutter\_lints. Configuration files for build\_runner (build.yaml), DevTools (devtools\_options.yaml), and Flutter metadata (.metadata) have been added to support code generation and platform-specific settings.

_auto\route/example · high confidence

Generator renamed from auto\_route\_annotation to auto\_route\_generator with updated build configuration

The code generation package has been renamed from \auto\_route\_annotation\ to \auto\_route\_generator\. This change includes a new \build.yaml\ configuration that defines two distinct build steps: a primary \auto\_route\_generator\ builder that outputs \.route.json\ files to the cache, and a secondary \auto\_router\_generator\ builder that produces the final \.gr.dart\ source files. The package also introduces a \LICENSE\ file (MIT), updates \analysis\_options.yaml\ to enforce public API documentation, and adds \pubspec.lock\ to the \.gitignore\.

_auto\_route\generator · high confidence

The library now includes a new \DefaultRouteParser\ implementation that extends Flutter's \RouteInformationParser\. This parser introduces a \deepLinkTransformer\ callback, allowing users to intercept and modify incoming deep-link URIs before they are matched against routes, which is particularly useful for handling platform-specific path prefixes on Android or Apple. Additionally, it adds an \includePrefixMatches\ configuration option (defaulting to false) to control whether prefix-matched paths are included in the matching list, and supports URL fragments. The parser also utilizes a new \AutoRouteInformation\ class to support replacing the current browser history entry via a \replace\ flag, and structures the parsed state into a \UrlState\ object containing URI, route segments, and path state.

_auto\route/lib/src/router/parser · high confidence

Introduce declarative routing configuration in mobile example

The mobile example app now uses a declarative routing setup via \MaterialApp.router\ and \routerConfig\. This change wires the root \AppRouter\ with a \reevaluateListenable\ for the \AuthService\ and configures \AutoRouteObserver\ as a navigator observer, enabling reactive route updates and tab observation within the example.

_auto\route/example/lib/mobile · high confidence

Introduce new model classes for route generation configuration

The generator now uses a new set of data models in \auto\_route\_generator/lib/src/models\ to represent route and router configuration. \ResolvedType\ handles type resolution including Dart record support, while \RouteConfig\ and \ParamConfig\ (including \FunctionParamConfig\) define route paths, parameters, and argument structures. \RouterConfig\ manages global router settings such as deferred loading and part builder usage, and \RoutesList\ aggregates the route definitions. These models support serialization to JSON for caching and build optimization.

_auto\_route\generator/lib/src/models · high confidence

Introduces cached build support and configurable output extensions for route generation

The generator now supports an optional caching mechanism to speed up builds by skipping unchanged files, controlled via the \enable\_cached\_builds\ configuration option. Additionally, the output file extension for generated route files is no longer hardcoded to \.gr.dart\; it is now configurable via the \generatedExtension\ option, allowing users to customize the suffix of generated files.

_auto\_route\generator/lib/src/builders · high confidence

New utility helpers and builder entry points for route generation

The generator now exposes dedicated builder entry points (\autoRouterBuilder\ and \autoRouteBuilder\) in \builder.dart\ to initiate code generation, alongside new utility files (\build\_utils.dart\ and \utils.dart\) that provide error-throwing helpers, Dart type name extraction, and string manipulation functions like kebab-case conversion. These changes establish the foundational infrastructure for the generator's build process, enabling more robust error handling and consistent naming conventions for generated route paths.

_auto\_route\generator/lib · high confidence

Package release hygiene and v11.1.0 changelog update

This change updates the \auto\_route\ package's release configuration and documentation. It introduces a \.pubignore\ file to exclude test files, build artifacts, and development tools from published packages, ensuring a cleaner distribution. The \CHANGELOG.md\ is updated to version 11.1.0, documenting the deprecation of \animatePageTransition\ and the addition of \.named\ constructors for \PageRouteInfo\ and \AutoRoute\ to support shorthand named routes without code generation. Additionally, the \LICENSE\ file is standardized to the MIT license, and the \README.md\ is converted to a symlink.

_auto\route · high confidence

Platform-specific navigation history implementation

The navigation history management has been refactored to use distinct implementations for web and native platforms. On web, the router now directly interacts with the browser's \window.history\ API to support true forward/back navigation and state management. On native platforms, a local in-memory stack is used to mimic browser history behavior, limiting entries to 20 and preventing duplicates. This change ensures that navigation history accurately reflects the underlying platform's capabilities, with web users gaining access to native browser history features while native users retain a consistent, albeit simulated, history stack.

_auto\_route/lib/src/router/controller/navigation\history · high confidence

Redesigned routing controller architecture with scoped context and declarative guards

The routing controller layer has been restructured to improve context handling and guard management. New \RouterScope\, \StackRouterScope\, and \TabsRouterScope\ inherited widgets now inject specific controller instances into the widget tree, allowing child widgets to look up and react to the nearest router scope. The \AutoRouterDelegate\ now supports \DeepLinkBuilder\ and \DeepLinkTransformer\ for validating or overriding platform deep-links, along with a \rebuildStackOnDeepLink\ flag to replace the entire stack on incoming links. Guard logic is centralized in \AutoRouteGuard\ with a new \NavigationResolver\ API that supports simple callbacks, redirects to routes or paths, and a \ReevaluateListenable\ for triggering guard re-evaluation. Additionally, \PagelessRoutesObserver\ tracks pageless top routes to prevent navigation issues, and \RootStackRouter\ provides a declarative entry point via its \config()\ method to generate a \RouterConfig\ for \MaterialApp.router\.

_auto\route/lib/src/router/controller · high confidence

Refactor route configuration and data models for null safety and improved API

The route configuration and data models in the \auto\_route\ library have been refactored to support null safety and improve the developer experience. \AutoRoute\ now uses \PageInfo\ to decouple page definitions from route configuration, allowing for better const correctness and easier generation. \PageRouteInfo\ gains new capabilities such as fragment support, explicit path/query parameter handling, and an \argsEquality\ flag to control equality checks. \RouteData\ is now scoped via \RouteDataScope\ for easier context-based access and includes helpers for inherited path parameters and breadcrumbs. Additionally, \RouteType\ constructors are standardized, and \CustomRouteType\ now uses \Duration\ instead of \int\ for transition durations, with deprecated integer parameters marked for removal.

_auto\route/lib/src/route · high confidence

Refactored code generation to support deferred loading and improved argument equality

The code generator in the \code\_builder\ directory has been rewritten to use the \code\_builder\ package, introducing a \DeferredPagesAllocator\ that enables deferred loading for web routes to support code splitting. The generated route info classes now include an optional \argsEquality\ configuration; when enabled (default), argument classes implement \==\ and \toString\ using \ListEquality\, \SetEquality\, and \MapEquality\ from the \collection\ package to ensure correct identity checks for complex types. Additionally, the generator now supports URL fragment parameters and ensures that routes with deferred loading are correctly handled even if not explicitly marked, while preventing incompatible combinations with the part-file approach.

_auto\_route\_generator/lib/src/code\builder · high confidence

Refactored route configuration and parameter resolution logic

The resolver layer in auto\_route\_generator has been restructured into four dedicated classes: RouteConfigResolver, RouteParameterResolver, RouterConfigResolver, and TypeResolver. This change introduces stricter validation for route parameters, such as enforcing that query parameters and URL fragments are nullable or have default values, and ensuring path parameters are of valid string-parseable types. It also adds support for resolving Dart record types in type arguments and improves import path resolution for assets and packages. Users will see more precise compile-time errors for misconfigured route parameters and better handling of complex type structures in generated code.

_auto\_route\generator/lib/src/resolvers · high confidence

Refactored route matching logic with new RouteMatch and RouteMatcher classes

The internal routing mechanism has been rewritten to use a new \RouteMatch\ data structure and a refactored \RouteMatcher\ class. This change introduces a more robust way to handle path matching, including support for prefix matches, nested route hierarchies, and query parameter normalization. Users may experience changes in how route guards are evaluated and how URL fragments are processed, as the matcher now explicitly handles redirect chains and child route matching through a recursive \\_match\ method. The \RouteMatch\ class now exposes detailed information such as \fullPath\, \allSegments\, and \evaluatedGuards\, providing better context for navigation decisions and debugging.

_auto\route/lib/src/matcher · high confidence

Removal of legacy Android Flutter boilerplate files

The example Android project has removed several files associated with older Flutter project structures, including the \.metadata\ file, the \MainActivity.kt\ (which previously extended \FlutterActivity\ and manually registered plugins), and the \AndroidManifest.xml\ files for debug, profile, and main configurations. This cleanup suggests a migration to a newer Flutter tooling standard or project template where these legacy artifacts are no longer required or are managed differently.

example/android · medium confidence

Removed generated iOS environment script

The generated \flutter\_export\_environment.sh\ file in the iOS example project has been removed. This file previously contained hardcoded build environment variables such as the Flutter root, application path, and build directory settings. Its removal indicates a shift in how the iOS build environment is configured or managed for the example app, likely relying on standard Flutter tooling to inject these values at build time rather than maintaining a static script.

example/ios · high confidence

Reworked public API surface and removed legacy annotations

The library's public exports have been consolidated into a single \auto\_route.dart\ entry point, replacing the previous separate \route\_gen\_annotation.dart\ and \router\_annotation.dart\ files. This change removes the legacy \AutoRoute\ and \RouterApp\ annotation classes, signaling a breaking shift in how routes are declared and configured, while exposing a broader set of internal components such as the routing controller, information provider, and various router widgets.

_auto\route/lib · high confidence

Update macOS ephemeral build configuration files

The macOS example project's ephemeral build configuration files have been updated. This includes the addition of a new GeneratedPluginRegistrant.swift file, a .swift\_pm.lock file, and updates to Flutter-Generated.xconfig, flutter\_export\_environment.sh, and flutter\_native\_integration.env to reflect the current build environment and paths.

_auto\route/example/macos · medium confidence

Updated Android example project build configuration

The Android example project has been upgraded to use the NDK version 26.3.11579264 and CMake 3.22.1, with the minimum SDK target set to android-21. Additionally, a .gitignore file was added to the Android directory to exclude build artifacts, Gradle wrappers, and sensitive keystore files from version control.

_auto\route/example/android · high confidence

Updated iOS scheme configuration for Flutter debugging

The iOS build scheme for the example app has been updated to align with newer Xcode and Flutter tooling standards. The scheme's upgrade version is set to 1510, and a custom LLDB initialization file is now specified for both build and launch actions to ensure proper debugging support. Additionally, GPU validation mode has been enabled in the launch configuration to assist with graphics debugging.

_auto\route/example/ios/Runner.xcodeproj/xcshareddata · high confidence

Updated mobile example screens to use declarative routing and new navigation APIs

The example application's mobile screens (Home, Login, Settings) have been rewritten to align with the auto\_route 2.0+ declarative routing model. The Home screen now uses AutoRouter for web and AutoTabsRouter for mobile, leveraging context extension methods like navigateTo and pushRoute instead of direct router calls, and utilizes AutoLeadingButton for back navigation. The Settings screen demonstrates the new AutoRouteAwareStateMixin for observing tab route changes and correctly handles path and query parameters via annotations, while the Login screen integrates with the authentication guard.

_auto\route/example/lib/mobile/screens · high confidence

iOS Runner updated for modern entry points and deep linking support

The iOS example app's entry point has been updated to use the modern @main attribute, and the Info.plist has been configured to enable Flutter deep linking via a custom URL scheme (customscheme) and to disable minimum frame duration on iPhone. Additionally, the app now supports indirect input events, and the bridging header was updated to ensure a proper newline at the end of the file.

_auto\route/example/ios/Runner · high confidence

iOS example workspace structure reorganized

The iOS example project's workspace configuration has been restructured to align with standard Xcode conventions. The workspace files have been moved into the \Runner.xcodeproj/project.xcworkspace\ directory, and the workspace reference has been updated to point to the local project (\self:\) rather than an external group. Additionally, new workspace settings files have been added to explicitly disable Xcode Previews and suppress the 32-bit warning, ensuring a consistent build environment for the example app.

_auto\_route/example/ios/Runner.xcodeproj/project.xcworkspace, auto\route/example/ios/Runner.xcworkspace · high confidence

iOS project upgraded to modern Xcode/Flutter standards

The iOS example project has been upgraded to align with current Flutter and Xcode requirements. The project file format was updated from objectVersion 46 to 54, and the minimum iOS deployment target was raised from 8.0 to 13.0. Swift version support was updated to 5.0, and the Xcode compatibility version was set to 9.3. The build configuration was simplified by removing manual framework embedding and search paths, relying instead on the standard Flutter toolchain scripts (embed\_and\_thin). Additionally, a specific development team identifier was added to the build settings.

_auto\route/example/ios/Runner.xcodeproj · high confidence

Fixes

Add AutoRouteInformationProvider to fix browser back button and URL update issues

A new \AutoRouteInformationProvider\ is introduced to handle platform route information synchronization. This provider ensures that route changes are correctly reported to the engine via \SystemNavigator.routeInformationUpdated\ and \selectMultiEntryHistory\, which fixes issues with infinite browser back buttons during URL redirects and resolves delays or failures in URL updates. It also addresses a crash caused by missing \type\ arguments in \routerReportsNewRouteInformation\ by properly handling \RouteInformationReportingType\.

_auto\route/lib/src/router/provider · high confidence

Added Linux Flutter plugin registration stubs

The Linux example application now includes the generated plugin registrant files (C source, header, and CMake configuration). These files provide the necessary infrastructure for registering Flutter plugins on the Linux platform, ensuring the example app is correctly configured to support plugin-based features in this environment.

_auto\route/example/linux · high confidence

Updated iOS example project configuration and build setup

The iOS example project configuration has been updated to require iOS 13.0 or later and set the development language to English. Additionally, the build configuration files now conditionally include CocoaPods support files for both debug and release modes, ensuring proper integration with managed dependencies.

_auto\route/example/ios/Flutter · high confidence

Test coverage

Added comprehensive test suite for auto\_route core components; Added test file for router generation; Added tests for simple router navigation and observer behavior; Added widget tests for nested router configurations and declarative routing; Added widget tests for nested tabs router configurations; Removed legacy widget test.

Dependencies

AutoRoute library and generator dependencies updated to support Dart 3 and modern tooling

The \auto\_route\ package (v11.1.0) and \auto\_route\_generator\ (v10.6.0) have been updated to require Dart SDK \>=3.0.0 and \>=3.4.0 respectively, dropping support for older Dart versions. The generator's dependency constraints have been raised to \analyzer\ \>=10.0.0, \source\_gen\ \>=3.1.0, and \build\ \>=3.0.2, ensuring compatibility with the latest Dart analysis and code generation APIs. The example app has also been migrated to the modern Gradle plugin DSL (Android Gradle Plugin 8.8.1, Kotlin 2.1.0) and updated to use \flutter\_lints\ and \provider\.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 66.

Lenses

  • Code Health 95
  • Architecture 96
  • Maturity 55
  • Readiness 54
  • Security 100
  • Domain Modelling 100

Changes since last survey

  • 300 commits — 223 feature/other, 77 fixes

By area

  • auto_route/lib — 87 commits
  • (repo) — 51 commits
  • auto_route/example — 39 commits
  • (root) — 38 commits
  • auto_route/CHANGELOG.md — 23 commits
  • .github/workflows — 13 commits
  • auto_route_generator/lib — 13 commits
  • auto_route/pubspec.yaml — 10 commits
  • auto_route_generator/pubspec.yaml — 10 commits
  • auto_route_generator/CHANGELOG.md — 7 commits
  • auto_route/test — 3 commits
  • auto_route/art — 1 commit
  • auto_route/run_coverage — 1 commit
  • auto_route_generator/bin — 1 commit
  • auto_route_generator/test — 1 commit
  • migrations/migrating_to_v9.md — 1 commit
  • tools/intellji-helper — 1 commit

Notable commits

  • fix: chore: fix some static analysis warnings
  • fix: chore: fix some static analysis warnings
  • fix: chore: fix some static analysis warnings
  • fix: FIX: Fixed back gesture when nested navigator only has multi nested entries
  • fix: Fix
  • fix: Fix AutoLeadingButton is not showing anything when transitioning to a screen that combines AutoTabsScaffold and NestedRoute #2141
  • fix: Fix AutoLeadingButton is not showing anything when transitioning to a screen that combines AutoTabsScaffold and NestedRoute #2141
  • fix: Fix WASM type mismatch.
  • fix: Fix a couple internal issues and migrate to using didRemovePage api
  • fix: Fix a couple reevaluation issues. fix: format code for consistency and readability across multiple files
  • fix: Fix flutter sdk constraint
  • fix: Fix missing required keyword in function parameter arguments
  • fix: Fix redirect route doesn't pass query params the to redirectTo
  • fix: Fix(reevaluate): ensure _isReevaluating is reset after reevaluation
  • fix: Fix: Allow PopCompleter to complete during route reevaluation
  • fix: Fix: Can not swipe back on iOS when using nested navigation #1932 Docs: add documentation for DeepLinkTransformer
  • fix: Fix: Exposing clipBehavior for nested navigation #2082
  • fix: Fix: Generated code is not properly formatted
  • fix: Fix: Unexpected null value issue with context in provider model and AutoRouteGuard #1707
  • fix: Fix: Unexpected null value issue with context in provider model and AutoRouteGuard #1707
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Milad-Akarie/auto_route_library was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 803dbdaf75cf21f6233394cbd1cfb6e22e6522a4 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.