‪TYPO3CMS  11.5
‪Todo List
Member TYPO3\CMS\Extbase\Persistence\QueryResultInterface::getQuery ()
v12: Enable and drop ForwardCompatibleQueryResultInterface
Member TYPO3\CMS\Extbase\Validation\Validator\ValidatorInterface::getOptions ()
: Will be activated in v12 and implemented in AbstractValidator. Extensions may implement this for v10 & v11 compatible extensions if they need dependency injection in v11. If extending AbstractValidator in v11, a setOptions() implementation should call initializeDefaultOptions(), which will be done in AbstractValidator v12 automatically.
Member TYPO3\CMS\Extbase\Validation\Validator\ValidatorInterface::validate ($value)

: Return type 'Result' will be added in v12. Extensions should add this for v11 & v12 compatible extensions if they override validate(). AbstractValidator will add 'Result' return in v12.

: Argument signature will be 'mixed $value' in v12, but AbstractValidator adds this starting with v13 only to simplify compat for extensions supporting v11 & v12 and thus PHP < 8.1.

Member TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator::__construct (array $options=[])
: __construct() will vanish in v12, this abstract will implement setOptions() to set and initialize default options.
Member TYPO3\CMS\Extbase\Validation\Validator\AbstractCompositeValidator::count ()
Set to return type int as breaking change in v12.
Member TYPO3\CMS\Extbase\Validation\Validator\AbstractCompositeValidator::__construct (array $options=[])
: __construct() will vanish in v12, this abstract will implement setOptions() to set and initialize default options.
Member TYPO3\CMS\Extbase\Security\Cryptography\HashService::validateAndStripHmac (string $string)
Mark as API once it is more stable
Member TYPO3\CMS\Extbase\Security\Cryptography\HashService::appendHmac (string $string)
Mark as API once it is more stable
Member TYPO3\CMS\Extbase\Reflection\ObjectAccess::getGettableProperties (object $object)
What to do with ArrayAccess
Member TYPO3\CMS\Extbase\Validation\Validator\ValidatorInterface::getOptions ()
: Return type 'array' will be added in v12. Extensions should add this for v11 & v12 compatible extensions if they override getOptions(). AbstractValidator will add 'Result' return in v12.
Member TYPO3\CMS\Extbase\Persistence\QueryInterface::getQuerySettings ()
decide whether this can be deprecated eventually
Member TYPO3\CMS\Extbase\Persistence\QueryInterface::setQuerySettings (QuerySettingsInterface $querySettings)
decide whether this can be deprecated somewhen
Member TYPO3\CMS\Extbase\Persistence\QueryInterface::getType ()
v12: Enable and drop ForwardCompatibleQueryInterface
Member TYPO3\CMS\Extbase\Persistence\ObjectStorage::unserialize ()
: unserialize() is not called when \Serializable interface is not implemented. Obsolete method. Drop in v12.
Member TYPO3\CMS\Extbase\Persistence\ObjectStorage::serialize ()
: serialize() is not called when \Serializable interface is not implemented. Obsolete method. Drop in v12.
Member TYPO3\CMS\Extbase\Persistence\Generic\Storage\BackendInterface::getUidOfAlreadyPersistedValueObject (AbstractValueObject $object)
this is the last monster in this persistence series. refactor!
Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::valid ()
Set return type to bool as breaking patch in v12.
Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::rewind ()
Set return type to void as breaking patch in v12.
Member TYPO3\CMS\Extbase\Tests\Unit\Reflection\Fixture\ArrayAccessClass::offsetExists ($offset)
Set $offset to mixed type as breaking change in v12.
Member TYPO3\CMS\FrontendLogin\Event\AbstractConfirmedEvent::__construct (LoginController $controller, ViewInterface $view)
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\FrontendLogin\Event\AbstractConfirmedEvent::$view
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\FrontendLogin\Controller\PasswordRecoveryController::validateHashAndPasswords ()
: Refactor all password checks to validators
Member TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::checkExtensionDependency (Dependency $dependency)
handle exceptions / markForUpload
Member TYPO3\CMS\Extbase\Tests\Unit\Validation\Validator\Fixture\AbstractValidatorClass::$supportedOptions
Declare the property type in the parent class
Member TYPO3\CMS\Extbase\Tests\Unit\Validation\Validator\Fixture\AbstractCompositeValidatorClass::$supportedOptions
Declare the property type in the parent class
Member TYPO3\CMS\Extbase\Tests\Unit\Reflection\Fixture\ArrayAccessClass::offsetSet ($offset, $value)
Set $offset and $value to mixed type as breaking change in v12.
Member TYPO3\CMS\Extbase\Tests\Unit\Reflection\Fixture\ArrayAccessClass::offsetGet ($offset)

Set $offset to mixed type as breaking change in v12.

