laravel/surveyor
Static analysis tool for Laravel applications.
v0.3.0
204K downloads/mo
#2741 most downloaded on Packagist
laravel/surveyor
What this package is like to depend on
Last release 2 days ago
22 Aug 2026
Release timing varies
gaps range from 9 days to 2 months
Some releases are documented
notes for 11 of 21 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
21 releases · first in 2025
21 releases in the last 12 months
see the full history below
Release timeline
21 releases · Dec 2025 to Aug 2026Releases
latest 21-
v0.3.022 Aug 2026Release notes
Open source →What's Changed
- Stop Type::union marking its arguments nullable in place by @joetannenbaum in #75
- Make analysis deterministic by @joetannenbaum in #76
- Recognize ignore markers during analysis by @joetannenbaum in #77
- Validate cached analyses against dependency surfaces by @joetannenbaum in #78
- Update benchmarks by @joetannenbaum in #80
- Type union regression test by @joetannenbaum in #81
Full Changelog: v0.2.8...v0.3.0
Release notes
Open source →What's Changed
- Stop Type::union marking its arguments nullable in place by @joetannenbaum in https://github.com/laravel/surveyor/pull/75
- Make analysis deterministic by @joetannenbaum in https://github.com/laravel/surveyor/pull/76
- Recognize ignore markers during analysis by @joetannenbaum in https://github.com/laravel/surveyor/pull/77
- Validate cached analyses against dependency surfaces by @joetannenbaum in https://github.com/laravel/surveyor/pull/78
- Update benchmarks by @joetannenbaum in https://github.com/laravel/surveyor/pull/80
- Type union regression test by @joetannenbaum in https://github.com/laravel/surveyor/pull/81
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.8...v0.3.0
-
v0.2.818 Aug 2026Release notes
Open source →What's Changed
- Resolve Eloquent attributes built with Attribute::get() or new Attribute() by @joetannenbaum in #67
- Type singular model relations as nullable by @joetannenbaum in #70
- Resolve ternary branches instead of the compared value by @joetannenbaum in #71
- Invalidate the analysis cache per file by @joetannenbaum in #72
- Stop string literals from becoming class types by @joetannenbaum in #73
Full Changelog: v0.2.7...v0.2.8
Release notes
Open source →What's Changed
- Resolve Eloquent attributes built with Attribute::get() or new Attribute() by @joetannenbaum in https://github.com/laravel/surveyor/pull/67
- Type singular model relations as nullable by @joetannenbaum in https://github.com/laravel/surveyor/pull/70
- Resolve ternary branches instead of the compared value by @joetannenbaum in https://github.com/laravel/surveyor/pull/71
- Invalidate the analysis cache per file by @joetannenbaum in https://github.com/laravel/surveyor/pull/72
- Stop string literals from becoming class types by @joetannenbaum in https://github.com/laravel/surveyor/pull/73
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.7...v0.2.8
-
v0.2.712 Aug 2026Release notes
Open source →What's Changed
- Add Dependabot cooldown of 5 days by @nunomaduro in #51
- Enable Dependabot auto-merge by @nunomaduro in #52
- Bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group by @dependabot[bot] in #53
- Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot[bot] in #55
- Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in #57
- Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in #61
- fix: resolve array cast to ArrayType instead of ArrayShapeType by @alaminfirdows in #60
- Fix analyzer state when given an empty path by @Button99 in #63
- Plethora of performance improvements by @ryangjchandler in #65
composer updateby @joetannenbaum in #66
New Contributors
- @alaminfirdows made their first contribution in #60
- @Button99 made their first contribution in #63
Full Changelog: v0.2.6...v0.2.7
Release notes
Open source →What's Changed
- Add Dependabot cooldown of 5 days by @nunomaduro in https://github.com/laravel/surveyor/pull/51
- Enable Dependabot auto-merge by @nunomaduro in https://github.com/laravel/surveyor/pull/52
- Bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group by @dependabot[bot] in https://github.com/laravel/surveyor/pull/53
- Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot[bot] in https://github.com/laravel/surveyor/pull/55
- Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in https://github.com/laravel/surveyor/pull/57
- Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/surveyor/pull/61
- fix: resolve array cast to ArrayType instead of ArrayShapeType by @alaminfirdows in https://github.com/laravel/surveyor/pull/60
- Fix analyzer state when given an empty path by @Button99 in https://github.com/laravel/surveyor/pull/63
- Plethora of performance improvements by @ryangjchandler in https://github.com/laravel/surveyor/pull/65
composer updateby @joetannenbaum in https://github.com/laravel/surveyor/pull/66
New Contributors
- @alaminfirdows made their first contribution in https://github.com/laravel/surveyor/pull/60
- @Button99 made their first contribution in https://github.com/laravel/surveyor/pull/63
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.6...v0.2.7
-
v0.2.602 Jun 2026Release notes
Open source →What's Changed
- Fix PHP warning when a cached dependency file no longer exists by @joetannenbaum in #50
Full Changelog: v0.2.5...v0.2.6
Release notes
Open source →What's Changed
- Fix PHP warning when a cached dependency file no longer exists by @joetannenbaum in https://github.com/laravel/surveyor/pull/50
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.5...v0.2.6
-
v0.2.523 May 2026Release notes
Open source →What's Changed
- Bump shivammathur/setup-php from 2.37.0 to 2.37.1 in the github-actions group by @dependabot[bot] in #45
- Resolve Inertia special prop types (defer, optional, lazy, always, merge) by @joetannenbaum in #48
- Allow @var docblocks on array items to override inferred type by @JasBogans in #41
- Run tests in parallel by default by @joetannenbaum in #49
New Contributors
- @dependabot[bot] made their first contribution in #45
- @JasBogans made their first contribution in #41
Full Changelog: v0.2.4...v0.2.5
Release notes
Open source →What's Changed
- Bump shivammathur/setup-php from 2.37.0 to 2.37.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/surveyor/pull/45
- Resolve Inertia special prop types (defer, optional, lazy, always, merge) by @joetannenbaum in https://github.com/laravel/surveyor/pull/48
- Allow @var docblocks on array items to override inferred type by @JasBogans in https://github.com/laravel/surveyor/pull/41
- Run tests in parallel by default by @joetannenbaum in https://github.com/laravel/surveyor/pull/49
New Contributors
- @dependabot[bot] made their first contribution in https://github.com/laravel/surveyor/pull/45
- @JasBogans made their first contribution in https://github.com/laravel/surveyor/pull/41
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.4...v0.2.5
-
v0.2.418 May 2026Release notes
Open source →What's Changed
- Analyze interfaces and harden class analysis by @joetannenbaum in #40
- Fix method resolution for names that are PHP type keywords by @joetannenbaum in #43
- Fix Eloquent builder method resolution via @mixin and integer range types by @joetannenbaum in #44
- Pin GitHub Actions to commit SHAs and add Dependabot config by @joetannenbaum in #42
- Fix generics propagation through Eloquent Builder method chains by @joetannenbaum in #46
Full Changelog: v0.2.3...v0.2.4
Release notes
Open source →What's Changed
- Analyze interfaces and harden class analysis by @joetannenbaum in https://github.com/laravel/surveyor/pull/40
- Fix method resolution for names that are PHP type keywords by @joetannenbaum in https://github.com/laravel/surveyor/pull/43
- Fix Eloquent builder method resolution via @mixin and integer range types by @joetannenbaum in https://github.com/laravel/surveyor/pull/44
- Pin GitHub Actions to commit SHAs and add Dependabot config by @joetannenbaum in https://github.com/laravel/surveyor/pull/42
- Fix generics propagation through Eloquent Builder method chains by @joetannenbaum in https://github.com/laravel/surveyor/pull/46
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.3...v0.2.4
-
v0.2.307 May 2026Release notes
Open source →What's Changed
- Treat corrupted disk cache files as a miss by @joetannenbaum in #36
- Preserve associative keys when resolving compact() by @joetannenbaum in #37
- Don't union AnonymousResourceCollection into Resource::collection() return type by @joetannenbaum in #38
Full Changelog: v0.2.2...v0.2.3
Release notes
Open source →What's Changed
- Treat corrupted disk cache files as a miss by @joetannenbaum in https://github.com/laravel/surveyor/pull/36
- Preserve associative keys when resolving compact() by @joetannenbaum in https://github.com/laravel/surveyor/pull/37
- Don't union AnonymousResourceCollection into Resource::collection() return type by @joetannenbaum in https://github.com/laravel/surveyor/pull/38
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.2...v0.2.3
-
v0.2.206 May 2026Release notes
Open source →What's Changed
- Resolve facades to their root class for method reflection by @joetannenbaum in #35
Full Changelog: v0.2.1...v0.2.2
Release notes
Open source →What's Changed
- Resolve facades to their root class for method reflection by @joetannenbaum in https://github.com/laravel/surveyor/pull/35
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.1...v0.2.2
-
v0.2.104 May 2026Release notes
Open source →What's Changed
- Expose class-level @Property docblock tags as properties by @joetannenbaum in #34
Full Changelog: v0.2.0...v0.2.1
Release notes
Open source →What's Changed
- Expose class-level @property docblock tags as properties by @joetannenbaum in https://github.com/laravel/surveyor/pull/34
Full Changelog: https://github.com/laravel/surveyor/compare/v0.2.0...v0.2.1
-
v0.2.004 May 2026Release notes
Open source →What's Changed
- Create CHANGELOG.md by @joetannenbaum in #31
- [0.x] Bump checkout action by @jackbayliss in #33
- Analyze API resource responses by @joetannenbaum in #32
New Contributors
- @jackbayliss made their first contribution in #33
Full Changelog: v0.1.10...v0.2.0
Release notes
Open source →What's Changed
- Create CHANGELOG.md by @joetannenbaum in https://github.com/laravel/surveyor/pull/31
- [0.x] Bump checkout action by @jackbayliss in https://github.com/laravel/surveyor/pull/33
- Analyze API resource responses by @joetannenbaum in https://github.com/laravel/surveyor/pull/32
New Contributors
- @jackbayliss made their first contribution in https://github.com/laravel/surveyor/pull/33
Full Changelog: https://github.com/laravel/surveyor/compare/v0.1.10...v0.2.0
-
v0.1.1030 Apr 2026Release notes
Open source →What's Changed
- Handle inline variable assignments inside arrays by @bakerkretzmar in https://github.com/laravel/surveyor/pull/30
New Contributors
- @bakerkretzmar made their first contribution in https://github.com/laravel/surveyor/pull/30
Full Changelog: https://github.com/laravel/surveyor/compare/v0.1.9...v0.1.10
-
v0.1.917 Mar 2026Nothing published for this version
-
v0.1.806 Mar 2026Nothing published for this version
-
v0.1.709 Jan 2026Nothing published for this version
-
v0.1.608 Jan 2026Nothing published for this version
-
v0.1.508 Jan 2026Nothing published for this version
-
v0.1.406 Jan 2026Nothing published for this version
-
v0.1.326 Dec 2025Nothing published for this version
-
v0.1.226 Dec 2025Nothing published for this version
-
v0.1.126 Dec 2025Nothing published for this version
-
v0.1.022 Dec 2025Nothing published for this version