15.x Changes by type
This lists all changes to the TYPO3 Core of minor versions grouped by their type.
Table of contents
Breaking Changes
- Breaking: #73717 - ObjectStorage validation results keyed by position
- Breaking: #92902 - Structured Form TypoScript recipient overrides
- Breaking: #105641 - Page TSconfig option disableSearchBox removed
- Breaking: #108285 - Core uses __serialize() and __unserialize() methods
- Breaking: #109153 - Obsolete pages-only new record wizard removed
- Breaking: #109783 - Deprecated functionality removed
- Breaking: #109811 - Removed "afterFormStateInitialized" hook
- Breaking: #109849 - Removed "buildFormDefinitionValidationConfiguration" hook
- Breaking: #109926 - Removed Extbase parameter type evaluation via DocBlock
- Breaking: #109998 - Removed jQuery
- Breaking: #110023 - Harden type declarations
- Breaking: #110027 - StandardContentPreviewRenderer streamlined
- Breaking: #110028 - LoggerAwareInterface removed from FormEngine base classes
- Breaking: #110188 - DataHandler: Drop property bypassAccessCheckForRecords
- Breaking: #110196 - PHP class Rfc822AddressesParser removed
- Breaking: #110211 - Raise minimum PHP version to 8.5
- Breaking: #110218 - Class LogRecord declared final
- Breaking: #110219 - Log request ID provided by log processor
- Breaking: #110221 - Class Logger declared final
- Breaking: #110250 - Remove implicit output buffering from Bootstrap
- Breaking: #110277 - File renderer registration and interface changed
- Breaking: #110286 - Text extractor registration and interface changed
- Breaking: #110287 - Meta tag manager registration and interface changed
- Breaking: #110319 - Encryption key is checked before ext_localconf.php loading
- Breaking: #110319 - Removed unused internal Bootstrap methods
- Breaking: #110334 - XML sitemap data provider interface changed
- Breaking: #110361 - Remove FAL fallback storage (uid 0)
- Breaking: #110414 - Remove global access time variables
- Breaking: #110485 - Menu content object registration changed
- Breaking: #110578 - SingletonInterface removed from core services
- Breaking: #110637 - Scheduler repository throws InvalidTaskException
- Breaking: #110702 - Widened FAL processing task interfaces
- Breaking: #110762 - File storages are configured in a file instead of the database
- Breaking: #110966 - Remove UTF8filesystem and systemLocale settings
- Breaking: #110999 - LocalDriver throws FileDoesNotExistException
- Breaking: #111107 - Require PHP extension gd
- Breaking: #111108 - GFX setting thumbnails removed
- Breaking: #111109 - GFX setting processor_effects renamed to sharpen
- Breaking: #111146 - Require PHP extension fileinfo
- Breaking: #111156 - Site sets follow the order a site declares
- Breaking: #111189 - v5_sharpen() sharpens on the scale of GD
Features
- Feature: #59312 - Introduce cleanup command for missing FAL records
- Feature: #75037 - Markers in treeConfig startingPoints
- Feature: #85070 - New ViewHelper f:form.hasErrors
- Feature: #88925 - Additional element property paths in CheckboxEditor
- Feature: #94822 - Multiple records with record browser in forms
- Feature: #94886 - Show selected item counts in FormEngine
- Feature: #98074 - Suggest CSS classes in link browser
- Feature: #98988 - Index records on change in indexed_search
- Feature: #99678 - Improved link handling in the rich text editor
- Feature: #101534 - Pagination for dashboard list widgets
- Feature: #102217 - Configurable scale for TCA type "number"
- Feature: #103403 - Check record links in Link Validator
- Feature: #105641 - Configure search box visibility in the record list
- Feature: #107345 - Language filter for the recycler module
- Feature: #107989 - Add H6 heading level to tt_content header_layout
- Feature: #108649 - Introduce publish command for workspaces
- Feature: #108762 - Introduce change_stage command for workspaces
- Feature: #108927 - Group providers in the Configuration module
- Feature: #109444 - Add default value support for CountrySelect form element
- Feature: #109494 - Auto-map TCA "ctrl" fields to Extbase models
- Feature: #109811 - PSR-14 event AfterFormStateInitializedEvent
- Feature: #109836 - PSR-14 event before form value is rendered
- Feature: #109846 - TCA type "email" supports eval "lower"
- Feature: #109849 - PSR-14 Event after form definition validation config is built
- Feature: #109862 - stdWrap for TypoScript config.headerComment
- Feature: #110227 - Database connection maintenance for long-running Messenger workers
- Feature: #110259 - New PSR-14 AfterFileListRowPreparedEvent
- Feature: #110269 - Allow row updater registration with PHP attribute
- Feature: #110277 - Register file renderers as tagged services
- Feature: #110286 - Register text extractors as tagged services
- Feature: #110287 - Register meta tag managers as tagged services
- Feature: #110331 - Improved form template picker with icon and description
- Feature: #110347 - Native lazy objects for Extbase lazy loading
- Feature: #110453 - Derive PageRepository instances for another Context
- Feature: #110603 - Add a dry run option to the redirects:cleanup command
- Feature: #110625 - Group record history entries by their operation
- Feature: #110702 - Process system resource images
- Feature: #110704 - Type aware field mapping for reactions
- Feature: #110762 - File storage configuration file
- Feature: #110762 - Project-root relative base paths for local storages
- Feature: #110769 - Allow boolean and arbitrary values in HTML attributes
- Feature: #110815 - PSR-14 event after a record is rendered
- Feature: #110816 - Highlight workspace changes in the frontend preview
- Feature: #110850 - Try out reactions in the backend module
- Feature: #110851 - Copy a generated password to the clipboard
- Feature: #110859 - Extension scanner available as "upgrade:scan" on the CLI
- Feature: #110863 - Improved configuration of public backend routes
- Feature: #110873 - Upload files by pasting them from the clipboard
- Feature: #110969 - Improve the overview of the reactions module
- Feature: #111101 - PSR-14 event BeforeFinishersAreExecutedEvent
- Feature: #111134 - Allow #[IgnoreValidation] on Extbase properties
- Feature: #111149 - Remember the chosen workspace preview mode per user
Deprecations
- Deprecation: #102217 - Deprecate NumberFieldType->getFormat()
- Deprecation: #110148 - Experimental backend ViewHelpers
- Deprecation: #110202 - StringUtility::multibyteStringPad() method
- Deprecation: #110285 - DataHandler->setCorrelationId()
- Deprecation: #110334 - AbstractXmlSitemapDataProvider
- Deprecation: #110347 - LazyLoadingProxy and LazyObjectStorage
- Deprecation: #110348 - AssetCollector media handling
- Deprecation: #110477 - CommandRegistry->getSchedulableCommands()
- Deprecation: #110479 - ActionMenuItemGroup defaultController argument
- Deprecation: #110762 - ResourceStorage->getStorageRecord()
- Deprecation: #110762 - StorageRepository->createLocalStorage() and legacy keys
- Deprecation: #110863 - Backend route access "public"
- Deprecation: #110865 - uuid option enableCopyToClipboard moved to appearance
- Deprecation: #110966 - PathUtility basename(), dirname(), pathinfo()
- Deprecation: #110994 - Extbase controller actions as comma-separated string
- Deprecation: #111114 - GeneralUtility::getBytesFromSizeMeasurement()
- Deprecation: #111116 - BackendUtility::getModuleData()
- Deprecation: #111134 - #[Transient] for skipping validation
Important notes
- Important: #35069 - addQueryString.exclude also applies to config.linkVars
- Important: #88452 - Enforce origUid for non-translatable child tables
- Important: #103481 - Always execute EmptyValidator for honeypot validation
- Important: #106584 - Asset and image ViewHelper arguments are registered
- Important: #107327 - DataHandler: Default value related property and methods removed
- Important: #109660 - GIFBUILDER rotate accepts any angle
- Important: #110175 - TypoScript _LOCAL_LANG.default is a last-resort fallback
- Important: #110333 - File metadata is resolved in every context
- Important: #110501 - Slashes in page titles no longer end up in generated slugs
- Important: #110515 - Enforce unique dashboard identifiers
- Important: #110540 - File collector sorting uses an enum
- Important: #110762 - Import no longer creates file storage records
- Important: #110864 - Copying records no longer inherits their language
- Important: #110878 - Scheduler maximum lifetime defaults to 60 minutes
- Important: #111077 - QR code button removed from the Records module