Skip to content

5.0.0

Latest

Choose a tag to compare

@tabuna tabuna released this 30 Mar 21:04

✨ New Features

  • Named parameter resolution for breadcrumbs
    Breadcrumb closures now support resolving parameters by name via Laravel’s container (app()->call()), removing dependency on positional arguments.

    ->breadcrumbs(fn (Trail $trail, Post $post) =>
        $trail->push($post->title, route('post', $post->id))
    );
  • Note parameters resolved by name
    Internal improvements ensure note parameters are consistently resolved using named bindings.

🧪 Testing & Quality Improvements

  • 100% Mutation Testing Coverage (MSI) achieved
    Significant improvements to test suite robustness and reliability.

  • Added test coverage for:

    • Blade component registration
    • Macro overwrite protection (hasMacro guard)
    • Fluent return behavior of breadcrumbs() macro
    • Breadcrumbs::has() with explicit route names
    • Exception handling in Registrar::get() for missing definitions
    • Isolation of generate() from current route parameters
    • Cleanup behavior in BreadcrumbsMiddleware::forgetParameter
  • Refactored:

    • Trail::call() visibility changed from protected → private to enforce stricter encapsulation

Full Changelog: 4.4.0...5.0.0