Released: StructArmed 0.13.0
StructArmed 0.13.0
This release improves inheritance-aware architecture analysis. StructArmed can now resolve recursive class and interface ancestry.
For example, this now resolves correctly:
class A extends B {}
class B extends C {}
class C implements \Psr\Http\Server\MiddlewareInterface {}A is now treated as implementing \Psr\Http\Server\MiddlewareInterface.
One example is ClassImplementingInterfaceMustHaveSuffixRule, which now applies to a class that extends another class, which eventually implements \Psr\Http\Server\MiddlewareInterface.
This keeps PSR-15 suffix checks compatible with custom middleware and request-handler abstractions before they reach the root PSR interfaces.
What's Changed
- Bump to phpstan ^2.2 by @samsonasik in #155
- chore: define layer and ruleSet on src/ itself, ensure future follow current architecture by @samsonasik in #156
- chore: use + syntax sugar when posible by @samsonasik in #157
- [experiment] Add recursive parent/interface lookup to ClassNode by @samsonasik in #159
Full Changelog: 0.12.6...0.13.0