phpunit/php-code-coverage ~14.2 to avoid using deprecated code$assert->debug() was leaking the last successful shrunk valuesInnmind\BlackBox\Runner\Assert::debug()Innmind\BlackBox\Set::disableShrinking()Innmind\BlackBox\Set::toSet()Innmind\BlackBox\Set::zip()Innmind\BlackBox\Set::properties()Innmind\BlackBox\Set::slice()Innmind\BlackBox\Set\Seed::toSet()Innmind\BlackBox\Set\Provider\Strings::mutuallyExclusive()Innmind\BlackBox\Runner\Proof::tagged()Innmind\BlackBox\Runner\Proof::disableShrinking()Innmind\BlackBox\Application::mapProof()Innmind\BlackBox\Application::mapPrinter()Innmind\BlackBox\Application::displayVia()8.4Set<callable(): object> instead of a Set<object>Innmind\BlackBox\Set::compose() now returns a SetInnmind\BlackBox\Set::generator() now returns a SetSets are now unbounded (instead of limited to 100 elements by default)Innmind\BlackBox\Runner\Proof is now a final classInnmind\BlackBox\Runner\Proof constructors are now flagged as internalInnmind\BlackBox\Runner\Proof::scenarii() is now flagged as internalGroup and DataProvider are now longer read when running tests with BlackBox, use the Innmind\BlackBox\ prefixed ones insteadInnmind\BlackBox\Runner\Printer is now a final classInnmind\BlackBox\Set\MadeOf have been moved to Innmind\BlackBox\Set\Provider\Strings\MadeOfInnmind\BlackBox\Set\Properties have been moved to Innmind\BlackBox\Set\Provider\PropertiesInnmind\BlackBox\Set\Slice have been moved to Innmind\BlackBox\Set\Provider\Slicesymfony/var-dumper ~6.0|~7.0phpunit/phpunit ~10.0|~11.0|~12.0phpunit/php-timer ~6.0|~7.0|~8.0phpunit/php-code-coverage ~10.0|~11.0|~12.0Innmind\BlackBox\Application::disableGlobalFunctions()Innmind\BlackBox\Application::usePrinter()Innmind\BlackBox\Application::displayOutputVia()Innmind\BlackBox\Application::displayErrorVia()Innmind\BlackBox\Runner\proof()Innmind\BlackBox\Runner\test()Innmind\BlackBox\Runner\given()Innmind\BlackBox\Runner\property()Innmind\BlackBox\Runner\properties()proof()test()given()property()properties()Innmind\BlackBox\PHPUnit\Framework::expectException()Innmind\BlackBox\PHPUnit\Framework::expectExceptionCode()Innmind\BlackBox\PHPUnit\Framework::expectExceptionMessage()Innmind\BlackBox\Set\CallInnmind\BlackBox\Set\CharsInnmind\BlackBox\Set\Compose::immutable()Innmind\BlackBox\Set\Compose::mutable()Innmind\BlackBox\Set\DecorateInnmind\BlackBox\Set\Either::any()Innmind\BlackBox\Set\Elements::of()Innmind\BlackBox\Set\EmailInnmind\BlackBox\Set\FromGenerator::of()Innmind\BlackBox\Set\FromGenerator::mutable()Innmind\BlackBox\Set\Integers::any()Innmind\BlackBox\Set\Integers::between()Innmind\BlackBox\Set\Integers::above()Innmind\BlackBox\Set\Integers::below()Innmind\BlackBox\Set\IntegersExceptZeroInnmind\BlackBox\Set\NaturalNumbersInnmind\BlackBox\Set\NaturalNumbersExceptZeroInnmind\BlackBox\Set\NullableInnmind\BlackBox\Set\Randomize::of()Innmind\BlackBox\Set\RealNumbers::any()Innmind\BlackBox\Set\RealNumbers::between()Innmind\BlackBox\Set\RealNumbers::above()Innmind\BlackBox\Set\RealNumbers::below()Innmind\BlackBox\Set\Sequence::of()Innmind\BlackBox\Set\StringsInnmind\BlackBox\Set\TupleInnmind\BlackBox\Set\TypeInnmind\BlackBox\Set\UnicodeInnmind\BlackBox\Set\MutuallyExclusiveInnmind\BlackBox\Set\UnsafeStrings::any()Innmind\BlackBox\Set\UuidInnmind\BlackBox\Set\Seed::map()Innmind\BlackBox\Set\Seed::flatMap()Innmind\BlackBox\Set\Seed::shrink()Innmind\BlackBox\Set::decorate()Innmind\BlackBox\Set::call()Innmind\BlackBox\Set::generator()Innmind\BlackBox\Set\Provider\CompositeInnmind\BlackBox\Set\Provider\GeneratorInnmind\BlackBox\Runner\CodeCoverage::enableWhen()Innmind\BlackBox\Application::filterOnTags()Innmind\BlackBox\PHPUnit\Framework\Attributes\DataProviderInnmind\BlackBox\PHPUnit\Framework\Attributes\GroupInnmind\BlackBox\Set::via()Innmind\BlackBox\Runner\Given::exclude()Innmind\BlackBox\Provephpunit/php-code-coverage:~14.0Application::tryToProve() now has access to an instance of ProveInnmind\BlackBox\Application::disableGlobalFunctions()Innmind\BlackBox\Runner\proof()Innmind\BlackBox\Runner\test()Innmind\BlackBox\Runner\given()Innmind\BlackBox\Runner\property()Innmind\BlackBox\Runner\properties()proof()test()given()property()properties()Innmind\BlackBox\Application::useExhaustiveShrinking()13$assert->object()->instance() now check first if the class exist to allow to load aliases8innmind/jsonInnmind\BlackBox\PHPUnit\Load now uses all declared data providers on a method (instead of just the first one)Innmind\BlackBox\Set::exclude()Innmind\BlackBox\Runner\Assert::fail() now returns neverInnmind\BlackBox\Set::enumerate()Set::uuid() could only produce at most 100 values even when more askedSet::composite() now longer produces an exhaustive matrix of all possibilities but random compositionsSet::composite() no longer hangs when a very restrictive filter is applied on itInnmind\BlackBox\PHPUnit\Compatibility::prove()Innmind\BlackBox\Application::allowProofsToNotMakeAnyAssertions()Innmind\BlackBox\Set\Provider to allow classes to be factories of Sets without having to implement the Set interface12Innmind\BlackBox\Set::flatMap() and Innmind\BlackBox\Set\SeedSet::map(), Set\Composite, Set\Decorate, Set\FromGenerator and Set\Call can now also return Seeded valuesSet\Provider as input where it accepts SetsInnmind\BlackBox\Set is now a final classSet interface are now declared [@internal](https://github.com/internal)Innmind\BlackBox\Set is now covariant for more flexibilityInnmind\BlackBox\Set\Value is now declared [@internal](https://github.com/internal)Innmind\BlackBox\Set\Call::of(), use Innmind\BlackBox\Set::call() insteadInnmind\BlackBox\Set\Chars::any(), use Innmind\BlackBox\Set::strings()->chars() insteadInnmind\BlackBox\Set\Chars::lowercaseLetter(), use Innmind\BlackBox\Set::strings()->chars()->lowercaseLetter() insteadInnmind\BlackBox\Set\Chars::uppercaseLetter(), use Innmind\BlackBox\Set::strings()->chars()->uppercaseLetter() insteadInnmind\BlackBox\Set\Chars::number(), use Innmind\BlackBox\Set::strings()->chars()->number() insteadInnmind\BlackBox\Set\Chars::ascii(), use Innmind\BlackBox\Set::strings()->chars()->ascii() insteadInnmind\BlackBox\Set\Chars::alphanumerical(), use Innmind\BlackBox\Set::strings()->chars()->alphanumerical() insteadInnmind\BlackBox\Set\Composite::immutable(), use Innmind\BlackBox\Set::compose()->immutable() insteadInnmind\BlackBox\Set\Composite::mutable(), use Innmind\BlackBox\Set::compose()->mutable() insteadInnmind\BlackBox\Set\Decorate::immutable(), use Innmind\BlackBox\Set->map() insteadInnmind\BlackBox\Set\Decorate::mutable(), use Innmind\BlackBox\Set::decorate() insteadInnmind\BlackBox\Set\Either::any(), use Innmind\BlackBox\Set::either() insteadInnmind\BlackBox\Set\Elements::of(), use Innmind\BlackBox\Set::of() insteadInnmind\BlackBox\Set\Email::any(), use Innmind\BlackBox\Set::email() insteadInnmind\BlackBox\Set\FromGenerator::of(), use Innmind\BlackBox\Set::generator() insteadInnmind\BlackBox\Set\FromGenerator::mutable(), use Innmind\BlackBox\Set::generator()->mutable() insteadInnmind\BlackBox\Set\Integers::any(), use Innmind\BlackBox\Set::integers() insteadInnmind\BlackBox\Set\Integers::between(), use Innmind\BlackBox\Set::integers()->between() insteadInnmind\BlackBox\Set\Integers::above(), use Innmind\BlackBox\Set::integers()->above() insteadInnmind\BlackBox\Set\Integers::below(), use Innmind\BlackBox\Set::integers()->below() insteadInnmind\BlackBox\Set\IntegersExceptZero::any(), use Innmind\BlackBox\Set::integers()->exceptZero() insteadInnmind\BlackBox\Set\NaturalNumbers::any(), use Innmind\BlackBox\Set::integers()->naturalNumbers() insteadInnmind\BlackBox\Set\NaturalNumbersExceptZero::any(), use Innmind\BlackBox\Set::integers()->naturalNumbersExceptZero() insteadInnmind\BlackBox\Set\Nullable::of(), use Innmind\BlackBox\Set->nullable() insteadInnmind\BlackBox\Set\Randomize::of(), use Innmind\BlackBox\Set->randomize() insteadInnmind\BlackBox\Set\RealNumbers::any(), use Innmind\BlackBox\Set::realNumbers() insteadInnmind\BlackBox\Set\RealNumbers::between(), use Innmind\BlackBox\Set::realNumbers()->between() insteadInnmind\BlackBox\Set\RealNumbers::above(), use Innmind\BlackBox\Set::realNumbers()->above() insteadInnmind\BlackBox\Set\RealNumbers::below(), use Innmind\BlackBox\Set::realNumbers()->below() insteadInnmind\BlackBox\Set\Sequence::of(), use Innmind\BlackBox\Set::sequence() insteadInnmind\BlackBox\Set\Strings::any(), use Innmind\BlackBox\Set::strings() insteadInnmind\BlackBox\Set\Strings::between(), use Innmind\BlackBox\Set::strings()->between() insteadInnmind\BlackBox\Set\Strings::atMost(), use Innmind\BlackBox\Set::strings()->atMost() insteadInnmind\BlackBox\Set\Strings::atLeast(), use Innmind\BlackBox\Set::strings()->atLeast() insteadInnmind\BlackBox\Set\Strings::madeOf(), use Innmind\BlackBox\Set::strings()->madeOf() insteadInnmind\BlackBox\Set\Tuple::of(), use Innmind\BlackBox\Set::tuple() insteadInnmind\BlackBox\Set\Type::any(), use Innmind\BlackBox\Set::type() insteadInnmind\BlackBox\Set\Unicode::strings(), use Innmind\BlackBox\Set::strings()->unicode() insteadInnmind\BlackBox\Set\Unicode::any(), use Innmind\BlackBox\Set::strings()->unicode()->char() insteadInnmind\BlackBox\Set\UnsafeStrings::any(), use Innmind\BlackBox\Set::strings()->unsafe() insteadInnmind\BlackBox\Set\Uuid::any(), use Innmind\BlackBox\Set::uuid() instead8.4Innmind\BlackBox\Runner\Printer\Standard::disableGitHubOutput()$assert->array()->contains()$assert->array()->not()->contains()Innmind\BlackBox\PHPUnit\Framework\TestCase::assert()Innmind\BlackBox\Set\Tuple$assert->same() message not being usedInnmind\BlackBox\Set\Sequence shrinking process now correctly shrinks all values that do not affect the testInnmind\BlackBox\Set\Composite shrinking process now correctly shrinks all values that do not affect the testproperty return type is now Innmind\BlackBox\Runner\Proof\Property allowing you to name the propertyInnmind\BlackBox\Set\Call regenarate the value each time a scenario is runsymfony/var-dumper:~7.0Innmind\BlackBox\PHPUnit\Framework\TestCase::expectException()Innmind\BlackBox\PHPUnit\Framework\TestCase::expectExceptionCode()Innmind\BlackBox\PHPUnit\Framework\TestCase::expectExceptionMessage()Innmind\BlackBox\Set\MutuallyExclusive wasn't excluding strings in a different caseInnmind\BlackBox\PHPUnit\Load::parseTagWith()Innmind\BlackBox\Application::stopOnFailure()Innmind\BlackBox\Application::map()Innmind\BlackBox\Application::when()Innmind\BlackBox\PHPUnit\Framework\TestCaseInnmind\BlackBox\PHPUnit\LoadInnmind\BlackBox\Application::disableMemoryLimit()Innmind\BlackBox\Runner\Assert::matches()Innmind\BlackBox\Runner\Assert::time()Innmind\BlackBox\Runner\Assert::memory()Innmind\BlackBox\Set\SliceInnmind\BlackBox\Set\MutuallyExclusiveInnmind\BlackBox\Tag::ciInnmind\BlackBox\Tag::localFailing scenarii: was always printed in PHPUnit output even when there was no failuresInnmind\BlackBox\PHPUnit\Compatibility::asDataProvider()Innmind\BlackBox\Application::disableGlobalFunctions()Innmind\BlackBox\Runner\proof functionInnmind\BlackBox\Runner\test functionInnmind\BlackBox\Runner\given functionInnmind\BlackBox\Runner\property functionInnmind\BlackBox\Runner\properties functionInnmind\BlackBox\PHPUnit\BlackBox::forAll() is now a static methodInnmind\BlackBox\Set\Call now regenerate the value when shrinkingInnmind\BlackBox\Set\CallInnmind\BlackBox\Set\NullableInnmind\BlackBox\Set::map()Innmind\BlackBox\PHPUnit\ExtensionInnmind\BlackBox\ApplicationInnmind\BlackBox\TagInnmind\BlackBox\Runner\LoadInnmind\BlackBox\Runner\CodeCoverageInnmind\BlackBox\Runner\AssertInnmind\BlackBox\Runner\PrinterInnmind\BlackBox\Runner\IOInnmind\BlackBox\Property::any()Sets constructor are now private8.2 is now requiredInnmind\BlackBox\Set\AnyType has been renamed to Innmind\BlackBox\Set\TypeInnmind\BlackBox\Random is now an enumPHPUnit 10Innmind\BlackBox\Properties constructor is now private, use ::of() named constructor insteadInnmind\BlackBox\Properties::ensureHeldBy now expects Innmind\BlackBox\Runner\Assert as a first argumentInnmind\BlackBox\Properties is now longer compatible with third party test runnersInnmind\BlackBox\Property::ensureHeldBy now expects Innmind\BlackBox\Runner\Assert as a first argumentInnmind\BlackBox\Property is now longer compatible with third party test runnersInnmind\BlackBox\Set::take() and ::filter() now explicitly state that they are mutation freeInnmind\BlackBox\Set::take() now requires a positive-int as argumentInnmind\BlackBox\Set\Chars now longer implements the Set interface, use Chars::any() insteadInnmind\BlackBox\Set\IntegersExceptZero now longer implements the Set interface, use IntegersExceptZero::any() insteadInnmind\BlackBox\Set\NaturalNumbers now longer implements the Set interface, use NaturalNumbers::any() insteadInnmind\BlackBox\Set\NaturalNumbersExceptZero now longer implements the Set interface, use NaturalNumbersExceptZero::any() insteadInnmind\BlackBox\Set\Sequence::of() now longer accept the range of values as 2nd argument, use Sequence::of()->atLeast(), Sequence::of()->atMost() and Sequence::of()->between() insteadInnmind\BlackBox\Set\Strings now longer implements the Set interface, use Strings::any() insteadInnmind\BlackBox\Set\Strings::any() now longer accept the maximum length, use Strings::atMost() insteadSet in Set\Either that can't generate dataseeder method provided by Innmind\BlackBox\PHPUnit\Blackbox trait8 and 9 (custom printers are now longer available)4 and 5Innmind\BlackBox\Set\RegexInnmind\BlackBox\Set\Strings::matching()Innmind\BlackBox\Random\RandomIntInnmind\BlackBox\Random\MtRandInnmind\BlackBox\Property::name()Innmind\BlackBox\PHPUnit\BlackBox::seeder()Innmind\BlackBox\PHPUnit\SeederInnmind\BlackBox\Set\Properties::chooseFrom(), use Properties::any()->between() or Properties::any()->atMost() insteadInnmind\BlackBox\Set\PropertyInnmind\BlackBox\Set\Unicode::lengthBetween(), use Unicode::any()->between() insteadHow can I help you explore Laravel packages today?