Releases
2.1.0
Compare
Sorry, something went wrong.
No results found
Added
Run the Gacela architecture rules under Psalm too, each as its own suppressible issue type
Type getProvidedDependency(Foo::class) under Psalm, matching the PHPStan extension
Report cross-module calls on injected dependencies, which name no class at the call site
Show the correction next to every rule finding, not only the complaint
Changed
Resolve graph imports through a name index instead of comparing every import to every module
Prune vendor, node_modules and hidden directories before descending in module discovery
Exit non-zero from cache:warm when a warmup fails, so a broken deploy is not reported green
Removed
Drop the abandoned gacela-project/phpstan-extension suggestion; its rule is now built in
Fixed
Never tell an interface, trait or enum to extend a pillar, which PHP does not allow
Resolve imported class names the way each host does; under Psalm a used class matched no module
Strip only the matched psr-4 prefix in make:module/make:file, and accept list targets
Let bin/gacela run from any subdirectory, bootstrapping with the project root
Discover facades that extend AbstractFacade indirectly, not only direct children
Parse graph imports with the tokenizer: grouped, multiline, aliased and use function/use const
Check the merged configuration cache against its sources in doctor
Validate config without constructing services, so validate:config has no side effects
Treat ttl: 0 as no expiry in InMemoryCacheStorage, matching FileCache
Inherit app-wide resolution hooks in module scopes, for get(), getOrFail() and make()
Record nested and recursive profiler spans, and drop in-flight ones on disable()
Preserve duplicate module health checks and aggregate them to the worst reported level
Restore config values, app root and cache dir in ContainerFixture::restoreContainerState()
You can’t perform that action at this time.