From 27898232a2dd2d88c115cf5ad2096dd388c0f32c Mon Sep 17 00:00:00 2001 From: Joseph Bielawski Date: Sun, 12 Jul 2026 12:31:19 +0200 Subject: [PATCH] Update PHPUnit to 12.5 --- .../Tests/Unit/ResponseEntriesFactoryTest.php | 4 +- .../Function/DOMElementNextSiblingTest.php | 4 +- .../Function/DOMElementParentTest.php | 2 +- .../DOMElementPreviousSiblingTest.php | 4 +- .../Function/HTMLQuerySelectorAllTest.php | 2 +- .../Function/HTMLQuerySelectorTest.php | 2 +- .../Function/DOMElementAttributeValueTest.php | 4 +- .../DOMElementAttributesCountTest.php | 6 +- .../Unit/Function/DOMElementNamespaceTest.php | 2 +- .../Unit/Function/DOMElementParentTest.php | 6 +- .../Unit/Function/DOMElementValueTest.php | 4 +- .../Function/HTMLQuerySelectorAllTest.php | 8 +- .../Unit/Function/HTMLQuerySelectorTest.php | 8 +- .../Unit/Processor/WindowProcessorTest.php | 3 +- .../Tests/Unit/Row/Entry/HTMLEntryTest.php | 2 +- .../Unit/Row/Entry/XMLElementEntryTest.php | 2 +- .../ETL/Tests/Unit/Row/Entry/XMLEntryTest.php | 4 +- .../ETL/Tests/Unit/Row/EntryFactoryTest.php | 6 +- .../Schema/Definition/HTMLDefinitionTest.php | 4 +- .../Definition/HTMLElementDefinitionTest.php | 4 +- .../Schema/DefinitionCompatibilityTest.php | 1 - .../Tests/Unit/FloeValueRoundTripTest.php | 2 +- .../Bulk/Tests/IntegrationTestCase.php | 9 +- .../Bulk/Tests/MysqlIntegrationTestCase.php | 2 + .../Tests/PostgreSqlIntegrationTestCase.php | 2 + .../Bulk/Tests/SqliteIntegrationTestCase.php | 2 + .../Filesystem/Tests/Unit/PartitionTest.php | 2 +- .../Tests/Unit/Thrift/MemoryBufferTest.php | 2 +- .../Unit/ErrorHandler/ErrorLogHandlerTest.php | 42 +- .../Unit/Type/Logical/HTMLElementTypeTest.php | 2 +- .../Tests/Unit/Type/Logical/HTMLTypeTest.php | 2 +- .../Native/String/StringTypeNarrowerTest.php | 2 +- .../Tests/Unit/Type/Native/StringTypeTest.php | 4 +- .../Tests/Unit/Type/TypeDetectorTest.php | 4 +- tools/phpunit/composer.json | 2 +- tools/phpunit/composer.lock | 598 ++++++++---------- 36 files changed, 317 insertions(+), 442 deletions(-) diff --git a/src/adapter/etl-adapter-http/tests/Flow/ETL/Adapter/HTTP/Tests/Unit/ResponseEntriesFactoryTest.php b/src/adapter/etl-adapter-http/tests/Flow/ETL/Adapter/HTTP/Tests/Unit/ResponseEntriesFactoryTest.php index 8732ef6b16..8ffc46b925 100644 --- a/src/adapter/etl-adapter-http/tests/Flow/ETL/Adapter/HTTP/Tests/Unit/ResponseEntriesFactoryTest.php +++ b/src/adapter/etl-adapter-http/tests/Flow/ETL/Adapter/HTTP/Tests/Unit/ResponseEntriesFactoryTest.php @@ -51,7 +51,7 @@ public function test_uses_expected_entry_for_response_body(string $entryClass, R static::assertInstanceOf($entryClass, $entryFactory->create($response)->get('response_body')); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_uses_html_entry_for_response_body_on_newer_php(): void { $entryFactory = new ResponseEntriesFactory(); @@ -63,7 +63,7 @@ public function test_uses_html_entry_for_response_body_on_newer_php(): void static::assertInstanceOf(HTMLEntry::class, $entryFactory->create($response)->get('response_body')); } - #[RequiresPhp('< 8.4')] + #[RequiresPhp('< 8.4.0')] public function test_uses_string_entry_for_response_body_on_older_php(): void { $entryFactory = new ResponseEntriesFactory(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementNextSiblingTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementNextSiblingTest.php index fac35ffb3c..5132e10be5 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementNextSiblingTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementNextSiblingTest.php @@ -18,7 +18,7 @@ final class DOMElementNextSiblingTest extends FlowTestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_dom_element_sibling_text_value(): void { $rows = df() @@ -43,7 +43,7 @@ public function test_dom_element_sibling_text_value(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_dom_element_sibling_text_value_when_only_element_is_allowed(): void { $rows = df() diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementParentTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementParentTest.php index 61cfaf3487..db609ecda1 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementParentTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementParentTest.php @@ -16,7 +16,7 @@ final class DOMElementParentTest extends FlowTestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_dom_element_value_from_dom_document(): void { $rows = df() diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementPreviousSiblingTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementPreviousSiblingTest.php index fab946f1f1..3e66522bb8 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementPreviousSiblingTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/DOMElementPreviousSiblingTest.php @@ -18,7 +18,7 @@ final class DOMElementPreviousSiblingTest extends FlowTestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_dom_element_sibling_text_value(): void { $rows = df() @@ -43,7 +43,7 @@ public function test_dom_element_sibling_text_value(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_dom_element_sibling_text_value_when_only_element_is_allowed(): void { $rows = df() diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorAllTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorAllTest.php index 04480f93c3..8770cc675f 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorAllTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorAllTest.php @@ -19,7 +19,7 @@ use const LIBXML_NOERROR; // @mago-ignore analysis:unavailable-method -#[RequiresPhp('>= 8.4')] +#[RequiresPhp('>= 8.4.0')] final class HTMLQuerySelectorAllTest extends TestCase { public function test_invalid_query_all_on_html_document(): void diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorTest.php index cb3925f224..80ac123a63 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Function/HTMLQuerySelectorTest.php @@ -16,7 +16,7 @@ use function Flow\ETL\DSL\rows; // @mago-ignore analysis:unavailable-method -#[RequiresPhp('>= 8.4')] +#[RequiresPhp('>= 8.4.0')] final class HTMLQuerySelectorTest extends TestCase { public function test_invalid_query_on_html_document(): void diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributeValueTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributeValueTest.php index c55b0f1b49..c6e319e3e0 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributeValueTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributeValueTest.php @@ -21,7 +21,7 @@ final class DOMElementAttributeValueTest extends TestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_extracting_attribute_from_dom_element_entry(): void { // @mago-ignore analysis:unavailable-method @@ -39,7 +39,7 @@ public function test_html_extracting_attribute_from_dom_element_entry(): void )); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_extracting_non_existing_attribute_from_dom_element_entry(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributesCountTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributesCountTest.php index 14e77e267b..2fbe5d1aea 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributesCountTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementAttributesCountTest.php @@ -21,7 +21,7 @@ final class DOMElementAttributesCountTest extends TestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_attributes_count_on_element_with_multiple_attributes(): void { // @mago-ignore analysis:unavailable-method @@ -39,7 +39,7 @@ public function test_html_attributes_count_on_element_with_multiple_attributes() )); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_attributes_count_on_element_with_one_attribute(): void { // @mago-ignore analysis:unavailable-method @@ -57,7 +57,7 @@ public function test_html_attributes_count_on_element_with_one_attribute(): void )); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_attributes_count_on_element_with_zero_attributes(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementNamespaceTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementNamespaceTest.php index 5ff5ff1d8a..a2201bbe01 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementNamespaceTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementNamespaceTest.php @@ -31,7 +31,7 @@ final class DOMElementNamespaceTest extends TestCase XML; - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_getting_element_namespace(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementParentTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementParentTest.php index 951805e600..5a482ab664 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementParentTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementParentTest.php @@ -21,7 +21,7 @@ final class DOMElementParentTest extends TestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_fails_when_parent_not_available_in_strict_mode(): void { // @mago-ignore analysis:unavailable-method @@ -36,7 +36,7 @@ public function test_html_fails_when_parent_not_available_in_strict_mode(): void ->eval(row($context->entryFactory()->create('value', $element->documentElement->parentElement)), $context); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_getting_parent_element(): void { // @mago-ignore analysis:unavailable-method @@ -55,7 +55,7 @@ public function test_html_getting_parent_element(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_getting_parent_element_when_not_available(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementValueTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementValueTest.php index 9d2c2409b5..44da8dd85e 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementValueTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/DOMElementValueTest.php @@ -21,7 +21,7 @@ final class DOMElementValueTest extends FlowTestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_getting_element_value_with_children(): void { // @mago-ignore analysis:unavailable-method @@ -36,7 +36,7 @@ public function test_html_getting_element_value_with_children(): void )); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_getting_simple_element_value(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorAllTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorAllTest.php index d68ac80811..d08e13492e 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorAllTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorAllTest.php @@ -17,7 +17,7 @@ final class HTMLQuerySelectorAllTest extends TestCase { - #[RequiresPhp('< 8.4')] + #[RequiresPhp('< 8.4.0')] public function test_getting_element_for_older_versions(): void { $this->expectException(RequiredPHPVersionException::class); @@ -26,7 +26,7 @@ public function test_getting_element_for_older_versions(): void ->eval(row(flow_context(config())->entryFactory()->create('value', '')), flow_context()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_getting_elements_for_given_path(): void { // @mago-ignore analysis:unavailable-method @@ -41,7 +41,7 @@ public function test_getting_elements_for_given_path(): void static::assertInstanceOf(Element::class, $result[0]); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_getting_null_when_nothing_found(): void { // @mago-ignore analysis:unavailable-method @@ -54,7 +54,7 @@ public function test_getting_null_when_nothing_found(): void static::assertNull($result); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_invalid_value(): void { $result = ref('value') diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorTest.php index 83b57e7648..c64a9b96c9 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Function/HTMLQuerySelectorTest.php @@ -17,7 +17,7 @@ final class HTMLQuerySelectorTest extends TestCase { - #[RequiresPhp('< 8.4')] + #[RequiresPhp('< 8.4.0')] public function test_getting_element_for_older_versions(): void { $this->expectException(RequiredPHPVersionException::class); @@ -26,7 +26,7 @@ public function test_getting_element_for_older_versions(): void ->eval(row(flow_context(config())->entryFactory()->create('value', '')), flow_context()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_getting_elements_for_given_path(): void { // @mago-ignore analysis:unavailable-method @@ -39,7 +39,7 @@ public function test_getting_elements_for_given_path(): void static::assertInstanceOf(Element::class, $result); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_getting_null_when_nothing_found(): void { // @mago-ignore analysis:unavailable-method @@ -52,7 +52,7 @@ public function test_getting_null_when_nothing_found(): void static::assertNull($result); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_invalid_value(): void { $result = ref('value') diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Processor/WindowProcessorTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Processor/WindowProcessorTest.php index f7a5395560..5d72a29f93 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Processor/WindowProcessorTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Processor/WindowProcessorTest.php @@ -84,8 +84,7 @@ public function test_handles_single_partition(): void } static::assertCount(3, $allRows); - // @mago-ignore analysis:deprecated-method - static::assertContainsOnly('int', array_column($allRows, 'rank')); + static::assertContainsOnlyInt(array_column($allRows, 'rank')); } public function test_processes_multiple_partitions(): void diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/HTMLEntryTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/HTMLEntryTest.php index acade44f8f..c7d3d5f8b0 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/HTMLEntryTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/HTMLEntryTest.php @@ -19,7 +19,7 @@ use function preg_replace; // @mago-ignore analysis:unavailable-method -#[RequiresPhp('>= 8.4')] +#[RequiresPhp('>= 8.4.0')] final class HTMLEntryTest extends TestCase { public static function is_equal_data_provider(): Generator diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLElementEntryTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLElementEntryTest.php index cd9395effc..6942c0f585 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLElementEntryTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLElementEntryTest.php @@ -21,7 +21,7 @@ final class XMLElementEntryTest extends FlowTestCase { - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_create_from_dom_xmldocument(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLEntryTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLEntryTest.php index d46ae9b7a2..374d0b17dd 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLEntryTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/Entry/XMLEntryTest.php @@ -107,7 +107,7 @@ public function test_canonicalization(): void static::assertNotEquals(xml_entry('row', $doc), xml_entry('row', $doc2)); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_canonicalization_with_dom_xmldocument(): void { // @mago-ignore analysis:unavailable-method @@ -149,7 +149,7 @@ public function test_creating_xml_entry_with_empty_dom_document(): void static::assertSame("\n", $entry->__toString()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_creating_xml_entry_with_empty_dom_xmldocument(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/EntryFactoryTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/EntryFactoryTest.php index 791023a055..814c1e3681 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/EntryFactoryTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Row/EntryFactoryTest.php @@ -304,7 +304,7 @@ public function test_html_element_from_string(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_element_string_with_html_definition_provided(): void { static::assertEquals( @@ -313,7 +313,7 @@ public function test_html_element_string_with_html_definition_provided(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_from_dom_html_document(): void { // @mago-ignore analysis:unavailable-method @@ -334,7 +334,7 @@ public function test_html_from_string(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_string_with_html_definition_provided(): void { // @mago-ignore analysis:unavailable-method diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLDefinitionTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLDefinitionTest.php index f05b432886..35a826b7f4 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLDefinitionTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLDefinitionTest.php @@ -80,7 +80,7 @@ public function test_add_metadata(): void static::assertSame('value', $withMeta->metadata()->get('key')); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_does_not_match_entry_with_different_name(): void { $def = html_schema('content'); @@ -152,7 +152,7 @@ public function test_make_nullable(): void static::assertFalse($def->isNullable()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_matches_entry_with_same_name_and_type(): void { $def = html_schema('content'); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLElementDefinitionTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLElementDefinitionTest.php index 10521874a9..e69872970f 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLElementDefinitionTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/Definition/HTMLElementDefinitionTest.php @@ -80,7 +80,7 @@ public function test_add_metadata(): void static::assertSame('value', $withMeta->metadata()->get('key')); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_does_not_match_entry_with_different_name(): void { $def = html_element_schema('element'); @@ -152,7 +152,7 @@ public function test_make_nullable(): void static::assertFalse($def->isNullable()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_matches_entry_with_same_name_and_type(): void { $def = html_element_schema('element'); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/DefinitionCompatibilityTest.php b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/DefinitionCompatibilityTest.php index c2c567527a..cf0fd75b8c 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/DefinitionCompatibilityTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Unit/Schema/DefinitionCompatibilityTest.php @@ -36,7 +36,6 @@ public static function list_compatibility_provider(): Generator list_schema('list', type_list(type_integer())), list_schema('list', type_list(type_integer())), true, - false, ]; yield [ diff --git a/src/core/etl/tests/Flow/Floe/Tests/Unit/FloeValueRoundTripTest.php b/src/core/etl/tests/Flow/Floe/Tests/Unit/FloeValueRoundTripTest.php index 197557c2ce..d8952844c4 100644 --- a/src/core/etl/tests/Flow/Floe/Tests/Unit/FloeValueRoundTripTest.php +++ b/src/core/etl/tests/Flow/Floe/Tests/Unit/FloeValueRoundTripTest.php @@ -109,7 +109,7 @@ public function test_enum_entries(): void ); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_html_entries(): void { $rows = rows(row(html_entry('html', '

hello

'))); diff --git a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/IntegrationTestCase.php b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/IntegrationTestCase.php index 4499ac126f..dd983d8592 100644 --- a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/IntegrationTestCase.php +++ b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/IntegrationTestCase.php @@ -12,16 +12,11 @@ abstract class IntegrationTestCase extends TestCase { protected DatabaseContext $databaseContext; - protected readonly ProxyLogger $logger; + protected ProxyLogger $logger; - /** - * @param non-empty-string $name - */ - public function __construct(string $name) + protected function setUp(): void { $this->logger = new ProxyLogger(); - - parent::__construct($name); } protected function tearDown(): void diff --git a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/MysqlIntegrationTestCase.php b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/MysqlIntegrationTestCase.php index cdb72a66a7..cee89d035c 100644 --- a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/MysqlIntegrationTestCase.php +++ b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/MysqlIntegrationTestCase.php @@ -16,6 +16,8 @@ abstract class MysqlIntegrationTestCase extends IntegrationTestCase { protected function setUp(): void { + parent::setUp(); + $this->databaseContext = new DatabaseContext(DriverManager::getConnection( (new DsnParser(['mysql' => 'pdo_mysql']))->parse(getenv('MYSQL_DATABASE_URL') ?: ''), (new Configuration())->setMiddlewares([new Middleware($this->logger)]), diff --git a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/PostgreSqlIntegrationTestCase.php b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/PostgreSqlIntegrationTestCase.php index b1a4dbb403..1f3775e2d6 100644 --- a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/PostgreSqlIntegrationTestCase.php +++ b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/PostgreSqlIntegrationTestCase.php @@ -16,6 +16,8 @@ abstract class PostgreSqlIntegrationTestCase extends IntegrationTestCase { protected function setUp(): void { + parent::setUp(); + $this->databaseContext = new DatabaseContext(DriverManager::getConnection( (new DsnParser(['pgsql' => 'pdo_pgsql']))->parse(getenv('PGSQL_DATABASE_URL') ?: ''), (new Configuration())->setMiddlewares([new Middleware($this->logger)]), diff --git a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/SqliteIntegrationTestCase.php b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/SqliteIntegrationTestCase.php index 73bd90d983..5b7748c31a 100644 --- a/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/SqliteIntegrationTestCase.php +++ b/src/lib/doctrine-dbal-bulk/tests/Flow/Doctrine/Bulk/Tests/SqliteIntegrationTestCase.php @@ -17,6 +17,8 @@ abstract class SqliteIntegrationTestCase extends IntegrationTestCase { protected function setUp(): void { + parent::setUp(); + $path = type_string()->assert(getenv('SQLITE_DATABASE_PATH')); $folder = pathinfo($path, PATHINFO_DIRNAME); diff --git a/src/lib/filesystem/tests/Flow/Filesystem/Tests/Unit/PartitionTest.php b/src/lib/filesystem/tests/Flow/Filesystem/Tests/Unit/PartitionTest.php index 48c8717b5e..b03434c019 100644 --- a/src/lib/filesystem/tests/Flow/Filesystem/Tests/Unit/PartitionTest.php +++ b/src/lib/filesystem/tests/Flow/Filesystem/Tests/Unit/PartitionTest.php @@ -56,7 +56,7 @@ public function test_creating_partition_value_datetime_entry(): void )); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_creating_partition_value_from_html_entry(): void { $this->expectExceptionMessage(HTMLEntry::class . ' can\'t be used as a partition'); diff --git a/src/lib/parquet/tests/Flow/Parquet/Tests/Unit/Thrift/MemoryBufferTest.php b/src/lib/parquet/tests/Flow/Parquet/Tests/Unit/Thrift/MemoryBufferTest.php index 5afb8e9f90..63b647b3d8 100644 --- a/src/lib/parquet/tests/Flow/Parquet/Tests/Unit/Thrift/MemoryBufferTest.php +++ b/src/lib/parquet/tests/Flow/Parquet/Tests/Unit/Thrift/MemoryBufferTest.php @@ -359,7 +359,7 @@ public function test_write_multiple_times(): void } #[DataProvider('write_data_provider')] - public function test_write_various_data_types(string $data): void + public function test_write_various_data_types(string $data, string $ignored): void { $buffer = new MemoryBuffer(); diff --git a/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/ErrorHandler/ErrorLogHandlerTest.php b/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/ErrorHandler/ErrorLogHandlerTest.php index 5e7c35aa3f..88c1302062 100644 --- a/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/ErrorHandler/ErrorLogHandlerTest.php +++ b/src/lib/telemetry/tests/Flow/Telemetry/Tests/Unit/ErrorHandler/ErrorLogHandlerTest.php @@ -8,11 +8,6 @@ use PHPUnit\Framework\TestCase; use RuntimeException; -use function array_filter; -use function array_values; -use function count; -use function explode; -use function file_get_contents; use function ini_get; use function ini_set; use function is_file; @@ -50,60 +45,41 @@ protected function tearDown(): void public function test_collapses_newlines_when_expand_newlines_is_false(): void { - $handler = new ErrorLogHandler(); + $this->expectErrorLog(); + $handler = new ErrorLogHandler(); $handler->handle(new RuntimeException("line1\nline2")); - - $contents = (string) file_get_contents($this->logFile); - $lines = array_values(array_filter(explode("\n", $contents), static fn(string $line): bool => $line !== '')); - - static::assertCount(1, $lines); - static::assertStringContainsString('line1 line2', $lines[0]); } public function test_does_not_throw_when_invoked(): void { - $this->expectNotToPerformAssertions(); + $this->expectErrorLog(); $handler = new ErrorLogHandler(); - $handler->handle(new RuntimeException('boom')); } public function test_emits_a_single_line_with_default_settings(): void { - $handler = new ErrorLogHandler(); + $this->expectErrorLog(); + $handler = new ErrorLogHandler(); $handler->handle(new RuntimeException('boom')); - - $contents = (string) file_get_contents($this->logFile); - - static::assertStringContainsString('[flow-telemetry]', $contents); - static::assertStringContainsString('RuntimeException', $contents); - static::assertStringContainsString('boom', $contents); } public function test_emits_separate_lines_when_expand_newlines_is_true(): void { - $handler = new ErrorLogHandler(expandNewlines: true); + $this->expectErrorLog(); + $handler = new ErrorLogHandler(expandNewlines: true); $handler->handle(new RuntimeException("line1\nline2")); - - $contents = (string) file_get_contents($this->logFile); - $lines = array_values(array_filter(explode("\n", $contents), static fn(string $line): bool => $line !== '')); - - static::assertGreaterThanOrEqual(2, count($lines)); } public function test_uses_a_custom_message_prefix(): void { - $handler = new ErrorLogHandler(messagePrefix: '[custom-prefix]'); + $this->expectErrorLog(); + $handler = new ErrorLogHandler(messagePrefix: '[custom-prefix]'); $handler->handle(new RuntimeException('boom')); - - $contents = (string) file_get_contents($this->logFile); - - static::assertStringContainsString('[custom-prefix]', $contents); - static::assertStringNotContainsString('[flow-telemetry]', $contents); } } diff --git a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLElementTypeTest.php b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLElementTypeTest.php index 8555736666..b397aa02ec 100644 --- a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLElementTypeTest.php +++ b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLElementTypeTest.php @@ -21,7 +21,7 @@ use function Flow\Types\DSL\type_string; use function preg_replace; -#[RequiresPhp('>= 8.4')] +#[RequiresPhp('>= 8.4.0')] final class HTMLElementTypeTest extends TestCase { public static function assert_data_provider(): Generator diff --git a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLTypeTest.php b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLTypeTest.php index 303cbcb523..6a9a0006d1 100644 --- a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLTypeTest.php +++ b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Logical/HTMLTypeTest.php @@ -20,7 +20,7 @@ use function Flow\Types\DSL\type_string; use function preg_replace; -#[RequiresPhp('>= 8.4')] +#[RequiresPhp('>= 8.4.0')] final class HTMLTypeTest extends TestCase { public static function assert_data_provider(): Generator diff --git a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/String/StringTypeNarrowerTest.php b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/String/StringTypeNarrowerTest.php index 872181b5aa..531bec8948 100644 --- a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/String/StringTypeNarrowerTest.php +++ b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/String/StringTypeNarrowerTest.php @@ -70,7 +70,7 @@ public function test_detecting_float(): void static::assertEquals(type_string(), $narrower->narrow('1.0.0')); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_detecting_html(): void { $narrower = new StringTypeNarrower(); diff --git a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/StringTypeTest.php b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/StringTypeTest.php index 85c46d0d94..d5070841e7 100644 --- a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/StringTypeTest.php +++ b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/Native/StringTypeTest.php @@ -239,7 +239,7 @@ public function test_cast(mixed $value, mixed $expected, ?string $exceptionClass } } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_cast_html_document(): void { // @mago-expect analysis:unavailable-method @@ -248,7 +248,7 @@ public function test_cast_html_document(): void static::assertSame('

