Changelog
Highlights of recent releases. The full, authoritative history lives in
CHANGELOG.md
on GitHub.
Unreleased
Breaking
- Event module composition simplified. The unused
eventImports()+ModularEventListenermechanism and the publicEventListenerMixinwere removed. To compose another module’s listeners, callOtherEventModule().listen()synchronously inside your ownlisten()— the composed listeners inherit the host module’s dispose scope. The only public event mixin is nowModularEventMixin. See Event Module.
5.3.0
Added
copyWithon the modular router. Override individualGoRouteroptions at the point where the router is consumed, reusing everything passed toModular.configure(...)— useful for optionsModularApp.routerdoesn’t expose (e.g.observers). The derived router is memoized, so navigation state is preserved across rebuilds. See Quick Start.
Changed
- Bumped the
go_routerconstraint to^17.3.0.
5.2.0
Breaking
- Untyped factory binds no longer auto-resolve through supertypes. Register
factories with an explicit type when resolving by interface:
i.addFactory<IService>((i) => ServiceImpl()). This removes phantom factory instantiations that ran constructor side effects during unrelated lookups. See Dependency Injection.
Fixed
- Cross-type circular dependencies now surface a clear
ModularExceptionwith the dependency chain instead of a misleading “Bind not found” error.
For every release and the complete list of fixes, read the full changelog on GitHub .
Last updated on