Fixes
- Generated method-override annotations no longer drop the parent's throws info for
newEmptyEntity(),get(),save()andsaveOrFail()on CakePHP 5.3.4+ when the entity-type template is in effect, which previously caused PHPStan to report the matching catch blocks ascatch.neverThrown. (#445)
Improvements
- On CakePHP 5.3.6+, redundant
find(),findOrCreate()andloadInto()overrides are suppressed (the parentTablepropagates the entity type itself). Marshalling-family overrides (newEntity()/newEntities()/patchEntity()/patchEntities()) are likewise suppressed on 5.3.4+. Narrowing variants are still emitted in detailed (genericsInParam) / strict (concreteEntitiesInParam) modes. (#445, #446) --removenow also prunes a parent-superseded override when the class self-calls that method (the in-use guard previously kept it, retaining the falsecatch.neverThrown). (#447)- A plain
annotaterun now reports outdated/removable annotations instead of silently ignoring them:N annotations outdated (run with -r to remove)(verbose lists each). No file is changed. (#448) - That outdated summary is shown as a warning (not a green success line), and CI mode (
--ci) now fails with code2on outdated annotations as well — without requiring the destructive-r. (#449)
Full Changelog: 2.18.0...2.19.0