What's Changed
- Detect unresolved job dispatches and support custom dispatch helpers by @SanderMuller in #56
- Discover listeners registered via $listen, $subscribe and #[AsEventListener] by @SanderMuller in #55
- Discover model observers and link them to their models by @SanderMuller in #58
- Trace API resource references as resource edges by @SanderMuller in #62
- Resolve names during parsing so analyzers stop guessing FQCNs by @SanderMuller in #63
- Fix false "public route" warnings for routes behind app auth middleware (#59) by @SanderMuller in #64
- Stop skipping files that open with declare(strict_types=1) in the binding, facade and inheritance scans by @SanderMuller in #65
- Resolve each model's authorization policy and link them in the graph by @SanderMuller in #60
- Stop re-parsing and re-walking the project on every lookup by @SanderMuller in #66
- Extract each tab's subgraph from an index, not a full-graph rescan by @SanderMuller in #67
- Map the Blade view-composition tree as view → view edges by @SanderMuller in #61
- Give each edge an id derived from the edge itself by @SanderMuller in #69
- Main by @mrmarchone in #71
- Resolve same-namespace class references instead of leaving them short by @SanderMuller in #73
- Read array route actions, and apply the namespace a provider gives them by @SanderMuller in #75
- Rescan only what changed in watch mode by @SanderMuller in #76
- Main by @mrmarchone in #77
Full Changelog: v2.3.1...v2.4.0