pulsar 0.1.1 copy "pulsar: ^0.1.1" to clipboard
pulsar: ^0.1.1 copied to clipboard

Flutter dependency injection and Navigator 2 routing: modular binds, route guards, async binds, RouterOutlet, and transitions.

Changelog #

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

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Earlier entries referred to upstream history and were removed when this changelog was reset.

0.1.1 - 2026-05-05 #

Fixed #

  • Nested routes: ParallelRoute now forwards parent and schema to PulsarRouteImpl via super-parameters instead of shadowing them as unused constructor locals. ChildRoute / nested ModuleRoute trees again receive correct parent after assembly, so PulsarRouteInformationParser.selectBook rebuilds the ancestor stack (shell + leaf) instead of a single full-screen page when using RouterOutlet.
  • Tests: integration regression for shell + ModuleRoute (getRoute leaf parent, selectBook stack length).

0.1.0 - 2026-04-07 #

Added #

  • Domain errors: EmptyRoutePathException and InvalidRouteResolutionException (replacing generic Exception for empty path and failed route resolution in PulsarRouteInformationParser).
  • RouterOutletDelegate.setNewRoutePath: minimal merge into the parent PulsarRouterDelegate by outlet schema, with class-level Router 2.0 documentation.
  • Tests: injector lifecycle (disposeModuleByTag, removeBindContext, BindNotFound, isModuleReady), navigation regression contracts, and outlet delegate coverage.

Changed #

  • Example app (pub.dev Example tab): expanded example/README.md (feature table, file map, run/tests, minimal integration snippet); clearer example/pubspec.yaml description; example/lib/main.dart app bar and library documentation.
  • README dependency snippet updated to ^0.1.0.
  • DI / injector: InjectorImpl keeps an explicit module stack (no per-lookup list allocation); BindContextImpl caches non-export binds for lookups. Behavior and precedence unchanged.
  • Navigation: PulsarRouterDelegate handles null or empty currentConfiguration for pushNamed, pushReplacementNamed, and pushNamedAndRemoveUntil; onDidRemovePage no longer crashes when configuration is missing; popAndPushNamed awaits NavigatorState.maybePop before resolving the next route.

0.0.4 - 2026-04-07 #

Added #

  • Pub.dev metadata: homepage, repository, issue_tracker, and topics.
  • README: dependency snippet and minimal PulsarApp + MaterialApp.router setup.

Changed #

  • Dev tooling: mocktail ^1.x, flutter_lints ^5; analyzer cleanups; tests updated for generic isModuleReady stubs.
  • Publish tarball excludes build artifacts via .pubignore; .dart_tool / build / coverage are no longer tracked in git.

0.0.1 - 2026-03-20 #

Added #

  • Initial published changelog for this package.
  • Example app under example/ for integration testing.
  • Fix: wildcard routes (**) are resolved correctly in TrackerImpl.findRoute.
1
likes
160
points
21
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter dependency injection and Navigator 2 routing: modular binds, route guards, async binds, RouterOutlet, and transitions.

Repository (GitHub)
View/report issues

Topics

#dependency-injection #navigation #routing #di

License

MIT (license)

Dependencies

characters, flutter, meta

More

Packages that depend on pulsar