PackageTrack
Sign in Get early access

giorgiosironi/eris

PHP library for property-based testing. Integrates with PHPUnit.

1.1.0 1.7M downloads/mo #1878 most downloaded on Packagist giorgiosironi/eris

What this package is like to depend on

Last release 4 months ago

31 Mar 2026

Ships fairly regularly

a new release about every 11 months

Nearly every release is documented

notes for 18 of 18 stable releases

Nothing withdrawn

no release was ever pulled

12 years old

20 releases · first in 2014

1 release in the last 12 months

see the full history below

Release timeline

20 releases · Dec 2014 to Mar 2026
2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 20
  1. 1.1.0 31 Mar 2026
    Release notes

    Added

    Changed

    • Updated PHPStan to v2
    • Updated Rector to v2
    • Updated phpunit.xml schema reference from 8.0 to 10.5

    Removed

    • Support for icomefromthenet/reverse-regex dependency. Only ilario-pierbattista/reverse-regex is now supported for the regex() generator (other forks are welcome).
    Open source →
    Release notes

    Added

    • Support for PHPUnit 11, 12, and 13 (#202), thanks @tob-scott-a.

    Changed

    • Updated PHPStan to v2
    • Updated Rector to v2
    • Updated phpunit.xml schema reference from 8.0 to 10.5

    Removed

    • Support for icomefromthenet/reverse-regex dependency. Only ilario-pierbattista/reverse-regex is now supported for the regex() generator (other forks are welcome).
    Open source →
  2. 1.0.0 07 Dec 2024
    Release notes

    Added

    • Support for PHP 8.2, 8.3, 8.4

    Removed

    • Support for PHP < 8.1
    • Support for PHPUnit < 10
    Open source →
    Release notes

    Added

    • Support for PHP 8.2, 8.3, 8.4
    • Project maturity milestone: Eris has reached version 1.0.0 and is now considered stable for production use. The API is stable and follows semantic versioning.

    Removed

    • Support for PHP < 8.1
    • Support for PHPUnit < 10
    Open source →
  3. 1.0.0-rc2 08 Mar 2024 pre-release
    Release notes

    chore: Promote annotations @before and @beforeClass to attributes (#175)

    * chore: Promote annotations @before and @beforeClass to attributes

    * Solve own deprecations. Update test matrix for CI

    * Update matrix to reflect the fact that PHPUnit11 cannot run on PHP 8.1

    * Reinstate docblock, now properly parametrized

    * Modify phpstan-baseline to reflect 1 less error in codebase

    Open source →
  4. 1.0.0-rc1 24 Apr 2023 pre-release
    Release notes

    chore: (bc) Update PHP and PHPUnit minimum version requirements (#164)

    * chore: (bc) Update PHP and PHPUnit minimum version requirements

    - Use attributes to handle what was previously handled through annotations

    ---------

    Co-authored-by: Ilario Pierbattista <[email protected]>

    Open source →
  5. 0.14.1 07 Dec 2024
    Release notes

    Fixed

    • #153 oneOf check failure with PSalm
    Open source →
    Release notes

    Fixed

    • #153 oneOf check failure with PSalm
    Open source →
  6. 0.14.0 21 Apr 2023
    Release notes

    Added

    • ilario-pierbattista/reverse-regex as substitute peer dependency of icomefromthenet/reverse-regex.
    • Support for PHP 8.2

    Removed

    • Support for PHP < 7.4
    • Support for PHPUnit < 8
    Open source →
    Release notes

    Added

    • ilario-pierbattista/reverse-regex as substitute peer dependency of icomefromthenet/reverse-regex.
    • Support for PHP 8.2

    Removed

    • Support for PHP < 7.4
    • Support for PHPUnit < 8
    Open source →
  7. 0.13.0 17 Dec 2021
    Release notes

    Added

    • Eris\Generators contains all the generator constructors as static methods.
    • Support for PHP 8.1

    Changed

    • The generator constructors implemented as simple functions now call the static methods of Eris\Generators. They will be deprecated.

    Removed

    • Support for PHP < 7.1
    • Support for PHPUnit < 6
    Open source →
    Release notes

    Added

    • Eris\Generators contains all the generator constructors as static methods.
    • Support for PHP 8.1

    Changed

    • The generator constructors implemented as simple function now call the static methods of Eris\Generators. They will be deprecated.

    Removed

    • Support for PHP < 7.1
    • Support for PHPUnit < 6
    Open source →
  8. 0.12.1 27 Jul 2021
    Release notes

    Changed

    • Visibility of TestTrait's methods in Facade is now public (#110,#141). Thanks, @bekh6ex.

    Fixed

    • Compatibility with newer versions of PHPUnit: getAnnotations is removed (#143). Thanks, @aszenz.
    Open source →
    Release notes

    Changed

    • Visibility of TestTrait's methods in Facade is now public (#110,#141). Thanks, @bekh6ex.

    Fixed

    • Compatibility with newer versions of PHPUnit: getAnnotations is removed (#143). Thanks, @aszenz.
    Open source →
  9. 0.12.0 25 Mar 2021
    Release notes
    • PHP 7.3 support (#120).
    • PHP 7.4 support (#125).
    • CI support for testing end to end suite also with Phpunit 8.x and 9.x
    • Allow shrink() to receive GeneratedValueOptions (#127).
    • Allow specifying generator size with sample() (#128)
    • Fix BooleanGenerator::shrink() to return a GeneratedValueSingle (#131)
    • Drop support for HHVM 3.30
    Open source →
    Release notes
    • PHP 7.3 support (#120).
    • PHP 7.4 support (#125).
    • CI support for testing end to end suite also with Phpunit 8.x and 9.x
    • Allow shrink() to receive GeneratedValueOptions (#127).
    • Allow specifying generator size with sample() (#128)
    • Fix BooleanGenerator::shrink() to return a GeneratedValueSingle (#131)
    • Drop support for HHVM 3.30
    Open source →
  10. 0.11.0 16 Sep 2018
    Release notes

    Prepare ChangeLog for release

    Open source →
    Release notes
    • PHP 7.2 support (#116, #114).
    • Annotations support: @eris-method, @eris-shrink, @eris-ratio, @eris-repeat, @eris-duration
    Open source →
  11. 0.10.0 23 Mar 2018
    Release notes
    • Allowing use outside of PHPUnit through Eris\Facade.
    • Fixed bug: suchThat() fails to generated good values when all those from generator size 0 are exclude (#100).
    • PHPUnit 7.x support (#112, #113).
    • BC: dropped the deprecated Shrinker\Random.
    • BC: dropped the unused Generator::contains().
    Open source →
  12. 0.9.0 12 Mar 2017
    Release notes
    • Using new multiple deterministic shrinking instead of random, being abandoned (#87).
    • Supporting PHPUnit 6.x (#96).
    • Supporting PHP 7.1 (#97).
    • Added Listener::onAttempt()
    • Fixed bug: pos() and neg() can shrink to 0 (#96).
    • Fixed bug: denominator in float generation can be 0 (#92).
    • Fixed bug: shrinking of date generation uses wrong operator precedence (#94).
    • Fixed bug: reproducible PHPUnit commands are not escaped correctly if they contain namespaced classes.
    • Added CONTRIBUTORS
    • BC: minimumEvaluationRatio is now a method to be called, not a private field. Defaults to 0.5.
    • BC: GeneratedValue is now an interface and not a class.
    • BC: extended Listener::endPropertyVerification() with additional parameters $iterations and optional $exception.
    Open source →
  13. 0.8.0 15 Apr 2016
    Release notes
    • Updated dependency on icomefromthenet/reverse-regex to solve warnings on PHP 7.
    • bind Generator.
    • Default string dump for Listener\collectFrequencies().
    • Optionally logging generations with hook(Listener\log($filename)).
    • disableShrinking() option.
    • limitTo() accepts a DateInterval too.
    • Configurability of randomness: choice between rand, mt_rand, and a pure PHP Mersenne Twister.
    • suchThat Generator accepts PHPUnit constraints like when().
    • Generator\constant() utility function.
    • Fixed bug of size not being fully explored due to slow growth.
    • Switched to PSR-2 coding standards and PSR-4 autoloading.
    • BC: frequency generator only accepts variadics args, not an array anymore.
    • BC: removed strictlyPos and strictlyNeg Generators as duplicated of pos and neg ones.
    • BC: removed andAlso, theCondition, andTheCondition, implies, imply aliases which no one uses. Added and for multiple preconditions.
    Open source →
  14. 0.7.0 04 Mar 2016
    Release notes
    • associative, map, subSet, suchThat Generators.
    • Optionally limiting the number of generations with limitTo().
    • Optionally collecting generated data with hook(Listener\collectFrequencies()).
    • Support for listeners with startPropertyVerification, newGeneration and endPropertyVerification events.
    • BC: changed Generators API to use GeneratedValue objects.
    • BC: requiring PHP 5.5 or newer.
    • BC: dropped array single parameter in forAll().
    • PHP 7 compatibility.
    • Renaming all Generator classes to *Generator.
    Open source →
  15. 0.5.0 05 Nov 2015
    Release notes
    • Generators are now based on size, an increasing random parameter.
    • choose() new Generator to get integers inside a fixed range.
    • PHPUnit 5.x is supported.
    • set new Generator.
    • Differentiating pos, nat, neg Generators.
    • GeneratorSampleTest to get sample output from Generators.
    Open source →
  16. 0.4.0 27 May 2015
    Release notes
    • Showing generated input with ERIS_ORIGINAL_INPUT=1.
    • names and date (DateTime) new Generators.
    • tuple Generator supports variadic arguments.
    • Shrinking respects when() clauses.
    • Dates and sorting examples.
    Open source →
  17. 0.3.1 07 Jan 2015
    Release notes
    • forAll() accepts multiple arguments instead of an array.
    • byte Generator.
    Open source →
  18. 0.3.0 28 Dec 2014
    Release notes
    • frequency and oneOf Generators that combine other Generators.
    • sequence Generator for lists of constant type and variable size.
    • char Generators with printableCharacter Antecedent.
    • int, pos, neg and float Generators.
    • regex Generator to build strings satisfying a regular expression.
    • Shrinking respects an optional maximum time limit ($this->shrinkingtimeLimit).
    Open source →
  19. 0.2.0 13 Dec 2014
    Release notes
    • Generators now use the Generator\nat(...) syntax.
    • Added bool, constant, elements, string, tuple Generators.
    • Improved shrinking by performing it on all involved Generators.
    • Reproducibility with ERIS_SEED.
    Open source →
  20. 0.1.0 08 Dec 2014
    Release notes
    • forAll() and then() syntax.
    • natural and vector Generators.
    • when() for constraints.
    • Basic best-effort shrinking.
    • sample() and sampleShrink() for Generators.
    Open source →

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