.. include:: ../../Includes.txt =========================== Version 14.0.8 - 2026/09/10 =========================== This release restores the backend login on installations that have ``guzzlehttp/psr7`` 3.x. TYPO3 v14.3.7 and v13.4.35 widened the core constraint to allow it, and any ``composer update`` picking it up made the Auth0 login provider unreachable. Download ======== Download this version from the `TYPO3 extension repository `__ or from `GitHub `__. Fixed ===== * **Backend login no longer breaks with guzzlehttp/psr7 3.x:** ``ApplicationFactory`` built the :php:`Auth0\SDK\Configuration\SdkConfiguration` without the ``httpRequestFactory``, ``httpResponseFactory``, ``httpStreamFactory`` and ``httpClient`` options, so the SDK resolved them through :php:`PsrDiscovery\Discover`. That library gates its candidates on hardcoded package constraints instead of on the classes that are actually loadable: it caps ``guzzlehttp/psr7`` at ``^2.0`` and lists TYPO3 under the non-existent package ``typo3/core`` with a constraint capped at ``^12.0``. With psr7 3.x installed all three PSR-17 factories therefore resolved to :php:`null` and :php:`Assert::isInstanceOf()` raised :php:`InvalidArgumentException` — *"Could not find a PSR-17 compatible request factory. Please install one, or provide one using the ``setHttpRequestFactory()`` method."* — on every call of ``/typo3/?loginProvider=1526966635``. All four implementations are now passed in explicitly, using :php:`TYPO3\CMS\Core\Http\RequestFactory`, :php:`TYPO3\CMS\Core\Http\ResponseFactory`, :php:`TYPO3\CMS\Core\Http\StreamFactory` and the :php:`Psr\Http\Client\ClientInterface` TYPO3 registers, which keeps the SDK out of runtime discovery entirely. Changed ======= * **Management-token request runs through the TYPO3 HTTP layer:** the request fetching the Auth0 management token instantiated its own :php:`GuzzleHttp\Client` and therefore ignored :php:`$GLOBALS['TYPO3_CONF_VARS']['HTTP']`. It now uses the injected :php:`TYPO3\CMS\Core\Http\RequestFactory`, so the project's proxy, certificate-verification and timeout settings apply to it like they do to every other HTTP request TYPO3 makes. * **ApplicationFactory is a dependency-injection service:** it receives the ``ApplicationRepository``, the three PSR-17 factories and the PSR-18 client through its constructor instead of reaching for :php:`GeneralUtility::makeInstance()`. The new instance method ``create()`` carries the previous behaviour of ``build()`` unchanged. Deprecated ========== * :php:`ApplicationFactory::build()` is deprecated and will be removed in v15. It remains fully functional and delegates to ``create()``. Third-party code should inject :php:`Leuchtfeuer\Auth0\Factory\ApplicationFactory` and call ``create()`` with the same arguments. Upgrade Notes ============= * No database migration is required, and existing Auth0 sessions stay valid. * The constructors of ``Auth0Provider``, ``AuthenticationService``, ``Auth0SessionValidator``, ``CleanUpCommand`` and ``CallbackMiddleware`` gained an ``ApplicationFactory`` argument. Installations that subclass one of them or instantiate them manually need to pass it along; everything wired through the Symfony container is handled automatically. * Projects that pinned ``"guzzlehttp/psr7": "^2.8"`` to work around the broken login can drop that pin after updating. All Changes =========== This is a list of all changes in this release:: 2026-09-10 [BUGFIX] ApplicationFactory: Supply PSR-17 factories and PSR-18 client explicitly [TER-509] (Commit 94d73a0 by Oliver Heins) 2026-09-10 [TASK] ApplicationFactory: Route management token request through TYPO3 HTTP layer [TER-509] (Commit 22fd29e by Oliver Heins)