From 0ea92ef98d96f83e82e0f54b3db597d6efcdc7cf Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 24 Sep 2026 13:35:06 +0200 Subject: [PATCH 01/20] update versions to 33, 34, 35 --- .github/workflows/solid-tests-suites.yml | 14 +- solid/appinfo/info.xml | 2 +- solid/composer.json | 7 +- solid/composer.lock | 752 +++++++++++++++++------ 4 files changed, 561 insertions(+), 214 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 4f302a5d..8f17fe2a 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -34,9 +34,9 @@ jobs: # Version 24 comes with PHP 8.0, which is no longer supported; # Latest is not tested here, as that could cause failures unrelated to project changes nextcloud_version: - - 28 - - 29 - - 30 + - 33 + - 34 + - 35 steps: - name: Create docker tag from git reference @@ -82,16 +82,16 @@ jobs: fail-fast: false matrix: nextcloud_version: - - 28 - - 29 - - 30 + - 33 + - 34 + - 35 test: - 'solidtestsuite/solid-crud-tests:v7.0.5' - 'solidtestsuite/web-access-control-tests:v7.1.0' - 'solidtestsuite/webid-provider-tests:v2.1.1' # Prevent EOL or non-stable versions of Nextcloud to fail the test-suite - continue-on-error: ${{ contains(fromJson('[28,29,30]'), matrix.nextcloud_version) == false }} + continue-on-error: ${{ contains(fromJson('[33,34,35]'), matrix.nextcloud_version) == false }} steps: - name: Create docker tag from git reference diff --git a/solid/appinfo/info.xml b/solid/appinfo/info.xml index 5948943f..42824465 100644 --- a/solid/appinfo/info.xml +++ b/solid/appinfo/info.xml @@ -21,7 +21,7 @@ When you do this, the Solid App can store data in your Nextcloud account through https://github.com/pdsinterop/solid-nextcloud/issues - + OCA\Solid\Settings\SolidAdmin diff --git a/solid/composer.json b/solid/composer.json index 5ec83de0..82228628 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -31,10 +31,9 @@ "lcobucci/jwt": "^4.1", "pdsinterop/flysystem-nextcloud": "^0.2", "pdsinterop/flysystem-rdf": "^0.6", - "pdsinterop/solid-auth": "^0.13", - "pdsinterop/solid-crud": "^0.8", - "phrity/websocket": "^3.5", - "psr/log": "^1.1" + "pdsinterop/solid-auth": "^0.14.2", + "pdsinterop/solid-crud": "^0.8.5", + "phrity/websocket": "^3.5" }, "require-dev": { "phpunit/phpunit": "^8 || ^9" diff --git a/solid/composer.lock b/solid/composer.lock index 40beba96..65df164a 100644 --- a/solid/composer.lock +++ b/solid/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d71bcfd1c20fc01d5d37b45d79fdc793", + "content-hash": "065ee6138df0a6fe2ee53eacee6a2773", "packages": [ { "name": "arc/base", - "version": "3.0.3", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/Ariadne-CMS/arc-base.git", - "reference": "dac8d0032f6c3166c0bbc07467588973f1c0805b" + "reference": "2ae3c9c48c9f5ba461382d98ff0065dd762067d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ariadne-CMS/arc-base/zipball/dac8d0032f6c3166c0bbc07467588973f1c0805b", - "reference": "dac8d0032f6c3166c0bbc07467588973f1c0805b", + "url": "https://api.github.com/repos/Ariadne-CMS/arc-base/zipball/2ae3c9c48c9f5ba461382d98ff0065dd762067d1", + "reference": "2ae3c9c48c9f5ba461382d98ff0065dd762067d1", "shasum": "" }, "require": { @@ -25,7 +25,7 @@ "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "9.*" + "phpunit/phpunit": "10.*" }, "type": "library", "autoload": { @@ -51,9 +51,9 @@ ], "support": { "issues": "https://github.com/Ariadne-CMS/arc-base/issues", - "source": "https://github.com/Ariadne-CMS/arc-base/tree/3.0.3" + "source": "https://github.com/Ariadne-CMS/arc-base/tree/3.0.5" }, - "time": "2021-05-10T12:57:41+00:00" + "time": "2026-05-18T08:50:27+00:00" }, { "name": "arc/prototype", @@ -532,34 +532,34 @@ }, { "name": "lcobucci/clock", - "version": "3.3.1", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "db3713a61addfffd615b79bf0bc22f0ccc61b86b" + "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/db3713a61addfffd615b79bf0bc22f0ccc61b86b", - "reference": "db3713a61addfffd615b79bf0bc22f0ccc61b86b", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/a3139d9e97d47826f27e6a17bb63f13621f86058", + "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058", "shasum": "" }, "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.29", - "lcobucci/coding-standard": "^11.1.0", + "infection/infection": "^0.31", + "lcobucci/coding-standard": "^11.2.0", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.10.25", - "phpstan/phpstan-deprecation-rules": "^1.1.3", - "phpstan/phpstan-phpunit": "^1.3.13", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^11.3.6" + "phpstan/phpstan": "^2.0.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0.0", + "phpstan/phpstan-strict-rules": "^2.0.0", + "phpunit/phpunit": "^12.0.0" }, "type": "library", "autoload": { @@ -580,7 +580,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.3.1" + "source": "https://github.com/lcobucci/clock/tree/3.5.0" }, "funding": [ { @@ -592,7 +592,7 @@ "type": "patreon" } ], - "time": "2024-09-24T20:45:14+00:00" + "time": "2025-10-27T09:03:17+00:00" }, { "name": "lcobucci/jwt", @@ -869,16 +869,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.16.0", + "version": "1.17.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + "reference": "f5f47eff7c48ed1003069a2ca67f316fb4021c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/f5f47eff7c48ed1003069a2ca67f316fb4021c76", + "reference": "f5f47eff7c48ed1003069a2ca67f316fb4021c76", "shasum": "" }, "require": { @@ -888,7 +888,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0 || ^11.0 || ^12.0" }, "type": "library", "autoload": { @@ -909,7 +909,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.17.0" }, "funding": [ { @@ -921,7 +921,7 @@ "type": "tidelift" } ], - "time": "2024-09-21T08:32:55+00:00" + "time": "2026-07-09T11:49:27+00:00" }, { "name": "league/oauth2-server", @@ -1013,33 +1013,38 @@ }, { "name": "league/uri", - "version": "7.5.1", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "81fb5145d2644324614cc532b28efd0215bda430" + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", - "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.5", - "php": "^8.1" + "league/uri-interfaces": "^7.8.1", + "php": "^8.1", + "psr/http-factory": "^1" }, "conflict": { "league/uri-schemes": "^1.0" }, "suggest": { "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", "ext-fileinfo": "to create Data URI from file contennts", "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", - "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", - "league/uri-components": "Needed to easily manipulate URI objects components", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -1067,6 +1072,7 @@ "description": "URI manipulation library", "homepage": "https://uri.thephpleague.com", "keywords": [ + "URN", "data-uri", "file-uri", "ftp", @@ -1079,9 +1085,11 @@ "psr-7", "query-string", "querystring", + "rfc2141", "rfc3986", "rfc3987", "rfc6570", + "rfc8141", "uri", "uri-template", "url", @@ -1091,7 +1099,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.5.1" + "source": "https://github.com/thephpleague/uri/tree/7.8.1" }, "funding": [ { @@ -1099,26 +1107,25 @@ "type": "github" } ], - "time": "2024-12-08T08:40:02+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "league/uri-interfaces", - "version": "7.5.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", - "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", "shasum": "" }, "require": { "ext-filter": "*", "php": "^8.1", - "psr/http-factory": "^1", "psr/http-message": "^1.1 || ^2.0" }, "suggest": { @@ -1126,6 +1133,7 @@ "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -1150,7 +1158,7 @@ "homepage": "https://nyamsprod.com" } ], - "description": "Common interfaces and classes for URI representation and interaction", + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", "homepage": "https://uri.thephpleague.com", "keywords": [ "data-uri", @@ -1175,7 +1183,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" }, "funding": [ { @@ -1183,7 +1191,7 @@ "type": "github" } ], - "time": "2024-12-08T08:18:47+00:00" + "time": "2026-03-08T20:05:35+00:00" }, { "name": "mjrider/flysystem-factory", @@ -1363,6 +1371,84 @@ }, "time": "2022-09-29T08:45:17+00:00" }, + { + "name": "nyholm/psr7", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0", + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.9", + "php-http/message-factory": "^1.0", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", + "symfony/error-handler": "^4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "https://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/Nyholm/psr7/issues", + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" + }, + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2024-09-09T07:06:30+00:00" + }, { "name": "paragonie/random_compat", "version": "v9.99.100", @@ -1455,16 +1541,16 @@ }, { "name": "pdsinterop/flysystem-rdf", - "version": "v0.6.0", + "version": "v0.6.1", "source": { "type": "git", "url": "https://github.com/pdsinterop/flysystem-rdf.git", - "reference": "cb72c2a0538b2a552a9281f2bd9e4a7f48ca035d" + "reference": "dcf3dd58650e86562808324a04ac81f8c6cce125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/flysystem-rdf/zipball/cb72c2a0538b2a552a9281f2bd9e4a7f48ca035d", - "reference": "cb72c2a0538b2a552a9281f2bd9e4a7f48ca035d", + "url": "https://api.github.com/repos/pdsinterop/flysystem-rdf/zipball/dcf3dd58650e86562808324a04ac81f8c6cce125", + "reference": "dcf3dd58650e86562808324a04ac81f8c6cce125", "shasum": "" }, "require": { @@ -1490,22 +1576,22 @@ "description": "Flysystem plugin to transform RDF data between various serialization formats.", "support": { "issues": "https://github.com/pdsinterop/flysystem-rdf/issues", - "source": "https://github.com/pdsinterop/flysystem-rdf/tree/v0.6.0" + "source": "https://github.com/pdsinterop/flysystem-rdf/tree/v0.6.1" }, - "time": "2025-05-16T08:57:11+00:00" + "time": "2026-07-10T11:45:33+00:00" }, { "name": "pdsinterop/solid-auth", - "version": "v0.13.0", + "version": "v0.14.2", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-auth.git", - "reference": "f5fa8941c4178c18d5e278fb814351033a5f2a03" + "reference": "c3dc29f169f6dcd4c73d33335b9e4782814fd5f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/f5fa8941c4178c18d5e278fb814351033a5f2a03", - "reference": "f5fa8941c4178c18d5e278fb814351033a5f2a03", + "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/c3dc29f169f6dcd4c73d33335b9e4782814fd5f7", + "reference": "c3dc29f169f6dcd4c73d33335b9e4782814fd5f7", "shasum": "" }, "require": { @@ -1539,22 +1625,22 @@ "description": "OAuth2, OpenID and OIDC for Solid Server implementations.", "support": { "issues": "https://github.com/pdsinterop/php-solid-auth/issues", - "source": "https://github.com/pdsinterop/php-solid-auth/tree/v0.13.0" + "source": "https://github.com/pdsinterop/php-solid-auth/tree/v0.14.2" }, - "time": "2025-06-06T09:08:14+00:00" + "time": "2026-07-10T09:47:01+00:00" }, { "name": "pdsinterop/solid-crud", - "version": "v0.8.1", + "version": "v0.8.5", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-crud.git", - "reference": "4b973948cca24bd38fd843dd3d356cb4f7c5de04" + "reference": "0de2746b98ad4541c9bc5b0d8837ec8e22022b23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/4b973948cca24bd38fd843dd3d356cb4f7c5de04", - "reference": "4b973948cca24bd38fd843dd3d356cb4f7c5de04", + "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/0de2746b98ad4541c9bc5b0d8837ec8e22022b23", + "reference": "0de2746b98ad4541c9bc5b0d8837ec8e22022b23", "shasum": "" }, "require": { @@ -1562,14 +1648,16 @@ "laminas/laminas-diactoros": "^2.14", "league/flysystem": "^1.0", "mjrider/flysystem-factory": "^0.7", - "pdsinterop/flysystem-rdf": "^0.6", + "pdsinterop/flysystem-rdf": "^0.6.1", "php": "^8.0", "pietercolpaert/hardf": "^0.3", "psr/http-factory": "^1.0", "psr/http-message": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^9" + "ext-xdebug": "*", + "ext-xml": "*", + "phpunit/phpunit": "^9.5" }, "type": "library", "autoload": { @@ -1585,32 +1673,32 @@ "description": "Solid HTTPS REST API specification compliant implementation for handling Resource CRUD", "support": { "issues": "https://github.com/pdsinterop/php-solid-crud/issues", - "source": "https://github.com/pdsinterop/php-solid-crud/tree/v0.8.1" + "source": "https://github.com/pdsinterop/php-solid-crud/tree/v0.8.5" }, - "time": "2025-06-06T12:20:43+00:00" + "time": "2026-07-10T11:57:53+00:00" }, { "name": "phrity/comparison", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-comparison.git", - "reference": "aedd44d59db08de7d6c31812d1490c22aab35c92" + "reference": "cf80abb822537eeaaeb4142157cd667ca6372a13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-comparison/zipball/aedd44d59db08de7d6c31812d1490c22aab35c92", - "reference": "aedd44d59db08de7d6c31812d1490c22aab35c92", + "url": "https://api.github.com/repos/sirn-se/phrity-comparison/zipball/cf80abb822537eeaaeb4142157cd667ca6372a13", + "reference": "cf80abb822537eeaaeb4142157cd667ca6372a13", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 | ^11.0 | ^12.0", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" }, "type": "library", "autoload": { @@ -1641,36 +1729,95 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-comparison/issues", - "source": "https://github.com/sirn-se/phrity-comparison/tree/1.4.0" + "source": "https://github.com/sirn-se/phrity-comparison/tree/1.4.1" + }, + "time": "2025-12-05T07:38:30+00:00" + }, + { + "name": "phrity/http", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/sirn-se/phrity-http.git", + "reference": "1e7eee67359287b94aae2b7d40b730d5f5394943" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sirn-se/phrity-http/zipball/1e7eee67359287b94aae2b7d40b730d5f5394943", + "reference": "1e7eee67359287b94aae2b7d40b730d5f5394943", + "shasum": "" + }, + "require": { + "php": "^8.1", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" }, - "time": "2025-05-26T20:12:39+00:00" + "require-dev": { + "guzzlehttp/psr7": "^2.0", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Phrity\\Http\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sören Jensen", + "email": "sirn@sirn.se", + "homepage": "https://phrity.sirn.se" + } + ], + "description": "Utilities and interfaces for handling HTTP.", + "homepage": "https://phrity.sirn.se/http", + "keywords": [ + "HTTP Factories", + "HTTP Serializer", + "http", + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/sirn-se/phrity-http/issues", + "source": "https://github.com/sirn-se/phrity-http/tree/1.1.0" + }, + "time": "2025-12-22T20:22:29+00:00" }, { "name": "phrity/net-stream", - "version": "2.3.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-net-stream.git", - "reference": "0ecc50a8ee7a708033d391ed60878b0bd5397bf8" + "reference": "a0726a8dddf11a4cd3a9e45d17e145d78e948f43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-net-stream/zipball/0ecc50a8ee7a708033d391ed60878b0bd5397bf8", - "reference": "0ecc50a8ee7a708033d391ed60878b0bd5397bf8", + "url": "https://api.github.com/repos/sirn-se/phrity-net-stream/zipball/a0726a8dddf11a4cd3a9e45d17e145d78e948f43", + "reference": "a0726a8dddf11a4cd3a9e45d17e145d78e948f43", "shasum": "" }, "require": { "php": "^8.1", "phrity/util-errorhandler": "^1.1", + "phrity/util-interpolator": "^1.1", "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 | ^2.0" + "psr/http-message": "^1.1 || ^2.0" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 | ^11.0 | ^12.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0 || ^13.0", "phrity/net-uri": "^2.0", - "squizlabs/php_codesniffer": "^3.5" + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^4.0" }, "type": "library", "autoload": { @@ -1702,22 +1849,22 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-net-stream/issues", - "source": "https://github.com/sirn-se/phrity-net-stream/tree/2.3.0" + "source": "https://github.com/sirn-se/phrity-net-stream/tree/2.4.0" }, - "time": "2025-05-22T08:28:09+00:00" + "time": "2026-03-25T18:16:40+00:00" }, { "name": "phrity/net-uri", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-net-uri.git", - "reference": "08de4cf07e439c4708f572249659f09198ac99f0" + "reference": "0737de026b75177ae302ac9fdbbd0ffc2610f3b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-net-uri/zipball/08de4cf07e439c4708f572249659f09198ac99f0", - "reference": "08de4cf07e439c4708f572249659f09198ac99f0", + "url": "https://api.github.com/repos/sirn-se/phrity-net-uri/zipball/0737de026b75177ae302ac9fdbbd0ffc2610f3b8", + "reference": "0737de026b75177ae302ac9fdbbd0ffc2610f3b8", "shasum": "" }, "require": { @@ -1728,11 +1875,11 @@ "psr/http-message": "^1.1 | ^2.0" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 | ^11.0 | ^12.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", "phrity/util-errorhandler": "^1.1", - "squizlabs/php_codesniffer": "^3.5" + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" }, "suggest": { "ext-intl": "Enables IDN conversion for non-ASCII domains" @@ -1764,32 +1911,84 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-net-uri/issues", - "source": "https://github.com/sirn-se/phrity-net-uri/tree/2.2.0" + "source": "https://github.com/sirn-se/phrity-net-uri/tree/2.2.1" }, - "time": "2025-05-25T13:05:13+00:00" + "time": "2025-12-05T10:39:22+00:00" + }, + { + "name": "phrity/util-accessor", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/sirn-se/phrity-util-accessor.git", + "reference": "e9741da6b532fa2da7f627fce60fa77f00f6e354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sirn-se/phrity-util-accessor/zipball/e9741da6b532fa2da7f627fce60fa77f00f6e354", + "reference": "e9741da6b532fa2da7f627fce60fa77f00f6e354", + "shasum": "" + }, + "require": { + "php": "^8.1", + "phrity/util-transformer": "^1.0" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Phrity\\Util\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sören Jensen", + "email": "sirn@sirn.se", + "homepage": "https://phrity.sirn.se" + } + ], + "description": "Utility to handle access to a data set by using access paths. Similar to and partly compatible with xpath and json-pointer.", + "homepage": "https://phrity.sirn.se/util-accessor", + "keywords": [ + "accessor" + ], + "support": { + "issues": "https://github.com/sirn-se/phrity-util-accessor/issues", + "source": "https://github.com/sirn-se/phrity-util-accessor/tree/1.3.1" + }, + "time": "2025-12-05T21:18:15+00:00" }, { "name": "phrity/util-errorhandler", - "version": "1.2.0", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-util-errorhandler.git", - "reference": "61813189e4525fde4aecad3df849829d526d6f76" + "reference": "70a669cc22db2eed6a109ec66fd95168a4332c9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/61813189e4525fde4aecad3df849829d526d6f76", - "reference": "61813189e4525fde4aecad3df849829d526d6f76", + "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/70a669cc22db2eed6a109ec66fd95168a4332c9b", + "reference": "70a669cc22db2eed6a109ec66fd95168a4332c9b", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 | ^11.0 | ^12.0", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" }, "type": "library", "autoload": { @@ -1816,38 +2015,156 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-util-errorhandler/issues", - "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.2.0" + "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.2.2" }, - "time": "2025-05-26T18:26:51+00:00" + "time": "2025-12-05T21:25:36+00:00" + }, + { + "name": "phrity/util-interpolator", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sirn-se/phrity-util-interpolator.git", + "reference": "18b0362d2aff60984c530808333c5e64c80c3e50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sirn-se/phrity-util-interpolator/zipball/18b0362d2aff60984c530808333c5e64c80c3e50", + "reference": "18b0362d2aff60984c530808333c5e64c80c3e50", + "shasum": "" + }, + "require": { + "php": "^8.1", + "phrity/util-accessor": "^1.3", + "phrity/util-transformer": "^1.3" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Phrity\\Util\\Interpolator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sören Jensen", + "email": "sirn@sirn.se", + "homepage": "https://phrity.sirn.se" + } + ], + "description": "Interpolator class and trait.", + "homepage": "https://phrity.sirn.se/util-interpolator", + "keywords": [ + "interpolate", + "interpolator" + ], + "support": { + "issues": "https://github.com/sirn-se/phrity-util-interpolator/issues", + "source": "https://github.com/sirn-se/phrity-util-interpolator/tree/1.1.1" + }, + "time": "2025-12-05T21:35:25+00:00" + }, + { + "name": "phrity/util-transformer", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/sirn-se/phrity-util-transformer.git", + "reference": "4bda68d36d06e36c80ca8ece20651b715bf99c7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sirn-se/phrity-util-transformer/zipball/4bda68d36d06e36c80ca8ece20651b715bf99c7d", + "reference": "4bda68d36d06e36c80ca8ece20651b715bf99c7d", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "nyholm/psr7": "^1.0", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0 || ^13.0", + "psr/http-message": "^1.0 || ^2.0", + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^3.5 || ^4.0", + "symfony/property-access": "^6.0 || ^7.0 || ^8.0", + "symfony/serializer": "^6.0 || ^7.0 || ^8.0", + "symfony/translation-contracts": "^3.0", + "symfony/uid": "^6.0 || ^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Phrity\\Util\\Transformer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sören Jensen", + "email": "sirn@sirn.se", + "homepage": "https://phrity.sirn.se" + } + ], + "description": "Type transformers, normalizers and resolvers.", + "homepage": "https://phrity.sirn.se/util-transformer", + "keywords": [ + "normalizer", + "resolver", + "transformer", + "type" + ], + "support": { + "issues": "https://github.com/sirn-se/phrity-util-transformer/issues", + "source": "https://github.com/sirn-se/phrity-util-transformer/tree/1.4.0" + }, + "time": "2026-09-02T17:56:17+00:00" }, { "name": "phrity/websocket", - "version": "3.5.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/sirn-se/websocket-php.git", - "reference": "df3b4dbe3a8741159ae5cb5735476ebc4813d909" + "reference": "674caab6f35bfc476a75ec0748adca3fd6a2282a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/websocket-php/zipball/df3b4dbe3a8741159ae5cb5735476ebc4813d909", - "reference": "df3b4dbe3a8741159ae5cb5735476ebc4813d909", + "url": "https://api.github.com/repos/sirn-se/websocket-php/zipball/674caab6f35bfc476a75ec0748adca3fd6a2282a", + "reference": "674caab6f35bfc476a75ec0748adca3fd6a2282a", "shasum": "" }, "require": { + "nyholm/psr7": "^1.4", "php": "^8.1", - "phrity/net-stream": "^2.3", + "phrity/http": "^1.1", + "phrity/net-stream": "^2.4", "phrity/net-uri": "^2.1", - "psr/http-message": "^1.1 | ^2.0", - "psr/log": "^1.0 | ^2.0 | ^3.0" + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "psr/log": "^1.0 || ^2.0 || ^3.0" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.0", "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^10.0 | ^11.0 | ^12.0", - "phrity/net-mock": "^2.3", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0 || ^13.0", + "phrity/logger-console": "^1.0", + "phrity/net-mock": "^2.4", "phrity/util-errorhandler": "^1.1", - "squizlabs/php_codesniffer": "^3.5" + "robiningelbrecht/phpunit-coverage-tools": "^1.9", + "squizlabs/php_codesniffer": "^4.0" }, "type": "library", "autoload": { @@ -1878,9 +2195,9 @@ ], "support": { "issues": "https://github.com/sirn-se/websocket-php/issues", - "source": "https://github.com/sirn-se/websocket-php/tree/3.5.0" + "source": "https://github.com/sirn-se/websocket-php/tree/3.8.1" }, - "time": "2025-05-23T13:13:41+00:00" + "time": "2026-08-15T14:09:44+00:00" }, { "name": "pietercolpaert/hardf", @@ -2157,30 +2474,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2201,9 +2518,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "ralouphie/getallheaders", @@ -2541,20 +2858,20 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.1", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", - "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.0" }, "conflict": { "doctrine/collections": "<1.6.8", @@ -2589,32 +2906,31 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" + "url": "https://github.com/mnapoli", + "type": "github" } ], - "time": "2025-04-29T12:36:36+00:00" + "time": "2026-08-11T10:17:44+00:00" }, { "name": "nikic/php-parser", - "version": "v5.5.0", + "version": "v5.9.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" + "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9e33da9553fe7786f0962b35f4e4ecf01be89def", + "reference": "9e33da9553fe7786f0962b35f4e4ecf01be89def", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-json": "*", "ext-tokenizer": "*", "php": ">=7.4" @@ -2629,7 +2945,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.x-dev" } }, "autoload": { @@ -2653,9 +2969,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.9.0" }, - "time": "2025-05-31T08:24:38+00:00" + "time": "2026-09-13T18:51:52+00:00" }, { "name": "phar-io/manifest", @@ -3096,27 +3412,27 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.23", + "version": "9.6.37", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95" + "reference": "aceaa623912caf8e80bffea22fc4103a0a01565f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", - "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/aceaa623912caf8e80bffea22fc4103a0a01565f", + "reference": "aceaa623912caf8e80bffea22fc4103a0a01565f", "shasum": "" }, "require": { "doctrine/instantiator": "^1.5.0 || ^2", "ext-dom": "*", + "ext-filter": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", - "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.1", + "myclabs/deep-copy": "^1.13.4", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=7.3", @@ -3127,11 +3443,11 @@ "phpunit/php-timer": "^5.0.3", "sebastian/cli-parser": "^1.0.2", "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.8", + "sebastian/comparator": "^4.0.10", "sebastian/diff": "^4.0.6", "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.6", - "sebastian/global-state": "^5.0.7", + "sebastian/exporter": "^4.0.9", + "sebastian/global-state": "^5.0.8", "sebastian/object-enumerator": "^4.0.4", "sebastian/resource-operations": "^3.0.4", "sebastian/type": "^3.2.1", @@ -3179,31 +3495,15 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.23" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.37" }, "funding": [ { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" + "url": "https://phpunit.de/sponsoring.html", + "type": "other" } ], - "time": "2025-05-02T06:40:34+00:00" + "time": "2026-09-23T09:59:59+00:00" }, { "name": "sebastian/cli-parser", @@ -3374,16 +3674,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.8", + "version": "4.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", "shasum": "" }, "require": { @@ -3436,15 +3736,27 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2026-01-24T09:22:56+00:00" }, { "name": "sebastian/complexity", @@ -3634,16 +3946,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.6", + "version": "4.0.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" + "reference": "4352c1a3df741a7ba9e61af6fed51d1fee41cbf7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/4352c1a3df741a7ba9e61af6fed51d1fee41cbf7", + "reference": "4352c1a3df741a7ba9e61af6fed51d1fee41cbf7", "shasum": "" }, "require": { @@ -3699,28 +4011,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.9" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2024-03-02T06:33:00+00:00" + "time": "2026-08-11T04:55:59+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.7", + "version": "5.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", "shasum": "" }, "require": { @@ -3763,15 +4087,27 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2024-03-02T06:35:11+00:00" + "time": "2025-08-10T07:10:35+00:00" }, { "name": "sebastian/lines-of-code", @@ -3944,16 +4280,16 @@ }, { "name": "sebastian/recursion-context", - "version": "4.0.5", + "version": "4.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "reference": "c85be6922b7fd365942b986b9a50397d65407611" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/c85be6922b7fd365942b986b9a50397d65407611", + "reference": "c85be6922b7fd365942b986b9a50397d65407611", "shasum": "" }, "require": { @@ -3995,15 +4331,27 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.7" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2023-02-03T06:07:39+00:00" + "time": "2026-08-11T05:25:24+00:00" }, { "name": "sebastian/resource-operations", @@ -4170,16 +4518,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -4208,7 +4556,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -4216,7 +4564,7 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [], From 3cb0e377f6ef13bee2dc3787201fb79e07202833 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 24 Sep 2026 13:37:24 +0200 Subject: [PATCH 02/20] update versions --- .github/workflows/php.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index c3979dd4..39b8e917 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -87,9 +87,9 @@ jobs: fail-fast: false matrix: nextcloud_version: - - 28 - - 29 - - 30 + - 33 + - 34 + - 35 steps: - uses: actions/checkout@v5 # @CHECKME: cp site.conf /etc/apache2/sites-enabled/000-default.conf (?) From b00c1d4dadaf450c2ce288517cf083b90cf9a5c3 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 24 Sep 2026 15:15:41 +0200 Subject: [PATCH 03/20] update to executeQuery --- solid/lib/JtiReplayDetector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid/lib/JtiReplayDetector.php b/solid/lib/JtiReplayDetector.php index bb449f52..a4dd0623 100644 --- a/solid/lib/JtiReplayDetector.php +++ b/solid/lib/JtiReplayDetector.php @@ -53,7 +53,7 @@ private function has(string $jti, string $uri): bool ->andWhere( $queryBuilder->expr()->gt('request_time', $queryBuilder->createParameter('notOlderThan')) )->setParameter('notOlderThan', $notOlderThan, 'datetime') - ->execute() + ->executeQuery() ; $row = $cursor->fetch(); From 5bd8b11577c1a7f010697586d71019cccb628f1a Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Wed, 30 Sep 2026 18:08:38 +0200 Subject: [PATCH 04/20] update composer, rework profile and storage controllers --- solid/composer.json | 14 ++++---- solid/lib/Controller/ProfileController.php | 11 ++----- solid/lib/Controller/StorageController.php | 38 ++++++++++------------ 3 files changed, 27 insertions(+), 36 deletions(-) diff --git a/solid/composer.json b/solid/composer.json index 82228628..857e7b16 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -21,18 +21,18 @@ } ], "require": { - "php": "^8.1", + "php": "^8.3", "ext-dom": "*", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "easyrdf/easyrdf": "^1.1.1", - "laminas/laminas-diactoros": "^2.8", + "ylebre/easyrdf": "dev-fix/80-turtle-parsing", + "laminas/laminas-diactoros": "^3", "lcobucci/jwt": "^4.1", - "pdsinterop/flysystem-nextcloud": "^0.2", - "pdsinterop/flysystem-rdf": "^0.6", - "pdsinterop/solid-auth": "^0.14.2", - "pdsinterop/solid-crud": "^0.8.5", + "pdsinterop/flysystem-nextcloud": "^dev-feature/flysystem-3", + "pdsinterop/flysystem-rdf": "dev-main", + "pdsinterop/solid-auth": "dev-update-laminas", + "pdsinterop/solid-crud": "dev-feature/flysystem-3", "phrity/websocket": "^3.5" }, "require-dev": { diff --git a/solid/lib/Controller/ProfileController.php b/solid/lib/Controller/ProfileController.php index 0f7cfec8..35a3273a 100644 --- a/solid/lib/Controller/ProfileController.php +++ b/solid/lib/Controller/ProfileController.php @@ -80,14 +80,9 @@ private function getFileSystem($userId) { $formats, $serverUri ); - + $this->adapter = $rdfAdapter; $filesystem = new \League\Flysystem\Filesystem($rdfAdapter); - $filesystem->addPlugin(new \Pdsinterop\Rdf\Flysystem\Plugin\AsMime($formats)); - - $plugin = new \Pdsinterop\Rdf\Flysystem\Plugin\ReadRdf($graph); - $filesystem->addPlugin($plugin); - return $filesystem; } @@ -147,8 +142,8 @@ public function handleRequest($userId, $path) { $this->filesystem = $this->getFileSystem($userId); - $this->resourceServer = new ResourceServer($this->filesystem, $this->response); - $this->WAC = new WAC($this->filesystem); + $this->resourceServer = new ResourceServer($this->filesystem, $this->adapter, $this->response); + $this->WAC = new WAC($this->filesystem, $this->adapter); $request = $this->rawRequest; $baseUrl = $this->getProfileUrl($userId); diff --git a/solid/lib/Controller/StorageController.php b/solid/lib/Controller/StorageController.php index 4a834d3b..2884fef2 100644 --- a/solid/lib/Controller/StorageController.php +++ b/solid/lib/Controller/StorageController.php @@ -78,13 +78,9 @@ private function getFileSystem() { $serverUri ); + $this->adapter = $rdfAdapter; $filesystem = new \League\Flysystem\Filesystem($rdfAdapter); - $filesystem->addPlugin(new \Pdsinterop\Rdf\Flysystem\Plugin\AsMime($formats)); - - $plugin = new \Pdsinterop\Rdf\Flysystem\Plugin\ReadRdf($graph); - $filesystem->addPlugin($plugin); - return $filesystem; } @@ -246,43 +242,43 @@ private function initializeStorage($userId) { // Make sure the root folder has an acl file, as is required by the spec; // Generate a default file granting the owner full access if there is nothing there. - if (!$this->filesystem->has("/.acl")) { + if (!$this->filesystem->fileExists("/.acl")) { $defaultAcl = $this->generateDefaultAcl($userId); $this->filesystem->write("/.acl", $defaultAcl); } // Generate default folders and ACLs: - if (!$this->filesystem->has("/inbox")) { - $this->filesystem->createDir("/inbox"); + if (!$this->filesystem->fileExists("/inbox")) { + $this->filesystem->createDirectory("/inbox"); } - if (!$this->filesystem->has("/inbox/.acl")) { + if (!$this->filesystem->fileExists("/inbox/.acl")) { $inboxAcl = $this->generatePublicAppendAcl($userId); $this->filesystem->write("/inbox/.acl", $inboxAcl); } - if (!$this->filesystem->has("/settings")) { - $this->filesystem->createDir("/settings"); + if (!$this->filesystem->fileExists("/settings")) { + $this->filesystem->createDirectory("/settings"); } - if (!$this->filesystem->has("/settings/privateTypeIndex.ttl")) { + if (!$this->filesystem->fileExists("/settings/privateTypeIndex.ttl")) { $privateTypeIndex = $this->generateDefaultPrivateTypeIndex(); $this->filesystem->write("/settings/privateTypeIndex.ttl", $privateTypeIndex); } - if (!$this->filesystem->has("/settings/publicTypeIndex.ttl")) { + if (!$this->filesystem->fileExists("/settings/publicTypeIndex.ttl")) { $publicTypeIndex = $this->generateDefaultPublicTypeIndex(); $this->filesystem->write("/settings/publicTypeIndex.ttl", $publicTypeIndex); } - if (!$this->filesystem->has("/settings/preferences.ttl")) { + if (!$this->filesystem->fileExists("/settings/preferences.ttl")) { $preferences = $this->generateDefaultPreferences($userId); $this->filesystem->write("/settings/preferences.ttl", $preferences); } - if (!$this->filesystem->has("/public")) { - $this->filesystem->createDir("/public"); + if (!$this->filesystem->fileExists("/public")) { + $this->filesystem->createDirectory("/public"); } - if (!$this->filesystem->has("/public/.acl")) { + if (!$this->filesystem->fileExists("/public/.acl")) { $publicAcl = $this->generatePublicReadAcl($userId); $this->filesystem->write("/public/.acl", $publicAcl); } - if (!$this->filesystem->has("/private")) { - $this->filesystem->createDir("/private"); + if (!$this->filesystem->fileExists("/private")) { + $this->filesystem->createDirectory("/private"); } } /** @@ -296,8 +292,8 @@ public function handleRequest($userId, $path) { $this->initializeStorage($userId); - $this->resourceServer = new ResourceServer($this->filesystem, $this->response); - $this->WAC = new WAC($this->filesystem); + $this->resourceServer = new ResourceServer($this->filesystem, $this->adapter, $this->response); + $this->WAC = new WAC($this->filesystem, $this->adapter); $request = $this->rawRequest; $baseUrl = $this->getStorageUrl($userId); From 613cf83d077213ae629f1e6d4e96e2ae91ffa7c2 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 1 Oct 2026 15:41:05 +0200 Subject: [PATCH 05/20] use dev-versions in composer to validate --- solid/composer.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solid/composer.json b/solid/composer.json index 857e7b16..adb13bac 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -26,12 +26,12 @@ "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "ylebre/easyrdf": "dev-fix/80-turtle-parsing", + "sweetrdf/easyrdf": "1.15.0", "laminas/laminas-diactoros": "^3", "lcobucci/jwt": "^4.1", - "pdsinterop/flysystem-nextcloud": "^dev-feature/flysystem-3", + "pdsinterop/flysystem-nextcloud": "dev-feature/flysystem-3", "pdsinterop/flysystem-rdf": "dev-main", - "pdsinterop/solid-auth": "dev-update-laminas", + "pdsinterop/solid-auth": "dev-feature/flysystem-3", "pdsinterop/solid-crud": "dev-feature/flysystem-3", "phrity/websocket": "^3.5" }, From 0047c50a4cf527f690112deb99029d345d74b12e Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 1 Oct 2026 15:42:12 +0200 Subject: [PATCH 06/20] drop 8.1, 8.2 and add 8.4 --- .github/workflows/php.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 39b8e917..e24e47b3 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -152,9 +152,8 @@ jobs: fail-fast: false matrix: php: - - '8.1' # from 2021-11 to 2023-11 (2025-12) - - '8.2' # from 2022-12 to 2024-12 (2026-12) - '8.3' # from 2023-11 to 2025-12 (2027-12) + - '8.4' steps: - uses: actions/checkout@v4 - uses: docker://pipelinecomponents/php-codesniffer From 97da42e92c85ce0ddab4f0b116e4d884eae617df Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 1 Oct 2026 15:43:52 +0200 Subject: [PATCH 07/20] update composer.lock --- solid/composer.lock | 1108 +++++++++++++++++-------------------------- 1 file changed, 429 insertions(+), 679 deletions(-) diff --git a/solid/composer.lock b/solid/composer.lock index 65df164a..4d1b92d0 100644 --- a/solid/composer.lock +++ b/solid/composer.lock @@ -4,157 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "065ee6138df0a6fe2ee53eacee6a2773", + "content-hash": "d8aa06f8ce518dc7ea3b8484bc671346", "packages": [ - { - "name": "arc/base", - "version": "3.0.5", - "source": { - "type": "git", - "url": "https://github.com/Ariadne-CMS/arc-base.git", - "reference": "2ae3c9c48c9f5ba461382d98ff0065dd762067d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ariadne-CMS/arc-base/zipball/2ae3c9c48c9f5ba461382d98ff0065dd762067d1", - "reference": "2ae3c9c48c9f5ba461382d98ff0065dd762067d1", - "shasum": "" - }, - "require": { - "arc/prototype": "~3.0", - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "10.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "arc\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Auke van Slooten", - "email": "auke@muze.nl" - } - ], - "description": "Ariadne Component Library", - "homepage": "https://github.com/Ariadne-CMS/arc/wiki", - "keywords": [ - "component", - "components" - ], - "support": { - "issues": "https://github.com/Ariadne-CMS/arc-base/issues", - "source": "https://github.com/Ariadne-CMS/arc-base/tree/3.0.5" - }, - "time": "2026-05-18T08:50:27+00:00" - }, - { - "name": "arc/prototype", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/Ariadne-CMS/arc-prototype.git", - "reference": "d947d8c4fab7ce6fcfd8eb615f6178f39fb059f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ariadne-CMS/arc-prototype/zipball/d947d8c4fab7ce6fcfd8eb615f6178f39fb059f0", - "reference": "d947d8c4fab7ce6fcfd8eb615f6178f39fb059f0", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "9.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "arc\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Auke van Slooten", - "email": "auke@muze.nl" - } - ], - "description": "ARC: prototypical inheritance component", - "homepage": "https://github.com/Ariadne-CMS/arc/wiki", - "keywords": [ - "arc", - "component", - "components", - "prototype" - ], - "support": { - "issues": "https://github.com/Ariadne-CMS/arc-prototype/issues", - "source": "https://github.com/Ariadne-CMS/arc-prototype/tree/master" - }, - "time": "2020-02-23T15:03:36+00:00" - }, - { - "name": "arc/web", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/Ariadne-CMS/arc-web.git", - "reference": "43abd411da734db2ca44710b2307e2d850f89ff5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ariadne-CMS/arc-web/zipball/43abd411da734db2ca44710b2307e2d850f89ff5", - "reference": "43abd411da734db2ca44710b2307e2d850f89ff5", - "shasum": "" - }, - "require": { - "arc/base": "~3.0", - "php": ">=7.3", - "ralouphie/getallheaders": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "7|8|9" - }, - "type": "library", - "autoload": { - "psr-4": { - "arc\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Auke van Slooten", - "email": "auke@muze.nl" - } - ], - "description": "Ariadne Component Library: Web Components", - "homepage": "https://github.com/Ariadne-CMS/arc/wiki", - "keywords": [ - "component", - "components" - ], - "support": { - "issues": "https://github.com/Ariadne-CMS/arc-web/issues", - "source": "https://github.com/Ariadne-CMS/arc-web/tree/3.0.2" - }, - "time": "2022-06-02T07:57:47+00:00" - }, { "name": "brick/math", "version": "0.9.3", @@ -282,81 +133,6 @@ }, "time": "2023-06-19T06:10:36+00:00" }, - { - "name": "easyrdf/easyrdf", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/easyrdf/easyrdf.git", - "reference": "c7b0a9dbcb211eb7de03ee99ff5b52d17f2a8e64" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/easyrdf/easyrdf/zipball/c7b0a9dbcb211eb7de03ee99ff5b52d17f2a8e64", - "reference": "c7b0a9dbcb211eb7de03ee99ff5b52d17f2a8e64", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "ext-pcre": "*", - "ext-xmlreader": "*", - "lib-libxml": "*", - "php": ">=7.1.0" - }, - "require-dev": { - "code-lts/doctum": "^5", - "ml/json-ld": "~1.0", - "phpunit/phpunit": "^7", - "semsol/arc2": "^2.4", - "squizlabs/php_codesniffer": "3.*", - "zendframework/zend-http": "~2.3" - }, - "suggest": { - "ml/json-ld": "~1.0", - "semsol/arc2": "~2.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "EasyRdf\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nicholas Humfrey", - "email": "njh@aelius.com", - "homepage": "http://www.aelius.com/njh/", - "role": "Developer" - }, - { - "name": "Alexey Zakhlestin", - "email": "indeyets@gmail.com", - "homepage": "http://indeyets.ru/", - "role": "Developer" - } - ], - "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.", - "homepage": "http://www.easyrdf.org/", - "keywords": [ - "Linked Data", - "RDF", - "Semantic Web", - "Turtle", - "rdfa", - "sparql" - ], - "support": { - "forum": "http://groups.google.com/group/easyrdf/", - "issues": "http://github.com/easyrdf/easyrdf/issues", - "source": "https://github.com/easyrdf/easyrdf/tree/1.1.1" - }, - "time": "2020-12-02T08:47:31+00:00" - }, { "name": "fgrosse/phpasn1", "version": "v2.5.0", @@ -435,41 +211,41 @@ }, { "name": "laminas/laminas-diactoros", - "version": "2.26.0", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "6584d44eb8e477e89d453313b858daac6183cddc" + "reference": "60c182916b2749480895601649563970f3f12ec4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/6584d44eb8e477e89d453313b858daac6183cddc", - "reference": "6584d44eb8e477e89d453313b858daac6183cddc", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/60c182916b2749480895601649563970f3f12ec4", + "reference": "60c182916b2749480895601649563970f3f12ec4", "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0" }, "conflict": { - "zendframework/zend-diactoros": "*" + "amphp/amp": "<2.6.4" }, "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" + "psr/http-factory-implementation": "^1.0", + "psr/http-message-implementation": "^1.1 || ^2.0" }, "require-dev": { "ext-curl": "*", "ext-dom": "*", "ext-gd": "*", "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.9.0", - "laminas/laminas-coding-standard": "^2.5", - "php-http/psr7-integration-tests": "^1.2", - "phpunit/phpunit": "^9.5.28", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.6" + "http-interop/http-factory-tests": "^2.2.0", + "laminas/laminas-coding-standard": "~3.1.0", + "php-http/psr7-integration-tests": "^1.4.0", + "phpunit/phpunit": "^10.5.36", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.13" }, "type": "library", "extra": { @@ -484,18 +260,9 @@ "src/functions/marshal_headers_from_sapi.php", "src/functions/marshal_method_from_sapi.php", "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", "src/functions/normalize_server.php", "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php", - "src/functions/create_uploaded_file.legacy.php", - "src/functions/marshal_headers_from_sapi.legacy.php", - "src/functions/marshal_method_from_sapi.legacy.php", - "src/functions/marshal_protocol_version_from_sapi.legacy.php", - "src/functions/marshal_uri_from_sapi.legacy.php", - "src/functions/normalize_server.legacy.php", - "src/functions/normalize_uploaded_files.legacy.php", - "src/functions/parse_cookie_header.legacy.php" + "src/functions/parse_cookie_header.php" ], "psr-4": { "Laminas\\Diactoros\\": "src/" @@ -528,38 +295,38 @@ "type": "community_bridge" } ], - "time": "2023-10-29T16:17:44+00:00" + "time": "2025-10-12T15:31:36+00:00" }, { "name": "lcobucci/clock", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058" + "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/a3139d9e97d47826f27e6a17bb63f13621f86058", - "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/4cdd88f761e9be9095ccbedf3e08d61ae216c643", + "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643", "shasum": "" }, "require": { - "php": "~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.4.0 || ~8.5.0", "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.31", - "lcobucci/coding-standard": "^11.2.0", + "infection/infection": "^0.32", + "lcobucci/coding-standard": "^12.0", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^2.0.0", - "phpstan/phpstan-deprecation-rules": "^2.0.0", - "phpstan/phpstan-phpunit": "^2.0.0", - "phpstan/phpstan-strict-rules": "^2.0.0", - "phpunit/phpunit": "^12.0.0" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^13.0" }, "type": "library", "autoload": { @@ -580,7 +347,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.5.0" + "source": "https://github.com/lcobucci/clock/tree/3.6.0" }, "funding": [ { @@ -592,7 +359,7 @@ "type": "patreon" } ], - "time": "2025-10-27T09:03:17+00:00" + "time": "2026-04-13T21:30:16+00:00" }, { "name": "lcobucci/jwt", @@ -724,54 +491,55 @@ }, { "name": "league/flysystem", - "version": "1.1.10", + "version": "3.36.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + "reference": "f7fb152932f30072d573510cbd4dd657d6475b25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f7fb152932f30072d573510cbd4dd657d6475b25", + "reference": "f7fb152932f30072d573510cbd4dd657d6475b25", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "conflict": { - "league/flysystem-sftp": "<1.0.6" + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" }, "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-mongodb": "^1.3|^2", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", + "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2|^2", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -781,73 +549,53 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + "source": "https://github.com/thephpleague/flysystem/tree/3.36.0" }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "time": "2022-10-04T09:16:37+00:00" + "time": "2026-09-02T08:00:27+00:00" }, { - "name": "league/flysystem-cached-adapter", - "version": "1.1.0", + "name": "league/flysystem-local", + "version": "3.35.3", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem-cached-adapter.git", - "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff" + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff", - "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/a099b24dce160f3b2239043d13d47c4a1a214ea4", + "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4", "shasum": "" }, "require": { - "league/flysystem": "~1.0", - "psr/cache": "^1.0.0" - }, - "require-dev": { - "mockery/mockery": "~0.9", - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7", - "predis/predis": "~1.0", - "tedivm/stash": "~0.12" - }, - "suggest": { - "ext-phpredis": "Pure C implemented extension for PHP" + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "type": "library", "autoload": { "psr-4": { - "League\\Flysystem\\Cached\\": "src/" + "League\\Flysystem\\Local\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -856,16 +604,22 @@ ], "authors": [ { - "name": "frankdejonge", - "email": "info@frenky.net" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "description": "An adapter decorator to enable meta-data caching.", + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], "support": { - "issues": "https://github.com/thephpleague/flysystem-cached-adapter/issues", - "source": "https://github.com/thephpleague/flysystem-cached-adapter/tree/master" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.35.3" }, - "time": "2020-07-25T15:56:04+00:00" + "time": "2026-08-12T13:29:21+00:00" }, { "name": "league/mime-type-detection", @@ -1193,184 +947,6 @@ ], "time": "2026-03-08T20:05:35+00:00" }, - { - "name": "mjrider/flysystem-factory", - "version": "v0.7.1", - "source": { - "type": "git", - "url": "https://github.com/mjrider/flysystem-factory.git", - "reference": "101ff88196aec83d52ced711581eba8105e0a80a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mjrider/flysystem-factory/zipball/101ff88196aec83d52ced711581eba8105e0a80a", - "reference": "101ff88196aec83d52ced711581eba8105e0a80a", - "shasum": "" - }, - "require": { - "arc/web": "^1.1 || ^2.1 || ^3.0", - "league/flysystem": "^1.0", - "league/flysystem-cached-adapter": "^1.0", - "php": "~7.4 | ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "0.7.2", - "league/flysystem-aws-s3-v3": "1.0.29", - "league/flysystem-rackspace": "1.0.5", - "mhetreramesh/flysystem-backblaze": "1.1.4", - "nimbusoft/flysystem-openstack-swift": "0.4.1", - "phpcompatibility/php-compatibility": "9.3.5", - "phpunit/phpunit": " 9.5.18", - "predis/predis": "1.1.10" - }, - "suggest": { - "ext-memcached": "memcached cache support", - "ext-phpredis": "phpredis cache support", - "league/flysystem-aws-s3-v3": "For S3 support", - "mhetreramesh/flysystem-backblaze": "For Backblaze support", - "nimbusoft/flysystem-openstack-swift": "For openstack support", - "predis/predis": "predis cache support" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "MJRider\\FlysystemFactory\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Robbert Müller", - "role": "Developer" - } - ], - "description": "Simple factory library to create a flysystem instance from a url", - "homepage": "https://github.com/mjrider/flysystem-factory", - "keywords": [ - "Flysystem", - "factory", - "files", - "filesystem", - "filesystems", - "storage" - ], - "support": { - "issues": "https://github.com/mjrider/flysystem-factory/issues", - "source": "https://github.com/mjrider/flysystem-factory/tree/v0.7.1" - }, - "abandoned": true, - "time": "2022-03-10T07:15:51+00:00" - }, - { - "name": "ml/iri", - "version": "1.1.4", - "target-dir": "ML/IRI", - "source": { - "type": "git", - "url": "https://github.com/lanthaler/IRI.git", - "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lanthaler/IRI/zipball/cbd44fa913e00ea624241b38cefaa99da8d71341", - "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341", - "shasum": "" - }, - "require": { - "lib-pcre": ">=4.0", - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "ML\\IRI": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Markus Lanthaler", - "email": "mail@markus-lanthaler.com", - "homepage": "http://www.markus-lanthaler.com", - "role": "Developer" - } - ], - "description": "IRI handling for PHP", - "homepage": "http://www.markus-lanthaler.com", - "keywords": [ - "URN", - "iri", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/lanthaler/IRI/issues", - "source": "https://github.com/lanthaler/IRI/tree/master" - }, - "time": "2014-01-21T13:43:39+00:00" - }, - { - "name": "ml/json-ld", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/lanthaler/JsonLD.git", - "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/537e68e87a6bce23e57c575cd5dcac1f67ce25d8", - "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ml/iri": "^1.1.1", - "php": ">=5.3.0" - }, - "require-dev": { - "json-ld/tests": "1.0", - "phpunit/phpunit": "^4" - }, - "type": "library", - "autoload": { - "psr-4": { - "ML\\JsonLD\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Markus Lanthaler", - "email": "mail@markus-lanthaler.com", - "homepage": "http://www.markus-lanthaler.com", - "role": "Developer" - } - ], - "description": "JSON-LD Processor for PHP", - "homepage": "http://www.markus-lanthaler.com", - "keywords": [ - "JSON-LD", - "jsonld" - ], - "support": { - "issues": "https://github.com/lanthaler/JsonLD/issues", - "source": "https://github.com/lanthaler/JsonLD/tree/1.2.1" - }, - "time": "2022-09-29T08:45:17+00:00" - }, { "name": "nyholm/psr7", "version": "1.8.2", @@ -1501,26 +1077,26 @@ }, { "name": "pdsinterop/flysystem-nextcloud", - "version": "v0.2.0", + "version": "dev-feature/flysystem-3", "source": { "type": "git", "url": "https://github.com/pdsinterop/flysystem-nextcloud.git", - "reference": "f3d1f1546ea2ab6ab8839c87e950564d6624c867" + "reference": "accd030d33a5af8e69e389842ea2978a16bd0a39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/flysystem-nextcloud/zipball/f3d1f1546ea2ab6ab8839c87e950564d6624c867", - "reference": "f3d1f1546ea2ab6ab8839c87e950564d6624c867", + "url": "https://api.github.com/repos/pdsinterop/flysystem-nextcloud/zipball/accd030d33a5af8e69e389842ea2978a16bd0a39", + "reference": "accd030d33a5af8e69e389842ea2978a16bd0a39", "shasum": "" }, "require": { "ext-mbstring": "*", - "league/flysystem": "^1.0", - "php": "^8.0" + "league/flysystem": "^3.0", + "php": "^8.3" }, "require-dev": { "nextcloud/server": "*", - "phpunit/phpunit": "^7|^8|^9" + "phpunit/phpunit": "^9" }, "type": "library", "autoload": { @@ -1535,34 +1111,36 @@ "description": "Flysystem adapter for the Nextcloud filesystem.", "support": { "issues": "https://github.com/pdsinterop/flysystem-nextcloud/issues", - "source": "https://github.com/pdsinterop/flysystem-nextcloud/tree/v0.2.0" + "source": "https://github.com/pdsinterop/flysystem-nextcloud/tree/feature/flysystem-3" }, - "time": "2022-08-22T15:41:56+00:00" + "time": "2026-10-01T13:38:51+00:00" }, { "name": "pdsinterop/flysystem-rdf", - "version": "v0.6.1", + "version": "dev-main", "source": { "type": "git", "url": "https://github.com/pdsinterop/flysystem-rdf.git", - "reference": "dcf3dd58650e86562808324a04ac81f8c6cce125" + "reference": "f3a808e3d2cc8d7840ed9d71f98b06c135604335" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/flysystem-rdf/zipball/dcf3dd58650e86562808324a04ac81f8c6cce125", - "reference": "dcf3dd58650e86562808324a04ac81f8c6cce125", + "url": "https://api.github.com/repos/pdsinterop/flysystem-rdf/zipball/f3a808e3d2cc8d7840ed9d71f98b06c135604335", + "reference": "f3a808e3d2cc8d7840ed9d71f98b06c135604335", "shasum": "" }, "require": { "ext-mbstring": "*", - "league/flysystem": "^1.0", - "ml/json-ld": "^1.2", - "php": "^8.0", - "sweetrdf/easyrdf": "^1.1" + "league/flysystem": "^3.0", + "league/flysystem-local": "^3.35", + "php": "^8.3", + "sweetrdf/easyrdf": "^1.1", + "sweetrdf/json-ld": "^1.4" }, "require-dev": { "phpunit/phpunit": "^8|^9" }, + "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -1573,35 +1151,35 @@ "license": [ "MIT" ], - "description": "Flysystem plugin to transform RDF data between various serialization formats.", + "description": "Flysystem 3 adapter to transform RDF data between various serialization formats.", "support": { "issues": "https://github.com/pdsinterop/flysystem-rdf/issues", - "source": "https://github.com/pdsinterop/flysystem-rdf/tree/v0.6.1" + "source": "https://github.com/pdsinterop/flysystem-rdf/tree/main" }, - "time": "2026-07-10T11:45:33+00:00" + "time": "2026-10-01T13:39:41+00:00" }, { "name": "pdsinterop/solid-auth", - "version": "v0.14.2", + "version": "dev-feature/flysystem-3", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-auth.git", - "reference": "c3dc29f169f6dcd4c73d33335b9e4782814fd5f7" + "reference": "688584a66c43d1529d84644de2b275b061dc310b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/c3dc29f169f6dcd4c73d33335b9e4782814fd5f7", - "reference": "c3dc29f169f6dcd4c73d33335b9e4782814fd5f7", + "url": "https://api.github.com/repos/pdsinterop/php-solid-auth/zipball/688584a66c43d1529d84644de2b275b061dc310b", + "reference": "688584a66c43d1529d84644de2b275b061dc310b", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "laminas/laminas-diactoros": "^2.8", + "laminas/laminas-diactoros": "^3", "lcobucci/jwt": "^4.1", "league/oauth2-server": "^8.5.5", - "php": "^8.0", + "php": "^8.3", "web-token/jwt-core": "^2.2" }, "require-dev": { @@ -1625,31 +1203,30 @@ "description": "OAuth2, OpenID and OIDC for Solid Server implementations.", "support": { "issues": "https://github.com/pdsinterop/php-solid-auth/issues", - "source": "https://github.com/pdsinterop/php-solid-auth/tree/v0.14.2" + "source": "https://github.com/pdsinterop/php-solid-auth/tree/feature/flysystem-3" }, - "time": "2026-07-10T09:47:01+00:00" + "time": "2026-09-30T16:04:25+00:00" }, { "name": "pdsinterop/solid-crud", - "version": "v0.8.5", + "version": "dev-feature/flysystem-3", "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-crud.git", - "reference": "0de2746b98ad4541c9bc5b0d8837ec8e22022b23" + "reference": "1c8ea17e04456cb09d2554e13d761e5846dfdc01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/0de2746b98ad4541c9bc5b0d8837ec8e22022b23", - "reference": "0de2746b98ad4541c9bc5b0d8837ec8e22022b23", + "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/1c8ea17e04456cb09d2554e13d761e5846dfdc01", + "reference": "1c8ea17e04456cb09d2554e13d761e5846dfdc01", "shasum": "" }, "require": { "ext-mbstring": "*", - "laminas/laminas-diactoros": "^2.14", - "league/flysystem": "^1.0", - "mjrider/flysystem-factory": "^0.7", - "pdsinterop/flysystem-rdf": "^0.6.1", - "php": "^8.0", + "laminas/laminas-diactoros": "^3", + "league/flysystem": "^3", + "pdsinterop/flysystem-rdf": "dev-main", + "php": "^8.3", "pietercolpaert/hardf": "^0.3", "psr/http-factory": "^1.0", "psr/http-message": "^1.0" @@ -1673,9 +1250,9 @@ "description": "Solid HTTPS REST API specification compliant implementation for handling Resource CRUD", "support": { "issues": "https://github.com/pdsinterop/php-solid-crud/issues", - "source": "https://github.com/pdsinterop/php-solid-crud/tree/v0.8.5" + "source": "https://github.com/pdsinterop/php-solid-crud/tree/feature/flysystem-3" }, - "time": "2026-07-10T11:57:53+00:00" + "time": "2026-09-30T19:54:28+00:00" }, { "name": "phrity/comparison", @@ -2075,16 +1652,16 @@ }, { "name": "phrity/util-transformer", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-util-transformer.git", - "reference": "4bda68d36d06e36c80ca8ece20651b715bf99c7d" + "reference": "42e17f80ff6d91e0df1ced9e024d1c3aa5aca98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-util-transformer/zipball/4bda68d36d06e36c80ca8ece20651b715bf99c7d", - "reference": "4bda68d36d06e36c80ca8ece20651b715bf99c7d", + "url": "https://api.github.com/repos/sirn-se/phrity-util-transformer/zipball/42e17f80ff6d91e0df1ced9e024d1c3aa5aca98f", + "reference": "42e17f80ff6d91e0df1ced9e024d1c3aa5aca98f", "shasum": "" }, "require": { @@ -2129,9 +1706,9 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-util-transformer/issues", - "source": "https://github.com/sirn-se/phrity-util-transformer/tree/1.4.0" + "source": "https://github.com/sirn-se/phrity-util-transformer/tree/1.4.1" }, - "time": "2026-09-02T17:56:17+00:00" + "time": "2026-09-25T10:08:22+00:00" }, { "name": "phrity/websocket", @@ -2267,55 +1844,6 @@ }, "time": "2021-03-30T12:05:00+00:00" }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/master" - }, - "time": "2016-08-06T20:24:11+00:00" - }, { "name": "psr/clock", "version": "1.0.0", @@ -2522,50 +2050,6 @@ }, "time": "2024-09-11T13:17:53+00:00" }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, { "name": "spomky-labs/base64url", "version": "v2.0.4", @@ -2633,16 +2117,16 @@ }, { "name": "sweetrdf/easyrdf", - "version": "1.7", + "version": "1.15.0", "source": { "type": "git", "url": "https://github.com/sweetrdf/easyrdf.git", - "reference": "6952b79bd1818817f20d0c64de54c7ecd5a24947" + "reference": "dfa88cd56ac9f4e4beb774771f52651572e8ec69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sweetrdf/easyrdf/zipball/6952b79bd1818817f20d0c64de54c7ecd5a24947", - "reference": "6952b79bd1818817f20d0c64de54c7ecd5a24947", + "url": "https://api.github.com/repos/sweetrdf/easyrdf/zipball/dfa88cd56ac9f4e4beb774771f52651572e8ec69", + "reference": "dfa88cd56ac9f4e4beb774771f52651572e8ec69", "shasum": "" }, "require": { @@ -2651,16 +2135,21 @@ "ext-pcre": "*", "ext-xmlreader": "*", "lib-libxml": "*", - "php": "^7.1|^8.0" + "php": "^8.0", + "sweetrdf/rdf-helpers": "^2.0" + }, + "replace": { + "easyrdf/easyrdf": "1.1.*" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.0", + "laminas/laminas-http": "^2", "ml/json-ld": "^1.0", "phpstan/phpstan": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "semsol/arc2": "^2.4", - "zendframework/zend-http": "^2.3" + "phpunit/phpunit": "^9.5.0|^10.0.0", + "semsol/arc2": "^3", + "zendframework/zend-http": "^2" }, "type": "library", "autoload": { @@ -2703,9 +2192,228 @@ ], "support": { "issues": "https://github.com/sweetrdf/easyrdf/issues", - "source": "https://github.com/sweetrdf/easyrdf/tree/1.7" + "source": "https://github.com/sweetrdf/easyrdf/tree/1.15.0" + }, + "time": "2024-10-24T12:43:11+00:00" + }, + { + "name": "sweetrdf/iri", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sweetrdf/IRI.git", + "reference": "31246f99f7cf0f9b38f0f83ada28e1d019054bb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sweetrdf/IRI/zipball/31246f99f7cf0f9b38f0f83ada28e1d019054bb8", + "reference": "31246f99f7cf0f9b38f0f83ada28e1d019054bb8", + "shasum": "" + }, + "require": { + "php": ">=8.1.0" + }, + "replace": { + "ml/iri": "1.1.*" + }, + "require-dev": { + "phpunit/phpunit": "^10|^11" + }, + "type": "library", + "autoload": { + "psr-4": { + "ML\\IRI\\": "src/", + "ML\\IRI\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + }, + { + "name": "Konrad Abicht", + "email": "hi@inspirito.de", + "homepage": "http://inspirito.de/", + "role": "Maintainer, Developer" + } + ], + "description": "IRI handling for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "URN", + "iri", + "uri", + "url" + ], + "support": { + "source": "https://github.com/sweetrdf/IRI/tree/1.2.1" + }, + "time": "2026-03-19T13:47:04+00:00" + }, + { + "name": "sweetrdf/json-ld", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/sweetrdf/json-ld.git", + "reference": "b030f706af4c0266026da71d7ec52d439e024faa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sweetrdf/json-ld/zipball/b030f706af4c0266026da71d7ec52d439e024faa", + "reference": "b030f706af4c0266026da71d7ec52d439e024faa", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=8.1.0", + "sweetrdf/iri": "^1" + }, + "replace": { + "ml/json-ld": "1.2.*" + }, + "require-dev": { + "phpunit/phpunit": "^10|^11", + "symfony/process": "^6|^7|^8" + }, + "type": "library", + "autoload": { + "psr-4": { + "ML\\JsonLD\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + }, + { + "name": "Konrad Abicht", + "email": "hi@inspirito.de", + "homepage": "http://inspirito.de/", + "role": "Maintainer, Developer" + } + ], + "description": "JSON-LD Processor for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "JSON-LD", + "jsonld" + ], + "support": { + "issues": "https://github.com/sweetrdf/json-ld/issues", + "source": "https://github.com/sweetrdf/json-ld/tree/1.4.3" + }, + "time": "2026-05-07T15:35:18+00:00" + }, + { + "name": "sweetrdf/rdf-helpers", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/sweetrdf/rdfHelpers.git", + "reference": "6a1389bd8ade42f9f5a29bb74d8e0fb9a70691b1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sweetrdf/rdfHelpers/zipball/6a1389bd8ade42f9f5a29bb74d8e0fb9a70691b1", + "reference": "6a1389bd8ade42f9f5a29bb74d8e0fb9a70691b1", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "sweetrdf/rdf-interface": "^2 | ^3", + "zozlak/rdf-constants": "^1.1" + }, + "require-dev": { + "phpstan/phpstan": "^1", + "phpunit/phpunit": "^10" + }, + "type": "library", + "autoload": { + "psr-4": { + "rdfHelpers\\": "src/rdfHelpers" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mateusz Żółtak", + "email": "zozlak@zozlak.org", + "role": "Developer" + } + ], + "description": "Set of low level helpers for implementing rdfInterface", + "homepage": "https://github.com/sweetrdf/rdfHelpers", + "support": { + "issues": "https://github.com/sweetrdf/rdfHelpers/issues", + "source": "https://github.com/sweetrdf/rdfHelpers/tree/2.1.2" + }, + "time": "2026-03-18T12:41:27+00:00" + }, + { + "name": "sweetrdf/rdf-interface", + "version": "3.3.1", + "source": { + "type": "git", + "url": "https://github.com/sweetrdf/rdfInterface.git", + "reference": "842ee7bda40afb75160e17f73b3976f4ff6d7106" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sweetrdf/rdfInterface/zipball/842ee7bda40afb75160e17f73b3976f4ff6d7106", + "reference": "842ee7bda40afb75160e17f73b3976f4ff6d7106", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "psr/http-message": "^1.0 || ^2.0", + "zozlak/rdf-constants": "*" + }, + "require-dev": { + "phpstan/phpstan": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "rdfInterface\\": "src/rdfInterface" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mateusz Żółtak", + "email": "zozlak@zozlak.org", + "role": "Developer" + } + ], + "description": "A common RDF interface for PHP RDF libraries.", + "homepage": "https://github.com/sweetrdf/rdfInterface", + "support": { + "issues": "https://github.com/sweetrdf/rdfInterface/issues", + "source": "https://github.com/sweetrdf/rdfInterface/tree/3.3.1" }, - "time": "2022-09-19T07:53:57+00:00" + "time": "2026-09-10T08:14:57+00:00" }, { "name": "web-token/jwt-core", @@ -2783,35 +2491,72 @@ ], "abandoned": "web-token/jwt-library", "time": "2021-03-17T14:55:52+00:00" + }, + { + "name": "zozlak/rdf-constants", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/zozlak/RdfConstants.git", + "reference": "a8de0b50d23b213a68784ec2cec22b4ad838012b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zozlak/RdfConstants/zipball/a8de0b50d23b213a68784ec2cec22b4ad838012b", + "reference": "a8de0b50d23b213a68784ec2cec22b4ad838012b", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "zozlak\\": "src/zozlak" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mateusz Żółtak", + "email": "zozlak@zozlak.org" + } + ], + "description": "A set of commonly used RDF and XSD constants", + "homepage": "https://github.com/zozlak/RdfConstants", + "support": { + "issues": "https://github.com/zozlak/RdfConstants/issues", + "source": "https://github.com/zozlak/RdfConstants/tree/1.2.1" + }, + "time": "2022-08-05T12:50:50+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7", + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.4" }, "require-dev": { - "doctrine/coding-standard": "^11", + "doctrine/coding-standard": "^14", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5.58" }, "type": "library", "autoload": { @@ -2838,7 +2583,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "source": "https://github.com/doctrine/instantiator/tree/2.1.0" }, "funding": [ { @@ -2854,7 +2599,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2026-01-05T06:47:08+00:00" }, { "name": "myclabs/deep-copy", @@ -4569,11 +4314,16 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "pdsinterop/flysystem-nextcloud": 20, + "pdsinterop/flysystem-rdf": 20, + "pdsinterop/solid-auth": 20, + "pdsinterop/solid-crud": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^8.1", + "php": "^8.3", "ext-dom": "*", "ext-json": "*", "ext-mbstring": "*", From b631c463fc9a05ca05e0d0f4ee449d40928a5bd5 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Thu, 1 Oct 2026 15:46:44 +0200 Subject: [PATCH 08/20] pin easyrdf to specific version --- solid/composer.json | 2 +- solid/composer.lock | 53 +++++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/solid/composer.json b/solid/composer.json index adb13bac..23eab8a9 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -26,7 +26,7 @@ "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "sweetrdf/easyrdf": "1.15.0", + "sweetrdf/easyrdf": ">=1.15.0 <1.16.0", "laminas/laminas-diactoros": "^3", "lcobucci/jwt": "^4.1", "pdsinterop/flysystem-nextcloud": "dev-feature/flysystem-3", diff --git a/solid/composer.lock b/solid/composer.lock index 4d1b92d0..ddd48b1d 100644 --- a/solid/composer.lock +++ b/solid/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": "d8aa06f8ce518dc7ea3b8484bc671346", + "content-hash": "11038b67aef911745209d4dd93206258", "packages": [ { "name": "brick/math", @@ -299,34 +299,34 @@ }, { "name": "lcobucci/clock", - "version": "3.6.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643" + "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/4cdd88f761e9be9095ccbedf3e08d61ae216c643", - "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/a3139d9e97d47826f27e6a17bb63f13621f86058", + "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0", "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.32", - "lcobucci/coding-standard": "^12.0", + "infection/infection": "^0.31", + "lcobucci/coding-standard": "^11.2.0", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-deprecation-rules": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpstan/phpstan-strict-rules": "^2.0", - "phpunit/phpunit": "^13.0" + "phpstan/phpstan": "^2.0.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0.0", + "phpstan/phpstan-strict-rules": "^2.0.0", + "phpunit/phpunit": "^12.0.0" }, "type": "library", "autoload": { @@ -347,7 +347,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.6.0" + "source": "https://github.com/lcobucci/clock/tree/3.5.0" }, "funding": [ { @@ -359,7 +359,7 @@ "type": "patreon" } ], - "time": "2026-04-13T21:30:16+00:00" + "time": "2025-10-27T09:03:17+00:00" }, { "name": "lcobucci/jwt", @@ -2534,29 +2534,30 @@ "packages-dev": [ { "name": "doctrine/instantiator", - "version": "2.1.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7" + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7", - "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^8.4" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^14", + "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^10.5.58" + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { @@ -2583,7 +2584,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.1.0" + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { @@ -2599,7 +2600,7 @@ "type": "tidelift" } ], - "time": "2026-01-05T06:47:08+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { "name": "myclabs/deep-copy", From aaad41ffa011578088f8aee481a11380fbdbee6d Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Fri, 2 Oct 2026 11:31:57 +0200 Subject: [PATCH 09/20] update for flysystem3 --- solid/lib/Controller/CalendarController.php | 11 +++-------- solid/lib/Controller/ContactsController.php | 11 +++-------- solid/lib/Controller/SolidWebhookController.php | 8 ++------ solid/lib/Controller/SolidWebsocketController.php | 2 +- 4 files changed, 9 insertions(+), 23 deletions(-) diff --git a/solid/lib/Controller/CalendarController.php b/solid/lib/Controller/CalendarController.php index 9030dabb..f193a798 100644 --- a/solid/lib/Controller/CalendarController.php +++ b/solid/lib/Controller/CalendarController.php @@ -74,14 +74,9 @@ private function getFileSystem($userId) { $formats, $serverUri ); - + $this->adapter = $rdfAdapter; $filesystem = new \League\Flysystem\Filesystem($rdfAdapter); - $filesystem->addPlugin(new \Pdsinterop\Rdf\Flysystem\Plugin\AsMime($formats)); - - $plugin = new \Pdsinterop\Rdf\Flysystem\Plugin\ReadRdf($graph); - $filesystem->addPlugin($plugin); - return $filesystem; } @@ -133,8 +128,8 @@ public function handleRequest($userId, $path) { $this->filesystem = $this->getFileSystem($userId); - $this->resourceServer = new ResourceServer($this->filesystem, $this->response); - $this->WAC = new WAC($this->filesystem); + $this->resourceServer = new ResourceServer($this->filesystem, $this->adapter, $this->response); + $this->WAC = new WAC($this->filesystem, $this->adapter); $request = $this->rawRequest; $baseUrl = $this->getCalendarUrl($userId); diff --git a/solid/lib/Controller/ContactsController.php b/solid/lib/Controller/ContactsController.php index 0363add2..52c964f1 100644 --- a/solid/lib/Controller/ContactsController.php +++ b/solid/lib/Controller/ContactsController.php @@ -76,13 +76,8 @@ private function getFileSystem($userId) { $serverUri ); + $this->adapter = $rdfAdapter; $filesystem = new \League\Flysystem\Filesystem($rdfAdapter); - - $filesystem->addPlugin(new \Pdsinterop\Rdf\Flysystem\Plugin\AsMime($formats)); - - $plugin = new \Pdsinterop\Rdf\Flysystem\Plugin\ReadRdf($graph); - $filesystem->addPlugin($plugin); - return $filesystem; } @@ -134,8 +129,8 @@ public function handleRequest($userId, $path) { $this->filesystem = $this->getFileSystem($userId); - $this->resourceServer = new ResourceServer($this->filesystem, $this->response); - $this->WAC = new WAC($this->filesystem); + $this->resourceServer = new ResourceServer($this->filesystem, $this->adapter, $this->response); + $this->WAC = new WAC($this->filesystem, $this->adapter); $request = $this->rawRequest; $baseUrl = $this->getContactsUrl($userId); diff --git a/solid/lib/Controller/SolidWebhookController.php b/solid/lib/Controller/SolidWebhookController.php index 5846097d..1b19dd4b 100644 --- a/solid/lib/Controller/SolidWebhookController.php +++ b/solid/lib/Controller/SolidWebhookController.php @@ -129,13 +129,9 @@ private function getFileSystem() { $serverUri ); + $this->adapter = $rdfAdapter; $filesystem = new \League\Flysystem\Filesystem($rdfAdapter); - $filesystem->addPlugin(new \Pdsinterop\Rdf\Flysystem\Plugin\AsMime($formats)); - - $plugin = new \Pdsinterop\Rdf\Flysystem\Plugin\ReadRdf($graph); - $filesystem->addPlugin($plugin); - return $filesystem; } @@ -190,7 +186,7 @@ private function checkReadAccess($topic) { $path = $target["path"]; $this->initializeStorage($userId); - $this->WAC = new WAC($this->filesystem); + $this->WAC = new WAC($this->filesystem, $this->adapter); $baseUrl = $this->getStorageUrl($userId); $this->WAC->setBaseUrl($baseUrl); diff --git a/solid/lib/Controller/SolidWebsocketController.php b/solid/lib/Controller/SolidWebsocketController.php index 713e1780..17585ed0 100644 --- a/solid/lib/Controller/SolidWebsocketController.php +++ b/solid/lib/Controller/SolidWebsocketController.php @@ -15,7 +15,7 @@ class SolidWebsocketController extends Controller public function register(): DataResponse { // @FIXME: If there is no PUBSUB_URL what should be returned? 404? 500? Yo'mamma? 2023/01/27/BMP - $pubsub = getenv("PUBSUB_URL") ?: "http://pubsub:8080"; + $pubsub = getenv("PUBSUB_URL") ?: "https://pubsub:8080"; return new DataResponse([ "@context" => "https://www.w3.org/ns/solid/notification/v1", From f76ed1b7ccbe3bd524011a4fe1cf43cf867e7730 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 11:30:14 +0200 Subject: [PATCH 10/20] update cookie docker image to curl version --- .github/workflows/solid-tests-suites.yml | 4 ++-- run-solid-test-suite.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 8f17fe2a..4ec45baf 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: latest@sha256:b2815496a1291a8f0f8bf2524c42d6000a4a1d6a202b319fe01e1afacf1cec7d + COOKIE_TAG: rewrite_curl-based@sha256:76ed9dc006ee656fc6772e2fd4e5b2956416caef84adf9d2d2b2c02c9f47043b on: push: @@ -119,7 +119,7 @@ jobs: - name: Pull docker Images run: | docker image load --input ./cache/solid-nextcloud/${{ github.sha }}-${{ matrix.nextcloud_version }}.tar - docker pull michielbdejong/nextcloud-cookie:${{ env.COOKIE_TAG }} + docker pull ghcr.io/pdsinterop/docker-nextcloud-cookie:${{ env.COOKIE_TAG }} docker pull ${{ matrix.test }} docker pull ghcr.io/pdsinterop/php-solid-pubsub-server:${{ env.PUBSUB_TAG }} diff --git a/run-solid-test-suite.sh b/run-solid-test-suite.sh index 9ba7e166..4b3f4ee0 100755 --- a/run-solid-test-suite.sh +++ b/run-solid-test-suite.sh @@ -2,7 +2,7 @@ set -e -: "${COOKIE_TAG:=latest@sha256:b2815496a1291a8f0f8bf2524c42d6000a4a1d6a202b319fe01e1afacf1cec7d}" +: "${COOKIE_TAG:=rewrite_curl-based@sha256:76ed9dc006ee656fc6772e2fd4e5b2956416caef84adf9d2d2b2c02c9f47043b}" # Note that .github/workflows/solid-tests-suites.yml does not use this, this function is just for manual runs of this script. # You can pick different values for the NEXTCLOUD_VERSION build arg, as required: @@ -12,7 +12,7 @@ function setup { docker network create testnet - docker pull "michielbdejong/nextcloud-cookie:${COOKIE_TAG}" + docker pull "ghcr.io/pdsinterop/docker-nextcloud-cookie:${COOKIE_TAG}" docker pull solidtestsuite/solid-crud-tests:v7.0.5 docker pull solidtestsuite/web-access-control-tests:v7.1.0 docker pull solidtestsuite/webid-provider-tests:v2.1.1 @@ -52,7 +52,7 @@ function startSolidNextcloud { --cap-add=SYS_ADMIN \ --network=testnet \ --env-file "./env-vars-$1.list" \ - "michielbdejong/nextcloud-cookie:${COOKIE_TAG}" + "ghcr.io/pdsinterop/docker-nextcloud-cookie:${COOKIE_TAG}" )" } From e168ab6ec4e3b1c85539a4baeac454d1964d14d1 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 11:36:05 +0200 Subject: [PATCH 11/20] update sha --- .github/workflows/solid-tests-suites.yml | 2 +- run-solid-test-suite.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 4ec45baf..25235a05 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: rewrite_curl-based@sha256:76ed9dc006ee656fc6772e2fd4e5b2956416caef84adf9d2d2b2c02c9f47043b + COOKIE_TAG: rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d on: push: diff --git a/run-solid-test-suite.sh b/run-solid-test-suite.sh index 4b3f4ee0..1461d56a 100755 --- a/run-solid-test-suite.sh +++ b/run-solid-test-suite.sh @@ -2,7 +2,7 @@ set -e -: "${COOKIE_TAG:=rewrite_curl-based@sha256:76ed9dc006ee656fc6772e2fd4e5b2956416caef84adf9d2d2b2c02c9f47043b}" +: "${COOKIE_TAG:=rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d }" # Note that .github/workflows/solid-tests-suites.yml does not use this, this function is just for manual runs of this script. # You can pick different values for the NEXTCLOUD_VERSION build arg, as required: From 1faf8962bd20ec2f3573a7c237bcb2392b2a95c2 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 11:37:05 +0200 Subject: [PATCH 12/20] remove trailing space --- .github/workflows/solid-tests-suites.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 25235a05..325d559f 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d + COOKIE_TAG: rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d on: push: From d25ae521983f07202695f917d303cc4a8cb1e31f Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 11:49:42 +0200 Subject: [PATCH 13/20] update sha --- .github/workflows/solid-tests-suites.yml | 2 +- run-solid-test-suite.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 325d559f..cd2f7c18 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d + COOKIE_TAG: rewrite_curl-based@sha256:7a77c2edc04912854729621cb7b35bdaa2b16883ca95e8e684bf9b3152bc4511 on: push: diff --git a/run-solid-test-suite.sh b/run-solid-test-suite.sh index 1461d56a..598df951 100755 --- a/run-solid-test-suite.sh +++ b/run-solid-test-suite.sh @@ -2,7 +2,7 @@ set -e -: "${COOKIE_TAG:=rewrite_curl-based@sha256:24c8f184d5d71b9db0f9bdf41f1a10d6674d77eff13dc46cd144ea6a8bd4608d }" +: "${COOKIE_TAG:=rewrite_curl-based@sha256:7a77c2edc04912854729621cb7b35bdaa2b16883ca95e8e684bf9b3152bc4511}" # Note that .github/workflows/solid-tests-suites.yml does not use this, this function is just for manual runs of this script. # You can pick different values for the NEXTCLOUD_VERSION build arg, as required: From 0e4a7bc06c136649b90f10672a2181c8ec0862f1 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 12:02:02 +0200 Subject: [PATCH 14/20] update sha --- .github/workflows/solid-tests-suites.yml | 2 +- run-solid-test-suite.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index cd2f7c18..2997b908 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: rewrite_curl-based@sha256:7a77c2edc04912854729621cb7b35bdaa2b16883ca95e8e684bf9b3152bc4511 + COOKIE_TAG: rewrite_curl-based@sha256:05128fefb2a2090fe63918921dfe18b9eaf6fbedafcaae1895e1d51cca4fc763 on: push: diff --git a/run-solid-test-suite.sh b/run-solid-test-suite.sh index 598df951..9bc3ad9b 100755 --- a/run-solid-test-suite.sh +++ b/run-solid-test-suite.sh @@ -2,7 +2,7 @@ set -e -: "${COOKIE_TAG:=rewrite_curl-based@sha256:7a77c2edc04912854729621cb7b35bdaa2b16883ca95e8e684bf9b3152bc4511}" +: "${COOKIE_TAG:=rewrite_curl-based@sha256:05128fefb2a2090fe63918921dfe18b9eaf6fbedafcaae1895e1d51cca4fc763}" # Note that .github/workflows/solid-tests-suites.yml does not use this, this function is just for manual runs of this script. # You can pick different values for the NEXTCLOUD_VERSION build arg, as required: From b84793eaa20fbe096ce58cae221c73747c8e5d65 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 12:54:28 +0200 Subject: [PATCH 15/20] update sha --- .github/workflows/solid-tests-suites.yml | 2 +- run-solid-test-suite.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/solid-tests-suites.yml b/.github/workflows/solid-tests-suites.yml index 2997b908..2d5580ec 100644 --- a/.github/workflows/solid-tests-suites.yml +++ b/.github/workflows/solid-tests-suites.yml @@ -4,7 +4,7 @@ name: Solid Test Suites env: # Docker Hub digest (i.e. hash) of the used Docker Images that do not have a version tag. PUBSUB_TAG: latest@sha256:b73a2a5c98d2005bb667dfc69d1c859d704366024298b9caa24ea2e182c456c2 - COOKIE_TAG: rewrite_curl-based@sha256:05128fefb2a2090fe63918921dfe18b9eaf6fbedafcaae1895e1d51cca4fc763 + COOKIE_TAG: rewrite_curl-based@sha256:0d0a5a4d90651e2f38f2d881da6a5087e17aa3ca08c342b7af59a539726115f5 on: push: diff --git a/run-solid-test-suite.sh b/run-solid-test-suite.sh index 9bc3ad9b..bfc9ae60 100755 --- a/run-solid-test-suite.sh +++ b/run-solid-test-suite.sh @@ -2,13 +2,13 @@ set -e -: "${COOKIE_TAG:=rewrite_curl-based@sha256:05128fefb2a2090fe63918921dfe18b9eaf6fbedafcaae1895e1d51cca4fc763}" +: "${COOKIE_TAG:=rewrite_curl-based@sha256:0d0a5a4d90651e2f38f2d881da6a5087e17aa3ca08c342b7af59a539726115f5}" # Note that .github/workflows/solid-tests-suites.yml does not use this, this function is just for manual runs of this script. # You can pick different values for the NEXTCLOUD_VERSION build arg, as required: function setup { docker build -t pubsub-server https://github.com/pdsinterop/php-solid-pubsub-server.git#main - docker build -t solid-nextcloud --build-arg NEXTCLOUD_VERSION=25 . + docker build -t solid-nextcloud --build-arg NEXTCLOUD_VERSION=33 . docker network create testnet From 64c30239222f07288c9b4ffef72a8a6db2a78293 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 13:46:38 +0200 Subject: [PATCH 16/20] use DI for the application constructor --- solid/lib/AppInfo/Application.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/solid/lib/AppInfo/Application.php b/solid/lib/AppInfo/Application.php index ab6d2014..f9eacf54 100644 --- a/solid/lib/AppInfo/Application.php +++ b/solid/lib/AppInfo/Application.php @@ -26,14 +26,18 @@ class Application extends App implements IBootstrap { /** * @param array $urlParams + * @param IRequest $request + * @param IUserManager $userManager */ - public function __construct(array $urlParams = []) { - $request = \OCP\Server::get(\OCP\IRequest::class); + public function __construct( + array $urlParams = [], + IRequest $request, + IUserManager $userManager, + ) { $rawPathInfo = $request->getRawPathInfo(); - if ($rawPathInfo == '/apps/solid/token') { $backend = new \OCA\Solid\ClientAuth(); - \OC::$server->getUserManager()->registerBackend($backend); + $userManager->registerBackend($backend); } parent::__construct(self::APP_ID, $urlParams); } From bb5b24cd7e1b1f59e73c904547511f777ac64746 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 13:51:46 +0200 Subject: [PATCH 17/20] skip DI and just create them --- solid/lib/AppInfo/Application.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/solid/lib/AppInfo/Application.php b/solid/lib/AppInfo/Application.php index f9eacf54..a5bcb177 100644 --- a/solid/lib/AppInfo/Application.php +++ b/solid/lib/AppInfo/Application.php @@ -18,6 +18,7 @@ use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\IDBConnection; use OCP\IRequest; +use OCP\IUserManager; use OCP\Server; class Application extends App implements IBootstrap { @@ -26,17 +27,14 @@ class Application extends App implements IBootstrap { /** * @param array $urlParams - * @param IRequest $request - * @param IUserManager $userManager */ - public function __construct( - array $urlParams = [], - IRequest $request, - IUserManager $userManager, - ) { + public function __construct(array $urlParams = []) + { + $request = \OCP\Server::get(\OCP\IRequest::class); $rawPathInfo = $request->getRawPathInfo(); if ($rawPathInfo == '/apps/solid/token') { $backend = new \OCA\Solid\ClientAuth(); + $userManager = \OCP\Server::get(\OCP\IUserManager::class); $userManager->registerBackend($backend); } parent::__construct(self::APP_ID, $urlParams); From 8d79665d01f3b634cdb9e13ebf9b6880384929d5 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 14:05:35 +0200 Subject: [PATCH 18/20] use specific commit for solid-crud --- solid/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid/composer.json b/solid/composer.json index 23eab8a9..852d8d38 100644 --- a/solid/composer.json +++ b/solid/composer.json @@ -32,7 +32,7 @@ "pdsinterop/flysystem-nextcloud": "dev-feature/flysystem-3", "pdsinterop/flysystem-rdf": "dev-main", "pdsinterop/solid-auth": "dev-feature/flysystem-3", - "pdsinterop/solid-crud": "dev-feature/flysystem-3", + "pdsinterop/solid-crud": "dev-feature/flysystem-3#3265bb8", "phrity/websocket": "^3.5" }, "require-dev": { From 6ec0a651149a5daf8d161baea05b7e25913fa671 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 14:11:11 +0200 Subject: [PATCH 19/20] update composer.lock --- solid/composer.lock | 61 ++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/solid/composer.lock b/solid/composer.lock index ddd48b1d..a8b154d4 100644 --- a/solid/composer.lock +++ b/solid/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": "11038b67aef911745209d4dd93206258", + "content-hash": "4f888f0cc965059e806da1db3b665e8d", "packages": [ { "name": "brick/math", @@ -299,34 +299,34 @@ }, { "name": "lcobucci/clock", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058" + "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/a3139d9e97d47826f27e6a17bb63f13621f86058", - "reference": "a3139d9e97d47826f27e6a17bb63f13621f86058", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/4cdd88f761e9be9095ccbedf3e08d61ae216c643", + "reference": "4cdd88f761e9be9095ccbedf3e08d61ae216c643", "shasum": "" }, "require": { - "php": "~8.3.0 || ~8.4.0 || ~8.5.0", + "php": "~8.4.0 || ~8.5.0", "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.31", - "lcobucci/coding-standard": "^11.2.0", + "infection/infection": "^0.32", + "lcobucci/coding-standard": "^12.0", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^2.0.0", - "phpstan/phpstan-deprecation-rules": "^2.0.0", - "phpstan/phpstan-phpunit": "^2.0.0", - "phpstan/phpstan-strict-rules": "^2.0.0", - "phpunit/phpunit": "^12.0.0" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^13.0" }, "type": "library", "autoload": { @@ -347,7 +347,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.5.0" + "source": "https://github.com/lcobucci/clock/tree/3.6.0" }, "funding": [ { @@ -359,7 +359,7 @@ "type": "patreon" } ], - "time": "2025-10-27T09:03:17+00:00" + "time": "2026-04-13T21:30:16+00:00" }, { "name": "lcobucci/jwt", @@ -1213,12 +1213,12 @@ "source": { "type": "git", "url": "https://github.com/pdsinterop/php-solid-crud.git", - "reference": "1c8ea17e04456cb09d2554e13d761e5846dfdc01" + "reference": "3265bb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/1c8ea17e04456cb09d2554e13d761e5846dfdc01", - "reference": "1c8ea17e04456cb09d2554e13d761e5846dfdc01", + "url": "https://api.github.com/repos/pdsinterop/php-solid-crud/zipball/3265bb8", + "reference": "3265bb8", "shasum": "" }, "require": { @@ -1252,7 +1252,7 @@ "issues": "https://github.com/pdsinterop/php-solid-crud/issues", "source": "https://github.com/pdsinterop/php-solid-crud/tree/feature/flysystem-3" }, - "time": "2026-09-30T19:54:28+00:00" + "time": "2026-10-02T11:39:51+00:00" }, { "name": "phrity/comparison", @@ -2534,30 +2534,29 @@ "packages-dev": [ { "name": "doctrine/instantiator", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7", + "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7", "shasum": "" }, "require": { - "php": "^8.1" + "php": "^8.4" }, "require-dev": { - "doctrine/coding-standard": "^11", + "doctrine/coding-standard": "^14", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5.58" }, "type": "library", "autoload": { @@ -2584,7 +2583,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "source": "https://github.com/doctrine/instantiator/tree/2.1.0" }, "funding": [ { @@ -2600,7 +2599,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2026-01-05T06:47:08+00:00" }, { "name": "myclabs/deep-copy", From 235c15d6782fe080c578d5af684b2ad0f6cd2453 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Sat, 3 Oct 2026 14:31:15 +0200 Subject: [PATCH 20/20] remove allowEval, no longer exists in nc-34 --- solid/lib/Controller/StorageController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid/lib/Controller/StorageController.php b/solid/lib/Controller/StorageController.php index 2884fef2..ef39be1b 100644 --- a/solid/lib/Controller/StorageController.php +++ b/solid/lib/Controller/StorageController.php @@ -447,7 +447,7 @@ private function respond($response) { $policy->addAllowedConnectDomain("*"); $policy->allowInlineStyle(true); // $policy->allowInlineScript(true); - removed, this function no longer exists in NC28 - $policy->allowEvalScript(true); + // $policy->allowEvalScript(true); - removed, this function no longer exissts in NC34 $result->setContentSecurityPolicy($policy); $result->setStatus($statusCode);