Releases: boundwize/structarmed
Released: StructArmed 0.13.8
What's Changed
- [perf] Optimize layer-aware rules using shared ClassNode index by @samsonasik in #178
Full Changelog: 0.13.7...0.13.8
Released: StructArmed 0.13.7
What's Changed
- Consistent path normalize/resolving accross platforms by @samsonasik in #176
Full Changelog: 0.13.6...0.13.7
Released: StructArmed 0.13.6
What's Changed
- Move FileAnalysisRuleInterface to under Rule by @samsonasik in #174
Full Changelog: 0.13.5...0.13.6
Released: StructArmed 0.13.5
What's Changed
- chore: use pyrameter PHPUnit extension to measure test suite shape by @samsonasik in #166
- chore: Register pyrameter.php to .gitattributes by @samsonasik in #167
- Bump pyrameter to ^0.1 by @samsonasik in #168
- Update boundwize/pyrameter version to ^0.2 by @samsonasik in #169
- Update boundwize/pyrameter version to ^0.3 by @samsonasik in #170
- chore: enable ->failOnViolation() on pyrameter config by @samsonasik in #171
- chore: Make target shape more unit test on pyrameter config by @samsonasik in #172
- [perf] Reuse shared parse by @samsonasik in #173
Full Changelog: 0.13.4...0.13.5
Released: StructArmed 0.13.4
What's Changed
- chore: Try add back PHP version 8.5 to CI workflow by @samsonasik in #164
- [perf] Use append instead of array_merge() nodes on ParallelClassNodeExtractor by @samsonasik in #165
Full Changelog: 0.13.3...0.13.4
Released: StructArmed 0.13.3
What's Changed
- [perf] Optimize analyser skip-path matching on Analyser by @samsonasik in #163
Full Changelog: 0.13.2...0.13.3
Released: StructArmed 0.13.2
What's Changed
- [perf] No need progressbar process on ClassNodeWorker use
--no-progressby @samsonasik in #162
Full Changelog: 0.13.1...0.13.2
Released: StructArmed 0.13.1
What's Changed
- [perf] Reuse inherited dependency resolution during ruleset analysis by @samsonasik in #161
Full Changelog: 0.13.0...0.13.1
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
Released: StructArmed 0.12.6
What's Changed
- Restructure documentation into docs/ and turn into github pages by @samsonasik in #143
- flip quick start doc by @samsonasik in #144
- home page docs nav vs header fix by @samsonasik in #145
- add available rules page by @samsonasik in #146
- [doc] Refine doc pointer from readme by @samsonasik in #147
- sync readme header by @samsonasik in #148
- Make editable svg by @samsonasik in #149
- Fix numbering by @samsonasik in #151
- [doc] add prev/next on docs page by @samsonasik in #152
- [cov] Only collect code coverage on ubuntu with php 8.2 since upload coverage only on that by @samsonasik in #153
- [perf] Remove NodeTraverser usage on ClassCollector by @samsonasik in #154
Full Changelog: 0.12.5...0.12.6