---
title: "9.4 Changes"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:changelog-9-4"
source: "Changelog/9.4/Index.rst"
modified: "2026-09-15T10:46:36+00:00"
noindex: true
---

# 9.4 Changes

**Table of contents**

-   [Breaking Changes](https://docs.typo3.org/permalink/changelog:breaking-changes)
-   [Features](https://docs.typo3.org/permalink/changelog:features)
-   [Deprecation](https://docs.typo3.org/permalink/changelog:deprecation)
-   [Important](https://docs.typo3.org/permalink/changelog:important)

## Breaking Changes

-   [Breaking: #85080 - Method "isEnabled()" added to RenderableInterface and FinisherInterface](https://docs.typo3.org/permalink/changelog:breaking-85080-method-isenabled-added-to-renderableinterface-and-finisherinterface)
-   [Breaking: #85398 - Drop documentation extension](https://docs.typo3.org/permalink/changelog:breaking-85398-drop-documentation-extension)
-   [Breaking: #85761 - Authentication chain changes](https://docs.typo3.org/permalink/changelog:breaking-85761-authentication-chain-changes)

## Features

-   [Feature: #13265 - Select first element of PageTree toolbar on initialization](https://docs.typo3.org/permalink/changelog:feature-13265-select-first-element-of-pagetree-toolbar-on-initialization)
-   [Feature: #44297 - Interval presets for cron command of scheduler task](https://docs.typo3.org/permalink/changelog:feature-44297-interval-presets-for-cron-command-of-scheduler-task)
-   [Feature: #57331 - Support dash in CurrencyViewHelper](https://docs.typo3.org/permalink/changelog:feature-57331-support-dash-in-currencyviewhelper)
-   [Feature: #75806 - Add hreflang support](https://docs.typo3.org/permalink/changelog:feature-75806-add-hreflang-support)
-   [Feature: #83476 - Load merged JS files asynchronous](https://docs.typo3.org/permalink/changelog:feature-83476-load-merged-js-files-asynchronous)
-   [Feature: #83749 - Filtering and Pagination in the redirects module](https://docs.typo3.org/permalink/changelog:feature-83749-filtering-and-pagination-in-the-redirects-module)
-   [Feature: #84133 - Introduce variants](https://docs.typo3.org/permalink/changelog:feature-84133-introduce-variants)
-   [Feature: #84525 - XML Sitemap](https://docs.typo3.org/permalink/changelog:feature-84525-xml-sitemap)
-   [Feature: #84584 - Re-Design the admin panel](https://docs.typo3.org/permalink/changelog:feature-84584-re-design-the-admin-panel)
-   [Feature: #84606 - Add Log Module to AdminPanel](https://docs.typo3.org/permalink/changelog:feature-84606-add-log-module-to-adminpanel)
-   [Feature: #84609 - Add SQL Log Module to AdminPanel](https://docs.typo3.org/permalink/changelog:feature-84609-add-sql-log-module-to-adminpanel)
-   [Feature: #84704 - Open specific field when fixing links in Linkvalidator](https://docs.typo3.org/permalink/changelog:feature-84704-open-specific-field-when-fixing-links-in-linkvalidator)
-   [Feature: #84729 - New TCA type "slug"](https://docs.typo3.org/permalink/changelog:feature-84729-new-tca-type-slug)
-   [Feature: #85080 - Add property to disable form elements and finishers](https://docs.typo3.org/permalink/changelog:feature-85080-add-property-to-disable-form-elements-and-finishers)
-   [Feature: #85146 - Read environment variables in TypoScript](https://docs.typo3.org/permalink/changelog:feature-85146-read-environment-variables-in-typoscript)
-   [Feature: #85164 - Available languages respects site configuration settings](https://docs.typo3.org/permalink/changelog:feature-85164-available-languages-respects-site-configuration-settings)
-   [Feature: #85164 - Enable Languages on a per-site basis](https://docs.typo3.org/permalink/changelog:feature-85164-enable-languages-on-a-per-site-basis)
-   [Feature: #85236 - Infix option to default log file names for FileWriter](https://docs.typo3.org/permalink/changelog:feature-85236-infix-option-to-default-log-file-names-for-filewriter)
-   [Feature: #85247 - Trait to detect public deprecated methods](https://docs.typo3.org/permalink/changelog:feature-85247-trait-to-detect-public-deprecated-methods)
-   [Feature: #85256 - Install TYPO3 on SQLite](https://docs.typo3.org/permalink/changelog:feature-85256-install-typo3-on-sqlite)
-   [Feature: #85313 - Add notes field to pages table](https://docs.typo3.org/permalink/changelog:feature-85313-add-notes-field-to-pages-table)
-   [Feature: #85355 - Support basic HTML5 fields in FormEngine](https://docs.typo3.org/permalink/changelog:feature-85355-support-basic-html5-fields-in-formengine)
-   [Feature: #85389 - Context API for consistent data handling](https://docs.typo3.org/permalink/changelog:feature-85389-context-api-for-consistent-data-handling)
-   [Feature: #85410 - Allow TCA description property](https://docs.typo3.org/permalink/changelog:feature-85410-allow-tca-description-property)
-   [Feature: #85550 - Introduce context for TypoScript data getText property](https://docs.typo3.org/permalink/changelog:feature-85550-introduce-context-for-typoscript-data-gettext-property)
-   [Feature: #85590 - Add hooks for DatabaseRecordList CSV actions](https://docs.typo3.org/permalink/changelog:feature-85590-add-hooks-for-databaserecordlist-csv-actions)
-   [Feature: #85678 - Add PageTitle API](https://docs.typo3.org/permalink/changelog:feature-85678-add-pagetitle-api)
-   [Feature: #85691 - Show page path for references in record info](https://docs.typo3.org/permalink/changelog:feature-85691-show-page-path-for-references-in-record-info)
-   [Feature: #85698 - New type=input eval saltedPassword](https://docs.typo3.org/permalink/changelog:feature-85698-new-type-input-eval-saltedpassword)
-   [Feature: #85719 - Allow sites without scheme or domain](https://docs.typo3.org/permalink/changelog:feature-85719-allow-sites-without-scheme-or-domain)
-   [Feature: #85828 - Move symfony expression language handling into EXT:core](https://docs.typo3.org/permalink/changelog:feature-85828-move-symfony-expression-language-handling-into-ext-core)
-   [Feature: #85829 - Implement symfony expression language for TypoScript conditions](https://docs.typo3.org/permalink/changelog:feature-85829-implement-symfony-expression-language-for-typoscript-conditions)
-   [Feature: #85894 - Feature toggles in Admin Tools Settings](https://docs.typo3.org/permalink/changelog:feature-85894-feature-toggles-in-admin-tools-settings)
-   [Feature: #85900 - Pseudo Site Handling](https://docs.typo3.org/permalink/changelog:feature-85900-pseudo-site-handling)
-   [Feature: #85928 - Upgrade wizard to migrate pages to speaking URLs](https://docs.typo3.org/permalink/changelog:feature-85928-upgrade-wizard-to-migrate-pages-to-speaking-urls)
-   [Feature: #85947 - Page based URL handling](https://docs.typo3.org/permalink/changelog:feature-85947-page-based-url-handling)
-   [Feature: #85991 - Exclude Symfony Commands from Scheduler](https://docs.typo3.org/permalink/changelog:feature-85991-exclude-symfony-commands-from-scheduler)
-   [Feature: #86001 - Regular Workspace cleanup tasks available via CLI commands](https://docs.typo3.org/permalink/changelog:feature-86001-regular-workspace-cleanup-tasks-available-via-cli-commands)
-   [Feature: #86003 - Composition based API for the Adminpanel](https://docs.typo3.org/permalink/changelog:feature-86003-composition-based-api-for-the-adminpanel)
-   [Feature: #86051 - Show extensions via CLI](https://docs.typo3.org/permalink/changelog:feature-86051-show-extensions-via-cli)
-   [Feature: #86057 - Improved typolink / URL link generation](https://docs.typo3.org/permalink/changelog:feature-86057-improved-typolink-url-link-generation)
-   [Feature: #86066 - CLI Commands for listing and showing sites](https://docs.typo3.org/permalink/changelog:feature-86066-cli-commands-for-listing-and-showing-sites)
-   [Feature: #86076 - New API for UpgradeWizards](https://docs.typo3.org/permalink/changelog:feature-86076-new-api-for-upgradewizards)

## Deprecation

-   [Deprecation: #65578 - config.concatenateJsAndCss and concatenateFiles](https://docs.typo3.org/permalink/changelog:deprecation-65578-config-concatenatejsandcss-and-concatenatefiles)
-   [Deprecation: #81430 - TypoScriptTemplateModuleController::renderList](https://docs.typo3.org/permalink/changelog:deprecation-81430-typoscripttemplatemodulecontroller-renderlist)
-   [Deprecation: #83750 - Adapt TCA signature for customControls](https://docs.typo3.org/permalink/changelog:deprecation-83750-adapt-tca-signature-for-customcontrols)
-   [Deprecation: #84133 - Deprecate _isHiddenFormElement and _isReadOnlyFormElement](https://docs.typo3.org/permalink/changelog:deprecation-84133-deprecate-ishiddenformelement-and-isreadonlyformelement)
-   [Deprecation: #84375 - Protected methods and properties in PageLayoutController](https://docs.typo3.org/permalink/changelog:deprecation-84375-protected-methods-and-properties-in-pagelayoutcontroller)
-   [Deprecation: #84387 - Deprecated method and property in SchedulerModuleController](https://docs.typo3.org/permalink/changelog:deprecation-84387-deprecated-method-and-property-in-schedulermodulecontroller)
-   [Deprecation: #84414 - BackendUtility::shortcutExists](https://docs.typo3.org/permalink/changelog:deprecation-84414-backendutility-shortcutexists)
-   [Deprecation: #84584 - AdminPanelView: isAdminModuleEnabled and ext_makeToolbar deprecated](https://docs.typo3.org/permalink/changelog:deprecation-84584-adminpanelview-isadminmoduleenabled-and-ext-maketoolbar-deprecated)
-   [Deprecation: #85004 - Deprecate methods in ReflectionService](https://docs.typo3.org/permalink/changelog:deprecation-85004-deprecate-methods-in-reflectionservice)
-   [Deprecation: #85164 - Language related methods](https://docs.typo3.org/permalink/changelog:deprecation-85164-language-related-methods)
-   [Deprecation: #85196 - Protect SetupModuleController](https://docs.typo3.org/permalink/changelog:deprecation-85196-protect-setupmodulecontroller)
-   [Deprecation: #85285 - Deprecated path related constants](https://docs.typo3.org/permalink/changelog:deprecation-85285-deprecated-path-related-constants)
-   [Deprecation: #85300 - DataHandler resorting method](https://docs.typo3.org/permalink/changelog:deprecation-85300-datahandler-resorting-method)
-   [Deprecation: #85389 - Various public properties in favor of Context API](https://docs.typo3.org/permalink/changelog:deprecation-85389-various-public-properties-in-favor-of-context-api)
-   [Deprecation: #85394 - Class CoreDatabasePdoHelper deprecated](https://docs.typo3.org/permalink/changelog:deprecation-85394-class-core-database-pdohelper-deprecated)
-   [Deprecation: #85408 - TemplateService init() deprecated](https://docs.typo3.org/permalink/changelog:deprecation-85408-templateservice-init-deprecated)
-   [Deprecation: #85445 - TemplateService->getFileName](https://docs.typo3.org/permalink/changelog:deprecation-85445-templateservice-getfilename)
-   [Deprecation: #85451 - ContentObjectRenderer->calcIntExplode() deprecated](https://docs.typo3.org/permalink/changelog:deprecation-85451-contentobjectrenderer-calcintexplode-deprecated)
-   [Deprecation: #85462 - Signal 'hasInstalledExtensions'](https://docs.typo3.org/permalink/changelog:deprecation-85462-signal-hasinstalledextensions)
-   [Deprecation: #85462 - Signal 'tablesDefinitionIsBeingBuilt'](https://docs.typo3.org/permalink/changelog:deprecation-85462-signal-tablesdefinitionisbeingbuilt)
-   [Deprecation: #85543 - Language-related properties in TypoScriptFrontendController and PageRepository](https://docs.typo3.org/permalink/changelog:deprecation-85543-language-related-properties-in-typoscriptfrontendcontroller-and-pagerepository)
-   [Deprecation: #85553 - PageRepository language-related methods use null as default value](https://docs.typo3.org/permalink/changelog:deprecation-85553-pagerepository-language-related-methods-use-null-as-default-value)
-   [Deprecation: #85554 - PageRepository->checkWorkspaceAccess](https://docs.typo3.org/permalink/changelog:deprecation-85554-pagerepository-checkworkspaceaccess)
-   [Deprecation: #85555 - TypoScriptFrontendController->getUniqueId](https://docs.typo3.org/permalink/changelog:deprecation-85555-typoscriptfrontendcontroller-getuniqueid)
-   [Deprecation: #85556 - PageRepository->versioningWorkspaceId](https://docs.typo3.org/permalink/changelog:deprecation-85556-pagerepository-versioningworkspaceid)
-   [Deprecation: #85557 - PageRepository->getRootLine](https://docs.typo3.org/permalink/changelog:deprecation-85557-pagerepository-getrootline)
-   [Deprecation: #85558 - ContentObjectRenderer->enableFields](https://docs.typo3.org/permalink/changelog:deprecation-85558-contentobjectrenderer-enablefields)
-   [Deprecation: #85646 - Deprecate eID implemented as script](https://docs.typo3.org/permalink/changelog:deprecation-85646-deprecate-eid-implemented-as-script)
-   [Deprecation: #85666 - TypoScriptFrontendController->initTemplate](https://docs.typo3.org/permalink/changelog:deprecation-85666-typoscriptfrontendcontroller-inittemplate)
-   [Deprecation: #85678 - config.titleTagFunction](https://docs.typo3.org/permalink/changelog:deprecation-85678-config-titletagfunction)
-   [Deprecation: #85678 - $GLOBALS['TSFE']->altPageTitle](https://docs.typo3.org/permalink/changelog:deprecation-85678-globals-tsfe-altpagetitle)
-   [Deprecation: #85687 - Deprecate RuntimeCacheWriter](https://docs.typo3.org/permalink/changelog:deprecation-85687-deprecate-runtimecachewriter)
-   [Deprecation: #85699 - Various methods in PageRepository](https://docs.typo3.org/permalink/changelog:deprecation-85699-various-methods-in-pagerepository)
-   [Deprecation: #85701 - Various methods in ModuleTemplate](https://docs.typo3.org/permalink/changelog:deprecation-85701-various-methods-in-moduletemplate)
-   [Deprecation: #85707 - LoginFramesetController](https://docs.typo3.org/permalink/changelog:deprecation-85707-loginframesetcontroller)
-   [Deprecation: #85727 - DatabaseIntegrityCheck moved to EXT:lowlevel](https://docs.typo3.org/permalink/changelog:deprecation-85727-databaseintegritycheck-moved-to-ext-lowlevel)
-   [Deprecation: #85735 - Various method and property in DocumentTemplate](https://docs.typo3.org/permalink/changelog:deprecation-85735-various-method-and-property-in-documenttemplate)
-   [Deprecation: #85759 - GeneralUtility::getHostName](https://docs.typo3.org/permalink/changelog:deprecation-85759-generalutility-gethostname)
-   [Deprecation: #85760 - GeneralUtility::unQuoteFilenames](https://docs.typo3.org/permalink/changelog:deprecation-85760-generalutility-unquotefilenames)
-   [Deprecation: #85761 - SaltedPasswordService](https://docs.typo3.org/permalink/changelog:deprecation-85761-saltedpasswordservice)
-   [Deprecation: #85793 - Several constants from SystemEnvironmentBuilder](https://docs.typo3.org/permalink/changelog:deprecation-85793-several-constants-from-systemenvironmentbuilder)
-   [Deprecation: #85796 - Salted passwords cleanups](https://docs.typo3.org/permalink/changelog:deprecation-85796-salted-passwords-cleanups)
-   [Deprecation: #85801 - GeneralUtility::explodeUrl2Array - 2nd method argument](https://docs.typo3.org/permalink/changelog:deprecation-85801-generalutility-explodeurl2array-2nd-method-argument)
-   [Deprecation: #85802 - Move FlexFormService from EXT:extbase to EXT:core](https://docs.typo3.org/permalink/changelog:deprecation-85802-move-flexformservice-from-ext-extbase-to-ext-core)
-   [Deprecation: #85804 - Salted password hash class deprecations](https://docs.typo3.org/permalink/changelog:deprecation-85804-salted-password-hash-class-deprecations)
-   [Deprecation: #85806 - Second argument of PageRenderer::addInlineLanguageLabelArray](https://docs.typo3.org/permalink/changelog:deprecation-85806-second-argument-of-pagerenderer-addinlinelanguagelabelarray)
-   [Deprecation: #85807 - EnvironmentService::isEnvironmentInCliMode](https://docs.typo3.org/permalink/changelog:deprecation-85807-environmentservice-isenvironmentinclimode)
-   [Deprecation: #85821 - bootstrap methods](https://docs.typo3.org/permalink/changelog:deprecation-85821-bootstrap-methods)
-   [Deprecation: #85822 - Static class TYPO3\CMS\Frontend\Page\PageGenerator](https://docs.typo3.org/permalink/changelog:deprecation-85822-static-class-typo3-cms-frontend-page-pagegenerator)
-   [Deprecation: #85833 - Extension saltedpasswords merged into core extension](https://docs.typo3.org/permalink/changelog:deprecation-85833-extension-saltedpasswords-merged-into-core-extension)
-   [Deprecation: #85836 - BackendUtility::getTCAtypes](https://docs.typo3.org/permalink/changelog:deprecation-85836-backendutility-gettcatypes)
-   [Deprecation: #85858 - GeneralUtility::clientInfo()](https://docs.typo3.org/permalink/changelog:deprecation-85858-generalutility-clientinfo)
-   [Deprecation: #85878 - EidUtility and various TSFE methods](https://docs.typo3.org/permalink/changelog:deprecation-85878-eidutility-and-various-tsfe-methods)
-   [Deprecation: #85892 - Various methods regarding sys_domain-resolving](https://docs.typo3.org/permalink/changelog:deprecation-85892-various-methods-regarding-sys-domain-resolving)
-   [Deprecation: #85902 - IMGMENU/GMENU](https://docs.typo3.org/permalink/changelog:deprecation-85902-imgmenu-gmenu)
-   [Deprecation: #85960 - AbstractUserAuthentication::compareUident and AbstractAuthenticationService->compareUident](https://docs.typo3.org/permalink/changelog:deprecation-85960-abstractuserauthentication-compareuident-and-abstractauthenticationservice-compareuident)
-   [Deprecation: #85971 - PageRepository->getFirstWebPage](https://docs.typo3.org/permalink/changelog:deprecation-85971-pagerepository-getfirstwebpage)
-   [Deprecation: #85977 - Extbase CLI functionality, Command Controllers and @cli Annotation](https://docs.typo3.org/permalink/changelog:deprecation-85977-extbase-cli-functionality-command-controllers-and-cli-annotation)
-   [Deprecation: #85978 - GraphicalFunctions->init](https://docs.typo3.org/permalink/changelog:deprecation-85978-graphicalfunctions-init)
-   [Deprecation: #85996 - ExtensionManager CommandController](https://docs.typo3.org/permalink/changelog:deprecation-85996-extensionmanager-commandcontroller)
-   [Deprecation: #86001 - Workspaces tasks migrated to symfony commands](https://docs.typo3.org/permalink/changelog:deprecation-86001-workspaces-tasks-migrated-to-symfony-commands)
-   [Deprecation: #86002 - TSFE constructor with no_cache argument](https://docs.typo3.org/permalink/changelog:deprecation-86002-tsfe-constructor-with-no-cache-argument)
-   [Deprecation: #86046 - Additional arguments in several TypoScriptFrontendController methods](https://docs.typo3.org/permalink/changelog:deprecation-86046-additional-arguments-in-several-typoscriptfrontendcontroller-methods)
-   [Deprecation: #86109 - Class UserStorageCapabilityService](https://docs.typo3.org/permalink/changelog:deprecation-86109-class-userstoragecapabilityservice)

## Important

-   [Important: #84280 - Unit test suppressNotices removed](https://docs.typo3.org/permalink/changelog:important-84280-unit-test-suppressnotices-removed)
-   [Important: #85196 - Removed simulate user from user settings](https://docs.typo3.org/permalink/changelog:important-85196-removed-simulate-user-from-user-settings)
-   [Important: #85393 - Extension Manager only imports extensions compatible with TYPO3 v7 LTS or higher](https://docs.typo3.org/permalink/changelog:important-85393-extension-manager-only-imports-extensions-compatible-with-typo3-v7-lts-or-higher)
-   [Important: #85683 - Dropped salted passwords options](https://docs.typo3.org/permalink/changelog:important-85683-dropped-salted-passwords-options)
-   [Important: #85719 - PHP Packages: Symfony Components requirements raised to Symfony 4.1](https://docs.typo3.org/permalink/changelog:important-85719-php-packages-symfony-components-requirements-raised-to-symfony-4-1)
-   [Important: #85833 - saltedpasswords extension merged into core extension](https://docs.typo3.org/permalink/changelog:important-85833-saltedpasswords-extension-merged-into-core-extension)
