---
title: "Deprecation: #100577 - FormEngine needs request object"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-100577-1681384407"
source: "Changelog/12.4/Deprecation-100577-FormEngineNeedsRequestObject.rst"
typo3-version: "12.4"
typo3-major: 12
type: "deprecation"
issue: 100577
forge: "https://forge.typo3.org/issues/100577"
tags: ["Backend", "PHP-API", "NotScanned", "ext:backend"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Deprecation: #100577 - FormEngine needs request object {#deprecation-100577-1681384407}

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

## Description {#description}

The backend FormEngine construct (editing records in the backend)
now expects the current `ServerRequestInterface` object to
be hand over as initial data.

## Impact {#impact}

Backend modules that use the FormEngine data provider construct to
render records should provide the current request object. Failing
to do so will trigger a deprecation level log message and the system
will fall back to `$GLOBALS['TYPO3_REQUEST']`. This will stop
working with TYPO3 v13.

## Affected installations {#affected-installations}

Instances with extensions that provide custom modules using the FormEngine
construct are affected. This is a relatively seldom case.

## Migration {#migration}

Provide the request object as "initial data" when using the
`FormDataCompiler`:

```php
$formDataCompiler = GeneralUtility::makeInstance(FormDataCompiler::class, $myFormDataGroup);
$formDataCompilerInput = [
    'request' => $request,
    // further data, for example:
    'tableName' => $table,
    'vanillaUid' => $uid,
];
$formData = $formDataCompiler->compile($formDataCompilerInput);
```
