9.0 Changes
Table of contents
Breaking Changes
- Breaking: #37180 - ExtDirectDebug and $GLOBALS['error'] removed
- Breaking: #52694 - GeneralUtility::devLog() not called anymore
- Breaking: #55298 - Decoupled sys_history functionality
- Breaking: #57594 - Optimize ReflectionService Cache handling
- Breaking: #71306 - Dropped "Protocol" field from page type "Link to external URL"
- Breaking: #74533 - Throw exception if user function does not exist
- Breaking: #79777 - EXT:scheduler - Deleted column for tasks added
- Breaking: #80700 - Deprecated functionality removed
- Breaking: #80876 - Remove system extension css_styled_content
- Breaking: #80929 - TYPO3_DB moved to extension
- Breaking: #81171 - Edit ability of TypoScript template in EXT:tstemplate removed
- Breaking: #81225 - Merged EXT:context_help to EXT:backend
- Breaking: #81460 - Deprecate getByTag() on cache frontends
- Breaking: #81534 - Database field be_groups:hide_in_lists dropped
- Breaking: #81536 - Move ServicesListReport From Sv to Reports
- Breaking: #81735 - Get rid of sysext:sv
- Breaking: #81763 - Hook parameters of ['typo3/file_edit.php']['preOutputProcessingHook'] changed
- Breaking: #81775 - suffix form identifier with the content element uid
- Breaking: #81787 - Drop EXT:func
- Breaking: #81847 - Remove JSMENU
- Breaking: #81901 - Changed behavior of auto-completion appearance
- Breaking: #81901 - Removed explanation of TypoScript options
- Breaking: #82433 - Install Tool entry point removed
- Breaking: #81973 - FormEngineValidation.parseDate remove fixed year 2038
- Breaking: #82148 - Download SQL dump dropped in EM
- Breaking: #82162 - Global error constants removed
- Breaking: #82210 - EXT:form - translation for "options" properties as string
- Breaking: #82252 - Override TypoScript configuration formDefinitionOverrides by FlexForms
- Breaking: #82296 - Removed constant TYPO3_user_agent
- Breaking: #82334 - AbstractRecordList
- Breaking: #82368 - Signal 'afterExtensionConfigurationWrite' removed
- Breaking: #82377 - Option to allow uploading system extensions removed
- Breaking: #82378 - Remove namespaced jQuery
- Breaking: #82398 - Remove special constant "TSConstantEditor"
- Breaking: #82406 - Routing: Backend Modules run through regular dispatcher
- Breaking: #82414 - CMS ViewHelper base classes removed
- Breaking: #82421 - Dropped old DB related configuration options
- Breaking: #82425 - Remove old typoscript constants editor option "###MOD_TS:EDITABLE_CONSTANTS###"
- Breaking: #82426 - ExtJS and ExtDirect removal
- Breaking: #82430 - Replaced GeneralUtility::sysLog with Logging API
- Breaking: #82445 - Pages and page translations
- Breaking: #82505 - Merged EXT:info_pagetsconfig to EXT:info
- Breaking: #82506 - Remove BackendUserRepository injection in NoteController
- Breaking: #82572 - RDCT functionality removed
- Breaking: #82629 - Removed tce_db options "prErr" and "uPT"
- Breaking: #82639 - Logging activated for authentication and Service classes
- Breaking: #82640 - Re-arranging global debug functions
- Breaking: #82680 - Removed option to generate PNGs limited to 64 colors
- Breaking: #82689 - Backend AbstractWizardController not extends AbstractModule
- Breaking: #82701 - Always consider publishing references in workspaces
- Breaking: #82709 - TCA option "localizeChildrenAtParentLocalization" removed
- Breaking: #82768 - Configuration Options for Image Manipulation PHP API
- Breaking: #82803 - Global configuration option "content_doktypes" removed
- Breaking: #82832 - Use at daemon dropped from scheduler
- Breaking: #82852 - Exception is thrown on invalid charset
- Breaking: #82878 - Removed field "no_cache" in database table "pages"
- Breaking: #82893 - Remove global variable PARSETIME_START
- Breaking: #82896 - System extension "version" migrated into "workspaces"
- Breaking: #82899 - More restricting checks for API methods in ExtensionManagementUtility
- Breaking: #82914 - Remove TypoScript option page.bodyTagMargins
- Breaking: #82915 - Remove TypoScript option page.stylesheet
- Breaking: #82919 - Removed pagetree-related TSconfig settings
- Breaking: #82926 - Removed database field sys_domain.forced
- Breaking: #82991 - Record list "Localization View" is always enabled
- Breaking: #83081 - Removed configuration option BE/fileExtensions/webspace
- Breaking: #83122 - Removed stdWrap option TCAselectItem
- Breaking: #83124 - Remove stdWrap options space, spaceBefore, spaceAfter
- Breaking: #83153 - Migrated backend_layout.icon to FAL
- Breaking: #83160 - Removed 'sorting' column from table 'sys_file_reference'
- Breaking: #83161 - Remove TYPO3.LLL usages in TYPO3 core
- Breaking: #83241 - Extbase: Removed custom functionality for DataMapper->getPlainValue
- Breaking: #83243 - Removed cache_phpcode cache configuration
- Breaking: #83244 - Fluid Widget Links do not add cacheHash parameter by default anymore
- Breaking: #83256 - Removed lockFilePath functionality
- Breaking: #83265 - Dropped support for setting "typeNum" via id GET Parameter in Frontend
- Breaking: #83284 - Removed EXT:backend/Resources/Private/Templates/Close.html
- Breaking: #83289 - Core version 9.0 needs PHP 7.2.0
- Breaking: #83294 - Salted Passwords: Custom saltings must use the SaltInterface
- Breaking: #83302 - Composer restricts installation of typo3/cms
Features
- Feature: #22439 - Allow nested GET-params in config.linkVars
- Feature: #40729 - Title attribute for (un)substituted constants in TS object browser
- Feature: #45535 - Sorting for scheduler-list
- Feature: #57594 - Optimize ReflectionService Cache handling
- Feature: #65403 - Add file links sorting by date and sorting direction
- Feature: #67884 - Display 'unused' CEs
- Feature: #69340 - Show backend user who deleted record
- Feature: #73357 - Make thumbnail size in file browser configurable
- Feature: #75161 - Create uri/link to backend modules viewhelper
- Feature: #75676 - Load new content element wizard via modal instead of new page
- Feature: #76459 - Add crossorigin property to JavaScript files
- Feature: #76910 - PageLayoutView - Allow to disable copy- / translate- buttons
- Feature: #77268 - Introduce JavaScript trigger request API
- Feature: #77576 - Introduce device presets and redesign the view module
- Feature: #78695 - Set the session timeout for frontend users
- Feature: #79462 - Introduce scheduler task to execute console command
- Feature: #79777 - EXT:scheduler - Deleted column for tasks added
- Feature: #80186 - Add HTML5 elements and improve the form editor
- Feature: #80187 - Add the "Confirmation" finisher to the form editor
- Feature: #80342 - Extbase validator for URLs
- Feature: #80542 - Support defer attribute for JavaScript includes in TypoScript
- Feature: #80557 - Add support for native SQL time column type
- Feature: #80581 - Render list of recently users that were switched to
- Feature: #80866 - Allow exclusion of records in localization wizard
- Feature: #81223 - includeCSS.inline property
- Feature: #81330 - Trait to migrate public access to protected by deprecation
- Feature: #81363 - EXT:form - support form element translation arguments
- Feature: #81409 - Configurable Route Parameters
- Feature: #81464 - Add API for meta tag management
- Feature: #81601 - Add possibility to write tests in typeScript
- Feature: #81651 - Query builder object as argument in list module hook
- Feature: #81656 - Select view helper supports required argument
- Feature: #81741 - Render additional and data-* attributes in media renderer for MediaViewHelper
- Feature: #81775 - suffix form identifier with the content element uid
- Feature: #81901 - Extend T3editor
- Feature: #82014 - Extension scanner
- Feature: #82070 - Exclude doktypes in path of search result (indexed_search)
- Feature: #82091 - Allow inline rendering in SVG content object
- Feature: #82108 - Support EXT: syntax as source in SVG content object
- Feature: #82177 - add file size validator
- Feature: #82213 - New hook to determine if content record is used/unused
- Feature: #82254 - Store extension configuration as plain array
- Feature: #82260 - Separation of search result path into title,uri,linkTag
- Feature: #82266 - Backend Users System Maintainers
- Feature: #82303 - Add configurable footnote to login screen
- Feature: #82354 - Add possibility to get a label in a specific language
- Feature: #82419 - Send Frontend Debug Information as HTTP Response Header
- Feature: #82426 - New navigation module registration (e.g. Page tree)
- Feature: #82441 - Inject logger when creating objects
- Feature: #82488 - Possibility to modify the display results before FluidView assignment
- Feature: #82812 - New syntax for importing TypoScript files
- Feature: #82826 - TCA Allow label in palettes array
- Feature: #82869 - Replace @inject with @TYPO3\CMS\Extbase\Annotation\Inject
- Feature: #82999 - Add a hook to hide credentials in the Configuration module
- Feature: #83016 - Listing of page translations in list module
- Feature: #83038 - Introduce Yarn as dependency manager for node modules
- Feature: #83078 - Replace @lazy with @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
- Feature: #83092 - Replace @transient with @TYPO3\CMS\Extbase\Annotation\ORM\Transient
- Feature: #83093 - Replace @cascade with @TYPO3\CMS\Extbase\Annotation\ORM\Cascade
- Feature: #83094 - Replace @ignorevalidation with @TYPO3\CMS\Extbase\Annotation\IgnoreValidation
Deprecation
- Deprecation: #52694 - Deprecated GeneralUtility::devLog()
- Deprecation: #54152 - Deprecate arguments of BackendUtility::getPagesTSconfig
- Deprecation: #57594 - Optimize extbase ReflectionService Cache handling
- Deprecation: #70526 - Location of formatToPageTypeMapping option
- Deprecation: #78410 - Deprecate popover member instance in TYPO3 global object.
- Deprecation: #80993 - GeneralUtility::getUserObj
- Deprecation: #81201 - EidUtility::initTCA
- Deprecation: #81213 - Render method arguments on ViewHelpers deprecated
- Deprecation: #81217 - TSFE-related language methods
- Deprecation: #81218 - noWSOL argument in PageRepository->getRawRecord
- Deprecation: #81318 - Public properties of PageRepository
- Deprecation: #81460 - Deprecate getByTag() on cache frontends
- Deprecation: #81464 - Add API for meta tag management
- Deprecation: #81534 - BackendUtility::getListGroupNames() deprecated
- Deprecation: #81540 - Deprecate DocumentTemplate::formWidth
- Deprecation: #81600 - Unused Extbase Exceptions
- Deprecation: #81651 - Argument parameters in list module hook
- Deprecation: #81763 - Deprecated language label for file rename
- Deprecation: #81951 - Install Tool entry point moved
- Deprecation: #82110 - Deprecate option "value" and "noscript" in SVG content object
- Deprecation: #82254 - Deprecate $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']
- Deprecation: #82315 - Deprecate bin/typo3 lang:language:update
- Deprecation: #82426 - typo3-pagetree navigation component name
- Deprecation: #82430 - GeneralUtility::sysLog
- Deprecation: #82438 - Deprecation methods
- Deprecation: #82445 - Page translation related functionality
- Deprecation: #82603 - Deprecate Storage module
- Deprecation: #82609 - Deprecate TYPO3.Utility
- Deprecation: #82702 - Second argument of GeneralUtility::mkdir_deep()
- Deprecation: #82725 - Deprecate ConfigurationForm
- Deprecation: #82744 - Rename ext:lowlevel/View to lowlevel/Controller
- Deprecation: #82805 - Renamed AjaxLoginHandler PHP class
- Deprecation: #82869 - Replace @inject with @TYPO3\CMS\Extbase\Annotation\Inject
- Deprecation: #82899 - ExtensionManagementUtility methods
- Deprecation: #82902 - Custom Backend Module registration methods
- Deprecation: #82903 - Deprecate ClientUtility
- Deprecation: #82909 - TypoScript option config.typolinkCheckRootline
- Deprecation: #82926 - Domain-related API method in TSFE
- Deprecation: #82975 - Deprecate usage of @inject with non-public properties
- Deprecation: #83078 - Replace @lazy with @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
- Deprecation: #83083 - GeneralUtility::llXmlAutoFileName()
- Deprecation: #83092 - Replace @transient with @TYPO3\CMS\Extbase\Annotation\ORM\Transient
- Deprecation: #83093 - Replace @cascade with @TYPO3\CMS\Extbase\Annotation\ORM\Cascade
- Deprecation: #83094 - Replace @ignorevalidation with @TYPO3\CMS\Extbase\Annotation\IgnoreValidation
- Deprecation: #83116 - Caching framework wrapper methods in BackendUtility
- Deprecation: #83118 - DeleteClause methods deprecated
- Deprecation: #83121 - Logging method DataHandler->newlog2()
- Deprecation: #83252 - link-tag syntax processsing
- Deprecation: #83254 - Moved page generation methods into TSFE
- Deprecation: #83273 - Public properties of TemplateService
Important
- Important: #23178 - New TYPO3_CONF_VARS option FE|pageNotFound_handling_accessdeniedheader
- Important: #76084 - Move install tool modules into backend module menu
- Important: #79610 - Change Signature And Return Value For doesRecordExist_pageLookUp
- Important: #80246 - MemcachedBackend marked transient
- Important: #81023 - Drop EXT:typo3db_legacy
- Important: #81109 - Simplify default backend layout
- Important: #81196 - LanguageService moved to core extension
- Important: #81201 - TCA populated available at any request
- Feature: #81330 - Dealing with properties that become protected
- Important: #81474 - Combine modules "about" & "about modules"
- Important: #81568 - Migrate cHash configuration
- Important: #81574 - Merged EXT:cshmanual into EXT:backend
- Important: #81768 - Create pages and sort pages in context menu
- Important: #81868 - "Optimize autoloader" is no longer forced in composer.json
- Important: #81899 - Backend AJAX routes use "&route=/ajax/" instead of "ajaxId" parameter
- Important: #82229 - Fluid implementation of CmsVariableProvider removed
- Important: #82230 - Updates to the Fluid template engine library
- Important: #82328 - EXT:form - use own folder for form definitions
- Important: #82445 - Migrate pages_language_overlay into pages
- Important: #82692 - Guidelines for ext_localconf.php and ext_tables.php