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 458f8a1ab..78bdff1c6 100644 --- a/.github/workflows/job-extension-tests.yml +++ b/.github/workflows/job-extension-tests.yml @@ -10,9 +10,9 @@ jobs: dependencies: - "locked" php-version: - - "8.2" - "8.3" - "8.4" + - "8.5" operating-system: - "ubuntu-latest" 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..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.2', '8.3', '8.4'] + php: ['8.3', '8.4', '8.5'] 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 1e9daa3b0..13f4fc96c 100644 --- a/.github/workflows/job-tests.yml +++ b/.github/workflows/job-tests.yml @@ -61,9 +61,9 @@ jobs: matrix: dependencies: ${{ fromJSON(inputs.dependencies) }} php-version: - - "8.2" - "8.3" - "8.4" + - "8.5" operating-system: - "ubuntu-latest" 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/.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/Dockerfile b/Dockerfile index d56d402eb..a85483a00 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} @@ -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/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..6b6f417cd 100755 --- a/bin/docs.php +++ b/bin/docs.php @@ -15,8 +15,8 @@ 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; +if (version_compare(PHP_VERSION, '8.4', '>=')) { + print PHP_EOL . 'Building docs can be run only on the lowest supported version of PHP: 8.3' . PHP_EOL; exit(1); } diff --git a/composer.json b/composer.json index 0003ee2f5..60c16cb8a 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.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", @@ -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/composer.lock b/composer.lock index 0357aa599..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": "76b86aeee4538bb6d7fe56d53bff0615", + "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", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "ext-bcmath": "*", "ext-dom": "*", "ext-hash": "*", 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/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..30e2382ec 100644 --- a/shell.nix +++ b/shell.nix @@ -1,33 +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.2, + 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 - base-php = if php-version == 8.2 then - pkgs.php82 - else if php-version == 8.3 then + 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}"; diff --git a/src/adapter/etl-adapter-avro/composer.json b/src/adapter/etl-adapter-avro/composer.json index 50c25c6bb..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", + "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 dbb4dc086..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", + "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 a442b6a5f..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", + "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 03fd13cb6..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", + "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 3dc455554..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", + "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 853bbf3a6..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", + "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 a91622567..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", + "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 406241251..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", + "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 0c0aca6b1..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", + "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 51dea81e3..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", + "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 b2bac1812..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", + "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 008f6f467..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", + "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 4043e838d..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", + "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 d240cbfb8..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", + "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 d3d840525..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", + "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 5860b443c..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", + "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 1eeb76d83..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", + "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 874a88704..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" + "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 c4111f488..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", + "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 c80d394bf..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", + "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 d15129846..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" + "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 782aac60f..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", + "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 5942e0d06..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", + "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 bfc8d9a26..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" + "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 32ce69a48..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", + "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 c64dc3f26..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", + "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 31e065bcd..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", + "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 705cd502b..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", + "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 34d9e48d0..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" + "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 832f6786d..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", + "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 69525c9ab..e1c632d3b 100755 Binary files a/web/landing/assets/wasm/tools/flow.phar and b/web/landing/assets/wasm/tools/flow.phar differ 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();