PackageTrack
Sign in Get early access

tomasvotruba/type-coverage

Measure type coverage of your project

2.3.4 13M downloads/mo #648 most downloaded on Packagist TomasVotruba/type-coverage

What this package is like to depend on

Last release 5 days ago

18 Aug 2026

Ships unpredictably

gaps range from 2 weeks to 11 months

Rarely documented

notes for 10 of 51 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

51 releases · first in 2022

9 releases in the last 12 months

see the full history below

Release timeline

51 releases · Dec 2022 to Aug 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 51
  1. 2.3.4 18 Aug 2026
    Release notes

    Skip Doctrine DBAL AbstractSchemaManager in narrow return type rule (…

    Open source →
  2. 2.3.3 18 Aug 2026
    Release notes

    Skip DateTime / DateTimeImmutable in narrow return type rule (#81)

    Open source →
  3. 2.3.2 17 Aug 2026
    Release notes

    Skip Symfony Form / FormInterface in narrow return type rule (#79)

    Open source →
  4. 2.3.1 17 Aug 2026
    Release notes

    Skip Doctrine ArrayCollection in narrow return type rule (#77)

    Open source →
  5. 2.3.0 29 Jul 2026
    Release notes

    Type Perfect rules are now part of this package

    rector/type-perfect has been merged into tomasvotruba/type-coverage (#68). Its rules live in packages/type-perfect and keep the Rector\TypePerfect\ namespace, so existing ignoreErrors patterns still match.

    The extension is registered automatically via phpstan/extension-installer — no extra includes needed.

    If you use both packages, drop rector/type-perfect from composer.json to avoid duplicate rules:

     "require-dev": {
         "tomasvotruba/type-coverage": "^2.3",
    -    "rector/type-perfect": "^2.1"
     }

    All Type Perfect rules are opt-in

    Four rules used to report right after install, with no way off short of ignoreErrors. They now match the rest of the set — off by default, one parameter each (#69):

     parameters:
         type_perfect:
             narrow_param: false
             narrow_return: false
             no_mixed: false
             null_over_false: false
    +        no_param_type_removal: false
    +        no_array_access_on_object: false
    +        no_isset_on_object: false
    +        no_empty_on_object: false

    Enable what you want:

    parameters:
        type_perfect:
            narrow_param: true
            narrow_return: true
            no_mixed_property: true
            no_mixed_caller: true
            null_over_false: true
            no_param_type_removal: true
            no_array_access_on_object: true
            no_isset_on_object: true
            no_empty_on_object: true

    What each of those 4 catches:

    // no_isset_on_object / no_empty_on_object
    if (isset($object->property)) { }   // bad - hides typos and nulls
    if ($object->property !== null) { } // good
    
    // no_array_access_on_object
    $object['key'];       // bad
    $object->getKey();    // good
    
    // no_param_type_removal
    public function run(string $name)  // parent
    public function run($name)         // bad - child drops the type

    Type coverage checks are unchanged

    return_type, param_type, property_type and constant_type behave exactly as in 2.2.2 — upgrading adds rules, it does not change existing measurements.

    Housekeeping

    • symfony/dom-crawler bumped to ^8.1 (dev only) (#70)

    Full Changelog: 2.2.2...2.3.0

    Open source →
  6. 2.2.2 07 Jun 2026
    Release notes

    add cda (#67)

    Open source →
  7. 2.2.1 26 May 2026
    Release notes

    release PHP 7.4 downgraded

    Open source →
  8. 2.2.0 25 May 2026
    Release notes

    release PHP 7.4 downgraded

    Open source →
  9. 2.1.0 05 Dec 2025
    Release notes

    New features and Changes 🥳

    • PHP 8.5 support added

    Full Changelog: 2.0.2...2.1.0

    Open source →
  10. 2.0.2 07 Jan 2025
    Release notes

    release PHP 7.4 downgraded

    Open source →
  11. 2.0.1 26 Dec 2024

    Nothing published for this version

  12. 2.0.0 12 Dec 2024

    Nothing published for this version

  13. 1.0.0 01 Oct 2024

    Nothing published for this version

  14. 0.3.1 14 Jun 2024

    Nothing published for this version

  15. 0.3.0 20 May 2024

    Nothing published for this version

  16. 0.2.8 26 Apr 2024

    Nothing published for this version

  17. 0.2.7 16 Apr 2024

    Nothing published for this version

  18. 0.2.6 16 Apr 2024

    Nothing published for this version

  19. 0.2.5 16 Mar 2024

    Nothing published for this version

  20. 0.2.4 15 Mar 2024

    Nothing published for this version

  21. 0.2.3 08 Mar 2024

    Nothing published for this version

  22. 0.2.2 15 Dec 2023

    Nothing published for this version

  23. 0.2.1 27 Aug 2023

    Nothing published for this version

  24. 0.2.0 19 May 2023

    Nothing published for this version

  25. 0.1.3 30 Mar 2023

    Nothing published for this version

  26. 0.1.2 30 Mar 2023

    Nothing published for this version

  27. 0.1.1 17 Mar 2023

    Nothing published for this version

  28. 0.1.0 12 Mar 2023

    Nothing published for this version

  29. 0.0.12 17 Mar 2023

    Nothing published for this version

  30. 0.0.11 12 Mar 2023

    Nothing published for this version

  31. 0.0.10 27 Feb 2023

    Nothing published for this version

  32. 0.0.9 12 Jan 2023

    Nothing published for this version

  33. 0.0.8 29 Dec 2022

    Nothing published for this version

  34. 0.0.7 29 Dec 2022

    Nothing published for this version

  35. 0.0.6 29 Dec 2022

    Nothing published for this version

  36. 0.0.5 23 Dec 2022

    Nothing published for this version

  37. 0.0.4 23 Dec 2022

    Nothing published for this version

  38. 0.0.3 23 Dec 2022

    Nothing published for this version

  39. 0.0.2 23 Dec 2022

    Nothing published for this version

  40. 0.0.1 19 Dec 2022

    Nothing published for this version

  41. 0.1.0.72 12 Mar 2023

    Nothing published for this version

  42. 0.0.9.72 12 Jan 2023

    Nothing published for this version

  43. 0.0.8.72 11 Jan 2023

    Nothing published for this version

  44. 0.0.7.72 29 Dec 2022

    Nothing published for this version

  45. 0.0.5.72 23 Dec 2022

    Nothing published for this version

  46. 0.0.4.72 23 Dec 2022

    Nothing published for this version

  47. 0.0.3.72 23 Dec 2022

    Nothing published for this version

  48. 0.0.2.72 23 Dec 2022

    Nothing published for this version

  49. 0.0.11.72 12 Mar 2023

    Nothing published for this version

  50. 0.0.10.72 27 Feb 2023

    Nothing published for this version

  51. 0.0.1.72 19 Dec 2022

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive