PackageTrack
Sign in Get early access

tomasvotruba/bladestan

PHPStan rule for static analysis of Blade templates

0.11.7 809K downloads/mo #2985 most downloaded on Packagist bladestan/bladestan

What this package is like to depend on

Last release 1 months ago

17 Jul 2026

Release timing varies

gaps range from 8 days to 9 months

Nearly every release is documented

notes for 21 of 21 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

21 releases · first in 2023

4 releases in the last 12 months

see the full history below

Release timeline

21 releases · Mar 2023 to Jul 2026
2024 2025 2026
Release Pre-release

Releases

latest 21
  1. 0.11.7 17 Jul 2026
    Release notes

    Fixed

    • Ignore @bladestan-signature docblocks instead of failing on them, so a template can be
      annotated ahead of the template-centric 0.12 release while still analysing cleanly on 0.11.

    Full Changelog: 0.11.6...0.11.7

    Open source →
    Release notes

    Fixed

    • Ignore @bladestan-signature docblocks instead of failing on them, so a template can be annotated ahead of the template-centric 0.12 release while still analysing cleanly on 0.11.
    Open source →
  2. 0.11.6 17 Jul 2026
    Release notes

    The final 0.11.x release before the template-centric rewrite, focused on keeping
    projects that are not ready to upgrade stable.

    Added

    • Laravel 13 support

    Fixed

    • Compile templates to the same PHP regardless of the installed Livewire
      version, so analysis is consistent across Livewire 3 and 4

    Full Changelog: 0.11.5...0.11.6

    Open source →
    Release notes

    The final 0.11.x release before the template-centric rewrite, focused on keeping projects that are not ready to upgrade stable.

    Added

    • Laravel 13 support

    Fixed

    • Compile templates to the same PHP regardless of the installed Livewire version, so analysis is consistent across Livewire 3 and 4
    Open source →
  3. 0.11.5 16 Mar 2026
    Release notes

    What's Changed

    • Ensures PHPStan's result cache is invalidated when any blade template… by @AJenbo in #174
    • Fix broken use keyword in import bubble up by @rikvdh in #176

    New Contributors

    Full Changelog: 0.11.4...0.11.5

    Open source →
    Release notes

    Fixed

    • Ensure PHPStan's result cache is invalidated when any Blade template changes (#174, @AJenbo)
    • Fix broken use keyword in import bubble-up (#176, @rikvdh)
    Open source →
  4. 0.11.4 16 Jan 2026
    Release notes

    What's Changed

    Full Changelog: 0.11.3...0.11.4

    Open source →
    Release notes

    Added

    • Support Livewire 3.3.x and Symfony 8 (#169, @AJenbo)
    • Support Livewire 4.0 (#172, @AJenbo)
    Open source →
  5. 0.11.3 30 Apr 2025
    Release notes

    What's Changed

    Full Changelog: 0.11.2...0.11.3

    Open source →
    Release notes

    Changed

    • Use the error identifier to match ignored errors (#160, @AJenbo)
    • Respect configured rules (#161, @AJenbo)
    Open source →
  6. 0.11.2 10 Mar 2025
    Release notes

    What's Changed

    • Add workaround for bug in Laravel Telescope
    • Fix parsing of @include where arrays or values from arrays where used (thanks @calebdw)

    New Contributors

    Full Changelog: 0.11.1...0.11.2

    Open source →
    Release notes

    Fixed

    • Add a workaround for a bug in Laravel Telescope
    • Fix parsing of @include where arrays or values from arrays are used (#158, @calebdw)
    Open source →
  7. 0.11.1 27 Feb 2025
    Release notes

    What's Changed

    • Add Laravel 12 support
    Open source →
    Release notes

    Added

    • Laravel 12 support
    Open source →
  8. 0.11.0 19 Feb 2025
    Release notes

    What's Changed

    • Add support for data provided via ->with*()on all view methods
    • Add support for non-html mail templates
    • Analyze Facades\Response::view()
    • Fully read template paths from application
    • Get Livewire component namespace from application config
    • Read shared and event data from application
    • Support PHP 8 syntax in templates

    Full Changelog: 0.10.0...0.11.0

    Open source →
    Release notes

    Added

    • Support for data provided via ->with*() on all view methods
    • Support for non-HTML mail templates
    • Analyse Facades\Response::view()
    • Read template paths in full from the application
    • Read the Livewire component namespace from the application config
    • Read shared and event data from the application
    • Support PHP 8 syntax in templates
    Open source →
  9. 0.10.0 11 Feb 2025
    Release notes

    What's Changed

    • Recognize public properties are passed to views @spawnia & @AJenbo
    • Improved Livewire support
    • Use application's BladeCompiler by @aoi & @AJenbo
    • Fix getting data from variables
    • Fix ->with*() affecting not just the view instance it's called
    • Fix PHP 8.1 support
    • Fix typos by @szepeviktor

    Full Changelog: 0.9.0...0.10.0

    Open source →
    Release notes

    Added

    • Recognise that public properties are passed to views (@spawnia, @AJenbo)
    • Improved Livewire support
    • Use the application's BladeCompiler (@aoi, @AJenbo)

    Fixed

    • Fix reading data from variables
    • Fix ->with*() affecting more than the view instance it was called on
    • Fix PHP 8.1 support
    • Fix typos (@szepeviktor)
    Open source →
  10. 0.9.0 07 Feb 2025
    Release notes

    What's Changed

    • Add support for $errors, @once, @each, @includeWhen and @includeUnless
    • Add support for analyzing Laravel packages
    • Add support for renderEach() and first() on View\Factory
    • Analyze more of Blads internal scope
    • More robust parsing

    Full Changelog: 0.8.0...0.9.0

    Open source →
    Release notes

    Added

    • Support for $errors, @once, @each, @includeWhen, and @includeUnless
    • Support for analysing Laravel packages
    • Support for renderEach() and first() on View\Factory
    • Analyse more of Blade's internal scope

    Changed

    • More robust parsing
    Open source →
  11. 0.8.0 21 Jan 2025
    Release notes

    Added

    • Support for non-terminated expressions
    • Support for use statements in partials
    • Support for dynamic method calls
    • Support for dynamic components
    • Analyse anonymous components
    • Analyse use of components
    • Analyse use of Livewire
    • Analyse @extends and other indirect statements
    • Analyse all statements on a line
    • Report missing templates
    • Report template syntax errors

    Fixed

    • Correct the reported template line
    • Correct some typos (#121, @szepeviktor)
    • Update formatter output to align with the latest PHPStan
    Open source →
  12. 0.7.0 16 Dec 2024
    Release notes

    Changed

    • Migrate to PHPStan 2.0 (#119, @AJenbo)

    Fixed

    • Correct cases that were not being analysed (#120, @ondrejmirtes)
    Open source →
  13. 0.6.0 04 Sep 2024
    Release notes

    Added

    • Display an error tip (#95, @ngmy)
    • Basic support for components and Livewire attribute validation (#98, @robchett)
    • Parse view data when it is a variable (#108, @mrhn)
    • Support \Illuminate\Support\Facades\View::make (#115, @williamdes)
    • Support Mailable content() (#114, @williamdes)
    • Support Arrayable::toArray() as data (#116, @AJenbo)

    Fixed

    • Fix the $this type (#90, #99, @robchett)
    • Remove unnecessary ignores in ErrorFilter.php (#105, @AJenbo)
    Open source →
  14. 0.5.0 10 Jan 2024
    Release notes

    Added

    • Support for MailMessage::view() (#78, @AJenbo)
    • Recognise calling view() with a single argument (#80, @spawnia)

    Changed

    • Drop Laravel 8 and allow Laravel 11 (#93, @TomasVotruba)
    • Decouple internals (#88, @staabm)

    Fixed

    • Fix a false positive when echoing Htmlable objects (#91, @AJenbo)
    Open source →
  15. 0.4.1 12 Aug 2023
    Release notes

    Fixed

    • Resolve a Larastan conflict in BladeToPHPCompiler (#76, @AJenbo)
    Open source →
  16. 0.4.0 26 Jul 2023
    Release notes

    Added

    • Support for Mailable::view() (#62, @AJenbo)
    • Basic support for components (#61, @AJenbo)

    Changed

    • More flexibility in template spacing (#72)
    Open source →
  17. 0.3.1 04 May 2023
    Release notes

    Fixed

    • Recursively fetch and compile includes (#52, @AJenbo)
    Open source →
  18. 0.3.0 04 May 2023
    Release notes

    Added

    • Import mapped variables into scope (#48, @AJenbo)
    • Support passing variables via compact() (#47, @AJenbo)

    Fixed

    • Fix $loop in nested @foreach (#53, @AJenbo)
    • Create a new $loop rather than replacing it with a docblock (#50, @AJenbo)
    • Fix warnings about empty lines in generated PHP (#49, @AJenbo)
    • Fix processing @include with data given in a variable (#46, @AJenbo)
    Open source →
  19. 0.2.1 26 Mar 2023
    Release notes

    Changed

    • Simpler Blade error formatter
    Open source →
  20. 0.2.0 25 Mar 2023
    Release notes

    Fixed

    • Fix the regex handling e() output (#16)
    • Various false-positive suppressions and parsing robustness
    Open source →
  21. 0.1.0 16 Mar 2023
    Release notes

    Initial release. Bladestan compiles each Blade template to PHP, runs PHPStan over the result, and maps the errors back to the original template. Based on earlier work by Can Vural (see Credits in the README).

    Open source →

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