NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #796 most downloaded on Packagist
Dead code detector to find unused PHP code via PHPStan extension. Can automatically remove dead PHP code. Supports libraries like Symfony, Doctrine, PHPUnit etc. Detects dead cycles. Can detect dead code that is tested.
Last release 20 days ago
18 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 13 of 50 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
50 releases · first in 2023
Custom providers can implement ActivatableUsageProvider to be skipped entirely when disabled ( #434 , @staabm )
ActivatableUsageProvider to be skipped entirely when disabled (#434, @staabm)devPaths (#448, @edalzell)FromMethod template usage for AsLiveComponent (#444)One column per month.
Fix non-deterministic order of transitive tips ( #426 , @ondrejmirtes )
Via nested destructuring assignments
RemoveClassMemberVisitor (#406)static keyword in collectors (#412)TestsUsageExcluder: match dev paths on directory boundary (#409)AutoconfigureTag doctrine.event_listener attributes (#420)Symfony: fix crash on #[Assert\Callback] with closure callback (PHP 8.5) #405
#[Assert\Callback] with closure callback (PHP 8.5) #405Composer : detect static methods referenced in composer scripts
Detect class constants referenced in PhpDocs
afterSending/shouldSend, plus queueable hooks (viaConnections, viaQueues, withDelay, withMessageGroups, messageGroup, deduplicationId, withDeduplicators) on ShouldQueue notificationscontext()/render()/report() on any Throwable\Facades\App\SomeClass::someMethod() marks the underlying \App\SomeClass::someMethod() as usedtest* / #[TestRule] public methods registered under phpat.test tag in PHPStan DIC
test* / #[TestRule] public methods registered under phpat.test tag in PHPStan DICFix crash on array callable with unknown part, since PHPStan 2.1.54 ( #373 , @alfredbez )
Nette : support constructor calls of DIC services ( #369 , @spaze )
neon/neon to be installedparameters:
shipmonkDeadCode:
usageProviders:
nette:
containerNeonPaths:
- app/config/services.neon#[AsTwigComponent] classes to templates (#366)FormRequest methods (#370, @JeftaAtSiip)Treat array_column() string keys as property reads
array_column() string keys as property reads (#362)Symfony : mark constructor of #[AsEventListener] host class as used
Symfony : skip services not instantiated by the DIC
Laravel: Blade view data support
view(), View::make()/first(), response()->view(), ->with() as usedView::composer()/View::creator(), including 'Class@method' syntaxdata_class mapping (#334)
get*/set*/is*/has*/can*/add*/remove*), public properties, and __construct on data classes as useddata_class from OptionsResolver, AbstractController::createForm(), FormFactoryInterface::create() and related methods(array) cast, get_object_vars(), get_mangled_object_vars(), json_encode(), serialize()JsonSerializable, __serialize(), Serializable#[AutowireIterator]/#[AutowireLocator] via DIC XML (#336)
'app.handler') are now mapped to concrete classes, fixing false positives on defaultIndexMethod/defaultPriorityMethodshipmonkDeadCode.usageProviders.symfony.containerXmlPaths must be set up#[AsTwigComponent(template: new FromMethod(...))] (#341)#[MapInput] in console commands (#340)@dataProvider annotation recognition (#338)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →