laramint/laravel-brain
Visualize your Laravel request lifecycle as an interactive graph
v2.4.0
232K downloads/mo
#3033 most downloaded on Packagist
laramint/laravel-brain
What this package is like to depend on
Last release 14 days ago
09 Aug 2026
Ships fairly regularly
a new release about every 6 weeks
Some releases are documented
notes for 8 of 14 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
14 releases · first in 2026
14 releases in the last 12 months
see the full history below
Release timeline
14 releases · Apr 2026 to Aug 2026Releases
latest 14-
v2.4.009 Aug 2026Release notes
Open source →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
-
v2.3.125 Jun 2026Release notes
Open source →What's Changed
- Feat: allow custom auth middleware patterns via config by @domenro in #49
- feat(security): reduce false positives in SecurityAnalyzer by @tecnomanu in #50
- Detect jobs dispatched via the Bus facade by @SanderMuller in #52
- Detect $this->dispatch() and dispatch_sync() job dispatches by @SanderMuller in #53
- Link dispatched events to their listeners by @SanderMuller in #54
New Contributors
- @domenro made their first contribution in #49
- @tecnomanu made their first contribution in #50
Full Changelog: v2.3.0...v2.3.1
-
v2.3.019 May 2026Release notes
Open source →What's Changed
- Refactor RouteAnalyzer to enhance path resolution by @hussein4alaa in #45
New Contributors
- @hussein4alaa made their first contribution in #45
Full Changelog: v2.2.1...v2.3.0
-
v2.2.117 May 2026 -
v2.2.016 May 2026Release notes
Open source →What's Changed
- Add Laravel Boost skill by @SanderMuller in #41
New Contributors
- @SanderMuller made their first contribution in #41
Full Changelog: v2.1.0...v2.2.0
Thanks to:
@BigBlockStudios.
@RonBPalmer
@Trukken -
v2.1.012 May 2026Release notes
Open source →What's Changed
- [CHORE] Test Improvements by @dansysanalyst in #35
New Contributors
- @dansysanalyst made their first contribution in #35
Full Changelog: v2.0.3...v2.1.0
-
v2.0.308 May 2026Release notes
Open source →What's Changed
- Dynamic memory limit via command argument. by @mrmarchone in #32
- Remove hard limitation when using local memory init by @adepane in #29
New Contributors
Full Changelog: v2.0.2...v2.0.3
-
v2.0.207 May 2026Nothing published for this version
-
v2.0.107 May 2026Nothing published for this version
-
v2.0.007 May 2026Release notes
Open source →New Features
Filament PHP Support
Full first-class support for Filament PHP applications. The new
FilamentAnalyzerdiscovers every panel registered via service providers and resolves its resources, pages, widgets, and relation managers — both explicitly listed and auto-discovered viadiscoverResources()/discoverPages()/discoverWidgets(). Filament page methods are traced through the same call-chain engine as controller actions, so every model and service they touch appears in the graph. Computed Filament URLs (e.g./admin/posts) are resolved and shown as route nodes.New node types added: Filament Panel, Filament Resource, Filament Page, Filament Page Method, Filament Widget, Filament Relation Manager — each with its own distinct accent color.
Facade Analyzer
A dedicated
FacadeAnalyzernow resolves Laravel facade usage throughout your call chains. Facades are surfaced as first-class nodes (cyan#00BCD4) in the graph so you can see exactly which facades a controller, service, or Filament page calls.Container Binding Analyzer
A new
ContainerBindingAnalyzerscansapp/Providersfor allbind(),singleton(),scoped(), and$bindingsregistrations. This allows the graph to correctly resolve interface-to-concrete mappings and show the real implementation class when a constructor injects an interface.Interface & Abstract Class Nodes
Interfaces (sky blue
#38bdf8) and abstract classes (slate#94a3b8) are now discovered and rendered as distinct node types. Concrete implementations are linked back to their interface contracts, making dependency inversion visible at a glance.Validation Rules Panel
When a controller action or Form Request has
rules()or inlinevalidate()calls, the sidebar now shows a Validation Rules section listing every field and its associated rule set. Powered by the newValidationRulesExtractor.Configurable Route & File Paths
A new published config file
config/laravel-brain.phplets you override the glob patterns used to discover route files, channel files, and Artisan command files. This is essential for non-standard project structures (e.g. module-based layouts,app/routes/, versioned API directories).php artisan vendor:publish --tag=laravel-brain-config
Config keys:
route_paths,channel_paths,commands.console_route_paths,commands.class_paths,commands.kernel_paths.
Graph Engine — Migration from Cytoscape.js to D3.js
The entire graph rendering engine has been rewritten from Cytoscape.js to D3.js. This is the largest single change in this release and is the reason for the major version bump.
What changed:
- All layout algorithms (dagre hierarchical, force-directed, breadth-first, circle, grid) are now implemented natively with D3-force and the dagre library, removing the Cytoscape dependency entirely.
- Edges are rendered as orthogonal routed paths with rounded corners (7 px radius) instead of straight bezier curves, dramatically improving readability on complex graphs.
- Node rendering is now canvas-drawn card components, giving full control over typography, badge overlays, and color tiers.
- Zoom and pan use D3's
zoombehavior, which is smoother and better integrated with the layout transforms. - The vendor bundle now ships a dedicated
vendor-d3chunk separate from the React chunk.
Collapsible / Foldable Nodes
Any node with more than 4 outgoing edges now shows a collapse toggle. Clicking it hides all descendants (recursive BFS) and shows a badge with the hidden count. Expanding restores the full subgraph. This makes large graphs with hundreds of nodes navigable without switching tabs.
UI / UX
Glassmorphism Design
All sidebars, toolbars, panels, and modal overlays now use a glass effect —
backdrop-filter: blur(28px)with subtle border highlights — applied consistently across both dark and light themes via CSS custom properties (--glass-blur,--glass-border,--glass-border-strong).Redesigned Right Sidebar
The right sidebar received a full visual redesign: tighter section spacing, improved typography hierarchy, color-coded section headers, and the new Validation Rules section described above.
Resizable Left Sidebar
The left sidebar now has a drag handle on its right edge. You can resize it between 160 px and 480 px (default 240 px) by dragging. The resize is smooth with
col-resizecursor feedback anduserSelectlock during drag.
Backend Improvements
PhpStructureInspector— new utility that extracts structural metadata (interfaces implemented, parent class, abstract/final flags) from any PHP class file without full AST traversal.PhpExtendsFqcnResolver— new parser helper that resolvesextendsFQCNs from use-map context, used by the container binding and facade analyzers.GraphBuilder— major expansion (+1 500 lines) wiring all new node types into the graph output and handling the container binding resolution pass.ControllerAnalyzer— expanded to resolve abstract controller inheritance and detect Form Request classes from method signatures.ConsoleAnalyzer— refactored to support the new configurableclass_pathsandkernel_pathsglob patterns.ChannelAnalyzer— updated to support configurablechannel_paths.
Bug Fixes
- Fixed method flowchart rendering in certain edge cases where the flow diagram would render blank.
- Fixed stress test panel not resetting correctly after a completed run.
- Fixed PINT code style violations across multiple analyzer files.
-
v1.2.004 May 2026Nothing published for this version
-
v1.1.104 May 2026Nothing published for this version
-
v1.1.002 May 2026Nothing published for this version
-
v1.0.030 Apr 2026Nothing published for this version