---
title: "Breaking: #97737 - Page-related hooks in TSFE removed"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:breaking-97737-1654595331"
source: "Changelog/12.0/Breaking-97737-Page-relatedHooksInTSFERemoved.rst"
typo3-version: "12.0"
typo3-major: 12
type: "breaking"
issue: 97737
forge: "https://forge.typo3.org/issues/97737"
tags: ["Frontend", "FullyScanned", "ext:frontend"]
rendered: "2026-09-29T06:32:46+00:00"
---

# Breaking: #97737 - Page-related hooks in TSFE removed {#breaking-97737-1654595331}

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

## Description {#description}

The following hooks, which were executed during the process of resolving page
details of a frontend request have been removed:

-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PreProcessing']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['fetchPageId-PostProcessing']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_preProcess']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PostProc']`
-   `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['settingLanguage_postProcess']`

They have been replaced by improved PSR-14 events.

## Impact {#impact}

Extensions that hook into these places are not executing the PHP-code anymore.

## Affected installations {#affected-installations}

TYPO3 installations with extensions using one of the hooks.

Check the "Configuration" module to see if your TYPO3 installation is using
one of the hooks by browsing `$TYPO3_CONF_VARS[SC_OPTIONS]` or using the
Extension Scanner.

## Migration {#migration}

The hooks are removed without deprecation in order to allow extensions
to work with TYPO3 v11 (using the hook) and v12+ (using the new event).

Use the [PSR-14 events](https://docs.typo3.org/permalink/changelog:feature-97737-1654595148)

-   `BeforePageIsResolvedEvent`
-   `AfterPageWithRootLineIsResolvedEvent`
-   `AfterPageAndLanguageIsResolvedEvent`

as an improved replacement.
