From ed6ce084ea28066d74a82c15e202bf56ad40fb5f Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 11 Dec 2025 22:33:46 +0100 Subject: [PATCH 1/6] chore: enable support for php 8.5 --- .github/workflows/job-extension-tests.yml | 1 + .github/workflows/job-tests.yml | 1 + composer.json | 2 +- src/adapter/etl-adapter-avro/composer.json | 2 +- src/adapter/etl-adapter-chartjs/composer.json | 2 +- src/adapter/etl-adapter-csv/composer.json | 2 +- src/adapter/etl-adapter-doctrine/composer.json | 2 +- src/adapter/etl-adapter-elasticsearch/composer.json | 2 +- src/adapter/etl-adapter-excel/composer.json | 2 +- src/adapter/etl-adapter-google-sheet/composer.json | 2 +- src/adapter/etl-adapter-http/composer.json | 2 +- src/adapter/etl-adapter-json/composer.json | 2 +- src/adapter/etl-adapter-logger/composer.json | 2 +- src/adapter/etl-adapter-meilisearch/composer.json | 2 +- src/adapter/etl-adapter-parquet/composer.json | 2 +- src/adapter/etl-adapter-text/composer.json | 2 +- src/adapter/etl-adapter-xml/composer.json | 2 +- src/bridge/filesystem/async-aws/composer.json | 2 +- src/bridge/filesystem/azure/composer.json | 2 +- src/bridge/monolog/http/composer.json | 2 +- src/bridge/openapi/specification/composer.json | 2 +- src/bridge/symfony/http-foundation/composer.json | 2 +- src/cli/composer.json | 2 +- src/core/etl/composer.json | 2 +- src/lib/array-dot/composer.json | 2 +- src/lib/azure-sdk/composer.json | 2 +- src/lib/doctrine-dbal-bulk/composer.json | 2 +- src/lib/dremel/composer.json | 2 +- src/lib/filesystem/composer.json | 2 +- src/lib/parquet-viewer/composer.json | 2 +- src/lib/parquet/composer.json | 2 +- src/lib/snappy/composer.json | 2 +- src/lib/types/composer.json | 2 +- 33 files changed, 33 insertions(+), 31 deletions(-) diff --git a/.github/workflows/job-extension-tests.yml b/.github/workflows/job-extension-tests.yml index 458f8a1ab..f036b3439 100644 --- a/.github/workflows/job-extension-tests.yml +++ b/.github/workflows/job-extension-tests.yml @@ -13,6 +13,7 @@ jobs: - "8.2" - "8.3" - "8.4" + - "8.5" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/job-tests.yml b/.github/workflows/job-tests.yml index 1e9daa3b0..30bcefec8 100644 --- a/.github/workflows/job-tests.yml +++ b/.github/workflows/job-tests.yml @@ -64,6 +64,7 @@ jobs: - "8.2" - "8.3" - "8.4" + - "8.5" operating-system: - "ubuntu-latest" diff --git a/composer.json b/composer.json index 0003ee2f5..c7afd1751 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "load" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", diff --git a/src/adapter/etl-adapter-avro/composer.json b/src/adapter/etl-adapter-avro/composer.json index 50c25c6bb..3351e2351 100644 --- a/src/adapter/etl-adapter-avro/composer.json +++ b/src/adapter/etl-adapter-avro/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version" }, diff --git a/src/adapter/etl-adapter-chartjs/composer.json b/src/adapter/etl-adapter-chartjs/composer.json index dbb4dc086..749c70fbb 100644 --- a/src/adapter/etl-adapter-chartjs/composer.json +++ b/src/adapter/etl-adapter-chartjs/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-csv/composer.json b/src/adapter/etl-adapter-csv/composer.json index a442b6a5f..bff57999d 100644 --- a/src/adapter/etl-adapter-csv/composer.json +++ b/src/adapter/etl-adapter-csv/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-doctrine/composer.json b/src/adapter/etl-adapter-doctrine/composer.json index 03fd13cb6..644d3fdab 100644 --- a/src/adapter/etl-adapter-doctrine/composer.json +++ b/src/adapter/etl-adapter-doctrine/composer.json @@ -13,7 +13,7 @@ "loader" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "doctrine/dbal": "^3.6 || ^4.0", "flow-php/doctrine-dbal-bulk": "self.version", "flow-php/etl": "self.version" diff --git a/src/adapter/etl-adapter-elasticsearch/composer.json b/src/adapter/etl-adapter-elasticsearch/composer.json index 3dc455554..a15dd5611 100644 --- a/src/adapter/etl-adapter-elasticsearch/composer.json +++ b/src/adapter/etl-adapter-elasticsearch/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-hash": "*", "ext-json": "*", "elasticsearch/elasticsearch": "^7.6|^8.0", diff --git a/src/adapter/etl-adapter-excel/composer.json b/src/adapter/etl-adapter-excel/composer.json index 853bbf3a6..1844690a9 100644 --- a/src/adapter/etl-adapter-excel/composer.json +++ b/src/adapter/etl-adapter-excel/composer.json @@ -12,7 +12,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "openspout/openspout": "^4.0" }, diff --git a/src/adapter/etl-adapter-google-sheet/composer.json b/src/adapter/etl-adapter-google-sheet/composer.json index a91622567..9bc313ca2 100644 --- a/src/adapter/etl-adapter-google-sheet/composer.json +++ b/src/adapter/etl-adapter-google-sheet/composer.json @@ -12,7 +12,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "google/apiclient": "^2.13" }, diff --git a/src/adapter/etl-adapter-http/composer.json b/src/adapter/etl-adapter-http/composer.json index 406241251..b842d586a 100644 --- a/src/adapter/etl-adapter-http/composer.json +++ b/src/adapter/etl-adapter-http/composer.json @@ -10,7 +10,7 @@ "http" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "psr/http-client": "^1.0" diff --git a/src/adapter/etl-adapter-json/composer.json b/src/adapter/etl-adapter-json/composer.json index 0c0aca6b1..80eb646d5 100644 --- a/src/adapter/etl-adapter-json/composer.json +++ b/src/adapter/etl-adapter-json/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "halaxa/json-machine": "^1.1" diff --git a/src/adapter/etl-adapter-logger/composer.json b/src/adapter/etl-adapter-logger/composer.json index 51dea81e3..1457b9cf7 100644 --- a/src/adapter/etl-adapter-logger/composer.json +++ b/src/adapter/etl-adapter-logger/composer.json @@ -11,7 +11,7 @@ "psr" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "psr/log": "^2.0 || ^3.0" }, diff --git a/src/adapter/etl-adapter-meilisearch/composer.json b/src/adapter/etl-adapter-meilisearch/composer.json index b2bac1812..0ab5f186d 100644 --- a/src/adapter/etl-adapter-meilisearch/composer.json +++ b/src/adapter/etl-adapter-meilisearch/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-hash": "*", "ext-json": "*", "meilisearch/meilisearch-php": "^1.11", diff --git a/src/adapter/etl-adapter-parquet/composer.json b/src/adapter/etl-adapter-parquet/composer.json index 008f6f467..d906cd5e9 100644 --- a/src/adapter/etl-adapter-parquet/composer.json +++ b/src/adapter/etl-adapter-parquet/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "flow-php/parquet": "self.version" diff --git a/src/adapter/etl-adapter-text/composer.json b/src/adapter/etl-adapter-text/composer.json index 4043e838d..1bb2e70a0 100644 --- a/src/adapter/etl-adapter-text/composer.json +++ b/src/adapter/etl-adapter-text/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-xml/composer.json b/src/adapter/etl-adapter-xml/composer.json index d240cbfb8..86ecea76e 100644 --- a/src/adapter/etl-adapter-xml/composer.json +++ b/src/adapter/etl-adapter-xml/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-dom": "*", "ext-xml": "*", "ext-xmlreader": "*", diff --git a/src/bridge/filesystem/async-aws/composer.json b/src/bridge/filesystem/async-aws/composer.json index d3d840525..4e31e371d 100644 --- a/src/bridge/filesystem/async-aws/composer.json +++ b/src/bridge/filesystem/async-aws/composer.json @@ -14,7 +14,7 @@ "cloud" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/filesystem": "self.version", "async-aws/s3": "^2.6" }, diff --git a/src/bridge/filesystem/azure/composer.json b/src/bridge/filesystem/azure/composer.json index 5860b443c..4688d917e 100644 --- a/src/bridge/filesystem/azure/composer.json +++ b/src/bridge/filesystem/azure/composer.json @@ -14,7 +14,7 @@ "cloud" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/filesystem": "self.version", "flow-php/azure-sdk": "self.version" }, diff --git a/src/bridge/monolog/http/composer.json b/src/bridge/monolog/http/composer.json index 1eeb76d83..52279e91c 100644 --- a/src/bridge/monolog/http/composer.json +++ b/src/bridge/monolog/http/composer.json @@ -9,7 +9,7 @@ "bridge" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "monolog/monolog": "^2.0||^3.0", "psr/http-message": "^1.0 || ^2.0" }, diff --git a/src/bridge/openapi/specification/composer.json b/src/bridge/openapi/specification/composer.json index 874a88704..503ffaf55 100644 --- a/src/bridge/openapi/specification/composer.json +++ b/src/bridge/openapi/specification/composer.json @@ -10,7 +10,7 @@ "schema" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/bridge/symfony/http-foundation/composer.json b/src/bridge/symfony/http-foundation/composer.json index c4111f488..d1d68e718 100644 --- a/src/bridge/symfony/http-foundation/composer.json +++ b/src/bridge/symfony/http-foundation/composer.json @@ -11,7 +11,7 @@ "response" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/http-foundation": "^6.4 || ^7.3 || ^8.0", "flow-php/etl": "self.version" }, diff --git a/src/cli/composer.json b/src/cli/composer.json index c80d394bf..efa8571dd 100644 --- a/src/cli/composer.json +++ b/src/cli/composer.json @@ -8,7 +8,7 @@ "cli" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/console": "^6.4 || ^7.3 || ^8.0", "symfony/uid": "^6.4 || ^7.3 || ^8.0", "flow-php/etl": "self.version", diff --git a/src/core/etl/composer.json b/src/core/etl/composer.json index a750b49c3..aee04b1de 100644 --- a/src/core/etl/composer.json +++ b/src/core/etl/composer.json @@ -9,7 +9,7 @@ "load" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "ext-mbstring": "*", "psr/clock": "^1.0", diff --git a/src/lib/array-dot/composer.json b/src/lib/array-dot/composer.json index d15129846..48bab2ded 100644 --- a/src/lib/array-dot/composer.json +++ b/src/lib/array-dot/composer.json @@ -12,7 +12,7 @@ "dot" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/azure-sdk/composer.json b/src/lib/azure-sdk/composer.json index 782aac60f..b6f0ba80f 100644 --- a/src/lib/azure-sdk/composer.json +++ b/src/lib/azure-sdk/composer.json @@ -14,7 +14,7 @@ "gcp" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "psr/log": "^2.0 || ^3.0", "psr/http-client": "^1.0", "php-http/discovery": "^1.0" diff --git a/src/lib/doctrine-dbal-bulk/composer.json b/src/lib/doctrine-dbal-bulk/composer.json index 5942e0d06..4f8f10b6b 100644 --- a/src/lib/doctrine-dbal-bulk/composer.json +++ b/src/lib/doctrine-dbal-bulk/composer.json @@ -11,7 +11,7 @@ "upsert" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "doctrine/dbal": "^3.6 || ^4.0" }, "autoload": { diff --git a/src/lib/dremel/composer.json b/src/lib/dremel/composer.json index bfc8d9a26..dff3fa49a 100644 --- a/src/lib/dremel/composer.json +++ b/src/lib/dremel/composer.json @@ -12,7 +12,7 @@ "algorithm" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/filesystem/composer.json b/src/lib/filesystem/composer.json index 32ce69a48..2d7ab3fac 100644 --- a/src/lib/filesystem/composer.json +++ b/src/lib/filesystem/composer.json @@ -14,7 +14,7 @@ "gcp" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/types": "self.version", "webmozart/glob": "^3.0 || ^4.0" }, diff --git a/src/lib/parquet-viewer/composer.json b/src/lib/parquet-viewer/composer.json index c64dc3f26..8e52208ef 100644 --- a/src/lib/parquet-viewer/composer.json +++ b/src/lib/parquet-viewer/composer.json @@ -11,7 +11,7 @@ "parquet" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "coduo/php-humanizer": "^5.0", "flow-php/etl": "self.version", "flow-php/parquet": "self.version", diff --git a/src/lib/parquet/composer.json b/src/lib/parquet/composer.json index 31e065bcd..45494df29 100644 --- a/src/lib/parquet/composer.json +++ b/src/lib/parquet/composer.json @@ -11,7 +11,7 @@ "parquet" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-zlib": "*", "composer-runtime-api": "^2.1", diff --git a/src/lib/snappy/composer.json b/src/lib/snappy/composer.json index 34d9e48d0..f78bde069 100644 --- a/src/lib/snappy/composer.json +++ b/src/lib/snappy/composer.json @@ -13,7 +13,7 @@ "compression" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/types/composer.json b/src/lib/types/composer.json index 832f6786d..bcdd72ea1 100644 --- a/src/lib/types/composer.json +++ b/src/lib/types/composer.json @@ -7,7 +7,7 @@ "types" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/polyfill-php83": "^1.33" }, "config": { From 6d559198455c085f939bb0a37bbfe0b45f6497eb Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 11 Dec 2025 22:38:41 +0100 Subject: [PATCH 2/6] chore: updated dependencies --- composer.lock | 4 ++-- src/lib/postgresql/composer.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/composer.lock b/composer.lock index 0357aa599..3713592cb 100644 --- a/composer.lock +++ b/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": "76b86aeee4538bb6d7fe56d53bff0615", + "content-hash": "6e29525550cd4fc1cd7530499ac5030d", "packages": [ { "name": "async-aws/core", @@ -5530,7 +5530,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", diff --git a/src/lib/postgresql/composer.json b/src/lib/postgresql/composer.json index 705cd502b..967fe2f8f 100644 --- a/src/lib/postgresql/composer.json +++ b/src/lib/postgresql/composer.json @@ -11,7 +11,7 @@ "ast" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", "google/protobuf": "^4.0" }, "require-dev": { From 2a9857ce87d7efa16708bdbed5cdfc9642c127a3 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 11 Dec 2025 22:58:43 +0100 Subject: [PATCH 3/6] chore: drop php 8.2 --- .github/actions/codecov-report/action.yml | 16 +- .github/workflows/baseline.yml | 6 +- .github/workflows/docs.yml | 2 +- .github/workflows/job-benchmark-tests.yml | 2 +- .github/workflows/job-examples.yml | 2 +- .github/workflows/job-extension-tests.yml | 1 - .github/workflows/job-mutation-tests.yml | 2 +- .github/workflows/job-pg-query-extension.yml | 4 +- .github/workflows/job-static-analyze.yml | 2 +- .github/workflows/job-tests.yml | 1 - .github/workflows/release.yml | 2 +- .github/workflows/test-website.yml | 2 +- Dockerfile | 4 +- README.md | 2 +- bin/docs.php | 2 +- composer.json | 2 +- composer.lock | 48 +- rector.src.php | 2 +- rector.tests.php | 2 +- shell.nix | 6 +- src/adapter/etl-adapter-avro/composer.json | 2 +- src/adapter/etl-adapter-chartjs/composer.json | 2 +- src/adapter/etl-adapter-csv/composer.json | 2 +- .../Flow/ETL/Adapter/CSV/Detector/Option.php | 4 +- .../etl-adapter-doctrine/composer.json | 2 +- .../Flow/ETL/Adapter/Doctrine/TypesMap.php | 4 +- .../etl-adapter-elasticsearch/composer.json | 2 +- src/adapter/etl-adapter-excel/composer.json | 2 +- .../Excel/Sheet/SheetNameAssertion.php | 2 +- .../etl-adapter-google-sheet/composer.json | 2 +- src/adapter/etl-adapter-http/composer.json | 2 +- src/adapter/etl-adapter-json/composer.json | 2 +- src/adapter/etl-adapter-logger/composer.json | 2 +- .../etl-adapter-meilisearch/composer.json | 2 +- src/adapter/etl-adapter-parquet/composer.json | 2 +- src/adapter/etl-adapter-text/composer.json | 2 +- src/adapter/etl-adapter-xml/composer.json | 2 +- src/bridge/filesystem/async-aws/composer.json | 2 +- .../Tests/Integration/AsyncAWSS3TestCase.php | 2 + src/bridge/filesystem/azure/composer.json | 2 +- src/bridge/monolog/http/composer.json | 2 +- .../openapi/specification/composer.json | 2 +- .../symfony/http-foundation/composer.json | 2 +- src/cli/composer.json | 2 +- src/cli/flow | 4 +- .../Flow/CLI/Command/FileAnalyzeCommand.php | 2 +- .../Flow/CLI/Command/FileConvertCommand.php | 2 +- .../src/Flow/CLI/Command/FileReadCommand.php | 2 +- src/core/etl/composer.json | 2 +- src/core/etl/src/Flow/ETL/Config.php | 4 +- .../src/Flow/ETL/Config/Cache/CacheConfig.php | 2 +- .../src/Flow/ETL/Config/Sort/SortConfig.php | 2 +- .../ETL/Config/Sort/SortConfigBuilder.php | 2 +- .../Flow/ETL/Filesystem/FilesystemStreams.php | 2 +- src/core/etl/src/Flow/ETL/Schema/Metadata.php | 2 +- .../OrderEntries/TypePriorities.php | 2 +- .../Integration/Cache/CacheBaseTestSuite.php | 2 + .../DataFrame/ConfigBuilderTest.php | 1 + .../FilesystemStreamsTest.php | 1 + .../NotPartitioned/AppendModeTest.php | 1 + .../ExceptionIfExistsModeTest.php | 1 + .../NotPartitioned/IgnoreModeTest.php | 1 + .../NotPartitioned/OverwriteModeTest.php | 1 + .../Partitioned/AppendModeTest.php | 1 + .../Partitioned/ExceptionIfExistsModeTest.php | 1 + .../Partitioned/IgnoreModeTest.php | 1 + .../Partitioned/OverwriteModeTest.php | 1 + .../Pipeline/SynchronousPipelineTest.php | 1 + src/extension/pg-query-ext/composer.json | 2 +- src/lib/array-dot/composer.json | 2 +- src/lib/azure-sdk/composer.json | 2 +- .../src/Flow/Azure/SDK/BlobService.php | 2 +- src/lib/doctrine-dbal-bulk/composer.json | 2 +- src/lib/dremel/composer.json | 2 +- src/lib/filesystem/composer.json | 2 +- .../src/Flow/Filesystem/SizeUnits.php | 6 +- src/lib/parquet-viewer/composer.json | 2 +- .../src/Flow/ParquetViewer/Parquet.php | 1 + src/lib/parquet/composer.json | 2 +- src/lib/parquet/src/Flow/Parquet/Consts.php | 4 +- .../Parquet/Data/DeltaBinaryPackedDecoder.php | 4 +- .../Parquet/Data/DeltaBinaryPackedEncoder.php | 4 +- .../parquet/src/Flow/Parquet/ParquetFile.php | 2 +- .../ParquetFile/Schema/LogicalType.php | 26 +- src/lib/postgresql/composer.json | 2 +- .../QueryBuilder/Insert/InsertBuilder.php | 4 +- src/lib/snappy/composer.json | 2 +- .../src/Flow/Snappy/SnappyCompressor.php | 4 +- .../src/Flow/Snappy/SnappyDecompressor.php | 2 +- src/lib/types/composer.json | 2 +- .../src/Flow/Types/Type/Logical/HTMLType.php | 2 +- src/lib/types/src/Flow/Types/Value/Uuid.php | 2 +- tools/blackfire/composer.json | 2 +- tools/blackfire/composer.lock | 4 +- tools/box/composer.json | 2 +- tools/box/composer.lock | 40 +- tools/cs-fixer/composer.json | 2 +- tools/cs-fixer/composer.lock | 24 +- tools/infection/composer.json | 2 +- tools/infection/composer.lock | 24 +- tools/monorepo/composer.json | 2 +- tools/monorepo/composer.lock | 4 +- tools/phpbench/composer.json | 2 +- tools/phpbench/composer.lock | 4 +- tools/phpdocumentor/composer.json | 2 +- tools/phpdocumentor/composer.lock | 4 +- tools/phpstan/composer.json | 2 +- tools/phpstan/composer.lock | 4 +- tools/phpunit/composer.json | 2 +- tools/phpunit/composer.lock | 4 +- tools/rector/composer.json | 2 +- tools/rector/composer.lock | 4 +- web/landing/assets/wasm/tools/flow.phar | Bin 2849695 -> 2850633 bytes web/landing/composer.json | 2 +- web/landing/composer.lock | 804 +++++++++++------- .../Service/Markdown/FlowVersionReplacer.php | 2 +- .../Functional/PlaygroundStorageTest.php | 1 + 117 files changed, 707 insertions(+), 526 deletions(-) diff --git a/.github/actions/codecov-report/action.yml b/.github/actions/codecov-report/action.yml index fe843aa58..1cafd9ed3 100644 --- a/.github/actions/codecov-report/action.yml +++ b/.github/actions/codecov-report/action.yml @@ -20,7 +20,7 @@ runs: using: composite steps: - name: Download base commit SHA artifact - if: ${{ github.event_name == 'pull_request' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'pull_request' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} uses: dawidd6/action-download-artifact@v11 with: workflow: test-suite.yml @@ -28,21 +28,21 @@ runs: search_artifacts: true - name: Read base commit SHA - if: ${{ github.event_name == 'pull_request' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'pull_request' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} shell: bash run: | ARTIFACT_CONTENT=$(cat codecov-base-commit-sha-${{ inputs.base-branch }}.txt) echo "codecov_base_commit_sha=$ARTIFACT_CONTENT" >> $GITHUB_ENV - name: Upload test results (baseline) - if: ${{ github.event_name == 'push' && !cancelled() && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && !cancelled() && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} uses: codecov/test-results-action@v1 with: token: ${{ inputs.token }} directory: ./var/phpunit/logs - name: Upload code coverage (baseline) - if: ${{ github.event_name == 'push' && !cancelled() && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && !cancelled() && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} uses: codecov/codecov-action@v5 with: token: ${{ inputs.token }} @@ -65,7 +65,7 @@ runs: commit_parent: ${{ env.codecov_base_commit_sha }} - name: Get branch name and commit SHA - if: ${{ github.event_name == 'push' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} shell: bash run: | branch_name=${GITHUB_REF#refs/heads/} @@ -74,12 +74,12 @@ runs: echo "codecov_commit_sha=$commit_sha" >> $GITHUB_ENV - name: Save commit SHA to file - if: ${{ github.event_name == 'push' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} shell: bash run: echo -n "${{ env.codecov_commit_sha }}" > codecov-base-commit-sha-${{ env.codecov_branch_name }}.txt - name: Upload commit SHA as artifact - if: ${{ github.event_name == 'push' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} uses: actions/upload-artifact@v4 with: name: codecov-base-commit-sha-${{ env.codecov_branch_name }} @@ -87,7 +87,7 @@ runs: overwrite: true - name: Add SHA to step summary - if: ${{ github.event_name == 'push' && inputs.php-version == '8.2' && inputs.dependencies == 'locked' }} + if: ${{ github.event_name == 'push' && inputs.php-version == '8.3' && inputs.dependencies == 'locked' }} shell: bash run: | echo "Baseline commit SHA for Codecov: ${{ env.codecov_commit_sha }}" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/baseline.yml b/.github/workflows/baseline.yml index 67f2df9c5..9dba64e34 100644 --- a/.github/workflows/baseline.yml +++ b/.github/workflows/baseline.yml @@ -25,7 +25,7 @@ jobs: dependencies: - "locked" php-version: - - "8.2" + - "8.3" steps: - name: "Checkout" @@ -99,7 +99,7 @@ jobs: dependencies: - "locked" php-version: - - "8.2" + - "8.3" steps: - name: "Set Git Ref" @@ -157,7 +157,7 @@ jobs: fail-fast: false matrix: php-version: - - "8.2" + - "8.3" steps: - name: "Checkout" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4e7c63eec..1678c6cc1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,7 +26,7 @@ jobs: - name: "Setup PHP Environment" uses: "./.github/actions/setup-php-env" with: - php-version: "8.2" + php-version: "8.3" dependencies: "locked" coverage: "none" extensions: ':psr, bcmath, dom, hash, json, mbstring, xml, xmlwriter, xmlreader, zlib' diff --git a/.github/workflows/job-benchmark-tests.yml b/.github/workflows/job-benchmark-tests.yml index 99dce5b79..b6973153c 100644 --- a/.github/workflows/job-benchmark-tests.yml +++ b/.github/workflows/job-benchmark-tests.yml @@ -10,7 +10,7 @@ jobs: dependencies: - "locked" php-version: - - "8.2" + - "8.3" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/job-examples.yml b/.github/workflows/job-examples.yml index 7b21e86df..76d071bec 100644 --- a/.github/workflows/job-examples.yml +++ b/.github/workflows/job-examples.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: php-version: - - "8.2" + - "8.3" steps: - name: "Checkout" diff --git a/.github/workflows/job-extension-tests.yml b/.github/workflows/job-extension-tests.yml index f036b3439..78bdff1c6 100644 --- a/.github/workflows/job-extension-tests.yml +++ b/.github/workflows/job-extension-tests.yml @@ -10,7 +10,6 @@ jobs: dependencies: - "locked" php-version: - - "8.2" - "8.3" - "8.4" - "8.5" diff --git a/.github/workflows/job-mutation-tests.yml b/.github/workflows/job-mutation-tests.yml index 26abb8607..1392d0ae5 100644 --- a/.github/workflows/job-mutation-tests.yml +++ b/.github/workflows/job-mutation-tests.yml @@ -10,7 +10,7 @@ jobs: dependencies: - "locked" php-version: - - "8.2" + - "8.3" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/job-pg-query-extension.yml b/.github/workflows/job-pg-query-extension.yml index f4586d824..472fb1974 100644 --- a/.github/workflows/job-pg-query-extension.yml +++ b/.github/workflows/job-pg-query-extension.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - php: ['8.2', '8.3', '8.4'] + php: ['8.3', '8.4'] steps: - uses: actions/checkout@v5 @@ -60,7 +60,7 @@ jobs: - name: Setup PHP Environment uses: ./.github/actions/setup-php-env with: - php-version: '8.2' + php-version: '8.3' dependencies: locked extensions: ':psr, bcmath, dom, hash, json, mbstring, xml, xmlwriter, xmlreader, zlib' tools: 'composer:v2, phpize, php-config' diff --git a/.github/workflows/job-static-analyze.yml b/.github/workflows/job-static-analyze.yml index 665991e75..740690249 100644 --- a/.github/workflows/job-static-analyze.yml +++ b/.github/workflows/job-static-analyze.yml @@ -11,7 +11,7 @@ jobs: dependencies: - "locked" php-version: - - "8.2" + - "8.3" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/job-tests.yml b/.github/workflows/job-tests.yml index 30bcefec8..13f4fc96c 100644 --- a/.github/workflows/job-tests.yml +++ b/.github/workflows/job-tests.yml @@ -61,7 +61,6 @@ jobs: matrix: dependencies: ${{ fromJSON(inputs.dependencies) }} php-version: - - "8.2" - "8.3" - "8.4" - "8.5" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b2741e89..c88c0104a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: php-version: - - "8.2" + - "8.3" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/test-website.yml b/.github/workflows/test-website.yml index 6deddebf6..72de47f10 100644 --- a/.github/workflows/test-website.yml +++ b/.github/workflows/test-website.yml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: php-version: - - "8.2" + - "8.3" operating-system: - "ubuntu-latest" diff --git a/Dockerfile b/Dockerfile index d56d402eb..9badde8a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Stage 1: Build stage -ARG FLOW_PHP_VERSION=8.2.27 -ARG FLOW_BASE_IMAGE_TAG_SUFFIX=cli-alpine3.20 +ARG FLOW_PHP_VERSION=8.3.28 +ARG FLOW_BASE_IMAGE_TAG_SUFFIX=cli-alpine3.23 ARG FLOW_BASE_IMAGE_TAG=${FLOW_PHP_VERSION}-${FLOW_BASE_IMAGE_TAG_SUFFIX} ARG FLOW_BASE_IMAGE=php:${FLOW_BASE_IMAGE_TAG} diff --git a/README.md b/README.md index 01906cabb..aec5f003a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Flow is a PHP-based, strongly typed data processing framework with a low memory - Discord [Discord Server](https://discord.gg/5dNXfQyACW) Supported PHP -versions: [![PHP 8.2](https://img.shields.io/badge/php-~8.2-8892BF.svg)](https://php.net/) [![PHP 8.3](https://img.shields.io/badge/php-~8.3-8892BF.svg)](https://php.net/) [![PHP 8.4](https://img.shields.io/badge/php-~8.4-8892BF.svg)](https://php.net/) +versions: [![PHP 8.3](https://img.shields.io/badge/php-~8.3-8892BF.svg)](https://php.net/) [![PHP 8.4](https://img.shields.io/badge/php-~8.4-8892BF.svg)](https://php.net/) [![PHP 8.4](https://img.shields.io/badge/php-~8.5-8892BF.svg)](https://php.net/) Supported Operating Systems - Linux diff --git a/bin/docs.php b/bin/docs.php index f748dd71c..73aaf6797 100755 --- a/bin/docs.php +++ b/bin/docs.php @@ -16,7 +16,7 @@ require __DIR__ . '/../vendor/autoload.php'; if (version_compare(PHP_VERSION, '8.3', '>=')) { - print PHP_EOL . 'This app can be run only on PHP 8.2' . PHP_EOL; + print PHP_EOL . 'This app can be run only on PHP 8.3+' . PHP_EOL; exit(1); } diff --git a/composer.json b/composer.json index c7afd1751..a2f6d7d60 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "load" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", diff --git a/composer.lock b/composer.lock index 3713592cb..658e69a3f 100644 --- a/composer.lock +++ b/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": "6e29525550cd4fc1cd7530499ac5030d", + "content-hash": "cdf88bcac0dc3c9c2ee777951beab6e8", "packages": [ { "name": "async-aws/core", @@ -196,21 +196,21 @@ }, { "name": "coduo/php-humanizer", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/coduo/php-humanizer.git", - "reference": "8873082ace4660527641d6306513315e45087270" + "reference": "b38f769ec45ae708ca76ded6b2ddea2e5938fdfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/coduo/php-humanizer/zipball/8873082ace4660527641d6306513315e45087270", - "reference": "8873082ace4660527641d6306513315e45087270", + "url": "https://api.github.com/repos/coduo/php-humanizer/zipball/b38f769ec45ae708ca76ded6b2ddea2e5938fdfb", + "reference": "b38f769ec45ae708ca76ded6b2ddea2e5938fdfb", "shasum": "" }, "require": { - "php": "~8.2 || ~8.3 || ~8.4", - "symfony/translation": "~5.4||~6.4||~7" + "php": "~8.3 || ~8.4 || ~8.5", + "symfony/translation": "~5.4 || ~6.4 || ~7 || ~8" }, "require-dev": { "aeon-php/calendar": "^1.0", @@ -247,7 +247,7 @@ ], "support": { "issues": "https://github.com/coduo/php-humanizer/issues", - "source": "https://github.com/coduo/php-humanizer/tree/5.0.2" + "source": "https://github.com/coduo/php-humanizer/tree/5.0.3" }, "funding": [ { @@ -259,7 +259,7 @@ "type": "github" } ], - "time": "2025-02-06T15:51:17+00:00" + "time": "2025-12-11T20:13:52+00:00" }, { "name": "doctrine/dbal", @@ -1513,16 +1513,16 @@ }, { "name": "openspout/openspout", - "version": "v4.28.5", + "version": "v4.32.0", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "ab05a09fe6fce57c90338f83280648a9786ce36b" + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/ab05a09fe6fce57c90338f83280648a9786ce36b", - "reference": "ab05a09fe6fce57c90338f83280648a9786ce36b", + "url": "https://api.github.com/repos/openspout/openspout/zipball/41f045c1f632e1474e15d4c7bc3abcb4a153563d", + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d", "shasum": "" }, "require": { @@ -1532,17 +1532,17 @@ "ext-libxml": "*", "ext-xmlreader": "*", "ext-zip": "*", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.68.3", - "infection/infection": "^0.29.10", - "phpbench/phpbench": "^1.4.0", - "phpstan/phpstan": "^2.1.2", - "phpstan/phpstan-phpunit": "^2.0.4", - "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "^11.5.4" + "friendsofphp/php-cs-fixer": "^3.86.0", + "infection/infection": "^0.31.2", + "phpbench/phpbench": "^1.4.1", + "phpstan/phpstan": "^2.1.22", + "phpstan/phpstan-phpunit": "^2.0.7", + "phpstan/phpstan-strict-rules": "^2.0.6", + "phpunit/phpunit": "^12.3.7" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -1590,7 +1590,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.28.5" + "source": "https://github.com/openspout/openspout/tree/v4.32.0" }, "funding": [ { @@ -1602,7 +1602,7 @@ "type": "github" } ], - "time": "2025-01-30T13:51:11+00:00" + "time": "2025-09-03T16:03:54+00:00" }, { "name": "packaged/thrift", @@ -5530,7 +5530,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", diff --git a/rector.src.php b/rector.src.php index a5d92cc7a..f6191c202 100644 --- a/rector.src.php +++ b/rector.src.php @@ -29,5 +29,5 @@ ->withCache(__DIR__ . '/var/rector/src') ->withImportNames(importShortClasses: false, removeUnusedImports: true) ->withSets([ - LevelSetList::UP_TO_PHP_82, + LevelSetList::UP_TO_PHP_83, ]); diff --git a/rector.tests.php b/rector.tests.php index 6ace19726..470b16b88 100644 --- a/rector.tests.php +++ b/rector.tests.php @@ -96,7 +96,7 @@ __DIR__ . '/web/landing/tests', ]) ->withSets([ - LevelSetList::UP_TO_PHP_82, + LevelSetList::UP_TO_PHP_83, ]) ->withRules([ DataProviderAnnotationToAttributeRector::class, diff --git a/shell.nix b/shell.nix index acae6fe05..ae44cb0b0 100644 --- a/shell.nix +++ b/shell.nix @@ -12,7 +12,7 @@ let in { pkgs ? lockedPkgs, - php-version ? 8.2, + php-version ? 8.3, with-blackfire ? false, with-xdebug ? false, with-pcov ? !with-blackfire, @@ -22,9 +22,7 @@ in }: let - base-php = if php-version == 8.2 then - pkgs.php82 - else if php-version == 8.3 then + base-php = if php-version == 8.3 then pkgs.php83 else if php-version == 8.4 then pkgs.php84 diff --git a/src/adapter/etl-adapter-avro/composer.json b/src/adapter/etl-adapter-avro/composer.json index 3351e2351..98f7589b6 100644 --- a/src/adapter/etl-adapter-avro/composer.json +++ b/src/adapter/etl-adapter-avro/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version" }, diff --git a/src/adapter/etl-adapter-chartjs/composer.json b/src/adapter/etl-adapter-chartjs/composer.json index 749c70fbb..cc87ac75f 100644 --- a/src/adapter/etl-adapter-chartjs/composer.json +++ b/src/adapter/etl-adapter-chartjs/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-csv/composer.json b/src/adapter/etl-adapter-csv/composer.json index bff57999d..caa6b1234 100644 --- a/src/adapter/etl-adapter-csv/composer.json +++ b/src/adapter/etl-adapter-csv/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-csv/src/Flow/ETL/Adapter/CSV/Detector/Option.php b/src/adapter/etl-adapter-csv/src/Flow/ETL/Adapter/CSV/Detector/Option.php index d78b68107..a1039221f 100644 --- a/src/adapter/etl-adapter-csv/src/Flow/ETL/Adapter/CSV/Detector/Option.php +++ b/src/adapter/etl-adapter-csv/src/Flow/ETL/Adapter/CSV/Detector/Option.php @@ -8,9 +8,9 @@ final class Option { - private const COLUMN_SCORE_WEIGHT = 100_000; + private const int COLUMN_SCORE_WEIGHT = 100_000; - private const COLUMNS_LENGTH_WEIGHT = 10_000; + private const int COLUMNS_LENGTH_WEIGHT = 10_000; /** * @var array> diff --git a/src/adapter/etl-adapter-doctrine/composer.json b/src/adapter/etl-adapter-doctrine/composer.json index 644d3fdab..e9414f337 100644 --- a/src/adapter/etl-adapter-doctrine/composer.json +++ b/src/adapter/etl-adapter-doctrine/composer.json @@ -13,7 +13,7 @@ "loader" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "doctrine/dbal": "^3.6 || ^4.0", "flow-php/doctrine-dbal-bulk": "self.version", "flow-php/etl": "self.version" diff --git a/src/adapter/etl-adapter-doctrine/src/Flow/ETL/Adapter/Doctrine/TypesMap.php b/src/adapter/etl-adapter-doctrine/src/Flow/ETL/Adapter/Doctrine/TypesMap.php index a12c3fdfc..2a1dc6052 100644 --- a/src/adapter/etl-adapter-doctrine/src/Flow/ETL/Adapter/Doctrine/TypesMap.php +++ b/src/adapter/etl-adapter-doctrine/src/Flow/ETL/Adapter/Doctrine/TypesMap.php @@ -27,7 +27,7 @@ final class TypesMap /** * @var array, class-string>> */ - public const DBAL_TYPES = [ + public const array DBAL_TYPES = [ \Doctrine\DBAL\Types\StringType::class => StringType::class, TextType::class => StringType::class, \Doctrine\DBAL\Types\IntegerType::class => IntegerType::class, @@ -53,7 +53,7 @@ final class TypesMap /** * @var array>, class-string> */ - public const FLOW_TYPES = [ + public const array FLOW_TYPES = [ StringType::class => \Doctrine\DBAL\Types\StringType::class, IntegerType::class => \Doctrine\DBAL\Types\IntegerType::class, FloatType::class => \Doctrine\DBAL\Types\FloatType::class, diff --git a/src/adapter/etl-adapter-elasticsearch/composer.json b/src/adapter/etl-adapter-elasticsearch/composer.json index a15dd5611..bf8ba8479 100644 --- a/src/adapter/etl-adapter-elasticsearch/composer.json +++ b/src/adapter/etl-adapter-elasticsearch/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-hash": "*", "ext-json": "*", "elasticsearch/elasticsearch": "^7.6|^8.0", diff --git a/src/adapter/etl-adapter-excel/composer.json b/src/adapter/etl-adapter-excel/composer.json index 1844690a9..76c5a85f6 100644 --- a/src/adapter/etl-adapter-excel/composer.json +++ b/src/adapter/etl-adapter-excel/composer.json @@ -12,7 +12,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "openspout/openspout": "^4.0" }, diff --git a/src/adapter/etl-adapter-excel/src/Flow/ETL/Adapter/Excel/Sheet/SheetNameAssertion.php b/src/adapter/etl-adapter-excel/src/Flow/ETL/Adapter/Excel/Sheet/SheetNameAssertion.php index e61fc0edf..c247589e6 100644 --- a/src/adapter/etl-adapter-excel/src/Flow/ETL/Adapter/Excel/Sheet/SheetNameAssertion.php +++ b/src/adapter/etl-adapter-excel/src/Flow/ETL/Adapter/Excel/Sheet/SheetNameAssertion.php @@ -8,7 +8,7 @@ final class SheetNameAssertion { - private const SHEET_NAME_REGEX = '/^(?!.{32,})[^\/*?:[\]]+$/'; + private const string SHEET_NAME_REGEX = '/^(?!.{32,})[^\/*?:[\]]+$/'; public static function assert(string $sheetName) : void { diff --git a/src/adapter/etl-adapter-google-sheet/composer.json b/src/adapter/etl-adapter-google-sheet/composer.json index 9bc313ca2..ba548c7c1 100644 --- a/src/adapter/etl-adapter-google-sheet/composer.json +++ b/src/adapter/etl-adapter-google-sheet/composer.json @@ -12,7 +12,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "google/apiclient": "^2.13" }, diff --git a/src/adapter/etl-adapter-http/composer.json b/src/adapter/etl-adapter-http/composer.json index b842d586a..2f4d225cb 100644 --- a/src/adapter/etl-adapter-http/composer.json +++ b/src/adapter/etl-adapter-http/composer.json @@ -10,7 +10,7 @@ "http" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "psr/http-client": "^1.0" diff --git a/src/adapter/etl-adapter-json/composer.json b/src/adapter/etl-adapter-json/composer.json index 80eb646d5..085bd42ef 100644 --- a/src/adapter/etl-adapter-json/composer.json +++ b/src/adapter/etl-adapter-json/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "halaxa/json-machine": "^1.1" diff --git a/src/adapter/etl-adapter-logger/composer.json b/src/adapter/etl-adapter-logger/composer.json index 1457b9cf7..21dba439a 100644 --- a/src/adapter/etl-adapter-logger/composer.json +++ b/src/adapter/etl-adapter-logger/composer.json @@ -11,7 +11,7 @@ "psr" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version", "psr/log": "^2.0 || ^3.0" }, diff --git a/src/adapter/etl-adapter-meilisearch/composer.json b/src/adapter/etl-adapter-meilisearch/composer.json index 0ab5f186d..57e5787bc 100644 --- a/src/adapter/etl-adapter-meilisearch/composer.json +++ b/src/adapter/etl-adapter-meilisearch/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-hash": "*", "ext-json": "*", "meilisearch/meilisearch-php": "^1.11", diff --git a/src/adapter/etl-adapter-parquet/composer.json b/src/adapter/etl-adapter-parquet/composer.json index d906cd5e9..8a9b26f4d 100644 --- a/src/adapter/etl-adapter-parquet/composer.json +++ b/src/adapter/etl-adapter-parquet/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-json": "*", "flow-php/etl": "self.version", "flow-php/parquet": "self.version" diff --git a/src/adapter/etl-adapter-text/composer.json b/src/adapter/etl-adapter-text/composer.json index 1bb2e70a0..76adccfc6 100644 --- a/src/adapter/etl-adapter-text/composer.json +++ b/src/adapter/etl-adapter-text/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/etl": "self.version" }, "config": { diff --git a/src/adapter/etl-adapter-xml/composer.json b/src/adapter/etl-adapter-xml/composer.json index 86ecea76e..226f41da3 100644 --- a/src/adapter/etl-adapter-xml/composer.json +++ b/src/adapter/etl-adapter-xml/composer.json @@ -11,7 +11,7 @@ "adapter" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-dom": "*", "ext-xml": "*", "ext-xmlreader": "*", diff --git a/src/bridge/filesystem/async-aws/composer.json b/src/bridge/filesystem/async-aws/composer.json index 4e31e371d..2c479dc9f 100644 --- a/src/bridge/filesystem/async-aws/composer.json +++ b/src/bridge/filesystem/async-aws/composer.json @@ -14,7 +14,7 @@ "cloud" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/filesystem": "self.version", "async-aws/s3": "^2.6" }, diff --git a/src/bridge/filesystem/async-aws/tests/Flow/Filesystem/Bridge/AsyncAWS/Tests/Integration/AsyncAWSS3TestCase.php b/src/bridge/filesystem/async-aws/tests/Flow/Filesystem/Bridge/AsyncAWS/Tests/Integration/AsyncAWSS3TestCase.php index 5b96adae1..360782159 100644 --- a/src/bridge/filesystem/async-aws/tests/Flow/Filesystem/Bridge/AsyncAWS/Tests/Integration/AsyncAWSS3TestCase.php +++ b/src/bridge/filesystem/async-aws/tests/Flow/Filesystem/Bridge/AsyncAWS/Tests/Integration/AsyncAWSS3TestCase.php @@ -12,6 +12,7 @@ abstract class AsyncAWSS3TestCase extends FlowIntegrationTestCase { + #[\Override] protected function setUp() : void { parent::setUp(); @@ -30,6 +31,7 @@ protected function setUp() : void $this->s3Client()->createBucket(['Bucket' => $this->bucket()]); } + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/bridge/filesystem/azure/composer.json b/src/bridge/filesystem/azure/composer.json index 4688d917e..ed48efa54 100644 --- a/src/bridge/filesystem/azure/composer.json +++ b/src/bridge/filesystem/azure/composer.json @@ -14,7 +14,7 @@ "cloud" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/filesystem": "self.version", "flow-php/azure-sdk": "self.version" }, diff --git a/src/bridge/monolog/http/composer.json b/src/bridge/monolog/http/composer.json index 52279e91c..c35b6c4ce 100644 --- a/src/bridge/monolog/http/composer.json +++ b/src/bridge/monolog/http/composer.json @@ -9,7 +9,7 @@ "bridge" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "monolog/monolog": "^2.0||^3.0", "psr/http-message": "^1.0 || ^2.0" }, diff --git a/src/bridge/openapi/specification/composer.json b/src/bridge/openapi/specification/composer.json index 503ffaf55..5088bc68a 100644 --- a/src/bridge/openapi/specification/composer.json +++ b/src/bridge/openapi/specification/composer.json @@ -10,7 +10,7 @@ "schema" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/bridge/symfony/http-foundation/composer.json b/src/bridge/symfony/http-foundation/composer.json index d1d68e718..e77fe053a 100644 --- a/src/bridge/symfony/http-foundation/composer.json +++ b/src/bridge/symfony/http-foundation/composer.json @@ -11,7 +11,7 @@ "response" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/http-foundation": "^6.4 || ^7.3 || ^8.0", "flow-php/etl": "self.version" }, diff --git a/src/cli/composer.json b/src/cli/composer.json index efa8571dd..123138864 100644 --- a/src/cli/composer.json +++ b/src/cli/composer.json @@ -8,7 +8,7 @@ "cli" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/console": "^6.4 || ^7.3 || ^8.0", "symfony/uid": "^6.4 || ^7.3 || ^8.0", "flow-php/etl": "self.version", diff --git a/src/cli/flow b/src/cli/flow index 76b753b57..3a804d81a 100755 --- a/src/cli/flow +++ b/src/cli/flow @@ -1,9 +1,9 @@ #!/usr/bin/env php $externalSortBucketsCount diff --git a/src/core/etl/src/Flow/ETL/Config/Sort/SortConfig.php b/src/core/etl/src/Flow/ETL/Config/Sort/SortConfig.php index ae1ca96c4..ada917639 100644 --- a/src/core/etl/src/Flow/ETL/Config/Sort/SortConfig.php +++ b/src/core/etl/src/Flow/ETL/Config/Sort/SortConfig.php @@ -9,7 +9,7 @@ final readonly class SortConfig { - public const SORT_MAX_MEMORY_ENV = 'FLOW_SORT_MAX_MEMORY'; + public const string SORT_MAX_MEMORY_ENV = 'FLOW_SORT_MAX_MEMORY'; public function __construct( public SortAlgorithms $algorithm, diff --git a/src/core/etl/src/Flow/ETL/Config/Sort/SortConfigBuilder.php b/src/core/etl/src/Flow/ETL/Config/Sort/SortConfigBuilder.php index 60b7002dc..2151a02eb 100644 --- a/src/core/etl/src/Flow/ETL/Config/Sort/SortConfigBuilder.php +++ b/src/core/etl/src/Flow/ETL/Config/Sort/SortConfigBuilder.php @@ -9,7 +9,7 @@ final class SortConfigBuilder { - public const DEFAULT_SORT_MEMORY_PERCENTAGE = 70; + public const int DEFAULT_SORT_MEMORY_PERCENTAGE = 70; private SortAlgorithms $algorithm = SortAlgorithms::MEMORY_FALLBACK_EXTERNAL_SORT; diff --git a/src/core/etl/src/Flow/ETL/Filesystem/FilesystemStreams.php b/src/core/etl/src/Flow/ETL/Filesystem/FilesystemStreams.php index b3f2fa308..2bbb411ec 100644 --- a/src/core/etl/src/Flow/ETL/Filesystem/FilesystemStreams.php +++ b/src/core/etl/src/Flow/ETL/Filesystem/FilesystemStreams.php @@ -13,7 +13,7 @@ */ final class FilesystemStreams implements \Countable, \IteratorAggregate { - public const FLOW_TMP_FILE_PREFIX = '._flow_php_tmp.'; + public const string FLOW_TMP_FILE_PREFIX = '._flow_php_tmp.'; private SaveMode $saveMode = SaveMode::ExceptionIfExists; diff --git a/src/core/etl/src/Flow/ETL/Schema/Metadata.php b/src/core/etl/src/Flow/ETL/Schema/Metadata.php index 5b7eea5c1..c0f85bc98 100644 --- a/src/core/etl/src/Flow/ETL/Schema/Metadata.php +++ b/src/core/etl/src/Flow/ETL/Schema/Metadata.php @@ -11,7 +11,7 @@ final class Metadata { - public const FROM_NULL = 'from_null'; + public const string FROM_NULL = 'from_null'; /** * @param array|bool|float|int|string> $map diff --git a/src/core/etl/src/Flow/ETL/Transformer/OrderEntries/TypePriorities.php b/src/core/etl/src/Flow/ETL/Transformer/OrderEntries/TypePriorities.php index 4658d7e1a..d87a54f33 100644 --- a/src/core/etl/src/Flow/ETL/Transformer/OrderEntries/TypePriorities.php +++ b/src/core/etl/src/Flow/ETL/Transformer/OrderEntries/TypePriorities.php @@ -13,7 +13,7 @@ /** * @var array>,int> */ - public const PRIORITIES = [ + public const array PRIORITIES = [ UuidEntry::class => 1, IntegerEntry::class => 2, BooleanEntry::class => 3, diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Cache/CacheBaseTestSuite.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Cache/CacheBaseTestSuite.php index fe0e6ead9..df2e5c7ac 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Cache/CacheBaseTestSuite.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Cache/CacheBaseTestSuite.php @@ -12,6 +12,7 @@ abstract class CacheBaseTestSuite extends FlowIntegrationTestCase { + #[\Override] protected function setUp() : void { parent::setUp(); @@ -19,6 +20,7 @@ protected function setUp() : void $this->cache()->clear(); } + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/DataFrame/ConfigBuilderTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/DataFrame/ConfigBuilderTest.php index df136ef43..abbee2fba 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/DataFrame/ConfigBuilderTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/DataFrame/ConfigBuilderTest.php @@ -11,6 +11,7 @@ final class ConfigBuilderTest extends FlowIntegrationTestCase { + #[\Override] protected function tearDown() : void { putenv(CacheConfig::CACHE_DIR_ENV . '=' . $this->cacheDir->path()); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/FilesystemStreamsTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/FilesystemStreamsTest.php index fb5e18316..3dd4237dc 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/FilesystemStreamsTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/FilesystemStreamsTest.php @@ -11,6 +11,7 @@ final class FilesystemStreamsTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/AppendModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/AppendModeTest.php index c98a25bc9..733f7b4a9 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/AppendModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/AppendModeTest.php @@ -11,6 +11,7 @@ final class AppendModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/ExceptionIfExistsModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/ExceptionIfExistsModeTest.php index 0a20ceaaf..d19e7a9ab 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/ExceptionIfExistsModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/ExceptionIfExistsModeTest.php @@ -10,6 +10,7 @@ final class ExceptionIfExistsModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/IgnoreModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/IgnoreModeTest.php index 679239eaf..3f2b9cc8d 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/IgnoreModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/IgnoreModeTest.php @@ -10,6 +10,7 @@ final class IgnoreModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/OverwriteModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/OverwriteModeTest.php index 6aa141e6a..2108f6911 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/OverwriteModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/NotPartitioned/OverwriteModeTest.php @@ -11,6 +11,7 @@ final class OverwriteModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/AppendModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/AppendModeTest.php index 34bae5a06..732f35c3e 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/AppendModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/AppendModeTest.php @@ -12,6 +12,7 @@ final class AppendModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/ExceptionIfExistsModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/ExceptionIfExistsModeTest.php index fdbf08060..2723d4729 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/ExceptionIfExistsModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/ExceptionIfExistsModeTest.php @@ -12,6 +12,7 @@ final class ExceptionIfExistsModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/IgnoreModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/IgnoreModeTest.php index ac5a23f9e..a36ced952 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/IgnoreModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/IgnoreModeTest.php @@ -12,6 +12,7 @@ final class IgnoreModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/OverwriteModeTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/OverwriteModeTest.php index bd9eeb2d4..d8e2795d1 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/OverwriteModeTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Filesystem/FilesystemStreams/Partitioned/OverwriteModeTest.php @@ -13,6 +13,7 @@ final class OverwriteModeTest extends FilesystemStreamsTestCase { + #[\Override] protected function tearDown() : void { parent::tearDown(); diff --git a/src/core/etl/tests/Flow/ETL/Tests/Integration/Pipeline/SynchronousPipelineTest.php b/src/core/etl/tests/Flow/ETL/Tests/Integration/Pipeline/SynchronousPipelineTest.php index a58462bc4..79dd20edf 100644 --- a/src/core/etl/tests/Flow/ETL/Tests/Integration/Pipeline/SynchronousPipelineTest.php +++ b/src/core/etl/tests/Flow/ETL/Tests/Integration/Pipeline/SynchronousPipelineTest.php @@ -11,6 +11,7 @@ final class SynchronousPipelineTest extends FlowIntegrationTestCase { + #[\Override] protected function setUp() : void { parent::setUp(); diff --git a/src/extension/pg-query-ext/composer.json b/src/extension/pg-query-ext/composer.json index 0ccc40a53..70297a83d 100644 --- a/src/extension/pg-query-ext/composer.json +++ b/src/extension/pg-query-ext/composer.json @@ -5,7 +5,7 @@ "keywords": ["postgresql", "parser", "sql", "ast", "extension", "libpg_query"], "license": "MIT", "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "scripts": { "build": "make build", diff --git a/src/lib/array-dot/composer.json b/src/lib/array-dot/composer.json index 48bab2ded..e4a287507 100644 --- a/src/lib/array-dot/composer.json +++ b/src/lib/array-dot/composer.json @@ -12,7 +12,7 @@ "dot" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/azure-sdk/composer.json b/src/lib/azure-sdk/composer.json index b6f0ba80f..dcc4bcc44 100644 --- a/src/lib/azure-sdk/composer.json +++ b/src/lib/azure-sdk/composer.json @@ -14,7 +14,7 @@ "gcp" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "psr/log": "^2.0 || ^3.0", "psr/http-client": "^1.0", "php-http/discovery": "^1.0" diff --git a/src/lib/azure-sdk/src/Flow/Azure/SDK/BlobService.php b/src/lib/azure-sdk/src/Flow/Azure/SDK/BlobService.php index 621f97b89..27555249c 100644 --- a/src/lib/azure-sdk/src/Flow/Azure/SDK/BlobService.php +++ b/src/lib/azure-sdk/src/Flow/Azure/SDK/BlobService.php @@ -32,7 +32,7 @@ final readonly class BlobService implements BlobServiceInterface { - public const VERSION = '2024-08-04'; + public const string VERSION = '2024-08-04'; public function __construct( private Configuration $configuration, diff --git a/src/lib/doctrine-dbal-bulk/composer.json b/src/lib/doctrine-dbal-bulk/composer.json index 4f8f10b6b..096c8d1a8 100644 --- a/src/lib/doctrine-dbal-bulk/composer.json +++ b/src/lib/doctrine-dbal-bulk/composer.json @@ -11,7 +11,7 @@ "upsert" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "doctrine/dbal": "^3.6 || ^4.0" }, "autoload": { diff --git a/src/lib/dremel/composer.json b/src/lib/dremel/composer.json index dff3fa49a..7e98759bc 100644 --- a/src/lib/dremel/composer.json +++ b/src/lib/dremel/composer.json @@ -12,7 +12,7 @@ "algorithm" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/filesystem/composer.json b/src/lib/filesystem/composer.json index 2d7ab3fac..17ae95aec 100644 --- a/src/lib/filesystem/composer.json +++ b/src/lib/filesystem/composer.json @@ -14,7 +14,7 @@ "gcp" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "flow-php/types": "self.version", "webmozart/glob": "^3.0 || ^4.0" }, diff --git a/src/lib/filesystem/src/Flow/Filesystem/SizeUnits.php b/src/lib/filesystem/src/Flow/Filesystem/SizeUnits.php index 5cd8645cc..6f824fb30 100644 --- a/src/lib/filesystem/src/Flow/Filesystem/SizeUnits.php +++ b/src/lib/filesystem/src/Flow/Filesystem/SizeUnits.php @@ -6,11 +6,11 @@ final class SizeUnits { - public const GiB_SIZE = 1073741824; + public const int GiB_SIZE = 1073741824; - public const KiB_SIZE = 1024; + public const int KiB_SIZE = 1024; - public const MiB_SIZE = 1048576; + public const int MiB_SIZE = 1048576; public static function gbToBytes(int $gb) : int { diff --git a/src/lib/parquet-viewer/composer.json b/src/lib/parquet-viewer/composer.json index 8e52208ef..2a58a70ba 100644 --- a/src/lib/parquet-viewer/composer.json +++ b/src/lib/parquet-viewer/composer.json @@ -11,7 +11,7 @@ "parquet" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "coduo/php-humanizer": "^5.0", "flow-php/etl": "self.version", "flow-php/parquet": "self.version", diff --git a/src/lib/parquet-viewer/src/Flow/ParquetViewer/Parquet.php b/src/lib/parquet-viewer/src/Flow/ParquetViewer/Parquet.php index 46eba856e..350c41cfc 100644 --- a/src/lib/parquet-viewer/src/Flow/ParquetViewer/Parquet.php +++ b/src/lib/parquet-viewer/src/Flow/ParquetViewer/Parquet.php @@ -10,6 +10,7 @@ final class Parquet extends Application { + #[\Override] protected function getDefaultCommands() : array { return [ diff --git a/src/lib/parquet/composer.json b/src/lib/parquet/composer.json index 45494df29..4685bb8af 100644 --- a/src/lib/parquet/composer.json +++ b/src/lib/parquet/composer.json @@ -11,7 +11,7 @@ "parquet" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-zlib": "*", "composer-runtime-api": "^2.1", diff --git a/src/lib/parquet/src/Flow/Parquet/Consts.php b/src/lib/parquet/src/Flow/Parquet/Consts.php index ed84505ba..f4b73dee7 100644 --- a/src/lib/parquet/src/Flow/Parquet/Consts.php +++ b/src/lib/parquet/src/Flow/Parquet/Consts.php @@ -6,7 +6,7 @@ final class Consts { - public const PHP_INT32_MAX = 2147483647; + public const int PHP_INT32_MAX = 2147483647; - public const PHP_INT64_MAX = 9223372036854775807; + public const int PHP_INT64_MAX = 9223372036854775807; } diff --git a/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedDecoder.php b/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedDecoder.php index a07fda95e..10caab577 100644 --- a/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedDecoder.php +++ b/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedDecoder.php @@ -9,9 +9,9 @@ final readonly class DeltaBinaryPackedDecoder { - private const DEFAULT_BLOCK_SIZE = 128; + private const int DEFAULT_BLOCK_SIZE = 128; - private const DEFAULT_MINIBLOCK_SIZE = 32; + private const int DEFAULT_MINIBLOCK_SIZE = 32; public function __construct( private int $blockSize = self::DEFAULT_BLOCK_SIZE, diff --git a/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedEncoder.php b/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedEncoder.php index 7daa7819f..1a911a0f3 100644 --- a/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedEncoder.php +++ b/src/lib/parquet/src/Flow/Parquet/Data/DeltaBinaryPackedEncoder.php @@ -9,9 +9,9 @@ final readonly class DeltaBinaryPackedEncoder { - private const DEFAULT_BLOCK_SIZE = 128; + private const int DEFAULT_BLOCK_SIZE = 128; - private const DEFAULT_MINIBLOCK_SIZE = 32; + private const int DEFAULT_MINIBLOCK_SIZE = 32; public function __construct( private int $blockSize = self::DEFAULT_BLOCK_SIZE, diff --git a/src/lib/parquet/src/Flow/Parquet/ParquetFile.php b/src/lib/parquet/src/Flow/Parquet/ParquetFile.php index dae040fa6..41bcf6019 100644 --- a/src/lib/parquet/src/Flow/Parquet/ParquetFile.php +++ b/src/lib/parquet/src/Flow/Parquet/ParquetFile.php @@ -23,7 +23,7 @@ final class ParquetFile { - public const PARQUET_MAGIC_NUMBER = 'PAR1'; + public const string PARQUET_MAGIC_NUMBER = 'PAR1'; private readonly DremelAssembler $dremelAssembler; diff --git a/src/lib/parquet/src/Flow/Parquet/ParquetFile/Schema/LogicalType.php b/src/lib/parquet/src/Flow/Parquet/ParquetFile/Schema/LogicalType.php index cbbe416ce..487198b67 100644 --- a/src/lib/parquet/src/Flow/Parquet/ParquetFile/Schema/LogicalType.php +++ b/src/lib/parquet/src/Flow/Parquet/ParquetFile/Schema/LogicalType.php @@ -10,31 +10,31 @@ final readonly class LogicalType { - public const BSON = 'BSON'; + public const string BSON = 'BSON'; - public const DATE = 'DATE'; + public const string DATE = 'DATE'; - public const DECIMAL = 'DECIMAL'; + public const string DECIMAL = 'DECIMAL'; - public const ENUM = 'ENUM'; + public const string ENUM = 'ENUM'; - public const INTEGER = 'INTEGER'; + public const string INTEGER = 'INTEGER'; - public const JSON = 'JSON'; + public const string JSON = 'JSON'; - public const LIST = 'LIST'; + public const string LIST = 'LIST'; - public const MAP = 'MAP'; + public const string MAP = 'MAP'; - public const STRING = 'STRING'; + public const string STRING = 'STRING'; - public const TIME = 'TIME'; + public const string TIME = 'TIME'; - public const TIMESTAMP = 'TIMESTAMP'; + public const string TIMESTAMP = 'TIMESTAMP'; - public const UNKNOWN = 'UNKNOWN'; + public const string UNKNOWN = 'UNKNOWN'; - public const UUID = 'UUID'; + public const string UUID = 'UUID'; public function __construct( private string $name, diff --git a/src/lib/postgresql/composer.json b/src/lib/postgresql/composer.json index 967fe2f8f..14c90dbb3 100644 --- a/src/lib/postgresql/composer.json +++ b/src/lib/postgresql/composer.json @@ -11,7 +11,7 @@ "ast" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "google/protobuf": "^4.0" }, "require-dev": { diff --git a/src/lib/postgresql/src/Flow/PostgreSql/QueryBuilder/Insert/InsertBuilder.php b/src/lib/postgresql/src/Flow/PostgreSql/QueryBuilder/Insert/InsertBuilder.php index cd276303d..f4a861761 100644 --- a/src/lib/postgresql/src/Flow/PostgreSql/QueryBuilder/Insert/InsertBuilder.php +++ b/src/lib/postgresql/src/Flow/PostgreSql/QueryBuilder/Insert/InsertBuilder.php @@ -131,10 +131,10 @@ public static function fromAst(Node $node) : static if ($targetList === null || \count($targetList) === 0) { $defaultValues = true; } else { - $selectQuery = new class($selectStmt) implements SelectFinalStep { + $selectQuery = new readonly class($selectStmt) implements SelectFinalStep { use AstToSql; - public function __construct(private readonly SelectStmt $stmt) + public function __construct(private SelectStmt $stmt) { } diff --git a/src/lib/snappy/composer.json b/src/lib/snappy/composer.json index f78bde069..ea749b307 100644 --- a/src/lib/snappy/composer.json +++ b/src/lib/snappy/composer.json @@ -13,7 +13,7 @@ "compression" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "config": { "optimize-autoloader": true, diff --git a/src/lib/snappy/src/Flow/Snappy/SnappyCompressor.php b/src/lib/snappy/src/Flow/Snappy/SnappyCompressor.php index f4f19793a..1539047ed 100644 --- a/src/lib/snappy/src/Flow/Snappy/SnappyCompressor.php +++ b/src/lib/snappy/src/Flow/Snappy/SnappyCompressor.php @@ -9,11 +9,11 @@ */ final class SnappyCompressor { - private const BLOCK_LOG = 16; + private const int BLOCK_LOG = 16; private const BLOCK_SIZE = 1 << self::BLOCK_LOG; - private const MAX_HASH_TABLE_BITS = 14; + private const int MAX_HASH_TABLE_BITS = 14; private readonly int $arrayLength; diff --git a/src/lib/snappy/src/Flow/Snappy/SnappyDecompressor.php b/src/lib/snappy/src/Flow/Snappy/SnappyDecompressor.php index 6929edb23..27421eec6 100644 --- a/src/lib/snappy/src/Flow/Snappy/SnappyDecompressor.php +++ b/src/lib/snappy/src/Flow/Snappy/SnappyDecompressor.php @@ -9,7 +9,7 @@ */ final class SnappyDecompressor { - private const WORD_MASK = [0, 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF]; + private const array WORD_MASK = [0, 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF]; private readonly int $arrayLength; diff --git a/src/lib/types/composer.json b/src/lib/types/composer.json index bcdd72ea1..bda7dfccd 100644 --- a/src/lib/types/composer.json +++ b/src/lib/types/composer.json @@ -7,7 +7,7 @@ "types" ], "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "symfony/polyfill-php83": "^1.33" }, "config": { diff --git a/src/lib/types/src/Flow/Types/Type/Logical/HTMLType.php b/src/lib/types/src/Flow/Types/Type/Logical/HTMLType.php index 1be4c8797..6687d34e2 100644 --- a/src/lib/types/src/Flow/Types/Type/Logical/HTMLType.php +++ b/src/lib/types/src/Flow/Types/Type/Logical/HTMLType.php @@ -13,7 +13,7 @@ */ final readonly class HTMLType implements Type { - public const HTML_ALIKE_REGEX = <<<'REGXP' + public const string HTML_ALIKE_REGEX = <<<'REGXP' @^ ]*>\s* # must start with ]*>\s* # opening diff --git a/src/lib/types/src/Flow/Types/Value/Uuid.php b/src/lib/types/src/Flow/Types/Value/Uuid.php index dac25abd4..9fab5ff65 100644 --- a/src/lib/types/src/Flow/Types/Value/Uuid.php +++ b/src/lib/types/src/Flow/Types/Value/Uuid.php @@ -13,7 +13,7 @@ * This regexp is a port of the Uuid library, * which is copyright Ben Ramsey, @see https://github.com/ramsey/uuid. */ - private const UUID_REGEXP = '/\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/ms'; + private const string UUID_REGEXP = '/\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/ms'; private string $value; diff --git a/tools/blackfire/composer.json b/tools/blackfire/composer.json index 752e01d23..ce1213db6 100644 --- a/tools/blackfire/composer.json +++ b/tools/blackfire/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "blackfire/php-sdk": "^2.3" }, "config": { diff --git a/tools/blackfire/composer.lock b/tools/blackfire/composer.lock index da0e35a95..70751344c 100644 --- a/tools/blackfire/composer.lock +++ b/tools/blackfire/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": "7a690509cdbae4c1832e06119c5c28fd", + "content-hash": "384a73f6eda7941f7b18e991a5312de1", "packages": [], "packages-dev": [ { @@ -163,7 +163,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/box/composer.json b/tools/box/composer.json index d7eb8b414..7e31e950d 100644 --- a/tools/box/composer.json +++ b/tools/box/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "humbug/box": "^4.4" }, "config": { diff --git a/tools/box/composer.lock b/tools/box/composer.lock index d21419a66..be759754c 100644 --- a/tools/box/composer.lock +++ b/tools/box/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": "4d1f4e541a62d2a8bb93b6e13dfd932a", + "content-hash": "6eeeeb535269fe5793ff6bc90a9a76da", "packages": [], "packages-dev": [ { @@ -1217,27 +1217,27 @@ }, { "name": "fidry/filesystem", - "version": "1.2.3", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/theofidry/filesystem.git", - "reference": "3e1f9cac40f807b7c4196013ab77cc1b9416e3e5" + "reference": "d0d9e8dfa43f7663da153c306b0d5bc24846ad8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/filesystem/zipball/3e1f9cac40f807b7c4196013ab77cc1b9416e3e5", - "reference": "3e1f9cac40f807b7c4196013ab77cc1b9416e3e5", + "url": "https://api.github.com/repos/theofidry/filesystem/zipball/d0d9e8dfa43f7663da153c306b0d5bc24846ad8e", + "reference": "d0d9e8dfa43f7663da153c306b0d5bc24846ad8e", "shasum": "" }, "require": { - "php": "^8.1", + "php": "^8.3", "symfony/filesystem": "^6.4 || ^7.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4", "ergebnis/composer-normalize": "^2.28", "infection/infection": ">=0.26", - "phpunit/phpunit": "^10.3", + "phpunit/phpunit": "^12", "symfony/finder": "^6.4 || ^7.0" }, "type": "library", @@ -1271,7 +1271,7 @@ ], "support": { "issues": "https://github.com/theofidry/filesystem/issues", - "source": "https://github.com/theofidry/filesystem/tree/1.2.3" + "source": "https://github.com/theofidry/filesystem/tree/1.3.0" }, "funding": [ { @@ -1279,7 +1279,7 @@ "type": "github" } ], - "time": "2025-02-13T22:58:51+00:00" + "time": "2025-02-13T23:05:19+00:00" }, { "name": "humbug/box", @@ -2581,29 +2581,29 @@ }, { "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": { @@ -2636,7 +2636,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": [ { @@ -2644,7 +2644,7 @@ "type": "github" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { "name": "seld/jsonlint", @@ -4171,7 +4171,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/cs-fixer/composer.json b/tools/cs-fixer/composer.json index 70b7ff28e..73a0b2381 100644 --- a/tools/cs-fixer/composer.json +++ b/tools/cs-fixer/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "friendsofphp/php-cs-fixer": "~3.68" }, "config": { diff --git a/tools/cs-fixer/composer.lock b/tools/cs-fixer/composer.lock index e45e2ed2c..c22ced2cc 100644 --- a/tools/cs-fixer/composer.lock +++ b/tools/cs-fixer/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": "2c06ee350bbd7e2cbf63ebcc8c623734", + "content-hash": "2a82dc832dbb4a73a4eefe36f85eea11", "packages": [], "packages-dev": [ { @@ -1185,29 +1185,29 @@ }, { "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": { @@ -1240,7 +1240,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": [ { @@ -1248,7 +1248,7 @@ "type": "github" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { "name": "symfony/console", @@ -2681,7 +2681,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/infection/composer.json b/tools/infection/composer.json index 95bf19086..eeaf01b04 100644 --- a/tools/infection/composer.json +++ b/tools/infection/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "infection/infection": "^0.31" }, "config": { diff --git a/tools/infection/composer.lock b/tools/infection/composer.lock index 361488365..1ea2ca870 100644 --- a/tools/infection/composer.lock +++ b/tools/infection/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": "ceb45a0d759f990e41f128e3d68b3081", + "content-hash": "2727e399fc651285d81b422316b1cf4e", "packages": [], "packages-dev": [ { @@ -1370,29 +1370,29 @@ }, { "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": { @@ -1425,7 +1425,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": [ { @@ -1433,7 +1433,7 @@ "type": "github" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { "name": "symfony/console", @@ -2521,7 +2521,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/monorepo/composer.json b/tools/monorepo/composer.json index a03f4ec0c..bad249cba 100644 --- a/tools/monorepo/composer.json +++ b/tools/monorepo/composer.json @@ -4,7 +4,7 @@ "minimum-stability": "dev", "prefer-stable": true, "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "symplify/monorepo-builder": "11.2.22" }, "config": { diff --git a/tools/monorepo/composer.lock b/tools/monorepo/composer.lock index c64d291b2..bd9f5e737 100644 --- a/tools/monorepo/composer.lock +++ b/tools/monorepo/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": "9bdd3b3b44f446f577e1a7912b3670bb", + "content-hash": "094424f4662738e3ce2b188d0c082205", "packages": [], "packages-dev": [ { @@ -67,7 +67,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/phpbench/composer.json b/tools/phpbench/composer.json index fbedc2a9b..2fd0911a3 100644 --- a/tools/phpbench/composer.json +++ b/tools/phpbench/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "phpbench/phpbench": "^1.2" }, "config": { diff --git a/tools/phpbench/composer.lock b/tools/phpbench/composer.lock index d52a9dba4..349f18cf9 100644 --- a/tools/phpbench/composer.lock +++ b/tools/phpbench/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": "ec7ceedc30f84d8d9849bd76c3b49375", + "content-hash": "95e681cc367537ee8634cd0a83736605", "packages": [], "packages-dev": [ { @@ -1535,7 +1535,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/phpdocumentor/composer.json b/tools/phpdocumentor/composer.json index cd1844680..6e616d9c3 100644 --- a/tools/phpdocumentor/composer.json +++ b/tools/phpdocumentor/composer.json @@ -7,7 +7,7 @@ } }, "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "phpdocumentor/shim": "^3.6" } } diff --git a/tools/phpdocumentor/composer.lock b/tools/phpdocumentor/composer.lock index acead67f2..7758df5c6 100644 --- a/tools/phpdocumentor/composer.lock +++ b/tools/phpdocumentor/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": "c895a7be588968d86b4148b9d47721f6", + "content-hash": "37c824ec351ad17978a25a8fd8e5fe22", "packages": [], "packages-dev": [ { @@ -265,7 +265,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/phpstan/composer.json b/tools/phpstan/composer.json index bc770dfd0..5782d2285 100644 --- a/tools/phpstan/composer.json +++ b/tools/phpstan/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "phpstan/phpstan": "^2.1.1", "spaze/phpstan-disallowed-calls": "^4.4" }, diff --git a/tools/phpstan/composer.lock b/tools/phpstan/composer.lock index fd915112f..5f9093755 100644 --- a/tools/phpstan/composer.lock +++ b/tools/phpstan/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": "bc32327e05b49f3ac8d6dbfd0c015ff4", + "content-hash": "72ba8e9b3f21e9876aa84847d252a1c4", "packages": [], "packages-dev": [ { @@ -135,7 +135,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/phpunit/composer.json b/tools/phpunit/composer.json index b49becb3c..a47db8980 100644 --- a/tools/phpunit/composer.json +++ b/tools/phpunit/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "phpunit/phpunit": "^11" }, "config": { diff --git a/tools/phpunit/composer.lock b/tools/phpunit/composer.lock index d8ebacd2c..89c4d3afe 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": "43f39836343bdc1a83acfdc2a7305df6", + "content-hash": "5b1ddc02f073d735357aaa8de813e235", "packages": [], "packages-dev": [ { @@ -1783,7 +1783,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/tools/rector/composer.json b/tools/rector/composer.json index 3586425f2..18fbb71a4 100644 --- a/tools/rector/composer.json +++ b/tools/rector/composer.json @@ -2,7 +2,7 @@ "name": "flow-php/flow-tools", "description": "Flow PHP ETL - Tools", "require-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "rector/rector": "^2.0" }, "autoload": { diff --git a/tools/rector/composer.lock b/tools/rector/composer.lock index 8dda9cc8c..32239c92a 100644 --- a/tools/rector/composer.lock +++ b/tools/rector/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": "ef5bb0f110ae068bd29fac7d15b0cb86", + "content-hash": "79b2d4c363254bd9f0eab5d73c9b16e2", "packages": [], "packages-dev": [ { @@ -128,7 +128,7 @@ "prefer-lowest": false, "platform": {}, "platform-dev": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "plugin-api-version": "2.6.0" } diff --git a/web/landing/assets/wasm/tools/flow.phar b/web/landing/assets/wasm/tools/flow.phar index 69525c9ab25fbf1396d683bbe339d8840ea332e8..e1c632d3bf02c1c4df1f8a755948d9121cd4b3dc 100755 GIT binary patch delta 136926 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 z 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�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

LKY9?%!Tf^maev;I#WY#g7#_ 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 M1ONa41V=(mLZS3|WdHyG delta 136006 zcmaHUcU({H`?zxsX%`jkfry68kW^MBqpYk_h@z>GU3Ny|;I@?=W$#(fW6$gr%6Ldd zJ&!%|yYB0{OP}u_KYzGi@AtXxYp;8pcNfcZqzzwkr1V$vVOO@+UT&x+*VIwXrCPd& zUEL!ONY$!k*Rb$rMe&LedpcOsg2x6135nx|CAh>z#LcWzt=eH%HC`Hv;Mc2FtCsZd zM<>;8pS#*bZj4_>!plqckSGQJI%XUCbJt>doLt|wS!hLLBt=fMz&M#x} zdXl?(NwMV*-zsDHFtGY)gxLhR;|8%`(6dyb^@ylJB_{mZ$o`1Pm3laaO zAyykf3bm1`9y<8xluk5dI!vp^^^JVTYnlKrW;J;!*>IkbQFXg{Q5|yDlPL}YNTh?H8LhFs!w8g9M}9Wz{o9R z2;=aLHD<8Da@k0YTh$66)y}nyIHG~I#`586E#%CzHuAZvHreVDV1N0foi!=P*08O0 zP-M)A*a;N`tOS7^fO}os*GMf|#JNyE8X2NU58(SPZ_jV6nD4HRGB)JoCK@BT5@S?g zhzTn2nhAdLt`m!sInr&rGHuko)&o?1I}LS%sivj(*ii`;)NKXz!vNTH?dOH+jpn`7 zbW<&LMO~{(@{SLk-XVt7W_qeweLao+I7@Xioyi$FVLFKqZOl-)N6e=4Pi@U{IA)F@ zo)-A*v;~^M+j1NSIbxZFBsK!=89r1JG)ryjT67#288sq&EVpN-IoY#&jcV0C zxEF0zT|03Q6l(}f1Jv8=&EOQA>XUmM1NLm6+nrMPx{+#XHn2b{4V7xun3q=(K6u}# zraG;mj=H!(ZG3nKW?kJAG)&E(+)L#TCpFSm_3UeL%(nKZn@s!3{F8MUp=8Y!e z{71lx^|XjJ0(k@cG7FIIFZW!pE*VBhImPJ?1{_Vg!vsEPHAYRRHs&f`+5|P1)C4`{ zO%rtcaK|JL_|y@p4{;(X_XFxTLpEoqc`bXXF3$Cl-UzUBh~=0J2&Z0ZwzDmtcg=Y! zA9}dp^h++NtDa3~;)FcFQe@)l&$X&LxjNvNjX_V_=ccqJ4=yxsq3(9Y^l;G?CHHBD zHoVvjwbHFQB0k?7Kl!#mS2^7RrSfcv@*HkC1rcWgwelG=5#}>JY0skVCxGs8;P*lR3Z9V74ucRa-ZGE~u*;a#BO2_ELYhX~H2L+ak!0w#d0-JCtL4JF@3%?pqqqW@CU&_b^fy zyBi^O+qbyPzSV|;iG1j{%x zy%u`ObPw{9Z7}2Nx_%nyCDT2`j1K4}b{$9~I|1g`j$1}zBEcAVlJ922!@LJZkzjUW zX{M(cXKB4B8p_rSC0pl3Hs1lzMvX5_K%2+S)lh$W)%xEY>J1LSb7&*r_G_ZsM-)Xs zswN!`P?YlO;M>J%cZs8pB+3cEZ8kYqkA&}3S2gK`Vl?c8@t)NQ-J)@4WN2&W#hgpG zE-UzOy~|QQ4DYJ);cM5`d|2j_&WDD+%lUB97v=HvqvYg=pS-)x<c!ptNVwv&$Q>($9pk8^bJ_Xhc^Mp+mt|L-?;ZG{^jo8OOet$pp-Dc`kLzM+ZU+RP@e`` zsekt|;V=*TAc^3X&7~Vlm4y&&I3`0-W8;03;us1wA{t8>t3~FX+xTkt~1giYW2vT_l0Bq4W`N8(q0RT?)XgCtQ z6rRWtd5y$kaC{`CCtm+!OS)Y6Badsip1OP#dd`kf1hf`_Vm^JcAwgV6d#MW|km&jd zL}nH_o}*q8iIqruG;*9Wnp%-VoS`FO#cJR>Ur?5=8ZZV0ix`8G3dh8u0u}*S=PLy= zmYkhYwjANrC^T%ZXdG@tW10~$i+fkXb2umGR!1zybFw|Uj;_Gf7izF&S0pKN;13Zt`Tr%j30C(e25|2v4(( zrkbdSr=ayOOhH}rno4EB9i%r_Tkb>9J<~MQT~m$J&eM>CplPXyjyJGw!=k-0^7c%# zQU^@O=VPYN#^;5QxF3ue6vE=ov3ΈO3Et7lR&hQixq)O~ykD&R}XBCd`(Gv@F? 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 diff --git a/web/landing/composer.json b/web/landing/composer.json index 674813a03..afc733aac 100644 --- a/web/landing/composer.json +++ b/web/landing/composer.json @@ -3,7 +3,7 @@ "description": "Flow PHP ETL - Web", "type": "project", "require": { - "php": "8.2.*", + "php": "8.3.*", "flow-php/etl": ">=0.23.0", "flow-php/etl-adapter-http": ">=0.23.0", "nyholm/psr7": "^1.8", diff --git a/web/landing/composer.lock b/web/landing/composer.lock index 3be5b639c..b6067524c 100644 --- a/web/landing/composer.lock +++ b/web/landing/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": "afba3dce3b396f7523fcbf86917d9267", + "content-hash": "eba577c63444051a6ecdac007f116e5f", "packages": [ { "name": "brick/math", @@ -134,21 +134,21 @@ }, { "name": "coduo/php-humanizer", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/coduo/php-humanizer.git", - "reference": "8873082ace4660527641d6306513315e45087270" + "reference": "b38f769ec45ae708ca76ded6b2ddea2e5938fdfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/coduo/php-humanizer/zipball/8873082ace4660527641d6306513315e45087270", - "reference": "8873082ace4660527641d6306513315e45087270", + "url": "https://api.github.com/repos/coduo/php-humanizer/zipball/b38f769ec45ae708ca76ded6b2ddea2e5938fdfb", + "reference": "b38f769ec45ae708ca76ded6b2ddea2e5938fdfb", "shasum": "" }, "require": { - "php": "~8.2 || ~8.3 || ~8.4", - "symfony/translation": "~5.4||~6.4||~7" + "php": "~8.3 || ~8.4 || ~8.5", + "symfony/translation": "~5.4 || ~6.4 || ~7 || ~8" }, "require-dev": { "aeon-php/calendar": "^1.0", @@ -185,7 +185,7 @@ ], "support": { "issues": "https://github.com/coduo/php-humanizer/issues", - "source": "https://github.com/coduo/php-humanizer/tree/5.0.2" + "source": "https://github.com/coduo/php-humanizer/tree/5.0.3" }, "funding": [ { @@ -197,7 +197,7 @@ "type": "github" } ], - "time": "2025-02-06T15:51:17+00:00" + "time": "2025-12-11T20:13:52+00:00" }, { "name": "composer/semver", @@ -1019,20 +1019,20 @@ }, { "name": "nette/utils", - "version": "v4.0.9", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "505a30ad386daa5211f08a318e47015b501cad30" + "reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/505a30ad386daa5211f08a318e47015b501cad30", - "reference": "505a30ad386daa5211f08a318e47015b501cad30", + "url": "https://api.github.com/repos/nette/utils/zipball/fa1f0b8261ed150447979eb22e373b7b7ad5a8e0", + "reference": "fa1f0b8261ed150447979eb22e373b7b7ad5a8e0", "shasum": "" }, "require": { - "php": "8.0 - 8.5" + "php": "8.2 - 8.5" }, "conflict": { "nette/finder": "<3", @@ -1055,7 +1055,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -1102,9 +1102,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.9" + "source": "https://github.com/nette/utils/tree/v4.1.0" }, - "time": "2025-10-31T00:45:47+00:00" + "time": "2025-12-01T17:49:23+00:00" }, { "name": "nyholm/psr7", @@ -1186,27 +1186,27 @@ }, { "name": "php-http/curl-client", - "version": "2.3.3", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/php-http/curl-client.git", - "reference": "f3eb48d266341afec0229a7a37a03521d3646b81" + "reference": "f59d6992065f44be8b8fb484dd678a919c27dbf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/curl-client/zipball/f3eb48d266341afec0229a7a37a03521d3646b81", - "reference": "f3eb48d266341afec0229a7a37a03521d3646b81", + "url": "https://api.github.com/repos/php-http/curl-client/zipball/f59d6992065f44be8b8fb484dd678a919c27dbf2", + "reference": "f59d6992065f44be8b8fb484dd678a919c27dbf2", "shasum": "" }, "require": { "ext-curl": "*", - "php": "^7.4 || ^8.0", + "php": "^8.1", "php-http/discovery": "^1.6", "php-http/httplug": "^2.0", "php-http/message": "^1.2", "psr/http-client": "^1.0", "psr/http-factory-implementation": "^1.0", - "symfony/options-resolver": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "symfony/options-resolver": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0" }, "provide": { "php-http/async-client-implementation": "1.0", @@ -1216,9 +1216,9 @@ "require-dev": { "guzzlehttp/psr7": "^2.0", "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/client-integration-tests": "^3.0", + "php-http/client-integration-tests": "^4.0", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^7.5 || ^9.4" + "phpunit/phpunit": "^9.6.17 || ^10.0 || ^11.0 || ^12.0" }, "type": "library", "autoload": { @@ -1245,9 +1245,9 @@ ], "support": { "issues": "https://github.com/php-http/curl-client/issues", - "source": "https://github.com/php-http/curl-client/tree/2.3.3" + "source": "https://github.com/php-http/curl-client/tree/2.4.0" }, - "time": "2024-10-31T07:36:58+00:00" + "time": "2025-12-09T12:02:56+00:00" }, { "name": "php-http/discovery", @@ -2110,16 +2110,16 @@ }, { "name": "symfony/asset-mapper", - "version": "v6.4.27", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/asset-mapper.git", - "reference": "678bfe7436cad5b2dd149d003399ce6cc44ed686" + "reference": "61c84a2492203e6fe7b3aedbe92a5bd2add1eacd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/678bfe7436cad5b2dd149d003399ce6cc44ed686", - "reference": "678bfe7436cad5b2dd149d003399ce6cc44ed686", + "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/61c84a2492203e6fe7b3aedbe92a5bd2add1eacd", + "reference": "61c84a2492203e6fe7b3aedbe92a5bd2add1eacd", "shasum": "" }, "require": { @@ -2169,7 +2169,7 @@ "description": "Maps directories of assets & makes them available in a public directory with versioned filenames.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset-mapper/tree/v6.4.27" + "source": "https://github.com/symfony/asset-mapper/tree/v6.4.30" }, "funding": [ { @@ -2189,20 +2189,20 @@ "type": "tidelift" } ], - "time": "2025-10-13T16:27:27+00:00" + "time": "2025-11-20T17:16:00+00:00" }, { "name": "symfony/cache", - "version": "v7.3.6", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "1277a1ec61c8d93ea61b2a59738f1deb9bfb6701" + "reference": "21e0755783bbbab58f2bb6a7a57896d21d27a366" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/1277a1ec61c8d93ea61b2a59738f1deb9bfb6701", - "reference": "1277a1ec61c8d93ea61b2a59738f1deb9bfb6701", + "url": "https://api.github.com/repos/symfony/cache/zipball/21e0755783bbbab58f2bb6a7a57896d21d27a366", + "reference": "21e0755783bbbab58f2bb6a7a57896d21d27a366", "shasum": "" }, "require": { @@ -2210,12 +2210,14 @@ "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", - "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "conflict": { "doctrine/dbal": "<3.6", + "ext-redis": "<6.1", + "ext-relay": "<0.12.1", "symfony/dependency-injection": "<6.4", "symfony/http-kernel": "<6.4", "symfony/var-dumper": "<6.4" @@ -2230,13 +2232,13 @@ "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/filesystem": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2271,7 +2273,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.3.6" + "source": "https://github.com/symfony/cache/tree/v7.4.1" }, "funding": [ { @@ -2291,7 +2293,7 @@ "type": "tidelift" } ], - "time": "2025-10-30T13:22:58+00:00" + "time": "2025-12-04T18:11:45+00:00" }, { "name": "symfony/cache-contracts", @@ -2450,16 +2452,16 @@ }, { "name": "symfony/console", - "version": "v6.4.27", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc" + "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/13d3176cf8ad8ced24202844e9f95af11e2959fc", - "reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc", + "url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e", + "reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e", "shasum": "" }, "require": { @@ -2524,7 +2526,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.27" + "source": "https://github.com/symfony/console/tree/v6.4.30" }, "funding": [ { @@ -2544,28 +2546,28 @@ "type": "tidelift" } ], - "time": "2025-10-06T10:25:16+00:00" + "time": "2025-12-05T13:47:41+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.3.6", + "version": "v7.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69" + "reference": "baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69", - "reference": "98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b", + "reference": "baf614f7c15b30ba6762d4b1ddabdf83dbf0d29b", "shasum": "" }, "require": { "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^3.5", - "symfony/var-exporter": "^6.4.20|^7.2.5" + "symfony/service-contracts": "^3.6", + "symfony/var-exporter": "^6.4.20|^7.2.5|^8.0" }, "conflict": { "ext-psr": "<1.1|>=2", @@ -2578,9 +2580,9 @@ "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2608,7 +2610,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.3.6" + "source": "https://github.com/symfony/dependency-injection/tree/v7.4.2" }, "funding": [ { @@ -2628,7 +2630,7 @@ "type": "tidelift" } ], - "time": "2025-10-31T10:11:11+00:00" + "time": "2025-12-08T06:57:04+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2699,16 +2701,16 @@ }, { "name": "symfony/dotenv", - "version": "v6.4.24", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff" + "reference": "924edbc9631b75302def0258ed1697948b17baf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/234b6c602f12b00693f4b0d1054386fb30dfc8ff", - "reference": "234b6c602f12b00693f4b0d1054386fb30dfc8ff", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/924edbc9631b75302def0258ed1697948b17baf6", + "reference": "924edbc9631b75302def0258ed1697948b17baf6", "shasum": "" }, "require": { @@ -2753,7 +2755,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.4.24" + "source": "https://github.com/symfony/dotenv/tree/v6.4.30" }, "funding": [ { @@ -2773,36 +2775,37 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:14:14+00:00" + "time": "2025-11-14T17:33:48+00:00" }, { "name": "symfony/error-handler", - "version": "v7.3.6", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "bbe40bfab84323d99dab491b716ff142410a92a8" + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/bbe40bfab84323d99dab491b716ff142410a92a8", - "reference": "bbe40bfab84323d99dab491b716ff142410a92a8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2", + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2", "shasum": "" }, "require": { "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ @@ -2834,7 +2837,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.6" + "source": "https://github.com/symfony/error-handler/tree/v7.4.0" }, "funding": [ { @@ -2854,20 +2857,20 @@ "type": "tidelift" } ], - "time": "2025-10-31T19:12:50+00:00" + "time": "2025-11-05T14:29:59+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.3.3", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", "shasum": "" }, "require": { @@ -2884,13 +2887,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2918,7 +2922,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" }, "funding": [ { @@ -2938,7 +2942,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-10-28T09:38:46+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3018,16 +3022,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.3.6", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" + "reference": "d551b38811096d0be9c4691d406991b47c0c630a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/d551b38811096d0be9c4691d406991b47c0c630a", + "reference": "d551b38811096d0be9c4691d406991b47c0c630a", "shasum": "" }, "require": { @@ -3036,7 +3040,7 @@ "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^6.4|^7.0" + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3064,7 +3068,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.6" + "source": "https://github.com/symfony/filesystem/tree/v7.4.0" }, "funding": [ { @@ -3084,27 +3088,27 @@ "type": "tidelift" } ], - "time": "2025-11-05T09:52:27+00:00" + "time": "2025-11-27T13:27:24+00:00" }, { "name": "symfony/finder", - "version": "v7.3.5", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f" + "reference": "340b9ed7320570f319028a2cbec46d40535e94bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f", + "url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd", + "reference": "340b9ed7320570f319028a2cbec46d40535e94bd", "shasum": "" }, "require": { "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3132,7 +3136,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.5" + "source": "https://github.com/symfony/finder/tree/v7.4.0" }, "funding": [ { @@ -3152,20 +3156,20 @@ "type": "tidelift" } ], - "time": "2025-10-15T18:45:57+00:00" + "time": "2025-11-05T05:42:40+00:00" }, { "name": "symfony/framework-bundle", - "version": "v6.4.27", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "ee58c2a73218d8f4763824e1414c5f9b4519c91f" + "reference": "3c212ec5cac588da8357f5c061194363a4e91010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ee58c2a73218d8f4763824e1414c5f9b4519c91f", - "reference": "ee58c2a73218d8f4763824e1414c5f9b4519c91f", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3c212ec5cac588da8357f5c061194363a4e91010", + "reference": "3c212ec5cac588da8357f5c061194363a4e91010", "shasum": "" }, "require": { @@ -3285,7 +3289,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.4.27" + "source": "https://github.com/symfony/framework-bundle/tree/v6.4.30" }, "funding": [ { @@ -3305,20 +3309,20 @@ "type": "tidelift" } ], - "time": "2025-10-15T17:35:09+00:00" + "time": "2025-11-29T11:31:32+00:00" }, { "name": "symfony/http-client", - "version": "v7.3.6", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de" + "reference": "26cc224ea7103dda90e9694d9e139a389092d007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", + "url": "https://api.github.com/repos/symfony/http-client/zipball/26cc224ea7103dda90e9694d9e139a389092d007", + "reference": "26cc224ea7103dda90e9694d9e139a389092d007", "shasum": "" }, "require": { @@ -3349,12 +3353,13 @@ "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3385,7 +3390,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.6" + "source": "https://github.com/symfony/http-client/tree/v7.4.1" }, "funding": [ { @@ -3405,7 +3410,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T17:41:46+00:00" + "time": "2025-12-04T21:12:57+00:00" }, { "name": "symfony/http-client-contracts", @@ -3487,23 +3492,22 @@ }, { "name": "symfony/http-foundation", - "version": "v7.3.7", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4" + "reference": "bd1af1e425811d6f077db240c3a588bdb405cd27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/db488a62f98f7a81d5746f05eea63a74e55bb7c4", - "reference": "db488a62f98f7a81d5746f05eea63a74e55bb7c4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/bd1af1e425811d6f077db240c3a588bdb405cd27", + "reference": "bd1af1e425811d6f077db240c3a588bdb405cd27", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "^1.1" }, "conflict": { "doctrine/dbal": "<3.6", @@ -3512,13 +3516,13 @@ "require-dev": { "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4.12|^7.1.5", - "symfony/clock": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0" + "symfony/cache": "^6.4.12|^7.1.5|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3546,7 +3550,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.3.7" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.1" }, "funding": [ { @@ -3566,20 +3570,20 @@ "type": "tidelift" } ], - "time": "2025-11-08T16:41:12+00:00" + "time": "2025-12-07T11:13:10+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.29", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "18818b48f54c1d2bd92b41d82d8345af50b15658" + "reference": "ceac681e74e824bbf90468eb231d40988d6d18a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/18818b48f54c1d2bd92b41d82d8345af50b15658", - "reference": "18818b48f54c1d2bd92b41d82d8345af50b15658", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceac681e74e824bbf90468eb231d40988d6d18a5", + "reference": "ceac681e74e824bbf90468eb231d40988d6d18a5", "shasum": "" }, "require": { @@ -3664,7 +3668,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.29" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.30" }, "funding": [ { @@ -3684,24 +3688,25 @@ "type": "tidelift" } ], - "time": "2025-11-12T11:22:59+00:00" + "time": "2025-12-07T15:49:34+00:00" }, { "name": "symfony/mime", - "version": "v7.3.4", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35" + "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35", - "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35", + "url": "https://api.github.com/repos/symfony/mime/zipball/bdb02729471be5d047a3ac4a69068748f1a6be7a", + "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -3716,11 +3721,11 @@ "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0" }, "type": "library", "autoload": { @@ -3752,7 +3757,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.3.4" + "source": "https://github.com/symfony/mime/tree/v7.4.0" }, "funding": [ { @@ -3772,26 +3777,27 @@ "type": "tidelift" } ], - "time": "2025-09-16T08:38:17+00:00" + "time": "2025-11-16T10:14:42+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v7.3.6", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "48e8542ba35afd2293a8c8fd4bcf8abe46357ddf" + "reference": "189d16466ff83d9c51fad26382bf0beeb41bda21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/48e8542ba35afd2293a8c8fd4bcf8abe46357ddf", - "reference": "48e8542ba35afd2293a8c8fd4bcf8abe46357ddf", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/189d16466ff83d9c51fad26382bf0beeb41bda21", + "reference": "189d16466ff83d9c51fad26382bf0beeb41bda21", "shasum": "" }, "require": { "monolog/monolog": "^3", "php": ">=8.2", - "symfony/http-kernel": "^6.4|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -3800,13 +3806,13 @@ "symfony/security-core": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/mailer": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/security-core": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/mailer": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/security-core": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "symfony-bridge", "autoload": { @@ -3834,7 +3840,7 @@ "description": "Provides integration for Monolog with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/monolog-bridge/tree/v7.3.6" + "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.0" }, "funding": [ { @@ -3854,48 +3860,43 @@ "type": "tidelift" } ], - "time": "2025-11-01T09:17:24+00:00" + "time": "2025-11-01T09:17:33+00:00" }, { "name": "symfony/monolog-bundle", - "version": "v3.10.0", + "version": "v3.11.1", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" + "reference": "0e675a6e08f791ef960dc9c7e392787111a3f0c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", - "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/0e675a6e08f791ef960dc9c7e392787111a3f0c1", + "reference": "0e675a6e08f791ef960dc9c7e392787111a3f0c1", "shasum": "" }, "require": { + "composer-runtime-api": "^2.0", "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0", - "php": ">=7.2.5", - "symfony/config": "^5.4 || ^6.0 || ^7.0", - "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", - "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", - "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0" + "php": ">=8.1", + "symfony/config": "^6.4 || ^7.0", + "symfony/dependency-injection": "^6.4 || ^7.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/http-kernel": "^6.4 || ^7.0", + "symfony/monolog-bridge": "^6.4 || ^7.0", + "symfony/polyfill-php84": "^1.30" }, "require-dev": { - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/phpunit-bridge": "^6.3 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "symfony/console": "^6.4 || ^7.0", + "symfony/phpunit-bridge": "^7.3.3", + "symfony/yaml": "^6.4 || ^7.0" }, "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Bundle\\MonologBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Bundle\\MonologBundle\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3919,7 +3920,7 @@ ], "support": { "issues": "https://github.com/symfony/monolog-bundle/issues", - "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" + "source": "https://github.com/symfony/monolog-bundle/tree/v3.11.1" }, "funding": [ { @@ -3930,25 +3931,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-11-06T17:08:13+00:00" + "time": "2025-12-08T07:58:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.3.3", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" + "reference": "b38026df55197f9e39a44f3215788edf83187b80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80", + "reference": "b38026df55197f9e39a44f3215788edf83187b80", "shasum": "" }, "require": { @@ -3986,7 +3991,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" + "source": "https://github.com/symfony/options-resolver/tree/v7.4.0" }, "funding": [ { @@ -4006,7 +4011,7 @@ "type": "tidelift" } ], - "time": "2025-08-05T10:16:07+00:00" + "time": "2025-11-12T15:39:26+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4594,18 +4599,178 @@ ], "time": "2025-07-08T02:45:35+00:00" }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, { "name": "symfony/routing", - "version": "v6.4.28", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ae064a6d9cf39507f9797658465a2ca702965fa8" + "reference": "ea50a13c2711eebcbb66b38ef6382e62e3262859" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ae064a6d9cf39507f9797658465a2ca702965fa8", - "reference": "ae064a6d9cf39507f9797658465a2ca702965fa8", + "url": "https://api.github.com/repos/symfony/routing/zipball/ea50a13c2711eebcbb66b38ef6382e62e3262859", + "reference": "ea50a13c2711eebcbb66b38ef6382e62e3262859", "shasum": "" }, "require": { @@ -4659,7 +4824,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.28" + "source": "https://github.com/symfony/routing/tree/v6.4.30" }, "funding": [ { @@ -4679,20 +4844,20 @@ "type": "tidelift" } ], - "time": "2025-10-31T16:43:05+00:00" + "time": "2025-11-22T09:51:35+00:00" }, { "name": "symfony/runtime", - "version": "v6.4.26", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "59933ca737fd60fad548241b6d879cd0e4be31ab" + "reference": "fb3149ee85d3b639dd3e49ea9dda05656f0537e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/59933ca737fd60fad548241b6d879cd0e4be31ab", - "reference": "59933ca737fd60fad548241b6d879cd0e4be31ab", + "url": "https://api.github.com/repos/symfony/runtime/zipball/fb3149ee85d3b639dd3e49ea9dda05656f0537e3", + "reference": "fb3149ee85d3b639dd3e49ea9dda05656f0537e3", "shasum": "" }, "require": { @@ -4742,7 +4907,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.4.26" + "source": "https://github.com/symfony/runtime/tree/v6.4.30" }, "funding": [ { @@ -4762,7 +4927,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T15:30:54+00:00" + "time": "2025-12-05T10:55:13+00:00" }, { "name": "symfony/service-contracts", @@ -4926,22 +5091,23 @@ }, { "name": "symfony/string", - "version": "v7.3.4", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f96476035142921000338bad71e5247fbc138872" + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", - "reference": "f96476035142921000338bad71e5247fbc138872", + "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-grapheme": "~1.33", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, @@ -4949,11 +5115,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -4992,7 +5158,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.4" + "source": "https://github.com/symfony/string/tree/v7.4.0" }, "funding": [ { @@ -5012,27 +5178,27 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:36:48+00:00" + "time": "2025-11-27T13:27:24+00:00" }, { "name": "symfony/translation", - "version": "v7.3.4", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "ec25870502d0c7072d086e8ffba1420c85965174" + "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", - "reference": "ec25870502d0c7072d086e8ffba1420c85965174", + "url": "https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", + "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68", "shasum": "" }, "require": { "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5|^3.0" + "symfony/translation-contracts": "^2.5.3|^3.3" }, "conflict": { "nikic/php-parser": "<5.0", @@ -5051,17 +5217,17 @@ "require-dev": { "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^6.4|^7.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5092,7 +5258,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.3.4" + "source": "https://github.com/symfony/translation/tree/v7.4.0" }, "funding": [ { @@ -5112,7 +5278,7 @@ "type": "tidelift" } ], - "time": "2025-09-07T11:39:36+00:00" + "time": "2025-11-27T13:27:24+00:00" }, { "name": "symfony/translation-contracts", @@ -5198,16 +5364,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.4.25", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf" + "reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9d13e87591c9de3221c8d6f23cd9a2b5958607bf", - "reference": "9d13e87591c9de3221c8d6f23cd9a2b5958607bf", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d77a78c7fffaf7cb0158d28db824ba78d89a9f34", + "reference": "d77a78c7fffaf7cb0158d28db824ba78d89a9f34", "shasum": "" }, "require": { @@ -5220,7 +5386,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/console": "<5.4", - "symfony/form": "<6.3", + "symfony/form": "<6.4", "symfony/http-foundation": "<5.4", "symfony/http-kernel": "<6.4", "symfony/mime": "<6.2", @@ -5238,7 +5404,7 @@ "symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/form": "^6.4.20|^7.2.5", + "symfony/form": "^6.4.30|~7.3.8|^7.4.1", "symfony/html-sanitizer": "^6.1|^7.0", "symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -5287,7 +5453,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.4.25" + "source": "https://github.com/symfony/twig-bridge/tree/v6.4.30" }, "funding": [ { @@ -5307,7 +5473,7 @@ "type": "tidelift" } ], - "time": "2025-08-13T09:41:44+00:00" + "time": "2025-12-05T13:01:31+00:00" }, { "name": "symfony/twig-bundle", @@ -5399,16 +5565,16 @@ }, { "name": "symfony/var-dumper", - "version": "v7.3.5", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d" + "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/476c4ae17f43a9a36650c69879dcf5b1e6ae724d", - "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece", + "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece", "shasum": "" }, "require": { @@ -5420,10 +5586,10 @@ "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/uid": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", "twig/twig": "^3.12" }, "bin": [ @@ -5462,7 +5628,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.5" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.0" }, "funding": [ { @@ -5482,20 +5648,20 @@ "type": "tidelift" } ], - "time": "2025-09-27T09:00:46+00:00" + "time": "2025-10-27T20:36:44+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.3.4", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4" + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", - "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f", + "reference": "03a60f169c79a28513a78c967316fbc8bf17816f", "shasum": "" }, "require": { @@ -5503,9 +5669,9 @@ "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5543,7 +5709,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.3.4" + "source": "https://github.com/symfony/var-exporter/tree/v7.4.0" }, "funding": [ { @@ -5563,20 +5729,20 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-09-11T10:15:23+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.26", + "version": "v6.4.30", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0" + "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/0fc8b966fd0dcaab544ae59bfc3a433f048c17b0", - "reference": "0fc8b966fd0dcaab544ae59bfc3a433f048c17b0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8207ae83da19ee3748d6d4f567b4d9a7c656e331", + "reference": "8207ae83da19ee3748d6d4f567b4d9a7c656e331", "shasum": "" }, "require": { @@ -5619,7 +5785,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.26" + "source": "https://github.com/symfony/yaml/tree/v6.4.30" }, "funding": [ { @@ -5639,7 +5805,7 @@ "type": "tidelift" } ], - "time": "2025-09-26T15:07:38+00:00" + "time": "2025-12-02T11:50:18+00:00" }, { "name": "twig/extra-bundle", @@ -5789,16 +5955,16 @@ }, { "name": "twig/twig", - "version": "v3.22.0", + "version": "v3.22.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "4509984193026de413baf4ba80f68590a7f2c51d" + "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/4509984193026de413baf4ba80f68590a7f2c51d", - "reference": "4509984193026de413baf4ba80f68590a7f2c51d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/1de2ec1fc43ab58a4b7e80b214b96bfc895750f3", + "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3", "shasum": "" }, "require": { @@ -5852,7 +6018,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.22.0" + "source": "https://github.com/twigphp/Twig/tree/v3.22.1" }, "funding": [ { @@ -5864,7 +6030,7 @@ "type": "tidelift" } ], - "time": "2025-10-29T15:56:47+00:00" + "time": "2025-11-16T16:01:12+00:00" }, { "name": "webmozart/glob", @@ -5919,20 +6085,20 @@ "packages-dev": [ { "name": "aeon-php/calendar", - "version": "1.0.11", + "version": "1.0.12", "source": { "type": "git", "url": "https://github.com/aeon-php/calendar.git", - "reference": "41f4b0ff07247c36b232ddfbcddc62af738be6fe" + "reference": "10387ea0944ce9ce071a12d60c398ee852de70b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aeon-php/calendar/zipball/41f4b0ff07247c36b232ddfbcddc62af738be6fe", - "reference": "41f4b0ff07247c36b232ddfbcddc62af738be6fe", + "url": "https://api.github.com/repos/aeon-php/calendar/zipball/10387ea0944ce9ce071a12d60c398ee852de70b8", + "reference": "10387ea0944ce9ce071a12d60c398ee852de70b8", "shasum": "" }, "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "ext-bcmath": "*", @@ -5963,7 +6129,7 @@ ], "support": { "issues": "https://github.com/aeon-php/calendar/issues", - "source": "https://github.com/aeon-php/calendar/tree/1.0.11" + "source": "https://github.com/aeon-php/calendar/tree/1.0.12" }, "funding": [ { @@ -5975,25 +6141,25 @@ "type": "github" } ], - "time": "2025-01-24T04:47:09+00:00" + "time": "2025-12-08T14:44:05+00:00" }, { "name": "aeon-php/sleep", - "version": "1.0.11", + "version": "1.0.12", "source": { "type": "git", "url": "https://github.com/aeon-php/sleep.git", - "reference": "59f44ef6313e0b05d65aa20369be1fcc937142d3" + "reference": "59ae5d2bb34c2495a463aed26f00f24cc36e948a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aeon-php/sleep/zipball/59f44ef6313e0b05d65aa20369be1fcc937142d3", - "reference": "59f44ef6313e0b05d65aa20369be1fcc937142d3", + "url": "https://api.github.com/repos/aeon-php/sleep/zipball/59ae5d2bb34c2495a463aed26f00f24cc36e948a", + "reference": "59ae5d2bb34c2495a463aed26f00f24cc36e948a", "shasum": "" }, "require": { "aeon-php/calendar": "~1.0", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "type": "library", "autoload": { @@ -6019,7 +6185,7 @@ ], "support": { "issues": "https://github.com/aeon-php/sleep/issues", - "source": "https://github.com/aeon-php/sleep/tree/1.0.11" + "source": "https://github.com/aeon-php/sleep/tree/1.0.12" }, "funding": [ { @@ -6031,7 +6197,7 @@ "type": "github" } ], - "time": "2025-01-24T04:47:20+00:00" + "time": "2025-12-08T14:43:58+00:00" }, { "name": "dbrekelmans/bdi", @@ -6314,27 +6480,28 @@ }, { "name": "symfony/browser-kit", - "version": "v7.3.6", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "e9a9fd604296b17bf90939c3647069f1f16ef04e" + "reference": "3bb26dafce31633b1f699894c86379eefc8af5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/e9a9fd604296b17bf90939c3647069f1f16ef04e", - "reference": "e9a9fd604296b17bf90939c3647069f1f16ef04e", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/3bb26dafce31633b1f699894c86379eefc8af5bb", + "reference": "3bb26dafce31633b1f699894c86379eefc8af5bb", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/dom-crawler": "^6.4|^7.0" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/dom-crawler": "^6.4|^7.0|^8.0" }, "require-dev": { - "symfony/css-selector": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0" + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6362,7 +6529,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v7.3.6" + "source": "https://github.com/symfony/browser-kit/tree/v7.4.0" }, "funding": [ { @@ -6382,7 +6549,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T07:57:47+00:00" + "time": "2025-11-05T14:29:59+00:00" }, { "name": "symfony/css-selector", @@ -6455,26 +6622,27 @@ }, { "name": "symfony/dom-crawler", - "version": "v7.3.3", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba" + "reference": "0c5e8f20c74c78172a8ee72b125909b505033597" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/efa076ea0eeff504383ff0dcf827ea5ce15690ba", - "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/0c5e8f20c74c78172a8ee72b125909b505033597", + "reference": "0c5e8f20c74c78172a8ee72b125909b505033597", "shasum": "" }, "require": { "masterminds/html5": "^2.6", "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "^6.4|^7.0" + "symfony/css-selector": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -6502,7 +6670,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v7.3.3" + "source": "https://github.com/symfony/dom-crawler/tree/v7.4.1" }, "funding": [ { @@ -6522,7 +6690,7 @@ "type": "tidelift" } ], - "time": "2025-08-06T20:13:54+00:00" + "time": "2025-12-06T15:47:47+00:00" }, { "name": "symfony/panther", @@ -6615,16 +6783,16 @@ }, { "name": "symfony/process", - "version": "v7.3.4", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", + "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", + "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8", "shasum": "" }, "require": { @@ -6656,7 +6824,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.4" + "source": "https://github.com/symfony/process/tree/v7.4.0" }, "funding": [ { @@ -6676,7 +6844,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-16T11:21:06+00:00" }, { "name": "symfony/web-profiler-bundle", @@ -6829,7 +6997,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "8.2.*" + "php": "8.3.*" }, "platform-dev": {}, "plugin-api-version": "2.6.0" diff --git a/web/landing/src/Flow/Website/Service/Markdown/FlowVersionReplacer.php b/web/landing/src/Flow/Website/Service/Markdown/FlowVersionReplacer.php index ba8e401e1..a8a131a91 100644 --- a/web/landing/src/Flow/Website/Service/Markdown/FlowVersionReplacer.php +++ b/web/landing/src/Flow/Website/Service/Markdown/FlowVersionReplacer.php @@ -11,7 +11,7 @@ final readonly class FlowVersionReplacer { - private const VERSION_PLACEHOLDER = '--FLOW_PHP_VERSION--'; + private const string VERSION_PLACEHOLDER = '--FLOW_PHP_VERSION--'; public function __construct(private string $flowVersion) { diff --git a/web/landing/tests/Flow/Website/Tests/Functional/PlaygroundStorageTest.php b/web/landing/tests/Flow/Website/Tests/Functional/PlaygroundStorageTest.php index 865472f87..b4c7e3845 100644 --- a/web/landing/tests/Flow/Website/Tests/Functional/PlaygroundStorageTest.php +++ b/web/landing/tests/Flow/Website/Tests/Functional/PlaygroundStorageTest.php @@ -12,6 +12,7 @@ protected function setUp() : void $this->clearStorageBeforeTest(); } + #[\Override] protected function tearDown() : void { $this->clearStorageBeforeTest(); From aeae65118cd75148fb93e55044d79f74a45d09a3 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Thu, 11 Dec 2025 23:01:56 +0100 Subject: [PATCH 4/6] fix: bin/docs.php minimum required version --- bin/docs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/docs.php b/bin/docs.php index 73aaf6797..73933d3ed 100755 --- a/bin/docs.php +++ b/bin/docs.php @@ -15,7 +15,7 @@ require __DIR__ . '/../vendor/autoload.php'; -if (version_compare(PHP_VERSION, '8.3', '>=')) { +if (version_compare(PHP_VERSION, '8.4', '>=')) { print PHP_EOL . 'This app can be run only on PHP 8.3+' . PHP_EOL; exit(1); From f094d0aa50f677cd0e6d51bf840480be5538e46f Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Fri, 12 Dec 2025 00:47:32 +0100 Subject: [PATCH 5/6] chore: updated nix shell - drop 8.2 from nix shell - added 8.5 from nixpkgs PR - updated php extension in nix pkgs - added composer build:docker script - added missing extensions to Dockerfile installation --- .nix/pkgs/php-brotli/package.nix | 6 ++-- .nix/pkgs/php-lz4/package.nix | 6 ++-- .nix/pkgs/php-snappy/package.nix | 4 +-- .nix/pkgs/php-zstd/package.nix | 6 ++-- composer.json | 4 +++ infection.json | 57 ++++++++++++++++++++++++++++++-- phpunit.xml.dist | 28 ++++++++++++++++ shell.nix | 30 +++++++++-------- 8 files changed, 114 insertions(+), 27 deletions(-) diff --git a/.nix/pkgs/php-brotli/package.nix b/.nix/pkgs/php-brotli/package.nix index 9046fea8e..11734b888 100644 --- a/.nix/pkgs/php-brotli/package.nix +++ b/.nix/pkgs/php-brotli/package.nix @@ -5,13 +5,13 @@ php.buildPecl { pname = "brotli"; - version = "0.13.1"; + version = "0.18.3"; src = fetchFromGitHub { owner = "kjdev"; repo = "php-ext-brotli"; - tag = "0.13.1"; - hash = "sha256-bdnTEEJUPe+VvXjncKbIi4wfnEn9UH7OBTKiUCET+qQ="; + tag = "0.18.3"; + hash = "sha256-kIsQHgiCYcoa5+5wXjA+VCrMj7ZFLunOCOeG5DFD62k="; fetchSubmodules = true; }; } diff --git a/.nix/pkgs/php-lz4/package.nix b/.nix/pkgs/php-lz4/package.nix index 73de99b92..e7d49660b 100644 --- a/.nix/pkgs/php-lz4/package.nix +++ b/.nix/pkgs/php-lz4/package.nix @@ -2,13 +2,13 @@ php.buildPecl { pname = "lz4"; - version = "0.4.4"; + version = "0.6.0"; src = fetchFromGitHub { owner = "kjdev"; repo = "php-ext-lz4"; - tag = "0.4.4"; - hash = "sha256-iKgMN77W5iR3jwOwKNwIpuLwkeDkQVTIppEp4fF1oZw="; + tag = "0.6.0"; + hash = "sha256-F98nSyQG/je9Sggugb6wJbgHR3DPAG9r4Y4eQSDlntI="; fetchSubmodules = true; }; } diff --git a/.nix/pkgs/php-snappy/package.nix b/.nix/pkgs/php-snappy/package.nix index dd51585f8..d4c7ec573 100644 --- a/.nix/pkgs/php-snappy/package.nix +++ b/.nix/pkgs/php-snappy/package.nix @@ -2,12 +2,12 @@ php.buildPecl { pname = "snappy"; - version = "0.2.1"; + version = "0.2.3"; src = fetchFromGitHub { owner = "kjdev"; repo = "php-ext-snappy"; - tag = "0.2.1"; + tag = "0.2.3"; hash = "sha256-PAKdIcpJKH6d74EulYQepP4XbQvccrj1nEuir47vro4="; fetchSubmodules = true; }; diff --git a/.nix/pkgs/php-zstd/package.nix b/.nix/pkgs/php-zstd/package.nix index 8a9117d4a..43fbbf6f6 100644 --- a/.nix/pkgs/php-zstd/package.nix +++ b/.nix/pkgs/php-zstd/package.nix @@ -2,13 +2,13 @@ php.buildPecl { pname = "zstd"; - version = "0.14.0"; + version = "0.15.2"; src = fetchFromGitHub { owner = "kjdev"; repo = "php-ext-zstd"; - tag = "0.14.0"; - hash = "sha256-oIbvaLYQ6Tp20Y/UEN7i1dtMnxGdMNcIjv6xRCyVYdE="; + tag = "0.15.2"; + hash = "sha256-AhEEHtETALgYkJxDfRA6/bx6yZKpsfL48MqO505FAFI="; fetchSubmodules = true; }; } diff --git a/composer.json b/composer.json index a2f6d7d60..60c16cb8a 100644 --- a/composer.json +++ b/composer.json @@ -417,6 +417,7 @@ "tools/phpbench/vendor/bin/phpbench run --report=flow-report --group=parquet-library" ], "test:mutation": [ + "Composer\\Config::disableProcessTimeout", "tools/infection/vendor/bin/infection --threads=max" ], "test:monorepo": "tools/monorepo/vendor/bin/monorepo-builder validate", @@ -450,6 +451,9 @@ "cd wasm && ./build.sh", "@build:phar" ], + "build:docker": [ + "docker buildx build -t flow-php/flow:latest . --progress=plain --load" + ], "build:docs": [ "bin/docs.php dsl:dump web/landing/resources/dsl.json", "bin/docs.php api:dump web/landing/resources/api.json" diff --git a/infection.json b/infection.json index 729e51475..73f90d248 100644 --- a/infection.json +++ b/infection.json @@ -8,7 +8,7 @@ "src/lib/parquet/src" ], "excludes": [ - "Flow/ETL/DSL", + "{.*/DSL.*}", "Flow/ETL/Attribute", "Flow/Calculator/Exception", "Flow/Serializer/Exception", @@ -70,6 +70,59 @@ "ignore": [ "Flow\\Doctrine\\Bulk\\BulkData" ] + }, + "UnwrapRtrim": { + "ignore": [ + "Flow\\Calculator\\Calculator::*" + ] + }, + "LogicalAnd": { + "ignore": [ + "Flow\\ArrayComparison\\ArrayComparison::equals" + ] + }, + "LogicalOr": { + "ignore": [ + "Flow\\ArrayComparison\\ArrayComparison::equals" + ] + }, + "AssignCoalesce": { + "ignore": [ + "Flow\\ETL\\Config\\ConfigBuilder::build" + ] + }, + "Coalesce": { + "ignore": [ + "Flow\\ETL\\Cache\\Implementation\\FilesystemCache::__construct", + "Flow\\ETL\\Config\\Cache\\CacheConfigBuilder::build" + ] + }, + "CloneRemoval": { + "ignore": [ + "Flow\\ETL\\DataFrame::count", + "Flow\\ETL\\DataFrame::fetch", + "Flow\\ETL\\DataFrame::run", + "Flow\\ETL\\DataFrame::get*" + ] + }, + "MethodCallRemoval": { + "ignore": [ + "Flow\\ETL\\DataFrame::autoCast", + "Flow\\ETL\\DataFrame::aggregate", + "Flow\\ETL\\DataFrame::match" + ] + }, + "BitwiseAnd": { + "ignore": [ + "Flow\\Parquet\\Data\\*" + ] + }, + "Assignment": { + "ignore": [ + "Flow\\Parquet\\Writer\\*::addRow", + "Flow\\Parquet\\Writer\\*::addBytes", + "Flow\\Parquet\\Data\\*::*" + ] } }, "bootstrap": "vendor/autoload.php", @@ -79,5 +132,5 @@ }, "tmpDir": "var/infection/cache", "minMsi": 30, - "minCoveredMsi": 75 + "minCoveredMsi": 70 } diff --git a/phpunit.xml.dist b/phpunit.xml.dist index dd3a77be0..6cf809f4d 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -195,6 +195,34 @@ src/lib/parquet/src/Flow/Parquet/Thrift src/lib/postgresql/src/Flow/PostgreSql/Protobuf src/core/etl/src/Flow/ETL/DSL/functions.php + src/lib/postgresql/src/Flow/PostgreSql/DSL/functions.php + src/functions.php + src/tools/documentation/tests/Flow/Documentation/Tests/Integration/functions.php + src/core/etl/src/Flow/ETL/DSL/functions.php + src/bridge/filesystem/async-aws/src/Flow/Filesystem/Bridge/AsyncAWS/DSL/functions.php + src/bridge/filesystem/azure/src/Flow/Filesystem/Bridge/Azure/DSL/functions.php + src/bridge/openapi/specification/src/Flow/Bridge/OpenAPI/Specification/DSL/functions.php + src/bridge/monolog/http/src/Flow/Bridge/Monolog/Http/DSL/functions.php + src/bridge/symfony/http-foundation/src/Flow/Bridge/Symfony/HttpFoundation/functions.php + src/adapter/etl-adapter-avro/src/Flow/ETL/Adapter/Avro/functions.php + src/adapter/etl-adapter-elasticsearch/src/Flow/ETL/Adapter/Elasticsearch/functions.php + src/adapter/etl-adapter-json/src/Flow/ETL/Adapter/JSON/functions.php + src/adapter/etl-adapter-http/src/Flow/ETL/Adapter/Http/DSL/functions.php + src/adapter/etl-adapter-text/src/Flow/ETL/Adapter/Text/functions.php + src/adapter/etl-adapter-csv/src/Flow/ETL/Adapter/CSV/functions.php + src/adapter/etl-adapter-parquet/src/Flow/ETL/Adapter/Parquet/functions.php + src/adapter/etl-adapter-meilisearch/src/Flow/ETL/Adapter/Meilisearch/functions.php + src/adapter/etl-adapter-google-sheet/src/Flow/ETL/Adapter/GoogleSheet/functions.php + src/adapter/etl-adapter-chartjs/src/Flow/ETL/Adapter/ChartJS/functions.php + src/adapter/etl-adapter-excel/src/Flow/ETL/Adapter/Excel/DSL/functions.php + src/adapter/etl-adapter-xml/src/Flow/ETL/Adapter/XML/functions.php + src/adapter/etl-adapter-doctrine/src/Flow/ETL/Adapter/Doctrine/functions.php + src/cli/src/Flow/CLI/DSL/functions.php + src/lib/postgresql/src/Flow/PostgreSql/DSL/functions.php + src/lib/types/src/Flow/Types/DSL/functions.php + src/lib/filesystem/src/Flow/Filesystem/DSL/functions.php + src/lib/parquet/src/Flow/Parquet/functions.php + src/lib/azure-sdk/src/Flow/Azure/SDK/DSL/functions.php diff --git a/shell.nix b/shell.nix index ae44cb0b0..30e2382ec 100644 --- a/shell.nix +++ b/shell.nix @@ -1,31 +1,33 @@ -let - nixpkgs = fetchTarball { - # Oct 31, 2025 - url = "https://github.com/NixOS/nixpkgs/archive/66a437ebcf6160152336e801a7ec289ba2aba3c5.tar.gz"; - }; - - lockedPkgs = import nixpkgs { - config = { - allowUnfree = true; - }; - }; -in { - pkgs ? lockedPkgs, php-version ? 8.3, with-blackfire ? false, with-xdebug ? false, with-pcov ? !with-blackfire, - with-pg-query-ext ? false, + with-pg-query-ext ? true, with-terraform ? false, with-wasm ? false, }: let + nixpkgs = fetchTarball { + url = if php-version == 8.5 then + "https://github.com/NixOS/nixpkgs/archive/refs/pull/422308/head.tar.gz" + else + "https://github.com/NixOS/nixpkgs/archive/66a437ebcf6160152336e801a7ec289ba2aba3c5.tar.gz"; + }; + + pkgs = import nixpkgs { + config = { + allowUnfree = true; + }; + }; + base-php = if php-version == 8.3 then pkgs.php83 else if php-version == 8.4 then pkgs.php84 + else if php-version == 8.5 then + pkgs.php85 else throw "Unknown php version ${php-version}"; From e1d0e0256edca66b5819f0adaa797d59a47d7747 Mon Sep 17 00:00:00 2001 From: Norbert Orzechowicz Date: Fri, 12 Dec 2025 11:38:16 +0100 Subject: [PATCH 6/6] fix: missing 8.5 in ci/cd --- .github/workflows/job-pg-query-extension.yml | 2 +- Dockerfile | 22 +++++++++++++------- bin/docs.php | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/job-pg-query-extension.yml b/.github/workflows/job-pg-query-extension.yml index 472fb1974..37a5d7641 100644 --- a/.github/workflows/job-pg-query-extension.yml +++ b/.github/workflows/job-pg-query-extension.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - php: ['8.3', '8.4'] + php: ['8.3', '8.4', '8.5'] steps: - uses: actions/checkout@v5 diff --git a/Dockerfile b/Dockerfile index 9badde8a8..a85483a00 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,15 +15,21 @@ RUN apk update && apk add --no-cache \ postgresql-dev \ sqlite-dev \ libpq \ + curl \ + build-base \ + autoconf \ + automake \ + libtool \ + protobuf-dev \ + protobuf-c-dev \ && docker-php-ext-install bcmath gmp pdo_mysql pdo_pgsql pdo_sqlite \ - && git clone --recursive --depth=1 https://github.com/kjdev/php-ext-snappy.git /tmp/php-ext-snappy \ - && cd /tmp/php-ext-snappy \ - && phpize \ - && ./configure \ - && make \ - && make install \ - && docker-php-ext-enable snappy \ - && rm -rf /tmp/php-ext-snappy + && curl -L https://github.com/php/pie/releases/latest/download/pie.phar -o /usr/local/bin/pie \ + && chmod +x /usr/local/bin/pie \ + && php /usr/local/bin/pie install kjdev/brotli \ + && php /usr/local/bin/pie install kjdev/lz4 \ + && php /usr/local/bin/pie install kjdev/snappy \ + && php /usr/local/bin/pie install kjdev/zstd \ + && php /usr/local/bin/pie install flow-php/pg-query-ext:1.x-dev # Stage 2: Final Image FROM ${FLOW_BASE_IMAGE} AS flow diff --git a/bin/docs.php b/bin/docs.php index 73933d3ed..6b6f417cd 100755 --- a/bin/docs.php +++ b/bin/docs.php @@ -16,7 +16,7 @@ require __DIR__ . '/../vendor/autoload.php'; if (version_compare(PHP_VERSION, '8.4', '>=')) { - print PHP_EOL . 'This app can be run only on PHP 8.3+' . PHP_EOL; + print PHP_EOL . 'Building docs can be run only on the lowest supported version of PHP: 8.3' . PHP_EOL; exit(1); }