Set to return type mixed as breaking change in v12.

Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::next ()
Set return type to void as breaking patch in v12.
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Storage\Typo3DbBackendTest::overlayLanguageAndWorkspaceChangesUidIfInPreview ()
: This mocks WAY too much - drop or create functional to be useful
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Storage\Typo3DbBackendTest::uidOfAlreadyPersistedValueObjectIsDeterminedCorrectly (bool $isFrontendEnvironment)
: This mocks WAY too much - drop or create functional to be useful
Class TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\Fixture\DummyEntity
Specifying the property types results in test bench errors
Member TYPO3\CMS\Extbase\Tests\Unit\Mvc\Controller\ActionControllerTest::rendersAndAssignsAssetsFromViewIntoPageRenderer ($viewMock, ?string $expectedHeader, ?string $expectedFooter)
Review type from $viewMock (type declaration in method signature leads to test bench errors)
Member TYPO3\CMS\Extbase\Tests\Unit\Mvc\Controller\ActionControllerTest::initializeActionMethodArgumentsRegistersArgumentsFoundInTheSignatureOfTheCurrentActionMethod ()
: make this a functional test
Member ExtbaseTeam\TestValidators\Validation\Validator\CustomValidator::setOptions (array $options)
: Will be merged into AbstractValidator in v12.
Member TYPO3\CMS\Extbase\Validation\ValidatorResolver::createValidator ($validatorType, array $validatorOptions=[])
remove throwing Exceptions in resolveValidatorObjectName
Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getArgument ($argumentName)
v12: public function getArgument(string $argumentName)
Class TYPO3\CMS\Extbase\Mvc\View\JsonView
v12: Drop 'implements ViewInterface' together with removal of extbase ViewInterface
Member TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver::resolve (string $controllerObjectName, string $actionName, string $format)
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
"

v12: Enable

v12: Enable

v12: Enable

Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getArguments ()

v12: public function getArguments(): array

v12: Enable

Member TYPO3\CMS\Extbase\Mvc\RequestInterface::hasArgument ($argumentName)
v12: public function hasArgument(string $argumentName): bool
Member TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::convertTransientObjectToArray (AbstractDomainObject $object)
Refactor this into convertDomainObjectsToIdentityArrays()
Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getArgument ($argumentName)

v12: Enable

v12: Enable

v12: Enable

v12: Enable or refactor to render it obsolete.

v12: Enable

Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getControllerObjectName ()

v12: public function getControllerObjectName(): string

v12: Enable

Member TYPO3\CMS\Extbase\Persistence\Generic\Query::getSelectorName ()
This has to be checked at another place
Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::key ()
Set return type to mixed as breaking patch in v12.
Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::current ()
Set return type to mixed as breaking patch in v12.
Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::offsetUnset ($offset)

Set $offset to mixed type as breaking change in v12.

Set return type to void as breaking patch in v12.

Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::offsetSet ($offset, $value)

Set $offset and $value to mixed type as breaking change in v12.

Set return type to void as breaking patch in v12.

Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::offsetGet ($offset)

Set $offset to mixed type as breaking change in v12.

Set return type to ?mixed as breaking patch in v12.

Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::offsetExists ($offset)

Set $offset to mixed type as breaking change in v12.

Set to return type bool as breaking change in v12.

Member TYPO3\CMS\Extbase\Persistence\Generic\QueryResult::count ()
Set to return type int as breaking patch in v12.
Class TYPO3\CMS\Extbase\Persistence\Generic\QueryResult

v12: Drop ForwardCompatibleQueryResultInterface when merged into QueryResultInterface

v12: Candidate to declare final - Can be decorated or standalone class implementing the interface

Member TYPO3\CMS\FrontendLogin\Event\AbstractConfirmedEvent::getView ()
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Class TYPO3\CMS\Extbase\Persistence\Generic\Query

v12: Drop ForwardCompatibleQueryInterface when merged into QueryInterface

v12: Candidate to declare final - Can be decorated or standalone class implementing the interface

Member TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy::valid ()
Set return type to bool as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy::rewind ()
Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy::next ()
Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy::key ()
Set return type to int as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Extbase\Persistence\Generic\LazyLoadingProxy::current ()
Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Extbase\Object\Container\Container::registerImplementation (string $className, string $alternativeClassName)
deprecate in favor of core DI configuration (aliases/overrides)
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::preparePageLink (int $pageUid, array $row, array $urlParameters)
make use of the UriBuilder
Member TYPO3\CMS\Linkvalidator\Repository\BrokenLinkRepository::addBrokenLink ($record, bool $isValid, array $errorParams=null)
Make default value of $errorParams [] instead of null and add strict typing in v13
Member TYPO3\CMS\Linkvalidator\Linktype\LinktypeInterface::getBrokenUrl ($row)
change input parameter type to array in TYPO3 v13
Member TYPO3\CMS\Linkvalidator\Linktype\LinktypeInterface::getErrorParams ()
change return type to array in TYPO3 v13
Member TYPO3\CMS\Linkvalidator\Linktype\InternalLinktype::getErrorMessage ($errorParams)
change input parameter type to array in TYPO3 v13
Member TYPO3\CMS\Linkvalidator\Linktype\FileLinktype::getErrorMessage ($errorParams)
change input parameter type to array in TYPO3 v13
Member TYPO3\CMS\Linkvalidator\Linktype\ExternalLinktype::getErrorMessage ($errorParams)
change input parameter type to array in TYPO3 v13
Member TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype::getErrorParams ()
change return type to array in TYPO3 v13
Member TYPO3\CMS\Install\Service\CoreUpdateService::setDownloadTargetPath ($downloadTargetPath)
move this to folder structure
Member TYPO3\CMS\Linkvalidator\Task\ValidatorTask::getEmailOnBrokenLinkOnly ()
type cast needed for backwards compatibility - should be removed in v12
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::makeDescription ($row, $noMarkup=false, $length=180)
overwork this
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::makeRating ($row)
can this be a ViewHelper?
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::$domainRecords
remove sys_domain records
Member TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase::assertXmlStringEqualsXmlFileWithIgnoredSqliteTypeInteger (string $expectedFile, string $actualXml)

: Remove this workaround method after minimum php version requirement is set to >8.1.

: This is a hack to align 'expected' fixture files on sqlite: sqlite returns integer fields as string, so the exported xml miss the 'type="integer"' attribute. This change drops 'type="integer"' from the expectations if on sqlite. This needs to be changed in impexp, after that this helper method can vanish again. SQLite also now returns the correct type as of PHP 8.1, so the string mangling is no longer necessary.

Class TYPO3\CMS\Frontend\Tests\Unit\ContentObject\FluidTemplateContentObjectTest
: Review these tests. Many of them test a lot of internal details like "see if stdWrap is called" and similar and thus heavily rely on mocking. When turned into functional tests with a proper fixture setup, the tests would shrink significantly, would be far better readable and could avoid dealing with internal class knowledge.
Class TYPO3\CMS\Frontend\Tests\Unit\Authentication\FrontendUserAuthenticationTest
: Some of these tests would be better suited as functional tests
Member TYPO3\CMS\Redirects\Service\RedirectService::cleanupTSFE ()
: Needs to vanish. The existence of this method is a side-effect of the technical debt that a TSFE has to be set up for link generation, see the comment on bootFrontendController() for more details.
Member TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\Regular\Modify\ActionTest::changeContentSortingAndDeleteMovedRecord ()
: Publish and PublishAll for this are missing - TF throws an exception on publish due to deleted state
Member TYPO3\CMS\Workspaces\Controller\Remote\ActionHandler::deleteSingleRecord ($table, $uid)
What about reporting errors back to the interface? /olly/
Member TYPO3\CMS\Workspaces\Controller\Remote\ActionHandler::publishSingleRecord ($table, $t3ver_oid, $orig_uid)
What about reporting errors back to the interface? /olly/
Class TYPO3\CMS\T3editor\T3editor
: refactor to use DI
Member TYPO3\CMS\T3editor\Controller\CodeCompletionController::getMergedTemplates ($pageId)
olive.nosp@m.r@ty.nosp@m.po3.o.nosp@m.rg: Refactor this method and comment what's going on there
Member TYPO3\CMS\Scheduler\Scheduler::removeTask (AbstractTask $task)
find a way to actually kill the existing jobs
Member TYPO3\CMS\Scheduler\Scheduler::cleanExecutionArrays ()
find a way to actually kill the job
Member TYPO3\CMS\Scheduler\Controller\SchedulerModuleController::stopTask ()
find a way to really kill the running task
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\TypoLinkGeneratorTest::setUpFileStorage ()
Provide functionality of creating and indexing fileadmin/ in Testing Framework
Member TYPO3\CMS\Redirects\Hooks\DataHandlerCacheFlushingHook::rebuildRedirectCacheIfNecessary (array $parameters, DataHandler $dataHandler)
This hook is called for each record which needs to clear cache, which means this gets called for other records than sys_redirects, but also for each sys_redirect record which has been modified with this DataHandler call. Even if we can narrow down to rebuild only for specific source_hosts, this still means that we eventually rebuild the "same" cache multiple times. Find a better way to aggregate them and rebuild only once at the end.
Member TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList::linkUrlMail ($code, $testString)
Change signature to (string $code, string $testString): string as breaking change in v12. Also protect method.
Member TYPO3\CMS\Recordlist\Event\ModifyRecordListTableActionsEvent::getRecordList ()
Might be replaced by a DTO in the future
Member TYPO3\CMS\Recordlist\Event\ModifyRecordListRecordActionsEvent::getRecordList ()
Might be replaced by a DTO in the future
Member TYPO3\CMS\Recordlist\Event\ModifyRecordListHeaderColumnsEvent::getRecordList ()
Might be replaced by a DTO in the future
Member TYPO3\CMS\Linkvalidator\Task\ValidatorTask::getDepth ()
type cast needed for backwards compatibility - should be removed in v12
Member TYPO3\CMS\Linkvalidator\Task\ValidatorTask::getPage ()
type cast needed for backwards compatibility - should be removed in v12
Member TYPO3\CMS\Form\Domain\Finishers\FinisherInterface::setOptions (array $options)
enable this method in TYPO3 v12 with a Breaking.rst as the interface changes and drop the if condition (not body) in AbstractFinisher.
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::isRenderedCached ()
: this should be checked against https://forge.typo3.org/issues/91625 as this was fixed differently for UriBuilder
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::initializeFormSessionFromRequest ()
FormRuntime::$formSession is still vulnerable to session fixation unless a real cookie-based process is used
Class TYPO3\CMS\Form\Domain\Runtime\FormRuntime
: Declare final in v12
Class TYPO3\CMS\Form\Domain\Model\FormDefinition
: Declare final in v12
Member TYPO3\CMS\Form\Domain\Finishers\FinisherVariableProvider::offsetUnset ($offset)
Set $offset to mixed type in v12.
Member TYPO3\CMS\Form\Domain\Finishers\FinisherVariableProvider::offsetSet ($offset, $value)
Set $offset and $value to mixed type in v12.
Member TYPO3\CMS\Form\Domain\Finishers\FinisherVariableProvider::offsetGet ($offset)

Set $offset to mixed type in v12.

