diff --git a/.github/workflows/job-arrow-extension.yml b/.github/workflows/job-arrow-extension.yml index 6fac38e2d..58bd33ffd 100644 --- a/.github/workflows/job-arrow-extension.yml +++ b/.github/workflows/job-arrow-extension.yml @@ -109,7 +109,7 @@ jobs: - name: Upload to Codecov if: ${{ !cancelled() && matrix.php == '8.3' && matrix.os == 'ubuntu-latest' }} - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: token: ${{ secrets.CODECOV_TOKEN }} directory: ./var/phpunit/coverage/clover diff --git a/.github/workflows/job-docker-image.yml b/.github/workflows/job-docker-image.yml index 6aa28eed8..6ee67fe45 100644 --- a/.github/workflows/job-docker-image.yml +++ b/.github/workflows/job-docker-image.yml @@ -128,7 +128,7 @@ jobs: merge-multiple: true - name: "Set up Docker Buildx" - uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 - name: "Login to GitHub Container Registry" uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 diff --git a/.github/workflows/job-extension-tests.yml b/.github/workflows/job-extension-tests.yml index b99b34f33..e6718288f 100644 --- a/.github/workflows/job-extension-tests.yml +++ b/.github/workflows/job-extension-tests.yml @@ -53,7 +53,7 @@ jobs: - name: Upload to Codecov if: ${{ !cancelled() && matrix.php-version == '8.3' }} - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: token: ${{ secrets.CODECOV_TOKEN }} directory: ./var/phpunit/coverage/clover diff --git a/.github/workflows/job-flow-php-extension.yml b/.github/workflows/job-flow-php-extension.yml index bc47c2c64..b5b6a592d 100644 --- a/.github/workflows/job-flow-php-extension.yml +++ b/.github/workflows/job-flow-php-extension.yml @@ -106,7 +106,7 @@ jobs: - name: Upload to Codecov if: ${{ !cancelled() && matrix.php == '8.3' && matrix.os == 'ubuntu-latest' }} - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: token: ${{ secrets.CODECOV_TOKEN }} directory: ./var/phpunit/coverage/clover diff --git a/.github/workflows/job-phpunit-telemetry-tests.yml b/.github/workflows/job-phpunit-telemetry-tests.yml index 7a30784b8..7276369bf 100644 --- a/.github/workflows/job-phpunit-telemetry-tests.yml +++ b/.github/workflows/job-phpunit-telemetry-tests.yml @@ -72,7 +72,7 @@ jobs: - name: Upload to Codecov if: ${{ !cancelled() && matrix.php-version == '8.3' && matrix.phpunit-version == '11' }} - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 + uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: token: ${{ secrets.CODECOV_TOKEN }} directory: ./var/phpunit/coverage/clover diff --git a/composer.lock b/composer.lock index f135c3531..f0f55c906 100644 --- a/composer.lock +++ b/composer.lock @@ -825,16 +825,16 @@ }, { "name": "google/protobuf", - "version": "v5.36.1", + "version": "v5.36.2", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "d64d16befba8632967f604b9644c0bb8f64cfbc3" + "reference": "020bc8e831611869ac387ddd38fbbadd78d15195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/d64d16befba8632967f604b9644c0bb8f64cfbc3", - "reference": "d64d16befba8632967f604b9644c0bb8f64cfbc3", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/020bc8e831611869ac387ddd38fbbadd78d15195", + "reference": "020bc8e831611869ac387ddd38fbbadd78d15195", "shasum": "" }, "require": { @@ -863,9 +863,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v5.36.1" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v5.36.2" }, - "time": "2026-08-31T22:07:31+00:00" + "time": "2026-09-17T15:56:42+00:00" }, { "name": "guzzlehttp/guzzle", @@ -5992,20 +5992,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.3", + "version": "4.9.4", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "1df15849d00943a67d677dc9cfd80795f038c9f8" + "reference": "75d73f48d02797c2c285a7e9f348fadc0102ffe2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/1df15849d00943a67d677dc9cfd80795f038c9f8", - "reference": "1df15849d00943a67d677dc9cfd80795f038c9f8", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/75d73f48d02797c2c285a7e9f348fadc0102ffe2", + "reference": "75d73f48d02797c2c285a7e9f348fadc0102ffe2", "shasum": "" }, "require": { - "brick/math": ">=0.8.16 <=0.18", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14 || ^0.15 || ^0.16 || ^0.17 || ^0.18 || ^0.19 || ^0.20 || ^1.0", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -6064,9 +6064,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.3" + "source": "https://github.com/ramsey/uuid/tree/4.9.4" }, - "time": "2026-06-18T03:57:49+00:00" + "time": "2026-09-16T11:39:30+00:00" }, { "name": "symfony/cache", @@ -8205,16 +8205,16 @@ }, { "name": "twig/twig", - "version": "v3.28.0", + "version": "v3.29.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "597c12ed286fb9d1701a36684ce6e0cbe28ebc8b" + "reference": "45a3c6e9224c3377a39c7b150bb29d5d97d2c75d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/597c12ed286fb9d1701a36684ce6e0cbe28ebc8b", - "reference": "597c12ed286fb9d1701a36684ce6e0cbe28ebc8b", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/45a3c6e9224c3377a39c7b150bb29d5d97d2c75d", + "reference": "45a3c6e9224c3377a39c7b150bb29d5d97d2c75d", "shasum": "" }, "require": { @@ -8269,7 +8269,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.28.0" + "source": "https://github.com/twigphp/Twig/tree/v3.29.0" }, "funding": [ { @@ -8281,7 +8281,7 @@ "type": "tidelift" } ], - "time": "2026-07-03T20:44:34+00:00" + "time": "2026-09-18T09:10:14+00:00" } ], "aliases": [], diff --git a/src/extension/arrow-ext/Cargo.lock b/src/extension/arrow-ext/Cargo.lock index 11dbfb0a4..af8a2539f 100644 --- a/src/extension/arrow-ext/Cargo.lock +++ b/src/extension/arrow-ext/Cargo.lock @@ -86,9 +86,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd33d3e92f207444098c75b42de99d329562be0cf686b307b097cc52b4e999e" +checksum = "1e5f6adeffdf587d7a31db5d2266189624b526730cd3627f9ff9fedae97ad584" dependencies = [ "ahash", "arrow-buffer", @@ -104,9 +104,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6cd424c2693bcdbc150d843dc9d4d137dd2de4782ce6df491ad11a3a0416c0" +checksum = "097d193003ce7995d5d087089069ec2a6e0187faf5a6f8c9f38af2645d987182" dependencies = [ "bytes", "half", @@ -116,9 +116,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c88210023a2bfee1896af366309a3028fc3bcbd6515fa29a7990ee1baa08ee0" +checksum = "9ba2f832eaeca24b8f26143dba750e42ee4ab51cf7d65e701ca9607cfda9f358" dependencies = [ "arrow-buffer", "arrow-schema", @@ -129,9 +129,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238438f0834483703d88896db6fe5a7138b2230debc31b34c0336c2996e3c64f" +checksum = "dcc41681ea80f521df14c36725b74d4c60702c47f0793af2be469c04527e2599" dependencies = [ "arrow-array", "arrow-buffer", @@ -143,9 +143,9 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f633dbfdf39c039ada1bf9e34c694816eb71fbb7dc78f613993b7245e078a1ed" +checksum = "10fab8d4563491417ba801fab29d205104d20d4bdf37bda6cd1cf425cff598cd" dependencies = [ "serde_core", "serde_json", @@ -153,9 +153,9 @@ dependencies = [ [[package]] name = "arrow-select" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd065c54172ac787cf3f2f8d4107e0d3fdc26edba76fdf4f4cc170258942222" +checksum = "fc58569193c2525915f3cc6310edba3792f1200f65d6e9ed330aa33e691493b8" dependencies = [ "ahash", "arrow-array", @@ -177,6 +177,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + [[package]] name = "base64ct" version = "1.8.3" @@ -231,12 +237,6 @@ version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.11.1" @@ -822,12 +822,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - [[package]] name = "inventory" version = "0.3.22" @@ -929,9 +923,9 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lz4_flex" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef0d4ed8669f8f8826eb00dc878084aa8f253506c4fd5e8f58f5bce72ddb97e" +checksum = "ecbdfe44b1bd960b68170b417450a628c43f7cf56bb3c5317e61cb230ee7f226" dependencies = [ "twox-hash", ] @@ -996,9 +990,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "93e7820bc0a80a0238e650327316f929ba18d5be054b647490a3a6a339f3e7c0" dependencies = [ "num-integer", "num-traits", @@ -1087,15 +1081,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "parking_lot" version = "0.12.5" @@ -1121,9 +1106,9 @@ dependencies = [ [[package]] name = "parquet" -version = "58.3.0" +version = "59.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dafa7d01085b62a47dd0c1829550a0a36710ea9c4fe358a05a85477cec8a908" +checksum = "ff322f54b1a0f9288e614ed1f2d329b380af5476420db19f46ffb865e1163d73" dependencies = [ "ahash", "arrow-array", @@ -1132,7 +1117,7 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64", + "base64 0.23.1", "brotli", "bytes", "chrono", @@ -1143,21 +1128,13 @@ dependencies = [ "num-bigint", "num-integer", "num-traits", - "paste", "seq-macro", "simdutf8", "snap", - "thrift", "twox-hash", "zstd", ] -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - [[package]] name = "pbkdf2" version = "0.12.2" @@ -1542,17 +1519,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "thrift" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" -dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float", -] - [[package]] name = "time" version = "0.3.47" @@ -1630,7 +1596,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdc97a28575b85cfedf2a7e7d3cc64b3e11bd8ac766666318003abbacc7a21fc" dependencies = [ - "base64", + "base64 0.22.1", "der", "flate2", "log", @@ -1648,7 +1614,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" dependencies = [ - "base64", + "base64 0.22.1", "http", "httparse", "log", diff --git a/src/extension/arrow-ext/Cargo.toml b/src/extension/arrow-ext/Cargo.toml index 39bcf5821..9de8e105d 100644 --- a/src/extension/arrow-ext/Cargo.toml +++ b/src/extension/arrow-ext/Cargo.toml @@ -8,10 +8,10 @@ crate-type = ["cdylib"] [dependencies] ext-php-rs = "0.15" -parquet = { version = "58", default-features = false, features = ["arrow", "arrow_canonical_extension_types", "snap", "flate2", "flate2-zlib-rs", "zstd", "lz4", "brotli", "simdutf8"] } -arrow-array = "58" -arrow-buffer = "58" -arrow-schema = { version = "58", features = ["canonical_extension_types"] } +parquet = { version = "59", default-features = false, features = ["arrow", "arrow_canonical_extension_types", "snap", "flate2", "flate2-zlib-rs", "zstd", "lz4", "brotli", "simdutf8"] } +arrow-array = "59" +arrow-buffer = "59" +arrow-schema = { version = "59", features = ["canonical_extension_types"] } bytes = "1" [[example]] diff --git a/web/landing/assets/codemirror/completions/dataframe.js b/web/landing/assets/codemirror/completions/dataframe.js index e978b8c89..2ebb22f39 100644 --- a/web/landing/assets/codemirror/completions/dataframe.js +++ b/web/landing/assets/codemirror/completions/dataframe.js @@ -307,7 +307,7 @@ const dataframeMethods = [ forEach(callable $callback = null) : void
- @trigger
@param null|callable(Rows $rows) : void $callback + @trigger
@param null|callable(Rows $rows, FlowContext $context) : void $callback
` return div @@ -574,15 +574,15 @@ const dataframeMethods = [ const div = document.createElement("div") div.innerHTML = `
- explain() : Plan + explain(Trigger $trigger = Flow\\ETL\\Plan\\Trigger::...) : Plan
- This frame\'s plan, frozen: later verbs on this frame do not reach it. toString() prints it as a tree.
Answers from the plan without reading a row. + The plan $trigger would run over this frame, frozen: later verbs on this frame do not reach it. The default
adds no consumer of its own - it draws the frame as built, its chain and its sinks. toString() prints it as a
tree. Answers from the plan without reading a row.
` return div }, - apply: snippet("explain()"), + apply: snippet("explain(" + "$" + "{" + "1:trigger" + "}" + ")"), boost: 10 }, { label: "printSchema", @@ -661,15 +661,15 @@ const dataframeMethods = [ const div = document.createElement("div") div.innerHTML = `
- run(callable $callback = null, Analyze|bool $analyze = false) : Report + run(Analyze|bool $analyze = false) : Report
- @trigger
When analyzing pipeline execution we can chose to collect various metrics through analyze()->with*() method
- column statistics - analyze()->withColumnStatistics()
- schema - analyze()->withSchema()
@param null|callable(Rows $rows, FlowContext $context): void $callback
@param Analyze|bool $analyze - when set run will return Report
@return ($analyze is Analyze|true ? Report : null) + @trigger
When analyzing pipeline execution we can chose to collect various metrics through analyze()->with*() method
- column statistics - analyze()->withColumnStatistics()
- schema - analyze()->withSchema()
@param Analyze|bool $analyze - when set run will return Report
@return ($analyze is Analyze|true ? Report : null)
` return div }, - apply: snippet("run(" + "$" + "{" + "1:callback" + "}" + ", " + "$" + "{" + "2:analyze" + "}" + ")"), + apply: snippet("run(" + "$" + "{" + "1:analyze" + "}" + ")"), boost: 10 }, { label: "schema", diff --git a/web/landing/assets/codemirror/completions/dsl.js b/web/landing/assets/codemirror/completions/dsl.js index d80171d4e..7523c36ee 100644 --- a/web/landing/assets/codemirror/completions/dsl.js +++ b/web/landing/assets/codemirror/completions/dsl.js @@ -1,7 +1,7 @@ /** * CodeMirror Completer for Flow PHP DSL Functions * - * Total functions: 814 + * Total functions: 815 * * This completer provides autocompletion for all Flow PHP DSL functions: * - Extractors (flow-extractors) @@ -1646,6 +1646,24 @@ const dslFunctions = [ }, apply: snippet("\\Flow\\PostgreSql\\DSL\\col(" + "$" + "{" + "1:column" + "}" + ", " + "$" + "{" + "2:table" + "}" + ", " + "$" + "{" + "3:schema" + "}" + ")"), boost: 10 + }, { + label: "collate", + type: "function", + detail: "flow\u002Ddsl\u002Dhelpers", + info: () => { + const div = document.createElement("div") + div.innerHTML = ` +
+ collate(Expression|string $expr, string $collation) : Collate +
+
+ Create a COLLATE expression.
@param Expression|string $expr Expression to collate
@param string $collation Collation name as written in SQL: \'C\', \'\"de_DE\"\', \'pg_catalog.\"C\"\' +
+ ` + return div + }, + apply: snippet("\\Flow\\PostgreSql\\DSL\\collate(" + "$" + "{" + "1:expr" + "}" + ", " + "$" + "{" + "2:collation" + "}" + ")"), + boost: 10 }, { label: "collect", type: "function", @@ -8278,7 +8296,7 @@ const dslFunctions = [ rename_map(array $renames) : RenameMapEntryStrategy
- @param array $renames Map of old_name => new_name + @param array $renames Map of old_name => new_name
` return div @@ -8506,7 +8524,7 @@ const dslFunctions = [ row(array $values) : Row
- @param array $values + @param array $values
` return div @@ -11377,7 +11395,7 @@ const dslFunctions = [ to_pgsql_transaction(Client $client, Loader|Sink $sinks) : Transactional
- Write every sink within PostgreSQL transactions.
Each batch of rows is written in its own transaction; rows a sink\'s Transformation delivers when
the run ends (blocking operations drain there) are committed in one final transaction.
If any sink fails, the open transaction is rolled back.
Every sink\'s loader must use the same Client instance as the transaction - a loader holding its own
Client escapes it. + Write every sink within PostgreSQL transactions.
` return div diff --git a/web/landing/composer.lock b/web/landing/composer.lock index faf7f10fc..353da5f13 100644 --- a/web/landing/composer.lock +++ b/web/landing/composer.lock @@ -402,7 +402,7 @@ "dist": { "type": "path", "url": "../../src/core/etl", - "reference": "ff00b794ccb2f0c424d0f36f48abc8fe35785024" + "reference": "eb62891efe2225170e1871372df4d05a6e1828ff" }, "require": { "brick/math": "^0.12 || ^0.13 || ^0.14 || ^0.15 || ^0.16 || ^0.17 || ^0.18", @@ -415,8 +415,7 @@ "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "psr/clock": "^1.0", "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", - "symfony/string": "^6.4 || ^7.4 || ^8.0", - "webmozart/glob": "^3.0 || ^4.0" + "symfony/string": "^6.4 || ^7.4 || ^8.0" }, "require-dev": { "ramsey/uuid": "^4.5", @@ -518,13 +517,13 @@ "dist": { "type": "path", "url": "../../src/adapter/etl-adapter-json", - "reference": "ac4f812884e8bfa524eec172336d450c466413b0" + "reference": "50ba6f9b9eafe275b9cc423fb54e67b01d4bfda0" }, "require": { "ext-json": "*", "flow-php/etl": "self.version", "flow-php/filesystem": "self.version", - "halaxa/json-machine": "^1.1", + "halaxa/json-machine": "^1.2", "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0" @@ -568,14 +567,13 @@ "dist": { "type": "path", "url": "../../src/lib/filesystem", - "reference": "5b6c3bfd7062b5d8f46b6b474bec92227827cf4a" + "reference": "c8427fd1f53eac148c2e590f1e36604e080e4f89" }, "require": { "flow-php/telemetry": "self.version", "flow-php/types": "self.version", "php": "~8.3.0 || ~8.4.0 || ~8.5.0", - "symfony/polyfill-mbstring": "^1.33", - "webmozart/glob": "^3.0 || ^4.0" + "symfony/polyfill-mbstring": "^1.33" }, "type": "library", "autoload": { @@ -759,7 +757,7 @@ "dist": { "type": "path", "url": "../../src/bridge/symfony/telemetry-bundle", - "reference": "def82423597fcc21d3634c559188e378870de8ea" + "reference": "44e09a5d4bfddc58de889536d6c9eb72c1623363" }, "require": { "flow-php/psr3-telemetry-bridge": "self.version", @@ -784,6 +782,7 @@ "symfony/framework-bundle": "^6.4 || ^7.4 || ^8.0", "symfony/messenger": "^6.4 || ^7.4 || ^8.0", "symfony/routing": "^6.4 || ^7.4 || ^8.0", + "symfony/security-bundle": "^6.4 || ^7.4 || ^8.0", "symfony/security-core": "^6.4 || ^7.4 || ^8.0", "symfony/security-http": "^6.4 || ^7.4 || ^8.0", "symfony/serializer": "^6.4 || ^7.4 || ^8.0", @@ -1051,16 +1050,16 @@ }, { "name": "league/commonmark", - "version": "2.8.2", + "version": "2.10.3", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "59fb075d2101740c337c7216e3f32b36c204218b" + "reference": "6efbd9c472b91db0a3350fcd601c8332c2382e1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b", - "reference": "59fb075d2101740c337c7216e3f32b36c204218b", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6efbd9c472b91db0a3350fcd601c8332c2382e1f", + "reference": "6efbd9c472b91db0a3350fcd601c8332c2382e1f", "shasum": "" }, "require": { @@ -1082,8 +1081,8 @@ "github/gfm": "0.29.0", "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "phpstan/phpstan": "^2.0.0", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0 || ^12.0.0 || ^13.0.0", "scrutinizer/ocular": "^1.8.1", "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0", "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0", @@ -1097,7 +1096,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.9-dev" + "dev-main": "2.11-dev" } }, "autoload": { @@ -1154,7 +1153,7 @@ "type": "tidelift" } ], - "time": "2026-03-19T13:16:38+00:00" + "time": "2026-09-21T13:07:34+00:00" }, { "name": "league/config", @@ -1343,16 +1342,16 @@ }, { "name": "nette/schema", - "version": "v1.3.5", + "version": "v1.3.6", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002" + "reference": "c54350438cd6914616f790a49cb424605f421562" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002", - "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002", + "url": "https://api.github.com/repos/nette/schema/zipball/c54350438cd6914616f790a49cb424605f421562", + "reference": "c54350438cd6914616f790a49cb424605f421562", "shasum": "" }, "require": { @@ -1404,22 +1403,22 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.5" + "source": "https://github.com/nette/schema/tree/v1.3.6" }, - "time": "2026-02-23T03:47:12+00:00" + "time": "2026-08-16T21:58:41+00:00" }, { "name": "nette/utils", - "version": "v4.1.4", + "version": "v4.1.5", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7" + "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/7da6c396d7ebe142bc857c20479d5e70a5e1aac7", - "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7", + "url": "https://api.github.com/repos/nette/utils/zipball/b043439dbdf954e6c28b5ea7e34b0100f83165e0", + "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0", "shasum": "" }, "require": { @@ -1439,7 +1438,7 @@ }, "suggest": { "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-iconv": "to use Strings::chr(), ord() and reverse()", "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", @@ -1495,9 +1494,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.4" + "source": "https://github.com/nette/utils/tree/v4.1.5" }, - "time": "2026-05-11T20:49:54+00:00" + "time": "2026-07-17T23:02:45+00:00" }, { "name": "nyholm/psr7", @@ -3031,16 +3030,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.7.0", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b" + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b", - "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d", + "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d", "shasum": "" }, "require": { @@ -3078,7 +3077,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1" }, "funding": [ { @@ -3098,7 +3097,7 @@ "type": "tidelift" } ], - "time": "2026-04-13T15:52:40+00:00" + "time": "2026-06-05T06:23:12+00:00" }, { "name": "symfony/dotenv", @@ -6441,55 +6440,6 @@ } ], "time": "2026-05-30T17:09:26+00:00" - }, - { - "name": "webmozart/glob", - "version": "4.7.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/glob.git", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/glob/zipball/8a2842112d6916e61e0e15e316465b611f3abc17", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "symfony/filesystem": "^5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Glob\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A PHP implementation of Ant's glob.", - "support": { - "issues": "https://github.com/webmozarts/glob/issues", - "source": "https://github.com/webmozarts/glob/tree/4.7.0" - }, - "time": "2024-03-07T20:33:40+00:00" } ], "packages-dev": [