# 13.0 2023-12-05 * Feature #100926: Add basic log rotation to log files * Epic #100963: Removal of deprecated code planned to be removed in TYPO3 v13.0 * Bug #100965: Fe-Login Accessibility - Forms must offer for and id * Task #100966: Remove jquery-ui * Task #100994: Remove deprecated TSFE properties and methods * Task #100996: Remove deprecated TypoScript settings * Task #100997: Removed deprecated Environment::getBackendPath * Task #101000: Remove deprecated Backend/FrontendWorkspaceRestriction * Task #101006: Remove deprecated functionality related to link handling and ContentObjectRenderer * Task #101010: Remove deprecated code around URL generation * Task #101013: Remove deprecated methods in FormProtectionFactory * Task #101023: Remove $GLOBALS[TBE_STYLES] * Task #101025: Removed deprecated BackendUtility::getRecordToolTip * Task #101030: Remove deprecations in DebugUtility * Task #101032: Remove deprecated constant TYPO3_mainDir * Task #101036: Remove deprecation in createVersionNumberedFilename * Task #101037: Remove deprecated LanguageService functionality * Task #101038: Remove deprecated hooks in UserAuth classes * Task #101039: Remove deprecated code in PageRepository * Task #101040: Remove deprecated code in EXT:scheduler * Task #101042: Remove deprecated SilentSiteLanguageFlagMigration * Task #101043: Remove deprecated code in ContextualFeedbackSeverity * Task #101044: Remove deprecated Tooltip JavaScript module * Task #101049: Remove deprecated code in UserSessionManager * Task #101051: Remove deprecated RequireJsController * Task #101054: Remove deprecated usage of 'additionalJavaScriptPost' * Task #101056: Remove deprecated code in ExtensionManagementUtility * Task #101061: Remove deprecated usage of 'scriptCall' * Task #101066: Remove deprecated context menu configuration handling * Task #101067: Remove deprecated 'requireJsModules' * Task #101068: Remove deprecated code in Typo3QuerySettings * Task #101073: Remove deprecated getParameterFromUrl() of @typo3/backend/utility * Task #101074: Remove deprecated binding of `this` for selected context menu items * Task #101076: Remove deprecated SoftHyphen CKEditor plugin * Task #101078: Remove deprecations in BackendUtility * Task #101081: Remove obsolete class UserFileInlineLabelService * Task #101086: Remove obsolete class UserFileMountService * Task #101087: Always enable "security.backend.enforceContentSecurityPolicy" * Task #101090: Remove deprecations in PasswordChangeEvent * Task #101095: Remove unused Tooltip styles * Task #101096: Remove deprecated code in PasswordChangeEvent * Task #101097: Removed deprecated plugin.tx_felogin_login.settings.passwordValidators * Task #101099: Remove deprecations in LocalizationUtility * Task #101106: Cleanup methods and properties marked as internal in UserAuthentication * Task #101107: Remove deprecated code in Property * Task #101108: Create a dummy FunctionalDeprecated/UnitDeprecated Test * Task #101109: Added native return type/removed #[\ReturnTypeWillChange] * Task #101111: Remove deprecated code in PageRenderer * Task #101112: Remove deprecated code in SiteLanguage * Task #101115: Remove deprecated code related to TCEforms * Task #101116: Remove migration section in EXT:dashboard documentation * Task #101127: Remove obsolete passwordValidators setting from EXT:felogin docs * Task #101129: Use BackedEnum for Action * Task #101131: Use BackedEnum for LoginType * Task #101133: Use BackedEnum for IconState * Task #101136: Added setModuleData to ShortInfoProviderInterface * Task #101137: [UX] - Remove Doktype 255 (Recycler) * Task #101138: Trigger deprecation warnings in Repository * Task #101140: Remove trigger deprecation in AbstractFormEngineAjaxController * Task #101143: Enforce strict typing in LinktypeInterface * Task #101148: Mark PageRenderer as final * Task #101149: Mark PageTsBackendLayoutDataProvider as final * Task #101151: Use BackedEnum for DuplicationBehavior * Task #101163: Deprecate Enumeration class * Task #101174: Use BackedEnum for InformationStatus * Task #101175: Use BackedEnum for VersionState * Task #101186: Cleanup UnableToLinkException * Task #101192: Remove fallback for CKEditor5 removePlugins * Task #101237: Remove @internal for some MFA classes * Task #101251: Introduce type declarations in ObjectAccess * Task #101273: Remove unused information from ClassSchema * Task #101285: Add missing tests for handling MM relations in DataHandler * Task #101305: Add native type declarations for the IP/host/URL-related GU methods * Bug #101325: Only pass strings to string functions in EXT:backend * Task #101402: Simplify mapObjectToClassProperty with early returns * Task #101406: Simplify DataMapper::getPlainValue() * Task #101474: 101461 * Feature #101475: Convert icon size constants to enum * Task #101515: Update to lit v3 * Bug #101536: background in page module is shifted * Feature #101567: Autoregister Console Command via PHP Attribute * Bug #101568: GeneralUtilityTest::fixPermissionsSetsGroup ist flaky on MacOS * Task #101576: Migrate Progressbar component in Install Tool to Lit * Task #101610: Use native PSR-7 Request in Element Browser Code * Feature #101612: UriBuilder->buildUriFromRequest * Task #101622: Simplify EXT:lowlevel Full Search Controller * Task #101645: Reduce/eliminate ESLint warnings * Task #101647: Remove unused icons from EXT:backend * Feature #101723: Add new fieldControl=revealPassword option to reveal passwords (PATCH) * Bug #101749: EXT:form element type URL element inspector shows a stray Validator label without options * Feature #101754: Add UserSession to BeforeUserLogoutEvent * Bug #101755: Fix Changelog markup * Task #101758: Replace chosen-js with select-pure * Task #101766: Remove jQuery from installer * Task #101816: Use @typo3/backend/modal in login-refresh * Feature #101818: BeforeLoadedPageTsConfigEvent * Task #101820: Drop bootstrap jquery interface * Task #101821: Use bootstrap Carousel directly in wizards * Task #101830: Joke Test T3 Camp München * Feature #101933: Dispatch AfterUserLoggedInEvent for frontend logins * Task #101941: Remove various legacy settings from GraphicalFunctions * Bug #101943: Invalid File type definitions in FileProcessingService and fix types * Task #101948: FileRepository and ProcessedFileRepository cannot be safely type-hinted * Task #101955: Move GIFBUILDER-specific methods into GifBuilder * Task #101956: Use GraphicalFunctions instead of GifBuilder where applicable * Task #101957: Move GraphicalFunctions code to ImageProcessingInstructions * Task #101958: Move DB methods of indexed_search to the repository * Task #101967: Use valid PHP 8 types related to GDImage in GifBuilder * Feature #101970: Allw passing URL and URLSearchParams into AJAX API * Task #101973: Remove image map code from GifBuilder * Task #101983: Centralize ImageMagick logic for FAL in GraphicalFunctions * Bug #101984: sample option is used in GifBuilder and does not work anymore * Task #102009: Remove cache_imagesizes * Task #102020: Remove legacy setting 'GFX/gdlib_png' * Feature #102032: Use BackedEnum for FILETYPE_* constants in AbstractFile * Task #102048: Move ImageMagick internals into GraphicalFunctions * Feature #102067: BeforeTcaOverridesEvent * Feature #102072: Allow redirect filtering by "protected" state * Feature #102077: Custom default value for getFormValue() function in variant conditions * Task #102113: Remove legacy setting 'GFX/gdlib' * Task #102148: Cleanup GifBuilder code * Task #102164: Have the task object clean up the configuration * Task #102165: Update the TaskInterface for File Processing * Feature #102177: Add webp support for GIFBUILDER * Task #102182: Remove unused code from cObjectRenderer * Task #102187: Consistently apply ImageMagick parameters when converting * Task #102228: Simplify ImageProcessingInstruction object * Feature #102261: Allow to unregister CSS files * Task #102293: Allow creation of losless webp images * Task #102297: Simplify check for ResourceCompressor HTML5 validty * Task #102309: Re-add extension-key to styleguide's composer.json * Bug #102312: EXT:styleguide needs a composer.json "extra.typo3/cms.extension-key" attribute * Task #102347: Use native PHP types in protected and internal methods of GifBuilder * Task #102393: Add PHP types for EXT:workspaces * Task #102417: Migrate acceptance Cli commands tests to functional tests * Task #102440: Merge t3editor into EXT:backend * Bug #102445: TYPO3 does not restrict content with non-cacheable content to be stored in a client or proxy * Feature #102464: Optimize Page tree including Button in styleguide extension * Task #102474: Remove doktype 255 (recycler) from excludedDoktypes in EXT:seo * Feature #102496: Introduce global Doctrine DBAL driver middlewares * Task #102499: Remove TSconfig option options.overridePageModule * Task #102500: Remove legacy upload folder code in BE_USER object * Task #102502: Fix support for bash v3 in runTests.sh * Task #102508: Remove usages of $.Deferred() * Task #102518: Raise supported minimal MariaDB version * Task #102528: Avoid unnecessary null-coalesence operators * Task #102549: Extract WS-related code from BE_USER * Task #102563: Rework DataHandler->doesBranchExist * Task #102568: Clean up workspaces-related code * Task #102576: Resolve various PHPStan-related issues * Feature #102581: Introduce ModifyContentObjectRendererEvent * Task #102582: Command cleanup:localprocessedfiles should be able to cleanup all records * Feature #102586: Introduce sortable Doctrine DBAL middleware registration * Feature #102587: Introduce driver middleware `UsableForConnectionInterface` * Bug #102607: Danish language code is "da" not "dk" * Feature #102614: Introduce AfterGetDataResolvedEvent * Bug #102618: Rename getOrderRepresentaion to getOrderRepresentation * Feature #102624: Introduce ModifyImageSourceCollectionEvent * Bug #102627: Streamline _PAGES_OVERLAY_UID and _LOCALIZED_UID magic getters * Feature #102631: Introduce AsController * Bug #102659: Trailing comma in include_static_file.txt * Task #102679: Migrate ImageMagick $info array to dedicated object * Task #102712: Replace Bootstrap::initializeLanguageObject() in tests * Task #102723: Avoid usage of TSFE->sys_page * Task #102726: Simplify PageRepository code * Feature #102745: Register content object stdWrap hooks via autoconfiguration * Task #102752: Remove TODO to mark PageRenderer final * Task #102754: Remove ConsumableNonce->b64 * Feature #102755: Register content object getImageResource hooks via autoconfiguration * Task #102763: Deprecate Extbase HashService * Task #102775: Harden PageRepository methods * Task #102779: Updated PHP system requirements for TYPO3 v13 * Task #102781: Remove PSR-7 request attribute "target" * Task #102786: Require Symfony 7 for further support of next LTS * Feature #102793: Migrate enableFields hook to PSR-14 event * Feature #102806: Use Events instead of hooks in PageRepository * Task #102810: Streamline import/export code * Task #102819: Fix tests around PageRepository->init * Bug #102826: registerPlugin can not handle SelectItems API from v12 * Bug #102827: DataHandler->log not migrated consistently * Feature #102835: Add Events to TypoLinkCodecService * Feature #102849: Add PSR-14 Event to modify stdWrap `cacheStore` * Feature #102855: Add PSR-14 Event to modify link resolving result data * Task #102862: Doctrine DBAL `AbstractPlatform::getIdentifierQuoteCharacter()` is deprecated * Task #102863: Doctrine DBAL deprecated sequence name argument for Connection::lastInsertId() * Task #102864: Doctrine DBAL deprecated `$type` parameter for `Statement::bindValue()` * Feature #102865: Add PSR-14 Event to modify loaded form definition * Task #102866: Doctrine DBAL deprecated maximum length methods from `AbstractPlatform` * Task #102867: Pass connection to ConnectionMigrator and factory method * Bug #102870: Avoid using null as array key in RecordStateFactory * Task #102875: Require doctrine/dbal 4.x * Task #102880: Remove traces of unsupported platform `Oracle` * Task #102881: Remove extended `SchemaManager::getDatabasePlatform()` methods * Task #102882: Remove internal state properties from PageRepository * Task #102883: Redefine CI pipeline execution * Task #102893: Add native types to internal properties of PageRenderer * Task #102895: Extend PackageInterface with Icon * Task #102897: Clean up extension manager code * Task #102898: IndexedSearch: Extract enum-esque structs into real enums * Task #102902: Drop "Rules" from Indexed Search * Task #102905: Revise changelogs for v13.0 release * Task #102907: Use typolink to build links to pages in Indexed Search * Task #102908: Indexed Search: Use DTOs for indexing data * Task #102910: Drop no-op wrapper functions from Indexed Search indexer * Task #102914: Indexed Search: add typings * Task #102916: Remove `ExpressionBuilder::trim()` deprecation * Task #102919: Remove `ExpressionBuilder::QUOTE_*` constants * Task #102921: Remove several outdated indexed search features * Task #102924: Remove tx_extbase_type from fe_groups * Task #102925: Indexed Search: Migrate rating to ViewHelper * Task #102926: Streamline code in Indexed Search * Task #102928: Use cleaner check for MySQL fulltext in search * Task #102930: Remove TCA for sys_log * Task #102931: Remove outdated hook in GifBuilder * Feature #102935: Add PackageInitialisationEvent * Task #102937: Remove pi1_hooks in Indexed Search * Task #102938: Use TCA and db defaults for auto-created redirect * Task #102940: Remove getter and setter for search word * Bug #102941: Streamline namespace of Indexed Search VHs * Task #102944: Reduce `ext_tables.sql` for `ext:redirects` * Task #102945: Replace custom Indexed Search pagination with existing API * Task #102955: Use descriptive enum for index status * Task #102959: Upgrade to `doctrine/dbal:4.0.0-RC2` * Task #102975: Use full md5 hash for `indexed_search` * Task #102985: Make Indexed Search a CType * Bug #102994: typo3 setup throws exception as port is not casted to int * Task #102998: Revert [TASK] Add title and aria-label to clear input button * Bug #103020: Undefined array key when using inlineLanguageLabelFiles