foobar

', type_string()->cast($element)); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_cast_html_element(): void { // @mago-expect analysis:unavailable-method diff --git a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/TypeDetectorTest.php b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/TypeDetectorTest.php index 7ef565c0e4..94499d195d 100644 --- a/src/lib/types/tests/Flow/Types/Tests/Unit/Type/TypeDetectorTest.php +++ b/src/lib/types/tests/Flow/Types/Tests/Unit/Type/TypeDetectorTest.php @@ -463,7 +463,7 @@ public function test_enum_type(): void static::assertInstanceOf(EnumType::class, (new TypeDetector())->detectType(BasicEnum::two)); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_logical_html_element_type(): void { // @mago-expect analysis:unavailable-method @@ -477,7 +477,7 @@ public function test_logical_html_element_type(): void static::assertSame('html_element', $type->toString()); } - #[RequiresPhp('>= 8.4')] + #[RequiresPhp('>= 8.4.0')] public function test_logical_html_type(): void { // @mago-expect analysis:unavailable-method diff --git a/tools/phpunit/composer.json b/tools/phpunit/composer.json index a47db89806..250bab73d1 100644 --- a/tools/phpunit/composer.json +++ b/tools/phpunit/composer.json @@ -3,7 +3,7 @@ "description": "Flow PHP ETL - Tools", "require-dev": { "php": "~8.3.0 || ~8.4.0 || ~8.5.0", - "phpunit/phpunit": "^11" + "phpunit/phpunit": "^12.5" }, "config": { "allow-plugins": false diff --git a/tools/phpunit/composer.lock b/tools/phpunit/composer.lock index 338e67fcf4..299c6d6281 100644 --- a/tools/phpunit/composer.lock +++ b/tools/phpunit/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5b1ddc02f073d735357aaa8de813e235", + "content-hash": "28edfc58d5f9dbe74b93df218dcf07dd", "packages": [], "packages-dev": [ { @@ -69,20 +69,19 @@ }, { "name": "nikic/php-parser", - "version": "v5.7.0", + "version": "v5.8.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f", + "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-json": "*", "ext-tokenizer": "*", "php": ">=7.4" @@ -121,9 +120,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0" }, - "time": "2025-12-06T11:56:16+00:00" + "time": "2026-07-04T14:30:18+00:00" }, { "name": "phar-io/manifest", @@ -245,16 +244,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "11.0.12", + "version": "12.5.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" + "reference": "186dab580576598076de6818596d12b61801880e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/186dab580576598076de6818596d12b61801880e", + "reference": "186dab580576598076de6818596d12b61801880e", "shasum": "" }, "require": { @@ -262,18 +261,16 @@ "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^5.7.0", - "php": ">=8.2", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-text-template": "^4.0.1", - "sebastian/code-unit-reverse-lookup": "^4.0.1", - "sebastian/complexity": "^4.0.1", - "sebastian/environment": "^7.2.1", - "sebastian/lines-of-code": "^3.0.1", - "sebastian/version": "^5.0.2", - "theseer/tokenizer": "^1.3.1" + "php": ">=8.3", + "phpunit/php-text-template": "^5.0", + "sebastian/complexity": "^5.0", + "sebastian/environment": "^8.1.2", + "sebastian/lines-of-code": "^4.0.1", + "sebastian/version": "^6.0", + "theseer/tokenizer": "^2.0.1" }, "require-dev": { - "phpunit/phpunit": "^11.5.46" + "phpunit/phpunit": "^12.5.28" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -282,7 +279,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "11.0.x-dev" + "dev-main": "12.5.x-dev" } }, "autoload": { @@ -311,7 +308,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.7" }, "funding": [ { @@ -331,32 +328,32 @@ "type": "tidelift" } ], - "time": "2025-12-24T07:01:01+00:00" + "time": "2026-06-01T13:24:19+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "5.1.1", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -384,7 +381,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" }, "funding": [ { @@ -404,28 +401,28 @@ "type": "tidelift" } ], - "time": "2026-02-02T13:52:54+00:00" + "time": "2026-02-02T14:04:18+00:00" }, { "name": "phpunit/php-invoker", - "version": "5.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "suggest": { "ext-pcntl": "*" @@ -433,7 +430,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -460,7 +457,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" }, "funding": [ { @@ -468,32 +465,32 @@ "type": "github" } ], - "time": "2024-07-03T05:07:44+00:00" + "time": "2025-02-07T04:58:58+00:00" }, { "name": "phpunit/php-text-template", - "version": "4.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -520,7 +517,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" }, "funding": [ { @@ -528,32 +525,32 @@ "type": "github" } ], - "time": "2024-07-03T05:08:43+00:00" + "time": "2025-02-07T04:59:16+00:00" }, { "name": "phpunit/php-timer", - "version": "7.0.1", + "version": "8.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-main": "8.0-dev" } }, "autoload": { @@ -580,7 +577,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" }, "funding": [ { @@ -588,61 +585,57 @@ "type": "github" } ], - "time": "2024-07-03T05:09:35+00:00" + "time": "2025-02-07T04:59:38+00:00" }, { "name": "phpunit/phpunit", - "version": "11.5.55", + "version": "12.5.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00" + "reference": "0608d157a284f15cc73b99a3327eff06b66a176d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/adc7262fccc12de2b30f12a8aa0b33775d814f00", - "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0608d157a284f15cc73b99a3327eff06b66a176d", + "reference": "0608d157a284f15cc73b99a3327eff06b66a176d", "shasum": "" }, "require": { "ext-dom": "*", + "ext-filter": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", - "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.13.4", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", - "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.12", - "phpunit/php-file-iterator": "^5.1.1", - "phpunit/php-invoker": "^5.0.1", - "phpunit/php-text-template": "^4.0.1", - "phpunit/php-timer": "^7.0.1", - "sebastian/cli-parser": "^3.0.2", - "sebastian/code-unit": "^3.0.3", - "sebastian/comparator": "^6.3.3", - "sebastian/diff": "^6.0.2", - "sebastian/environment": "^7.2.1", - "sebastian/exporter": "^6.3.2", - "sebastian/global-state": "^7.0.2", - "sebastian/object-enumerator": "^6.0.1", - "sebastian/recursion-context": "^6.0.3", - "sebastian/type": "^5.1.3", - "sebastian/version": "^5.0.2", + "php": ">=8.3", + "phpunit/php-code-coverage": "^12.5.7", + "phpunit/php-file-iterator": "^6.0.1", + "phpunit/php-invoker": "^6.0.0", + "phpunit/php-text-template": "^5.0.0", + "phpunit/php-timer": "^8.0.0", + "sebastian/cli-parser": "^4.2.1", + "sebastian/comparator": "^7.1.8", + "sebastian/diff": "^7.0.0", + "sebastian/environment": "^8.1.2", + "sebastian/exporter": "^7.0.3", + "sebastian/global-state": "^8.0.3", + "sebastian/object-enumerator": "^7.0.0", + "sebastian/recursion-context": "^7.0.1", + "sebastian/type": "^6.0.4", + "sebastian/version": "^6.0.0", "staabm/side-effects-detector": "^1.0.5" }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" - }, "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { - "dev-main": "11.5-dev" + "dev-main": "12.5-dev" } }, "autoload": { @@ -674,56 +667,40 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.55" + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.31" }, "funding": [ { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" + "url": "https://phpunit.de/sponsoring.html", + "type": "other" } ], - "time": "2026-02-18T12:37:06+00:00" + "time": "2026-07-06T14:54:16+00:00" }, { "name": "sebastian/cli-parser", - "version": "3.0.2", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7d05781b13f7dec9043a629a21d086ed74582a15", + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.2-dev" } }, "autoload": { @@ -747,152 +724,51 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" - } - ], - "time": "2024-07-03T04:41:36+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "security": "https://github.com/sebastianbergmann/code-unit/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" - }, - "funding": [ + }, { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2025-03-19T07:56:08+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" - }, - "funding": [ + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", + "type": "tidelift" } ], - "time": "2024-07-03T04:45:54+00:00" + "time": "2026-05-17T05:29:34+00:00" }, { "name": "sebastian/comparator", - "version": "6.3.3", + "version": "7.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" + "reference": "7c65c1e79836812819705b473a90c12399542485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7c65c1e79836812819705b473a90c12399542485", + "reference": "7c65c1e79836812819705b473a90c12399542485", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/diff": "^6.0", - "sebastian/exporter": "^6.0" + "php": ">=8.3", + "sebastian/diff": "^7.0", + "sebastian/exporter": "^7.0.3" }, "require-dev": { - "phpunit/phpunit": "^11.4" + "phpunit/phpunit": "^12.5.25" }, "suggest": { "ext-bcmath": "For comparing BcMath\\Number objects" @@ -900,7 +776,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.3-dev" + "dev-main": "7.1-dev" } }, "autoload": { @@ -940,7 +816,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.8" }, "funding": [ { @@ -960,33 +836,33 @@ "type": "tidelift" } ], - "time": "2026-01-24T09:26:40+00:00" + "time": "2026-05-21T04:45:25+00:00" }, { "name": "sebastian/complexity", - "version": "4.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", "shasum": "" }, "require": { "nikic/php-parser": "^5.0", - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1010,7 +886,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" }, "funding": [ { @@ -1018,33 +894,33 @@ "type": "github" } ], - "time": "2024-07-03T04:49:50+00:00" + "time": "2025-02-07T04:55:25+00:00" }, { "name": "sebastian/diff", - "version": "6.0.2", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0", - "symfony/process": "^4.2 || ^5" + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1077,7 +953,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" }, "funding": [ { @@ -1085,27 +961,27 @@ "type": "github" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { "name": "sebastian/environment", - "version": "7.2.1", + "version": "8.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/9d32c685773823b1983e256ae4ecd48a10d6e439", + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^12.5.26" }, "suggest": { "ext-posix": "*" @@ -1113,7 +989,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "7.2-dev" + "dev-main": "8.1-dev" } }, "autoload": { @@ -1141,7 +1017,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + "source": "https://github.com/sebastianbergmann/environment/tree/8.1.2" }, "funding": [ { @@ -1161,34 +1037,34 @@ "type": "tidelift" } ], - "time": "2025-05-21T11:55:47+00:00" + "time": "2026-05-25T13:40:20+00:00" }, { "name": "sebastian/exporter", - "version": "6.3.2", + "version": "7.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/recursion-context": "^6.0" + "php": ">=8.3", + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.3-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1231,7 +1107,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.3" }, "funding": [ { @@ -1251,35 +1127,35 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:12:51+00:00" + "time": "2026-05-20T04:37:17+00:00" }, { "name": "sebastian/global-state", - "version": "7.0.2", + "version": "8.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b164d3274d6537ab462591c5755f76a8f5b1aae9", + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.5.28" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-main": "8.0-dev" } }, "autoload": { @@ -1305,41 +1181,53 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2024-07-03T04:57:36+00:00" + "time": "2026-06-01T15:10:33+00:00" }, { "name": "sebastian/lines-of-code", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e", + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" + "nikic/php-parser": "^5.7.0", + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -1363,42 +1251,54 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code", + "type": "tidelift" } ], - "time": "2024-07-03T04:58:38+00:00" + "time": "2026-05-19T16:22:07+00:00" }, { "name": "sebastian/object-enumerator", - "version": "6.0.1", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1421,7 +1321,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" }, "funding": [ { @@ -1429,32 +1329,32 @@ "type": "github" } ], - "time": "2024-07-03T05:00:13+00:00" + "time": "2025-02-07T04:57:48+00:00" }, { "name": "sebastian/object-reflector", - "version": "4.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + "reference": "4bfa827c969c98be1e527abd576533293c634f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -1477,7 +1377,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" }, "funding": [ { @@ -1485,32 +1385,32 @@ "type": "github" } ], - "time": "2024-07-03T05:01:32+00:00" + "time": "2025-02-07T04:58:17+00:00" }, { "name": "sebastian/recursion-context", - "version": "6.0.3", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1541,7 +1441,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" }, "funding": [ { @@ -1561,32 +1461,32 @@ "type": "tidelift" } ], - "time": "2025-08-13T04:42:22+00:00" + "time": "2025-08-13T04:44:59+00:00" }, { "name": "sebastian/type", - "version": "5.1.3", + "version": "6.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" + "reference": "82ff822c2edc46724be9f7411d3163021f602773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/82ff822c2edc46724be9f7411d3163021f602773", + "reference": "82ff822c2edc46724be9f7411d3163021f602773", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1610,7 +1510,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/type/issues", "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" + "source": "https://github.com/sebastianbergmann/type/tree/6.0.4" }, "funding": [ { @@ -1630,29 +1530,29 @@ "type": "tidelift" } ], - "time": "2025-08-09T06:55:48+00:00" + "time": "2026-05-20T06:45:45+00:00" }, { "name": "sebastian/version", - "version": "5.0.2", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -1676,7 +1576,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/version/issues", "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" }, "funding": [ { @@ -1684,7 +1584,7 @@ "type": "github" } ], - "time": "2024-10-09T05:16:32+00:00" + "time": "2025-02-07T05:00:38+00:00" }, { "name": "staabm/side-effects-detector", @@ -1740,23 +1640,23 @@ }, { "name": "theseer/tokenizer", - "version": "1.3.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4", + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" + "php": "^8.1" }, "type": "library", "autoload": { @@ -1778,7 +1678,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + "source": "https://github.com/theseer/tokenizer/tree/2.0.1" }, "funding": [ { @@ -1786,7 +1686,7 @@ "type": "github" } ], - "time": "2025-11-17T20:03:58+00:00" + "time": "2025-12-08T11:19:18+00:00" } ], "aliases": [],