Set return type to ?mixed in v12.

Member TYPO3\CMS\Form\Domain\Finishers\FinisherVariableProvider::offsetExists ($offset)
Set $offset to mixed type in v12.
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::offsetExists ($identifier)
Set $identifier to mixed type in v12.
Member TYPO3\CMS\Form\Controller\FormEditorController::transformFormDefinitionForFormEditor (array $formDefinition)
move this to FormDefinitionConversionService
Member TYPO3\CMS\Fluid\ViewHelpers\FormViewHelper::renderHiddenReferrerFields ()
filter out referrer information that is equal to the target (e.g. same packageKey)
Class TYPO3\CMS\Fluid\View\AbstractTemplateView
v12: Drop 'implements ViewInterface' together with removal of extbase ViewInterface
Member TYPO3\CMS\Fluid\Core\Rendering\RenderingContext::injectViewHelperVariableContainer (ViewHelperVariableContainer $viewHelperVariableContainer)
: Resolve this in ViewHelperBaseTestcase, then drop this method
Member TYPO3\CMS\FrontendLogin\Event\ModifyLoginFormViewEvent::getView ()
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\FrontendLogin\Event\ModifyLoginFormViewEvent::__construct (ViewInterface $view)
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\FrontendLogin\Event\ModifyLoginFormViewEvent::$view
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkRootlineForIncludeSection ()

Find a better name, i.e. checkVisibilityByRootLine

Invert boolean return value. Return true if visible.

Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::pageRequestSendsNotFoundResponseWithInvalidCacheHashWithHavingPageErrorHandling (string $uri)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::restrictedPageWithParentSysFolderSendsForbiddenResponseWithUnauthorizedVisitorWithHavingPageErrorHandling (string $uri, int $frontendUserId)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::restrictedPageSendsForbiddenResponseWithUnauthorizedVisitorWithHavingPageErrorHandling (string $uri, int $frontendUserId)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\MountPointTest::mountPointPagesShowContentAsConfigured (string $uri, string $expected)
: revisit the "mount_pid_ol=1" redirect, there is some truth to it, but still would remove the context, which does not make sense. Should be revisited. See test above as well.
Class TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\MountPointTest

add Tests for having a PageFolder as mounted page (e.g. id 10000)

Add tests for multilingual setups

Add tests with various TypoScript settings activated

Member TYPO3\CMS\Frontend\Plugin\AbstractPlugin::$cObj
: Signature in v12: protected ?ContentObjectRenderer $cObj = null;
Member TYPO3\CMS\Frontend\Imaging\GifBuilder::$cObj
: Signature in v12: protected ?ContentObjectRenderer $cObj = null;
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkPagerecordForIncludeSection (array $row)
Find a better name, i.e. isVisibleRecord()
Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getControllerObjectName ()
v12: Enable
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::fetch_the_id (ServerRequestInterface $request=null)
:
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$contentType
Ticket: #63642 Should be refactored to a request/response model later
" </dt><dd> \anchor _todo000228 Will be activated in TYPO3 v12</dd> <dt> \_setscope TYPO3::CMS::Form::Mvc::Property::TypeConverter::FormDefinitionArrayConverter Member \_internalref class_t_y_p_o3_1_1_c_m_s_1_1_form_1_1_mvc_1_1_property_1_1_type_converter_1_1_form_definition_array_converter#ae4c4ec7d6661f80ef09bd1cdc5c97b2f "TYPO3\CMS\Form\Mvc\Property\TypeConverter\FormDefinitionArrayConverter::filterEmptyArrays" (array $array)
ArrayUtility?
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::offsetUnset ($identifier)
Set $identifier to mixed type in v12.
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::offsetSet ($identifier, $value)
Set $identifier and $value to mixed type in v12.
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::offsetGet ($identifier)

Set $identifier to mixed type in v12.

Set return type to ?mixed in v12.

Class TYPO3\CMS\Core\Configuration\Richtext
When I grow up, I want to become a data provider
Member TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener::getEnumerationTableColumnDefinition (array $tableColumn, AbstractPlatform $platform)
: The $tableColumn source currently only support MySQL definition style.
Member TYPO3\CMS\Core\Database\Schema\DefaultTcaSchema::getTableFirstPosition (array $tables, string $tableName)

It would be better if the incoming $tables structure would be cleaned

to contain a table only once before this class is entered.

Member TYPO3\CMS\Core\Database\RelationHandler::purgeItemArray ($workspaceId=null)
: It should be possible to drop all three 'purge' methods by using a clever join within readMM - that sounds doable now with pid -1 and ws-pair records being gone since v11. It would resolve this indirect callback logic and would reduce some queries. The (workspace) mm tests should be complete enough now to verify if a change like that would do.
Member TYPO3\CMS\Core\Database\RelationHandler::readMM ($tableName, $uid, $mmOppositeTable)
: The source record is not checked for correct workspace. Say there is a category 5 in workspace 1. setWorkspace(0) is called, after that readMM('sys_category_record_mm', 5 ...). readMM will still return the list of records connected to this workspace 1 item, even though workspace 0 has been set.
Member TYPO3\CMS\Core\Database\ReferenceIndex::updateIndex ($testOnly, ?ProgressListenerInterface $progressListener=null)
: Consider moving this together with the helper methods to a dedicated class.
Member TYPO3\CMS\Core\Database\QueryView::csvRowTitles ($row, $conf)
Unused?
Member TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder::literal ($input, $type=Connection::PARAM_STR)
: Change signature to literal($input, int $type = Connection::PARAM_STR) as breaking change in v12.
Class TYPO3\CMS\Core\Console\CommandNameAlreadyInUseException
: deprecate
Member TYPO3\CMS\Core\DataHandling\DataHandler::getUnique ($table, $field, $value, $id, $newPid=0)
: consider workspaces, especially when publishing a unique value which has a unique value already in live
Member TYPO3\CMS\Core\Composer\PackageArtifactBuilder::handleRootPackage (PackageInterface $rootPackage, string $extensionKey)
: remove this method in TYPO3 v12
Member TYPO3\CMS\Core\Composer\PackageArtifactBuilder::setTitleFromExtEmConf (Package $package)
deprecate or remove in TYPO3 v12
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::count ()
: Set return type to in in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::unserialize ($serialized)
: Drop method and \Serializable (through parent interface) class interface in v12.
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::serialize ()
: Drop method and \Serializable (through parent inteface) class interface in v12.
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::rewind ()
: Set return type to void in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::valid ()
: Set return type to bool in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Resource\FileReference::getTitle ()
Possibly move this to the image domain object instead
Member TYPO3\CMS\Core\Resource\ResourceStorage::getAllFileObjectsInFolder (Folder $folder)
check if this is a duplicate
Member TYPO3\CMS\Core\Resource\Processing\TaskInterface::fileNeedsProcessing ()
isOutdated()/needsReprocessing()?
Member TYPO3\CMS\Core\Resource\Processing\ImagePreviewTask::fileNeedsProcessing ()
isOutdated()/needsReprocessing()?
Member TYPO3\CMS\Core\Resource\MetaDataAspect::current ()
Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Core\Resource\MetaDataAspect::offsetGet ($offset)
Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].
Member TYPO3\CMS\Core\Resource\FileReference::getLink ()
Move this to the image domain object instead
Member TYPO3\CMS\Core\Resource\FileReference::getDescription ()
Possibly move this to the image domain object instead
Member TYPO3\CMS\Core\Resource\FileReference::getAlternative ()
Possibly move this to the image domain object instead
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::key ()
: Set return type to mixed when PHP >= 8.0 is required and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Page\JavaScriptModuleInstruction::FLAG_LOAD_REQUIRE_JS
In future versions this might be ES6 module as well
Member TYPO3\CMS\Core\Messaging\FlashMessageQueue::dequeue ()
: Set return type to mixed when PHP >= 8.0 is required and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Messaging\FlashMessageQueue::enqueue ($message)
: Set return type to void in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Hooks\TcaItemsProcessorFunctions::getRegisteredFlexForms (string $table)

: This approach is limited and doesn't find everything. It works for casual tt_content plugins, though:

: The data structure identifier determination depends on data row, but we don't have all rows at hand here.

: The code thus "guesses" some standard data structure identifier scenarios and tries to resolve those.

: This guessing can not be solved in a good way. A general registry of "all" possible data structures is

: probably not wanted, since that wouldn't work for truly dynamic DS calculations. Probably the only

: thing we could do here is a hook to allow extensions declaring specific data structures to

: allow backend admins to set exclude flags for certain fields in those cases.

Member TYPO3\CMS\Core\Domain\Repository\PageRepository::addMountPointParameterToPage (array $page)
Find a better name. The current doesn't hit the point.
Class TYPO3\CMS\Core\DataHandling\Model\CorrelationId
Check internal state during v10 development
Member TYPO3\CMS\Core\DataHandling\DataHandler::undeleteRecordRelations (string $table, int $uid, array $record)
: Add functional test undelete coverage to verify details, some details seem to be missing.
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::addInlineFirstPid (array $result)
: Find out when and if this is different from 'effectivePid'
Member TYPO3\CMS\Backend\Template\ModuleTemplate::makeShortcutIcon ($gvList, $setList, $modName, $motherModName='', $displayName='', $classes='btn btn-default btn-sm')
Make this thing return a button object
Member TYPO3\CMS\Backend\Module\ModuleLoader::BE_USER
Restrict property visibility to protected in TYPO3 v12.0
Class TYPO3\CMS\Backend\Form\Utility\FormEngineUtility
: These helpers are target to be dropped if further FormEngine refactoring is done
Member TYPO3\CMS\Backend\Form\InlineStackProcessor::injectAjaxConfiguration (array $config)
: Review this construct - Why can't the ajax call fetch these data on its own and transfers it to client instead?
Member TYPO3\CMS\Backend\Form\FormResultTrait::serializeJavaScriptModuleInstructionItems (JavaScriptModuleInstruction $instruction)
This is a temporary "solution" and shall be handled in JavaScript directly
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaTypesShowitem::removeFieldsFromPalettes (array $result, $removeListArray)
: unit tests!
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::getLiveDefaultId ($tableName, $uid)
: the workspace mess still must be resolved somehow
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::resolveConnectedRecordUids (array $parentConfig, $parentTableName, $parentUid, $parentFieldValue)
: Cover with unit tests
Member TYPO3\CMS\Backend\Tree\SortedTreeNodeCollection::append ($node)
: Set return type to void in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Backend\Form\FormDataProvider\SiteTcaInline::addInlineFirstPid (array $result)
: Find out when and if this is different from 'effectivePid'
Member TYPO3\CMS\Backend\Form\Element\InputTextElement::getObfuscatedSecretValue (?string $value)
  • ‪server-side password obfuscation value is ********* (9 chars)
  • ‪client-side password obfuscation value is ******** (8 chars)
Member TYPO3\CMS\Backend\Domain\Repository\Module\BackendModuleRepository::modulesHaveNavigationComponent ()
deprecate
Member TYPO3\CMS\Backend\Controller\SiteInlineAjaxController::compileChild (array $parentData, string $parentFieldName, int $childUid, array $inlineStructure)

: This clones methods compileChild from TcaInline Provider. Find a better abstraction

: to also encapsulate the more complex scenarios with combination child and friends.

Member TYPO3\CMS\Backend\Controller\FormSlugAjaxController::suggestAction (ServerRequestInterface $request)
)
  • ‪Show a message that the old URL will stop working (possibly add a redirect via checkbox)
  • ‪If the page has subpages, show a warning that the subpages WILL NOT BE MODIFIED and keep the OLD url
Member TYPO3\CMS\Backend\Controller\FormInlineAjaxController::getErrorMessageForAJAX ($message)
remove with TYPO3 v12.0
Member TYPO3\CMS\Backend\Controller\FormInlineAjaxController::compileChild (array $parentData, $parentFieldName, $childUid, array $inlineStructure)

: This clones methods compileChild from TcaInline Provider. Find a better abstraction

: to also encapsulate the more complex scenarios with combination child and friends.

Member TYPO3\CMS\Backend\View\BackendLayoutView::addBackendLayoutItems (array &$parameters)
This method should return the items array instead of using the whole parameters array as reference. This has to be adjusted, as soon as the itemsProcFunc functionality is changed in this regard.
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::next ()
: Set return type to void in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Collection\AbstractRecordCollection::current ()
: Set return type to mixed when PHP >= 8.0 is required and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Core\Authentication\BackendUserAuthentication::backendCheckLogin ($proceedIfNoUserIsLoggedIn=null)
deprecate
Member TYPO3\CMS\Core\Authentication\AbstractUserAuthentication::checkAuthentication (ServerRequestInterface $request=null)
: Make mandatory in v12.
Member TYPO3\CMS\Core\Authentication\AbstractUserAuthentication::start (ServerRequestInterface $request=null)
: Make mandatory in v12.
Member TYPO3\CMS\Beuser\Controller\BackendUserController::initializeView (ViewInterface $view)
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Class TYPO3\CMS\Belog\Domain\Model\Workspace
: This should be extended and put at some more central place
Member TYPO3\CMS\Belog\Domain\Model\LogEntry::$newId
: should be string|int but extbase chokes on this while mapping
Member TYPO3\CMS\Core\Resource\Search\Result\EmptyFileSearchResult::current ()
change return type to mixed in TYPO3 v12 (breaking).
Member TYPO3\CMS\Backend\Tree\TreeNodeCollection::__unserialize ($arrayRepresentation)
: Change signature to __unserialize(array $arrayRepresentation): void in v12
Member TYPO3\CMS\Backend\Tree\TreeNodeCollection::unserialize ($serializedString)
: Drop method and \Serializable class interface in v12.
Member TYPO3\CMS\Backend\Tree\TreeNodeCollection::__serialize ()
: Change signature to __serialize(): array in v12
Member TYPO3\CMS\Backend\Tree\TreeNodeCollection::serialize ()
: Drop method and \Serializable class interface in v12.
Member TYPO3\CMS\Backend\Tree\TreeNodeCollection::asort ($flags=SORT_REGULAR)
: Set return type to void in v12 as breaking patch and drop #[\ReturnTypeWillChange]
Member TYPO3\CMS\Backend\Tree\TreeNode::unserialize ($serializedString)
: Drop method and \Serializable class interface in v12.
Member TYPO3\CMS\Backend\Tree\TreeNode::serialize ()
: Drop method and \Serializable class interface in v12.
Member TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::setContentObject (ContentObjectRenderer $contentObject)
: See note on getContentObject() below.
Member TYPO3\CMS\Extbase\Mvc\Controller\ActionController::redirectToUri ($uri, $_=null, $statusCode=303)
: ': ResponseInterface' (without ?) in v12 as method return type together with redirectToUri() cleanup
Member TYPO3\CMS\Extbase\Mvc\Controller\ActionController::redirect ($actionName, $controllerName=null, $extensionName=null, array $arguments=null, $pageUid=null, $_=null, $statusCode=303)
: ': ResponseInterface' (without ?) in v12 as method return type together with redirectToUri() cleanup
Member TYPO3\CMS\Extbase\Mvc\Controller\ActionController::setViewConfiguration (ViewInterface $view)
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\Extbase\Mvc\Controller\ActionController::resolveView ()
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
" </dt><dd> \anchor _todo000115 v12: Change</dd> <dt> \_setscope TYPO3::CMS::Extbase::Mvc::Controller::ActionController Member \_internalref class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_mvc_1_1_controller_1_1_action_controller#ab526e27ff606ce40969a732b7fd8de4d "TYPO3\CMS\Extbase\Mvc\Controller\ActionController::$view"
v12: Change signature to TYPO3Fluid\Fluid\View\ViewInterface when extbase ViewInterface is dropped.
Member TYPO3\CMS\Extbase\Error\Result::recurseThroughResult (array $pathSegments)
: consider making this method protected as it will and should not be called from an outside scope
Member TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager::getContentObject ()
: This dependency to ContentObjectRenderer on a singleton object is unfortunate: The current instance is set through USER cObj and extbase Bootstrap, its null in Backend. This getter is misused to retrieve current ContentObjectRenderer state by some extensions (eg. ext:form). This dependency should be removed altogether. Although the current implementation always returns an instance of ContentObjectRenderer, we do not want to hard-expect consuming classes on that, since this methods needs to be dropped anyways, so potential null return is kept.
Member TYPO3\CMS\Extbase\Mvc\Controller\Arguments::offsetSet ($offset, $value)

Set parameter type for $offset and $value to mixed or correct union type as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Class TYPO3\CMS\Dashboard\Widgets\RequireJsModuleInterface
deprecate in TYPO3 v12.0
Class TYPO3\CMS\Core\Tests\Unit\Utility\PathUtilityTest
Defining the method parameter types further leads to test bench errors
Member TYPO3\CMS\Core\Tests\Unit\Utility\CommandUtilityTest::getConfiguredApps ($globalsBinSetup, $expected)
When specifying parameter types test bench errors occur
Class TYPO3\CMS\Core\Tests\Unit\Utility\ArrayUtilityTest
When further defining the method parameter types test bench errors occur
Member TYPO3\CMS\Core\Tests\Unit\Resource\ResourceCompressorTest\Fixtures\TestableResourceCompressor::$targetDirectory
Specifying the type in the declaration leads to test bench errors
Member TYPO3\CMS\Core\Tests\Unit\Resource\OnlineMedia\Helpers\VimeoHelperTest::transformUrlToFileReturnsExpectedResult ($url, $videoId, $expectedResult)
Specifying the argument types results in test bench errors
Member TYPO3\CMS\Core\Tests\Unit\Pagination\SimplePaginationTest::$paginator
Specifying the type in the declaration results in a test bench error
Member TYPO3\CMS\Extbase\Mvc\Request::__construct ($request=null)
v12: final public function __construct(ServerRequestInterface $request)
Member TYPO3\CMS\Extbase\Mvc\RequestInterface::getControllerObjectName ()

v12: Enable

v12: Enable

v12: Enable

Class TYPO3\CMS\Extbase\Mvc\RequestInterface
v12: interface RequestInterface extends ServerRequestInterface
Member TYPO3\CMS\Extbase\Mvc\Request::getControllerActionName ()
: Should be "public function getControllerActionName(): string", blocked by testing-framework
Member TYPO3\CMS\Extbase\Mvc\Request::getControllerName ()
: Should be "public function getControllerName(): string", blocked by testing-framework
Member TYPO3\CMS\Extbase\Mvc\Request::getControllerExtensionName ()
: Should be "public function getControllerExtensionName(): string", blocked by testing-framework
Member TYPO3\CMS\Extbase\Mvc\Request::getPluginName ()
: Should be "public function getPluginName(): string", blocked by testing-framework
Class TYPO3\CMS\Core\Tests\Unit\Mail\MailMessageTest
Defining the method parameter types results in test bench errors
Member TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters::$controllerObjectName
: Should probably at least init to empty string.
Member TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters::$controllerExtensionName
: Should probably at least init to empty string.
Member TYPO3\CMS\Extbase\Mvc\Dispatcher::buildRequestFromCurrentRequestAndForwardResponse (Request $currentRequest, ForwardResponse $forwardResponse)
: make this a private method again as soon as the tests, that fake the dispatching of requests, are refactored.
Member TYPO3\CMS\Extbase\Mvc\Controller\Arguments::offsetGet ($offset)

Set parameter type for $offset to mixed as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Extbase\Mvc\Controller\Arguments::offsetExists ($offset)

Set parameter type for $offset to mixed or correct union type as breaking change in v12.

Set return type to bool as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Extbase\Mvc\Controller\Arguments::offsetUnset ($offset)

Set parameter type for $offset to mixed or correct union type as breaking change in v12.

Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Extbase\Mvc\Controller\Arguments::append ($value)

Set parameter type for $value to mixed or correct union type as breaking change in v12.

Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Routing\SiteRouteResult::offsetUnset ($offset)

Set parameter type for $offset to mixed as breaking change in v12.

Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Tests\Acceptance\Application\FormEngine\ElementsBasicInputEvalCest::simpleEvalInputFieldsDataProvider ()
this one probably broke with the html type="number" patch 'label' => 'input_9', 'inputValue' => 'TYPO3', 'expectedValue' => '0', 'expectedInternalValue' => '0', 'expectedValueAfterSave' => '0', 'comment' => '', ],
Member TYPO3\CMS\Core\Tests\Acceptance\Application\FileList\FileStorageTreeFilterCest::clearFilterReloadsTreeWithoutFilterApplied (ApplicationTester $I)
: Method protected! This means the test is disabled.
Member TYPO3\CMS\Core\Utility\File\BasicFileUtility::getUniqueName ($theFile, $theDest, $dontCheckForUnique=false)
: should go into the LocalDriver in a protected way (not important to the outside world)
Member TYPO3\CMS\Core\Utility\File\BasicFileUtility::sanitizeFolderPath ($theDir)
: should go into the LocalDriver in a protected way (not important to the outside world)
Member TYPO3\CMS\Core\Utility\ExtensionManagementUtility::$extTablesWasReadFromCacheOnce
See if we can get rid of the 'load multiple times' scenario in fe
Member TYPO3\CMS\Core\Utility\ArrayUtility::flatten (array $array, $prefix='', bool $keepDots=false)

: The current implementation isn't a generic array flatten method, but tailored for TypoScript flattening

: It should be deprecated and removed and the required specialities should be put under the domain of TypoScript parsing

Member TYPO3\CMS\Core\Tree\TableConfiguration\AbstractTableConfigurationTreeDataProvider::$availableItems
: This is a hack to speed up category tree calculation. See the comments in TcaCategory and AbstractItemProvider FormEngine classes.
Member TYPO3\CMS\Core\Session\UserSessionManager::getNormalizedParams ()
/notes for backports: Same as in typo3/sysext/core/Classes/Hooks/CreateSiteConfiguration.php,
Member TYPO3\CMS\Core\Tests\Acceptance\Application\FormEngine\ElementsBasicInputRangeCest::simpleRangeAndMd5FieldsDataProvider ()
this one probably broke with the type="number" patch 'label' => 'input_25', 'inputValue' => 'Kasper TYPO3', 'expectedValue' => '0', 'expectedInternalValue' => '0', 'expectedValueAfterSave' => '0', 'comment' => '', ],
Member TYPO3\CMS\Core\Routing\SiteRouteResult::offsetSet ($offset, $value)

Set parameter type for $offset and $value to mixed as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Routing\SiteRouteResult::offsetGet ($offset)

Set parameter type for $offset to mixed as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Routing\Route::getArguments ()
'_arguments' are added implicitly, make it explicit in enhancers
Member TYPO3\CMS\Core\Routing\PageArguments::offsetUnset ($offset)

Set parameter type for $offset to mixed as breaking change in v12.

Set return type to void as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Routing\PageArguments::offsetSet ($offset, $value)

Set parameter type for $offset and $value to mixed as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Routing\PageArguments::getPageId ()

Set parameter type for $offset to mixed as breaking change in v12.

Set return type to mixed as breaking change in v12 and remove #[\ReturnTypeWillChange].

Member TYPO3\CMS\Core\Resource\Search\Result\EmptyFileSearchResult::key ()
change return type to mixed in TYPO3 v12 (breaking).
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\AbstractActionTestCase::movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice ()
The "deleted" t3ver_state=2 record is turned into a move placeholder so the "marked for delete" information is lost.
Member TYPO3\CMS\Core\Tests\Unit\LinkHandling\EmailLinkHandlerTest::splitParametersToUnifiedIdentifier ($input, $parameters, $expected)
Defining the method parameter types results in test bench errors
Member TYPO3\CMS\Core\Tests\Unit\LinkHandling\EmailLinkHandlerTest::resolveReturnsSplitParameters ($input, $expected, $finalString)
Defining the method parameter types results in test bench errors
Member TYPO3\CMS\Core\Tests\Unit\Http\UriTest::withPortAcceptsBooleanTrueAsPortOne ()

: Currently, boolean true is interpreted as 1 by canBeInterpretedAsInteger().

: This test shows that, but there is an inconsistency and maybe it would be better

: if the code would not accept 'true' as valid port but throw an exception instead.

: If that is changed, 'true' should be added to the 'invalid type' data provider above.

Member TYPO3\CMS\Core\Tests\Unit\DataHandling\DataHandlerTest::checkValue_checkReturnsExpectedValues ($value, $expectedValue)
Specifying the datatype in the parameter list results in test bench failures (runTest.ch)
Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::fromQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::updateQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::deleteQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait::applyInstructions (InternalRequest $request, AbstractInstruction ... $instructions)
Instruction handling should be part of Testing Framework (multiple instructions per identifier, merge in interface)
Member TYPO3\CMS\Adminpanel\ModuleApi\ModuleDataStorageCollection::getHash ($object)
Set return type to string as breaking patch in v12.
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase::localizeContentChainOfRelationAndAddCategoryWithLanguageSynchronization ()
: does not exist in workspaces
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase::localizeContentOfRelationAndAddCategoryWithLanguageSynchronization ()
: does not exist in workspaces
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase::localizeContentOfRelationWithLanguageSynchronization ()
: does not exist in workspaces
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase::copyCategoryToLanguageOfRelation ()
: does not exist in workspaces
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\ManyToMany\AbstractActionTestCase::copyContentToLanguageOfRelation ()
: does not exist in workspaces
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\CSV\AbstractActionTestCase::copyParentContentToLanguageWithAllChildren ()
Test missing in workspaces!
Member TYPO3\CMS\Core\Tests\Acceptance\Application\Recycler\RecyclerModuleCest::deleteAndWipeRecords (ApplicationTester $I)
: Method protected! This means the test is disabled. There are at least two tests that confuse this test if they are executed earlier:
  • PageTreeFilterCest.php:deletingPageWithFilterAppliedRespectsFilterUponPageTreeReload
  • InlineFalCest.php:deleteFalRelation The main issue is that this Cest.php works on a main page within styleguide tree which is deleted and resurrected. This breaks as soon as other tests delete something within the same tree. Suggestion: Let _before() create two pages: A main page as tree page to use as recycler main page, plus a sub page of that page that can be deleted and resurrected at will. This should limit side effects from other tests.