---
title: "Deprecation: #109286 - Explicit request handling in PageRenderer"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-109286-1773844395"
source: "Changelog/14.2/Deprecation-109286-ExplicitRequestHandlingInPageRenderer.rst"
typo3-version: "14.2"
typo3-major: 14
type: "deprecation"
issue: 109286
forge: "https://forge.typo3.org/issues/109286"
tags: ["Backend", "Frontend", "PHP-API", "NotScanned", "ext:core"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Deprecation: #109286 - Explicit request handling in PageRenderer {#deprecation-109286-1773844395}

See [forge#109286](https://forge.typo3.org/issues/109286)

## Description {#description}

Since TYPO3 v14.2 some methods of class `\TYPO3\CMS\Core\Page\PageRenderer`
require an instance of `ServerRequestInterface` to
be passed explicitly :

### setLanguage() {#setlanguage}

-   Old: `PageRenderer->setLanguage(Locale $locale, ?ServerRequestInterface $request = null)`
-   TYPO3 v14.2: `PageRenderer->setLanguage(Locale $locale, ?ServerRequestInterface $request = null)`
-   TYPO3 v15: `PageRenderer->setLanguage(Locale $locale, ServerRequestInterface $request)`

### setDocType() {#setdoctype}

-   Old: `PageRenderer->setDocType(DocType $docType)`
-   TYPO3 v14.2: `PageRenderer->setDocType(DocType $docType, ?ServerRequestInterface $request = null)`
-   TYPO3 v15: `PageRenderer->setDocType(DocType $docType, ServerRequestInterface $request)`

### render() {#render}

-   Old: `PageRenderer->render()`
-   TYPO3 v14.2: `PageRenderer->render(?ServerRequestInterface $request = null)`
-   TYPO3 v15: `PageRenderer->render(ServerRequestInterface $request)`

### renderResponse() {#renderresponse}

-   Old: `PageRenderer->renderResponse(int $code = 200, string $reasonPhrase = '')`
-   TYPO3 v14.2: `PageRenderer->render(ServerRequestInterface|int $requestOrCode = 200, int|string $codeOrReasonPhrase = '', string $reasonPhrase = '')`
-   TYPO3 v15: `PageRenderer->render(ServerRequestInterface $request, int $code = 200, string $reasonPhrase = '')`

## Impact {#impact}

Request dependencies within
`PageRenderer` are no longer implicit via
`$GLOBALS['TYPO3_REQUEST']` and must now be passed explicitly. Not
passing a request to the methods listed above will trigger a deprecation-level
log entry in TYPO3 v14 and will result in a fatal PHP error in TYPO3 v15.

## Affected installations {#affected-installations}

`PageRenderer` is a low-level Core class. Many
extensions use higher-level APIs and are therefore not directly affected by
this change.

## Migration {#migration}

Adapt method calls to pass the
`ServerRequestInterface` object explicitly.
