PackageTrack
Sign in Get early access

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 2026
Release Pre-release

Releases

latest 14
  1. v2.4.0 09 Aug 2026
    Release notes

    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

    Open source →
  2. v2.3.1 25 Jun 2026
    Release notes

    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

    Full Changelog: v2.3.0...v2.3.1

    Open source →
  3. v2.3.0 19 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v2.2.1...v2.3.0

    Open source →
  4. v2.2.1 17 May 2026
    Release notes

    Full Changelog: v2.2.0...v2.2.1

    Open source →
  5. v2.2.0 16 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v2.1.0...v2.2.0

    Thanks to:
    @BigBlockStudios.
    @RonBPalmer
    @Trukken

    Open source →
  6. v2.1.0 12 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v2.0.3...v2.1.0

    Open source →
  7. v2.0.3 08 May 2026
    Release notes

    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

    Open source →
  8. v2.0.2 07 May 2026

    Nothing published for this version

  9. v2.0.1 07 May 2026

    Nothing published for this version

  10. v2.0.0 07 May 2026
    Release notes

    New Features

    Filament PHP Support

    Full first-class support for Filament PHP applications. The new FilamentAnalyzer discovers every panel registered via service providers and resolves its resources, pages, widgets, and relation managers — both explicitly listed and auto-discovered via discoverResources() / 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 FacadeAnalyzer now 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 ContainerBindingAnalyzer scans app/Providers for all bind(), singleton(), scoped(), and $bindings registrations. 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 inline validate() calls, the sidebar now shows a Validation Rules section listing every field and its associated rule set. Powered by the new ValidationRulesExtractor.

    Configurable Route & File Paths

    A new published config file config/laravel-brain.php lets 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 zoom behavior, which is smoother and better integrated with the layout transforms.
    • The vendor bundle now ships a dedicated vendor-d3 chunk 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 effectbackdrop-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-resize cursor feedback and userSelect lock 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 resolves extends FQCNs 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 configurable class_paths and kernel_paths glob patterns.
    • ChannelAnalyzer — updated to support configurable channel_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.
    Open source →
  11. v1.2.0 04 May 2026

    Nothing published for this version

  12. v1.1.1 04 May 2026

    Nothing published for this version

  13. v1.1.0 02 May 2026

    Nothing published for this version

  14. v1.0.0 30 Apr 2026

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive