zenrouter_file_annotation 3.0.0 copy "zenrouter_file_annotation: ^3.0.0" to clipboard
zenrouter_file_annotation: ^3.0.0 copied to clipboard

Shared annotations and structure for ZenRouter file-based routing in Flutter and DartNative.

3.0.0 #

Stable annotations and shared route structure for ZenRouter 3 file-based routing.

Added #

  • LayoutType.branched and ZenLayout.branches describe stateful shells with fixed direct child layout roots and independent logical navigation histories.
  • Shared route/layout models and code-generation utilities support the zenrouter_file_generator 3.0.0 Flutter and DartNative targets.

Changed #

  • Layout patterns normalize dynamic and catch-all parameter segments, keeping the parent layout pattern consistent with its generated child routes.
  • Generated dynamic and catch-all route URIs use absolute Uri(pathSegments: ...) construction and encode each path segment separately.

Fixed #

  • Reserved characters in route parameters round-trip without being interpreted as path separators or changing the URI structure.

Requirements #

  • Dart 3.7 or newer. This package has no Flutter runtime dependency.
  • Use zenrouter_file_generator: ^3.0.0 for the matching generated APIs.

3.0.0-beta.1 #

Prerelease for early testers. APIs may still change before 3.0.0.

  • Add LayoutType.branched and ZenLayout.branches for stateful shells whose direct child layouts retain independent navigation stacks.
  • Generate absolute route URIs with Uri(pathSegments: ...) so dynamic and catch-all parameters round-trip reserved characters without changing URL structure.
  • Normalize dynamic and catch-all parameters in generated layout patterns.

1.0.1 #

  • Fix: Publish PathParser.parseDirParts used by zenrouter_file_generator 1.1.x to prevent build script compilation failures.

1.0.0 #

  • Stable release: Production-ready annotation package
  • Compatible with zenrouter: ^1.0.0 and zenrouter_file_generator: ^1.0.0

0.4.10 #

New Features #

  • deferredImport in @ZenCoordinator: New optional deferredImport field to configure global deferred import behavior via annotation
    • Overrides the deferredImport option in build.yaml when specified
    • Example: @ZenCoordinator(name: 'AppCoordinator', deferredImport: true)
  • routeBasePath in @ZenCoordinator: New optional routeBasePath field to import a custom base route class
    • When set, the generator imports the base class from the specified path instead of generating it
    • Example: @ZenCoordinator(routeBase: 'MyAppRoute', routeBasePath: 'package:my_app/routes/base.dart')

0.4.9 #

  • Refactor: Extract shared code generation utilities (LayoutCodeGenerator, RouteCodeGenerator) for use by both build_runner

0.4.7 #

  • Docs: Update README

0.4.6 #

  • Docs: Update README and add screenshots

0.4.5 #

  • Support new RouteQueryParameters and new dot notation flavor in naming convention.

0.4.0 #

  • Update README.md

0.3.1 #

  • Add support for lazy loading routes using the deferredImport option in the @ZenCoordinator annotation.

0.3.0 #

  • Add support for catch-all parameters ([...slugs], [...ids], etc) in routes, including List<String> type handling and updated route specificity sorting.

0.2.1 #

  • Initial extraction of annotations and structure from zenrouter_file_generator.
1
likes
160
points
372
downloads

Documentation

API reference

Publisher

verified publisherzennn.dev

Weekly Downloads

Shared annotations and structure for ZenRouter file-based routing in Flutter and DartNative.

Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

More

Packages that depend on zenrouter_file_annotation