From f67d0c1347a9a8b24bcfcd17b3870fcb4cc55326 Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Sat, 16 Dec 2017 18:52:49 +0100 Subject: [PATCH] [TASK] Changelog docs: Re-add v7 files into v8 & master As proposed in https://decisions.typo3.org/t/core-changelog-documentation-workflow-revised the v7 Changelog files are merged back into v8 and master. Change-Id: I83b238aa24c5cfb2b3bf5450f178b438a84f3618 Resolves: #83363 Releases: master, 8.7 Reviewed-on: https://review.typo3.org/55127 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- Build/Scripts/validateRstFiles.sh | 13 +- .../sysext/core/Documentation/Changelog-7.rst | 21 ++ .../7.0/Breaking-19737-PreferRootTemplate.rst | 32 +++ .../7.0/Breaking-33805-ClickMenuRewrite.rst | 50 ++++ ...reaking-42543-DefaultTypoScriptRemoved.rst | 43 ++++ ...ing-53542-DeprecatedCodeRemovalInFluid.rst | 55 ++++ ...ng-53658-RemoveAlternateBgColorsOption.rst | 32 +++ ...09-RteAcronymButtonRenamedAbbreviation.rst | 46 ++++ .../7.0/Breaking-57382-FlashMessageApi.rst | 30 +++ ...ExtbaseDeprecatedPropertyMapperRemoved.rst | 37 +++ ...9-DeprecatedCodeRemovalInBackendSysext.rst | 62 +++++ ...66-ExtensionConfigurationCacheClearing.rst | 32 +++ ...reaking-60063-FeloginPluginFileRemoved.rst | 33 +++ .../Breaking-60135-RecursiveStdWrapChange.rst | 52 ++++ ...Breaking-60152-formatSizeAdheresLocale.rst | 36 +++ ...aking-60559-DroppedBackendLoginOptions.rst | 32 +++ ...-T3skinBackendLoginJavascriptFileMoved.rst | 32 +++ ...-60559-T3skinBackendLoginTemplateMoved.rst | 32 +++ ...0561-DefaultTypoScriptConstantsRemoved.rst | 48 ++++ ...king-60582-RsaauthJavascriptFilesMoved.rst | 31 +++ ...60609-ConfigurationManagerSignalChange.rst | 32 +++ ...ing-60630-SchedulerJavascriptFileMoved.rst | 33 +++ ...king-60630-SchedulerLanguageFilesMoved.rst | 34 +++ ...ing-60630-SchedulerModuleTemplateMoved.rst | 33 +++ .../7.0/Breaking-61459-RemovalTslib.rst | 36 +++ ...eaking-61471-t3skinCssFilesMovedToLess.rst | 36 +++ ...eOnceArrayOfClickMenuControllerRemoved.rst | 31 +++ ...precatedDocumentTemplateClassesRemoved.rst | 35 +++ ...1783-RemoveDeprecatedMailFunctionality.rst | 32 +++ ...king-61785-FrontendTcaFunctionsRemoved.rst | 32 +++ .../Breaking-61785-LoadTcaFunctionRemoved.rst | 32 +++ ...seDeprecatedTypeHandlingServiceRemoved.rst | 31 +++ ...802-IsLocalconfWritableFunctionRemoved.rst | 31 +++ ...tionsUtilityDeprecatedFunctionsRemoved.rst | 31 +++ ...FileOptionInMakeInstanceServiceRemoved.rst | 32 +++ ...g-61822-GetUniqueFieldsFunctionRemoved.rst | 32 +++ ...king-61823-RemoveMagicSettterForFromTC.rst | 32 +++ ...Breaking-61859-FileTypeSoftwareRemoved.rst | 31 +++ ...reaking-61860-RemoveIntFromVerFunction.rst | 31 +++ ...reaking-61863-ConnectDbFunctionRemoved.rst | 32 +++ ...890-Remove-TBE-Styling-From-FormEngine.rst | 93 +++++++ .../Breaking-61959-FlashMessageClasses.rst | 35 +++ ...g-62038-RemovedDocumentTemplateOptions.rst | 40 +++ ...king-62039-RemovedTBE_StylesMainColors.rst | 33 +++ ...-RTEDeprecatedJavaScriptMethodsRemoved.rst | 78 ++++++ ...reaking-62339-MoveExtPermIntoExtBeuser.rst | 32 +++ ...2416-DeprecatedCodeRemovalInCoreSysext.rst | 113 +++++++++ ...95-RemovedChangeToSwitchModeFromBeUser.rst | 33 +++ ...DeprecatedCodeRemovalInMultipleSysexts.rst | 94 +++++++ ...ing-62673-ExtbaseDeprecatedCodeRemoved.rst | 66 +++++ ...Breaking-62731-RTEWizardClassesRenamed.rst | 34 +++ ...Breaking-62733-RTEJavaScriptFilesMoved.rst | 32 +++ ...reaking-62793-RemoveConfigNotification.rst | 36 +++ ...reaking-62804-RTEJavaScriptMethodMoved.rst | 32 +++ ...reaking-62819-LocalizationWithPHPFiles.rst | 43 ++++ .../7.0/Breaking-62833-Dividers2Tabs.rst | 30 +++ ...movalDocumentationLinkActionViewHelper.rst | 31 +++ .../Breaking-62888-RemoveUniqueLinkVars.rst | 20 ++ ...ing-62914-EarlyCheckPHP55InInstallTool.rst | 32 +++ .../7.0/Breaking-62987-RemoveCSHGlossary.rst | 24 ++ .../Breaking-63056-TemplateSelectionHack.rst | 30 +++ ...mpatibilityLayerForSubmodulesOfModules.rst | 28 ++ .../Breaking-63110-AltDocNoDoc-Removed.rst | 28 ++ ...-75942-BigDocumentTemplateClassRemoved.rst | 33 +++ ...recation-60574-ClientRelatedConditions.rst | 43 ++++ ...-Function-In-Backend-TypoScript-Module.rst | 28 ++ .../Deprecation-62363-TSFE-JSfuncCalls.rst | 36 +++ ...eprecateOldMailMethodsInGeneralUtility.rst | 34 +++ ...ation-62795-DocumentTemplateJavaScript.rst | 26 ++ ...Deprecation-62800-WorkspaceToolbarItem.rst | 31 +++ ...tion-62854-Deprecate-pi_list_searchBox.rst | 26 ++ .../7.0/Deprecation-62864-HelpTextIcon.rst | 29 +++ ...2893-FlashmessageJavaScriptObjectMoved.rst | 47 ++++ ...cation-62988-DocumentTemplateFunctions.rst | 45 ++++ ...-47919-CatchContentRenderingExceptions.rst | 53 ++++ .../Feature-50039-MultipleCssFilesInRte.rst | 29 +++ ...905-AddDependenciesBetweenClassesInRte.rst | 30 +++ ...re-54518-ProvideTsconfigToLinkCheckers.rst | 36 +++ ...-54519-CheckDisabledLinkhandlerRecords.rst | 30 +++ ...122-ConfigureClassAsNonSelectableInRte.rst | 27 ++ .../7.0/Feature-59396-TypolinkViewHelper.rst | 53 ++++ ...0-IntroduceReadOnlyColumnForFileMounts.rst | 21 ++ ...LoggingFrameworkIntrospectionProcessor.rst | 25 ++ ...ure-60123-UnitTestCaseRemovesTestFiles.rst | 22 ++ ...StylesSegmentInTypoScriptObjectBrowser.rst | 19 ++ ...ethodsToGetClassTagValuesViaReflection.rst | 38 +++ .../Feature-61185-AllowSvgAsExtensionIcon.rst | 19 ++ ...ignalForIconUtilityHtmlTagManipulation.rst | 23 ++ ...351-AddDataAttributeToFluidViewHelpers.rst | 27 ++ ...ackTemplatePathsForFluidStandaloneView.rst | 85 +++++++ ...ture-61489-AbstractTypoScriptCondition.rst | 41 +++ ...dMultipleParameterToCheckboxViewHelper.rst | 29 +++ ...77-BackendMarkupForCheckboxesWithLabel.rst | 29 +++ ...PlayerInBackendRecordInformationWindow.rst | 20 ++ .../Feature-61800-FAL-RendererRegistry.rst | 49 ++++ .../7.0/Feature-62147-NewEmailEvalInTCA.rst | 35 +++ .../Documentation/Changelog/7.0/Index.rst | 41 +++ ...ng-24900-CompatVersion-Setting-Removed.rst | 39 +++ ...ypoScriptBlockQuoteInlineStylesRemoved.rst | 44 ++++ .../7.1/Breaking-57089-ShortcutBehaviour.rst | 34 +++ .../7.1/Breaking-61510-IndexedSearch.rst | 55 ++++ ...reaking-62415-DisableAutoCreateRemoved.rst | 29 +++ ...g-62886-RemoveMeaningfulTempFilePrefix.rst | 31 +++ ...eaking-62925-RemoveExtJsDateTimePicker.rst | 30 +++ .../7.1/Breaking-63296-Removed-Files.rst | 40 +++ .../Breaking-63310-Wizard-Modules-Moved.rst | 31 +++ ...reaking-63431-BackendToolbarRefactored.rst | 40 +++ ...437-ClassAliasesMovedToLegacyExtension.rst | 47 ++++ ...reaking-63464-IncludeOnceArraysRemoved.rst | 44 ++++ ...eaking-63687-WebFunctionsWizards-Moved.rst | 37 +++ ...80-RemoveWordStringsFromReferenceIndex.rst | 35 +++ .../Breaking-63818-RemovedStaticFileEdit.rst | 34 +++ ...9-Rewritten-JavaScript-Tree-Components.rst | 41 +++ .../Breaking-64070-GlobalWebmountsRemoved.rst | 30 +++ ...4102-MoveT3TableAndT3ButtonToBootstrap.rst | 35 +++ ...-64131-ResizableTextareasOptionDropped.rst | 18 ++ .../7.1/Breaking-64143-FlagFilesMoved.rst | 30 +++ ...eaking-64190-FormEngineCheckboxElement.rst | 34 +++ ...4226-OptionAccessListRenderModeRemoved.rst | 47 ++++ ...aking-64229-TrimSubmittedLoginFormData.rst | 35 +++ ...SSStyledContentLegacyTypoScriptRemoved.rst | 42 +++ .../Breaking-64639-RemovedContentObjects.rst | 31 +++ ...-64643-RemoveEnableTypo3tempDbTracking.rst | 34 +++ ...g-64668-MailformMovedToLegacyExtension.rst | 53 ++++ ...entObjectImgTextMovedToLegacyExtension.rst | 31 +++ ...64696-MoveSearchCTypeToLegacyExtension.rst | 34 +++ .../7.1/Deprecation-24387-Xhtml2.rst | 26 ++ .../7.1/Deprecation-25112-andWhere.rst | 58 +++++ ...on-46523-BackendUtilityImplodeTSParams.rst | 26 ++ ...-LocalImageProcessorGraphicalFunctions.rst | 31 +++ ...ion-49247-textStyleTableStyleAddParams.rst | 33 +++ .../Deprecation-60559-MakeLoginBoxImage.rst | 33 +++ ...tion-61605-ChangeNamingOfIncludeJSlibs.rst | 32 +++ ...precation-62329-DocumentTemplate-table.rst | 31 +++ ...55-XHTMLCleaningMovedToLegacyExtension.rst | 43 ++++ ...63324-DataHandler-IncludeFileFunctions.rst | 30 +++ ...ion-63522-ClientRelatedConditionDevice.rst | 33 +++ ...on-64059-Pagetree-Navigation-Component.rst | 36 +++ ...Deprecation-64109-Hook-softRefParserGL.rst | 36 +++ ...uleFunctionController-verify_TSobjects.rst | 31 +++ ...recation-64147-ConstantEditorFunctions.rst | 33 +++ ...Deprecation-64361-ComposerClassLoading.rst | 52 ++++ ...Deprecation-64388-ContentObjectMethods.rst | 69 +++++ ...on-64711-UnusedCssStyledContentMethods.rst | 31 +++ ...eprecation-64922-DeprecatedEntryPoints.rst | 44 ++++ ...ture-15619-LeaveUnchagedInAccessModule.rst | 14 + ...ingForIndexedSearchResultsConfigurable.rst | 22 ++ .../7.1/Feature-20767-getDataByNestedKey.rst | 29 +++ .../7.1/Feature-22086-StdWrapForHeadTag.rst | 25 ++ .../7.1/Feature-24906-MaxForTextElement.rst | 33 +++ ...8382-AddAsyncPropertyToJavaScriptFiles.rst | 37 +++ .../7.1/Feature-33491-StdWrapForTitleTag.rst | 22 ++ ...44-PaginateHandleNonQueryResultObjects.rst | 28 ++ ...91-AddTCAItemsWithIconsViaPageTSConfig.rst | 27 ++ .../Feature-46624-AdditionalWhereForMenu.rst | 21 ++ ...tributeMulitpleForFormUploadViewhelper.rst | 23 ++ ...060-MySqlCommentsShownInSchemaMigrator.rst | 17 ++ ...-50780-AppendElementBrowserMountPoints.rst | 43 ++++ ...eature-52131-HookForPageRepositoryInit.rst | 22 ++ ...6236-Multiple-HTTP-Headers-In-Frontend.rst | 42 +++ .../Feature-56529-SupportHasInArrayObject.rst | 15 ++ ...8-SpecialHmenuExcludeSpecialParameters.rst | 25 ++ ...8031-ConfigurableWidthOfElementBrowser.rst | 24 ++ ...lsForFormEngineCheckboxAndRadioButtons.rst | 39 +++ .../Feature-58366-AutomaticAbsRefPrefix.rst | 44 ++++ ...ature-58929-FooterHookInPageLayoutView.rst | 13 + ...60019-SplFileInfo-MimeTypeGuesser-hook.rst | 36 +++ .../7.1/Feature-61542-AddIsoLanguageKeys.rst | 73 ++++++ ...endUtilityCountVersionsOfRecordsOnPage.rst | 21 ++ .../Feature-62944-UserFuncAsDisplayCond.rst | 24 ++ ...re-62960-SignalForMailerInitialization.rst | 54 ++++ ...ure-63207-SplitActionButtonsIntoGroups.rst | 41 +++ ...00-CustomTypoScriptConditionsInBackend.rst | 38 +++ .../Feature-63729-ApiForBootstrapModals.rst | 116 +++++++++ ...RequireJsModulesForContainerViewHelper.rst | 24 ++ .../Feature-64031-JavaScript-Storage-API.rst | 52 ++++ ...eature-64190-FormEngineCheckboxElement.rst | 42 +++ ...257-MultipleUidInPageRepositoryGetMenu.rst | 23 ++ ...eature-64386-ContentObjectRegistration.rst | 27 ++ ...e-64921-FlexibleSubmoduleConfiguration.rst | 38 +++ .../7.1/Feature-65960-IntroduceGruntJS.rst | 47 ++++ .../Documentation/Changelog/7.1/Index.rst | 41 +++ ...ethodsAndSortFunctionalityToFalDrivers.rst | 45 ++++ ...Breaking-63784-DataHandlerExcludeArray.rst | 36 +++ ...719-MediaContentMovedToSystemExtension.rst | 45 ++++ ...king-65432-ModuleUriInGlobalVarRemoved.rst | 35 +++ ...DontProvideAccessToLocalpathOfFalFiles.rst | 40 +++ ...iaWizardProviderMovedToSystemExtension.rst | 33 +++ ...sedTt_contentTcaFieldsToCompatibility6.rst | 33 +++ ...Breaking-65939-BackendLoginRefactoring.rst | 46 ++++ ...aking-65962-WebSVGLibraryAndAPIRemoved.rst | 53 ++++ ...g-66001-ComposerVendorDirectoryChanged.rst | 39 +++ .../7.2/Breaking-66034-DropContentAdapter.rst | 26 ++ ...nfigOptionsToHideWebInfoModulesRenamed.rst | 39 +++ .../7.2/Breaking-66431-NewLoginScreen.rst | 39 +++ ...precation-47712-DeprecateOldLockingAPI.rst | 32 +++ ...n-51360-LinkValidatorSchedulerSettings.rst | 34 +++ .../7.2/Deprecation-64068-ThumbnailView.rst | 34 +++ ...4598-DeprecatePagepositionmapjsimgfunc.rst | 38 +++ .../7.2/Deprecation-65111-getDynTabMenu.rst | 32 +++ ...tion-65283-DeprecateShowItemEntryPoint.rst | 29 +++ ...ion-65288-DeprecateNewRecordEntryPoint.rst | 29 +++ ...ation-65289-DeprecateBrowserEntryPoint.rst | 29 +++ ...ecation-65290-DeprecateDummyEntrypoint.rst | 29 +++ ...cation-65291-DeprecateLogoutEntryPoint.rst | 29 +++ ...ion-65293-DeprecateFileNavigationFrame.rst | 29 +++ ...eprecation-65343-BackendUserOsProperty.rst | 25 ++ ...seTreeDataProviderOldClassNameInSignal.rst | 37 +++ ...-DataHandlerStripslashesValuesProperty.rst | 34 +++ .../Deprecation-65422-cObjectAliasNames.rst | 34 +++ ...precation-65465-ReferenceIndexErrorLog.rst | 27 ++ .../Deprecation-65913-checkFileInclude.rst | 25 ++ ...efixLocalAnchorsMovedToLegacyExtension.rst | 47 ++++ .../Deprecation-65938-TSFEAnchorPrefix.rst | 34 +++ ...eprecation-65956-DebugUtilityDebugRows.rst | 32 +++ ...cation-66065-BackendLogoViewDeprecated.rst | 34 +++ .../Deprecation-66223-Backendparsetime.rst | 33 +++ .../7.2/Deprecation-66431-NewLoginScreen.rst | 40 +++ .../7.2/Feature-20555-StripEmptyHtmlTags.rst | 67 +++++ ...AddSchedulerTaskToRemoveDeletedRecords.rst | 14 + ...eature-36743-FAL-TextExtractorRegistry.rst | 67 +++++ .../7.2/Feature-47712-NewLockingAPI.rst | 55 ++++ .../7.2/Feature-50136-AddSVGSupport.rst | 23 ++ ...-50501-DisableAutomaticExtInstallation.rst | 17 ++ .../7.2/Feature-52693-TSFE-RequestedId.rst | 15 ++ .../Feature-58621-FormatCaseViewHelper.rst | 32 +++ ...ButtonsLinkTypePropertiesTargetDefault.rst | 16 ++ ...712-HtmlParserAdditionalUserFuncParams.rst | 53 ++++ ...llowProcessedFoldersInDifferentStorage.rst | 23 ++ ...ertyButtonsAbbreviationRemoveFieldsets.rst | 27 ++ .../7.2/Feature-63703-AddOptionToStopTask.rst | 14 + ...ddBackendUserGroupsToBackendUserModule.rst | 14 + .../7.2/Feature-65584-AddImageCropping.rst | 52 ++++ ...ure-65585-AddTCATypeImage_manipulation.rst | 42 +++ ...eature-65767-SystemInformationDropdown.rst | 101 ++++++++ ...ationOnCloseEditformWithUnsavedChanges.rst | 20 ++ ...ShowRemainingCharactersBelowTextFields.rst | 21 ++ ...ature-66042-WebLibrariesLoadedViaBower.rst | 36 +++ ...047-IntroduceJavascriptNotificationApi.rst | 79 ++++++ ...ntroduceCalloutsToReplaceContentAlerts.rst | 44 ++++ ...370-AddFlexiblePreviewUrlConfiguration.rst | 57 +++++ ...6445-AddFileExtensionToMimeTypeMapping.rst | 27 ++ .../Documentation/Changelog/7.2/Index.rst | 41 +++ ...983-PostProcessMirrorUrlSignalHasMoved.rst | 47 ++++ ...ngedRenderingOfFlashMessagesViewHelper.rst | 46 ++++ ...emoveDeprecatedExtbasePersistenceParts.rst | 21 ++ .../Breaking-63846-FormEngineRefactoring.rst | 88 +++++++ ...66429-RemoveIdentityMapFromPersistence.rst | 51 ++++ ...66669-BackendLoginControllerRefactored.rst | 43 ++++ ...ommandNowAddsQuotesWhenUsedInJSContext.rst | 32 +++ ...4-RemoveRenderingContextAwareInterface.rst | 28 ++ ...UsageOfBackendUserSettingsDataProvider.rst | 37 +++ ...906-AutomaticPNGToGIFConversionRemoved.rst | 26 ++ ...king-66991-TCAValueSliderBasedOnJQuery.rst | 32 +++ ...RemoveSuper-challengedPasswordSecurity.rst | 52 ++++ ...vedFlowCompatibilityFromPackageManager.rst | 38 +++ ...ionexec_SELECTgetRowsMayThrowException.rst | 37 +++ ...reaking-67212-DiscardLegacyClassLoader.rst | 58 +++++ ...reaking-67229-FormEngineRelatedClasses.rst | 39 +++ ...seAbstractDomainObjectInitializeObject.rst | 32 +++ ...7402-ExtbaseAbstractDomainObjectWakeUp.rst | 28 ++ .../Deprecation-61829-DbalConfigClassFile.rst | 32 +++ ...rModeAttributeOfFlashMessageViewHelper.rst | 46 ++++ ...-DeprecateDataHandlerCheckValueMethods.rst | 32 +++ .../7.3/Deprecation-65344-ExtTables.rst | 36 +++ ...-66789-DeprecateOptionsInCshViewHelper.rst | 25 ++ ...-66823-ExtensionUtilityConfigureModule.rst | 33 +++ ...cPageModuleAndEditRegularContentFromId.rst | 34 +++ ...-66906-FunctionalityPngToGifConversion.rst | 36 +++ ...ecation-67029-DeprecatePageBgImgOption.rst | 31 +++ .../Deprecation-67171-T3editorIsEnabled.rst | 31 +++ .../7.3/Deprecation-67229-TcaChanges.rst | 240 ++++++++++++++++++ ...recation-67297-DbalFieldTypeConversion.rst | 28 ++ ...7402-ExtbaseAbstractDomainObjectWakeUp.rst | 26 ++ ...ateSymfonyConsoleIntoCommandController.rst | 96 +++++++ ...re-62242-ActionMenuItemGroupViewHelper.rst | 40 +++ ...plateSupportForFlashMessagesViewHelper.rst | 32 +++ ...re-63561-AddTypoScriptStdWrapStrtotime.rst | 42 +++ ...e-65250-TypoScriptConditionAddGPmerged.rst | 30 +++ ...rootpathsSupportToCobjectFluidtemplate.rst | 89 +++++++ ...-66173-AllowPageTitleEditByDoubleclick.rst | 20 ++ ...lperXmlnsAttributesAndSpecifiedHtmlTag.rst | 110 ++++++++ .../7.3/Feature-66669-BeLoginFormAPI.rst | 103 ++++++++ ...ddOptionsToSetL10n_modeAndL10n_display.rst | 26 ++ ...melcaseAndLowercamelcaseToStdWrap.case.rst | 39 +++ ...-AddIntegrityPropertyToJavaScriptFiles.rst | 43 ++++ ...tPathsSupportToFluidViewStandaloneView.rst | 57 +++++ ...ture-66822-SpriteIconsInBackendModules.rst | 36 +++ ...ProcessingToFluidTemplateContentObject.rst | 49 ++++ ...ssedFilesCleanupToolAddedInInstallTool.rst | 17 ++ ...Feature-67229-FormEngineNodeFactoryApi.rst | 106 ++++++++ ...319-AddFieldCopyrightToEXTfilemetadata.rst | 19 ++ ...66614-ChecksumForProcessedFilesChanged.rst | 33 +++ ...pDataMapperconvertClassNameToTableName.rst | 13 + ...jectionIsNowDoneBeforeInitializeObject.rst | 22 ++ .../Documentation/Changelog/7.3/Index.rst | 51 ++++ ...721-PrototypejsAndScriptaculousRemoved.rst | 66 +++++ ...52705-DefaultLogConfigurationIsChanged.rst | 64 +++++ ...5759-HTMLInLinkTitlesNotWorkingAnymore.rst | 37 +++ ...-56133-NewBeUserPermissionFilesReplace.rst | 32 +++ ...1-RemoveUnusedMethodsInPagePositionMap.rst | 35 +++ ...edOpcodeCacheUtilityBeingAServiceClass.rst | 37 +++ ...stomCObject.cache.TypoScriptEvaluation.rst | 61 +++++ ...CatchExceptionsForInaccessibleStorages.rst | 33 +++ ...ng-65305-AddFunctionsToDriverInterface.rst | 32 +++ ...RemoveRefererCheckWhileHandlingJumpUrl.rst | 30 +++ ...67545-PreFileAddSignalBehaviourChanged.rst | 28 ++ ...ing-67546-CleanupFlashMessageRendering.rst | 39 +++ ...g-67557-LanguageFileOfOpendocsWasMoved.rst | 33 +++ ...DeprecatedBackendRelatedMethodsRemoved.rst | 32 +++ .../Breaking-67577-RteEnabledFlagHandling.rst | 59 +++++ ...aking-67646-LibraryInclusionInFrontend.rst | 36 +++ ...54-RemoveGLOBALSFILEICONSFunctionality.rst | 35 +++ ...-67749-ForceAutoloadingForVariousHooks.rst | 43 ++++ .../Breaking-67753-DropSecondaryOptions.rst | 67 +++++ ...792-ClassAliasesOfIndexedSearchRemoved.rst | 37 +++ .../Changelog/7.4/Breaking-67811-RteApi.rst | 85 +++++++ ...veTceformsjsBecauseWeDontNeedItAnymore.rst | 31 +++ .../Breaking-67824-Typo3ExtFolderRemoved.rst | 33 +++ ...moveColorpickerOptionsDimAndTableStyle.rst | 32 +++ ...essorInterfaceToDataProcessorInterface.rst | 58 +++++ ...ng-67932-FeloginTemplateHasBeenChanged.rst | 39 +++ .../Breaking-67946-LowLevelScriptsRemoved.rst | 34 +++ ...aking-67987-RemovedEntryScriptHandling.rst | 40 +++ ...68001-RemovedExtJSCoreAndExtJSAdapters.rst | 46 ++++ ...tCallbacksForCodecompletionHaveChanged.rst | 39 +++ ...egistrationForCodecompletionHasChanged.rst | 55 ++++ ...reaking-68020-DroppedDisableBigButtons.rst | 34 +++ ...eaking-68092-TcaRemoveWizardHideParent.rst | 54 ++++ ...ng-68116-DropRTEuserLinksFunctionality.rst | 31 +++ ...31-StreamlineErrorAndExceptionHandling.rst | 31 +++ .../7.4/Breaking-68150-GLOBALSCLIENT.rst | 31 +++ .../7.4/Breaking-68178-DropFormEnctype.rst | 32 +++ ...186-AdjustedAndRemovedMethodsInEIDArea.rst | 43 ++++ ...oginpagesWithContentHashFromIndexerphp.rst | 32 +++ ...-RemoveUsageOfTypolistAndTypoheadInRTE.rst | 34 +++ ...43-MoveNotUsedFrontendDocumentTemplate.rst | 33 +++ ...g-68276-RemoveExtJSQuicktipsIfPossible.rst | 40 +++ ...321-MoveLanguageAndImagesInRtehtmlarea.rst | 31 +++ ...ReduceSQLQueriesOfPageTreeInWorkspaces.rst | 33 +++ ...eUtilitydontCheckForUniqueIsDeprecated.rst | 32 +++ ...writeExistingFilesChangedToStringValue.rst | 32 +++ ...CompressorCallbackAndCompressCssString.rst | 31 +++ ...cation-65790-PagesStoragePidDeprecated.rst | 35 +++ .../Deprecation-66904-DisablegetExtURL.rst | 26 ++ ...eprecation-67288-DeprecateDbalMetaType.rst | 28 ++ .../7.4/Deprecation-67471-InitPhp.rst | 42 +++ ...tion-67506-DeprecateIconUtilitygetIcon.rst | 31 +++ ...ngletonLogicInGeneralUtilitygetUserObj.rst | 59 +++++ ...ecation-67737-TcaDropAdditionalPalette.rst | 72 ++++++ ...n-67769-DeprecateQueryGeneratorformatQ.rst | 31 +++ ...-67790-DeprecateQueryGeneratorJSbottom.rst | 31 +++ ...recation-67932-DeprecatedOldRsaauthApi.rst | 28 ++ .../7.4/Deprecation-67991-RemovedExtCms.rst | 49 ++++ ...ecation-68074-DeprecateGetPageRenderer.rst | 31 +++ ...eprecation-68098-GeneralUtilityMethods.rst | 46 ++++ ...ecation-68122-GeneralUtilityReadLLfile.rst | 39 +++ .../7.4/Deprecation-68141-Typo3ajaxphp.rst | 32 +++ .../7.4/Deprecation-68183-Typo3modphp.rst | 32 +++ ...gurationForDisplayingTheSaveViewButton.rst | 21 ++ ...-SupportIecSiUnitsInFileSizeFormatting.rst | 43 ++++ ...aderContent-LanguageWhenRenderingAPage.rst | 24 ++ ...eExtensionForStaticTyposcriptTemplates.rst | 27 ++ ...ionalityToTreatIdAsReferenceTypoScript.rst | 14 + ...siveOptionToFolderBasedFileCollections.rst | 29 +++ .../Feature-48947-AvatarsForBackendUsers.rst | 20 ++ ...56133-ReplaceFileFeatureForFalFileList.rst | 22 ++ ...HookToInlineRecordContainerCheckAccess.rst | 22 ++ ...tUserAuthenticationCheckAuthentication.rst | 21 ++ ...ture-59384-XMLParserOptionsForXml2tree.rst | 24 ++ ...59570-AddDescriptionFieldForFilemounts.rst | 21 ++ ...eature-61308-AllowPlaceholderAttribute.rst | 15 ++ ...03-PageTSDataproviderForBackendLayouts.rst | 66 +++++ ...re-64200-AllowIndividualContentCaching.rst | 66 +++++ ...leDisplayOrderConfigurableInListModule.rst | 24 ++ ...-AdditionalResourceServiceLocalization.rst | 22 ++ ...70-ConfigureSectionForPaginationWidget.rst | 32 +++ ...gnalWhenAnIndexRecordIsMarkedAsMissing.rst | 22 ++ ...icConversionBetweenMetaMySQLFieldTypes.rst | 22 ++ ...eature-67293-DependencyOrderingService.rst | 50 ++++ ...ributeNameAndMultipleValuesForMetaTags.rst | 58 +++++ ...re-67545-AJAXMethodToCheckIfFileExists.rst | 23 ++ ...4-DisplayOnlineStatusInBackendUserList.rst | 19 ++ ...re-67578-AddDescriptionFieldForBeUsers.rst | 21 ++ ...re-67603-IntroduceTcaDescriptionColumn.rst | 23 ++ ...roduceDataProcessorsForSplittingValues.rst | 78 ++++++ .../Feature-67662-DataProcessorForFiles.rst | 72 ++++++ ...ntroduceDataProcessorForMediaGalleries.rst | 68 +++++ ...re-67765-IntroduceTypoLinkCodecService.rst | 18 ++ ...ntryPointsAndEquivalentRequestHandlers.rst | 44 ++++ .../7.4/Feature-67880-AddedCountToListNum.rst | 28 ++ .../7.4/Feature-67932-RsaauthApiRewrite.rst | 77 ++++++ ...CETableOptionsFromFlexformToTt_content.rst | 28 ++ ...AddedBaseDateAttributeToDateViewHelper.rst | 24 ++ ...e-68047-EmitASignalForEachMappedObject.rst | 13 + ...ature-68094-DatabaseQueryDataProcessor.rst | 66 +++++ ...cumentRootCanBeSpecifiedInComposerjson.rst | 52 ++++ .../Feature-68186-PSR-7SupportForEIDAdded.rst | 14 + ...ctOptionLanguageFieldIsActiveByDefault.rst | 63 +++++ ...97-ShowADialogForExistingFilesOnUpload.rst | 20 ++ .../Feature-68218-LockEditForTt_content.rst | 21 ++ ...baseRecordListConfigurableToBeEditable.rst | 21 ++ ...eInPagePropertiesLikeTSStaticTemplates.rst | 32 +++ ...sOfContentElementsIntoForeignLanguages.rst | 25 ++ ...LICommandToDumpClassLoadingInformation.rst | 21 ++ ...dResourceStorageSanitizeFileNameSignal.rst | 25 ++ ...216-DefaultMinimumLoglevelSetToWarning.rst | 26 ++ ...BALSupportForALTERTABLEADDDROPKEYAdded.rst | 26 ++ ...-RemoveJsfuncevalfieldjsFromFormEngine.rst | 17 ++ ...aultBehaviorForTCASuggestWizardChanged.rst | 42 +++ ...dResourceStorageSanitizeFileNameSignal.rst | 26 ++ .../Documentation/Changelog/7.4/Index.rst | 51 ++++ ...irstElementWhenAttributeValueNotInList.rst | 27 ++ ...reamlineParameterOfInlineLanguageFiles.rst | 35 +++ ...Breaking-52156-ReplaceJumpUrlWithHooks.rst | 114 +++++++++ ...eaking-63000-MigrateCshmanualToExtbase.rst | 31 +++ ...rSortListSanitizesInputOnNumericalSort.rst | 33 +++ ...ing-66190-RemoveFlashAndChartFromExtJS.rst | 31 +++ ...equired-parameterInTextfieldViewHelper.rst | 33 +++ ...onDirectoryStructureOfExtIndexedSearch.rst | 32 +++ ...eaking-68401-SqlParserMovedIntoEXTdbal.rst | 41 +++ ...eedToBeCastToIntegerForMySQLStrictMode.rst | 39 +++ ...g-68571-RemoveElementBrowser-getMsgBox.rst | 32 +++ ...8812-DeprecatedBackendEntrypointsMoved.rst | 63 +++++ ...8814-RemoveOfBaseConstantTYPO3_URL_ORG.rst | 26 ++ .../Breaking-69028-DropNegForeignTable.rst | 49 ++++ ...onUtilityAndMoveMethodsIntoIconFactory.rst | 39 +++ ...083-RenamedIdentifierForFilenameModule.rst | 33 +++ ...-69148-BackendModuleDispatchingRemoved.rst | 32 +++ ...emoveIncludeCshFromContainerViewHelper.rst | 31 +++ ...abbedViewOfContentElementWizardRemoved.rst | 22 ++ ...tionsInInformationStatusmapStatusToInt.rst | 26 ++ ...ElementBrowserControllerbrowserRemoved.rst | 33 +++ ...hangedRegistrationOfBackendModuleIcons.rst | 44 ++++ ...ing-69315-ElementBrowsermain_Protected.rst | 33 +++ ...ptFormToSupportTheExtbaseFluidMVCStack.rst | 34 +++ ...priteIconsWithIconFactoryInContextMenu.rst | 61 +++++ .../7.5/Breaking-69568-FormEngine.rst | 44 ++++ .../7.5/Breaking-69699-TcaCtrlTypeicons.rst | 32 +++ ...king-69795-UnusedDTMTabmenuCodeRemoved.rst | 35 +++ ...ttingDiff_pathFromDefaultConfiguration.rst | 32 +++ ...aking-69930-RemoveOptionServerTimeZone.rst | 37 +++ ...419-StreamlineFileConflictModeHandling.rst | 58 +++++ ...ShouldHaveHigherPriorityThanValueValue.rst | 40 +++ ...128-GeneralUtilitySlash-relatedMethods.rst | 37 +++ .../7.5/Deprecation-68760-ModuleSettings.rst | 32 +++ ...n-68804-CLI-relatedConstantsAndMethods.rst | 51 ++++ ...0-DeprecateSelectImageinitEventHandler.rst | 34 +++ ...ion-69028-RelationHandlerConvertPosNeg.rst | 35 +++ ...onUtilityAndMoveMethodsIntoIconFactory.rst | 47 ++++ ...ecation-69078-TemplateService-tempPath.rst | 26 ++ ...kerSubstitutionFunctionalityToOwnClass.rst | 53 ++++ ...teBackendUtilitygetPathType_web_nonweb.rst | 32 +++ ...-69371-DeprecateFormElementImagebutton.rst | 40 +++ ...ptFormToSupportTheExtbaseFluidMVCStack.rst | 44 ++++ ...luidViewHelpersBeButtonsIconViewHelper.rst | 33 +++ ...priteIconsWithIconFactoryInContextMenu.rst | 26 ++ ...elperMethodsForRedundantCSRFProtection.rst | 40 +++ ...-69568-VariousFormEngineRelatedMethods.rst | 40 +++ ...eprecation-69705-AddUnifiedRefreshIcon.rst | 32 +++ ...6-SelectOptionIconsInOptionTagsRemoved.rst | 33 +++ ...eUsingRelativePathToExtAndFilenameOnly.rst | 80 ++++++ ...-HIDE_L10N_SIBLINGSFlexFormdisplayCond.rst | 20 ++ ...6525-AddConditionsToINCLUDE_TYPOSCRIPT.rst | 33 +++ ...ELECTmmQueryMethodToDatabaseConnection.rst | 23 ++ ...-SchedulerTaskToOptimizeDatabaseTables.rst | 37 +++ ...-IntroduceTcaOptionToDisableAgeDisplay.rst | 24 ++ ...ltilineSupportForTEXTBLOCKInFormWizard.rst | 15 ++ ...2-Fluid-basedContentElementsIntroduced.rst | 42 +++ ...ture-47812-QuerySupportForBETWEENAdded.rst | 24 ++ ...alForPreProcessingLinkvalidatorRecords.rst | 64 +++++ ...olderAttributeToSomeTextfieldsInWizard.rst | 15 ++ ...6282-LanguageSelectorForPageviewModule.rst | 17 ++ ...iggerMetadataExtractionAfterFileUpload.rst | 32 +++ ...InlineLanguageLabelFilesWithTypoScript.rst | 43 ++++ ...ure-59144-PageTSconfigWorkspacePreview.rst | 29 +++ ...ageQualityDefinablePerSourceCollection.rst | 34 +++ ...re-61799-ImprovedHandlingOfOnlineMedia.rst | 120 +++++++++ ...ture-61993-CssPageStyleNowPageSpecific.rst | 23 ++ ...ure-63395-Html5VideoPosterPreviewImage.rst | 18 ++ ...ideUseCombinationWarningViaTcaSettings.rst | 47 ++++ ...64726-UsingArbitraryFlashmessageQueues.rst | 33 +++ .../7.5/Feature-65493-BackendRouting.rst | 55 ++++ ...ailPathIfMAILtransportSendmailIsActive.rst | 25 ++ ...eature-66366-IntroducedMediaViewHelper.rst | 44 ++++ ...uceAutoplayOptionForVideoAndAudioFiles.rst | 70 +++++ ...OptionToDisableMoveButtonsTCAGroupType.rst | 34 +++ ...re-67875-OverrideCategoryRegistryEntry.rst | 45 ++++ .../7.5/Feature-67880-AddedCountToSplit.rst | 28 ++ ...6-RenderTypeForRsaEncryptedInputFields.rst | 30 +++ ...ture-68429-IntroducedAvatarProviderAPI.rst | 69 +++++ ...DefinitionCanBeProvidedInExt_emconfphp.rst | 75 ++++++ ...butionsThatSuiteTheCurrentTYPO3Version.rst | 19 ++ ...toryAsBaseForReplaceTheIconSkinningAPI.rst | 114 +++++++++ ...-68746-AddAnnotationForCLIOnlyCommands.rst | 25 ++ .../Feature-68756-AddConfigBaseToStdWrap.rst | 31 +++ ...ewPasswordInFeloginPasswordChangedHook.rst | 15 ++ ...fficialDistributionsInExtensionManager.rst | 15 ++ ...oredOutputForCLI-relevantErrorMessages.rst | 14 + ...re-68837-ClosuresForCommandLineScripts.rst | 26 ++ ...69095-IntroduceIconStateForIconFactory.rst | 44 ++++ ...119-AddABasicSearchToTheFilelistModule.rst | 27 ++ ...eature-69389-AddSpinningFeatureForIcon.rst | 32 +++ ...ptFormToSupportTheExtbaseFluidMVCStack.rst | 111 ++++++++ ...wValueAttributeForOPTIONObjectInWizard.rst | 16 ++ ...luginpi_loadLLLoadLabelsFromCustomFile.rst | 22 ++ ...wTt_contentPreviewInPageModuleViaFluid.rst | 33 +++ ...-69496-ExtractTitleFromPDFWhenIndexing.rst | 20 ++ ...2-SupportTyposcriptFilesAsTextFileType.rst | 19 ++ ...GLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst | 75 ++++++ ...Feature-69568-FormEngineDataProcessing.rst | 30 +++ ...lifyHandlingOfBackendLayoutsInFrontend.rst | 43 ++++ ...ature-69730-IntroduceUniqueIdGenerator.rst | 26 ++ ...69855-DispatcherForBackendRoutingAdded.rst | 34 +++ ...SR-7-basedDispatchingForBackendModules.rst | 41 +++ ...bleToRegisterOwnIconsForFileExtensions.rst | 24 ++ ...ionsCanProvideAClassMapForClassLoading.rst | 80 ++++++ ...-SeverityFilteringForFlashMessageQueue.rst | 24 ++ ...teCTypesTextImageAndTextpicToTextmedia.rst | 38 +++ ...ant-68128-PHPMagicQuoteHandlingRemoved.rst | 21 ++ ...-CommandControllersAllowedInSubfolders.rst | 21 ++ .../7.5/Important-68917-UpdateJQueryTo2x.rst | 17 ++ ...aseObjectsWithNOTNULLColumnsHasChanged.rst | 45 ++++ ...WizardPopupWidthAndHeightFieldsRemoved.rst | 19 ++ ...9531-RemoveSpriteManagerIconViewHelper.rst | 14 + ...IDsWithPSR-7WithoutControllerInterface.rst | 32 +++ ...-FAL-basedDatabaseFieldsMovedToInteger.rst | 17 ++ .../Documentation/Changelog/7.5/Index.rst | 51 ++++ ...lerpi_list_browseresultsHasBeenRenamed.rst | 35 +++ ...1-ImportModuleDisabledForNonAdminUsers.rst | 31 +++ ...461-EnableImportModuleForNonAdminUsers.rst | 20 ++ ...rictedPagesDoesNotWorkWithSpecialMenus.rst | 20 ++ ...00-NewDataHandlerCommandCopyToLanguage.rst | 21 ++ ...t-77411-RemovedExtbaseTableColumnCache.rst | 17 ++ ...CSC-HeaderLinkRespectsGlobalPageTarget.rst | 22 ++ .../Documentation/Changelog/7.6.x/Index.rst | 43 ++++ ...eMovePlaceholdersAsDefaultInWorkspaces.rst | 39 +++ ...ImportExportIntoClassesImportAndExport.rst | 31 +++ ...ing-51099-StreamlineSettingsConditions.rst | 39 +++ ...eMenuUrlsToLinkToExternalPagesDirectly.rst | 15 ++ ...RootlevelConfigurationinExtbaseQueries.rst | 41 +++ ...69-RemovedElementBrowserRelatedClasses.rst | 37 +++ ...27-StringsForLikeAreNotProperlyEscaped.rst | 39 +++ ...9916-HookAjaxSaveCodeOfT3editorChanged.rst | 32 +++ ...RegisteredAJAXHandlersReplacedByRoutes.rst | 161 ++++++++++++ ...BackendLogingetRsaPublicKeyAJAXHandler.rst | 33 +++ ...ng-70033-TcaIconOptionsForSelectFields.rst | 33 +++ ...NewContentElementWizardViaPageTSconfig.rst | 47 ++++ ...eaking-70132-FormEngineCustomFunctions.rst | 46 ++++ ...reaking-70229-BE-lockSSL3OptionRemoved.rst | 35 +++ ...Tform-FormAttributesAreNotRenderedInFE.rst | 45 ++++ ...orm-RemoveBreakOnErrorOptionFromWizard.rst | 37 +++ ...ng-70574-FormWizardSaveHandlingChanged.rst | 38 +++ ...RLFunctionalityRemovedFromTheTYPO3Core.rst | 34 +++ ...71110-TYPO3-specificUploadLimitRemoved.rst | 39 +++ ...7-APIChangeInExceptionHandlerInterface.rst | 32 +++ ...RenameConfigurationForConfirmationView.rst | 38 +++ .../Deprecation-51482-ScriptBasedModules.rst | 41 +++ .../Deprecation-60712-GetDynamicTabMenu.rst | 26 ++ ...on-65728-DocumentTemplate-issueCommand.rst | 25 ++ ...nsteadOfDataForTEXTAREATEXTBLOCKOPTION.rst | 40 +++ ...recation-69822-DeprecateSelectFieldTca.rst | 71 ++++++ ...877-UseModuleTemplateAPIForExtfilelist.rst | 31 +++ ...cation-70052-ExtLoadedDisplayCondition.rst | 42 +++ ...ecation-70138-FlexFormLanguageHandling.rst | 88 +++++++ ...ation-70477-DeprecateSpriteIconClasses.rst | 37 +++ .../Deprecation-70494-WrapClickMenuOnIcon.rst | 25 ++ .../Deprecation-70514-DynamicConfigFile.rst | 33 +++ ...precation-71153-DocumentTemplateSpacer.rst | 25 ++ ...precateRenderMethodOfFlashMessageClass.rst | 27 ++ ...dexedSearchParametersConfigurableViaTS.rst | 35 +++ ...athSeparatorOfSearchResultConfigurable.rst | 32 +++ ...27057-RelationsToTheSameTableInExtbase.rst | 69 +++++ ...45-ReworkWorkspaceNotificationSettings.rst | 75 ++++++ ...penIdToAutomaticallyCreateUserAccounts.rst | 31 +++ ...ardSearchWordsInResultLinkConfigurable.rst | 32 +++ ...6633-FormProtectionAPIForFrontEndUsage.rst | 40 +++ ...eUrlOptionToUriimageAndImageViewHelper.rst | 33 +++ .../Feature-66369-AddedLinkBrowserAPIs.rst | 109 ++++++++ ...eature-66369-AddedNewElementBrowserAPI.rst | 26 ++ ...lPostProcessorAndIntroduceReplyToEmail.rst | 46 ++++ ...erAuthenticationgetDefaultUploadFolder.rst | 72 ++++++ ...120-AddBasicFileSearchInElementBrowser.rst | 17 ++ ...706-AddInlineSupportForSvgIconProvider.rst | 27 ++ ...-IntroducedFileIconDetectionByMimeType.rst | 27 ++ .../7.6/Feature-69814-ModuleTemplateAPI.rst | 147 +++++++++++ ...R-7-basedRoutingForBackendAJAXRequests.rst | 38 +++ ...tionShowIconTableForSelectSingleFields.rst | 23 ++ ...oAddAutocompleteAttributeToInputFields.rst | 22 ++ ...HelperToStripWhitespaceBetweenHTMLTags.rst | 34 +++ ...orm-AddHTML4HTML5AttributesToTheWizard.rst | 225 ++++++++++++++++ ...e-70531-RequireJSModuleForSplitButtons.rst | 36 +++ ...re-70583-IntroducedIconAPIInJavaScript.rst | 58 +++++ ...ure-71196-DisallowLocalizationMixtures.rst | 26 ++ ...FlashMessageSupportInModuleTemplateAPI.rst | 29 +++ ...-IntroduceHookToOverrideARecordOverlay.rst | 36 +++ ...ightParametersFromBEToSYSConfiguration.rst | 15 ++ ...esetConfigurationAndClearTemporaryData.rst | 15 ++ ...rtant-68079-ExtensionMediaceMovedToTER.rst | 17 ++ ...KeepItemsAddItemsAndRemoveItemsChanged.rst | 19 ++ ...tipleInlineLocalizeSynchronizeCommands.rst | 28 ++ ...7-RemoveThumbnailFunctionalityOfImpexp.rst | 13 + ...wHelperNoLongerAutomaticallyCompilable.rst | 27 ++ .../Documentation/Changelog/7.6/Index.rst | 51 ++++ typo3/sysext/core/Documentation/Index.rst | 1 + typo3/sysext/core/Documentation/Settings.cfg | 2 +- 606 files changed, 23009 insertions(+), 7 deletions(-) create mode 100644 typo3/sysext/core/Documentation/Changelog-7.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-19737-PreferRootTemplate.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-33805-ClickMenuRewrite.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-42543-DefaultTypoScriptRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53542-DeprecatedCodeRemovalInFluid.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53658-RemoveAlternateBgColorsOption.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-54409-RteAcronymButtonRenamedAbbreviation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57382-FlashMessageApi.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57396-ExtbaseDeprecatedPropertyMapperRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59659-DeprecatedCodeRemovalInBackendSysext.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59966-ExtensionConfigurationCacheClearing.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60063-FeloginPluginFileRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60135-RecursiveStdWrapChange.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60152-formatSizeAdheresLocale.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-DroppedBackendLoginOptions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginJavascriptFileMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginTemplateMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60561-DefaultTypoScriptConstantsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60582-RsaauthJavascriptFilesMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60609-ConfigurationManagerSignalChange.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerJavascriptFileMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerLanguageFilesMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerModuleTemplateMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61459-RemovalTslib.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61471-t3skinCssFilesMovedToLess.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61781-IncludeOnceArrayOfClickMenuControllerRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61783-RemoveDeprecatedMailFunctionality.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-FrontendTcaFunctionsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61786-ExtbaseDeprecatedTypeHandlingServiceRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61802-IsLocalconfWritableFunctionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61820-PhpOptionsUtilityDeprecatedFunctionsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61821-ClassFileOptionInMakeInstanceServiceRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61822-GetUniqueFieldsFunctionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61823-RemoveMagicSettterForFromTC.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61859-FileTypeSoftwareRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61860-RemoveIntFromVerFunction.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61863-ConnectDbFunctionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61890-Remove-TBE-Styling-From-FormEngine.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61959-FlashMessageClasses.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62038-RemovedDocumentTemplateOptions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62039-RemovedTBE_StylesMainColors.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62291-RTEDeprecatedJavaScriptMethodsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62339-MoveExtPermIntoExtBeuser.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62595-RemovedChangeToSwitchModeFromBeUser.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62670-DeprecatedCodeRemovalInMultipleSysexts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62673-ExtbaseDeprecatedCodeRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62731-RTEWizardClassesRenamed.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62733-RTEJavaScriptFilesMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62793-RemoveConfigNotification.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62804-RTEJavaScriptMethodMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62819-LocalizationWithPHPFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62833-Dividers2Tabs.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62859-RemovalDocumentationLinkActionViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62888-RemoveUniqueLinkVars.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62914-EarlyCheckPHP55InInstallTool.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62987-RemoveCSHGlossary.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63056-TemplateSelectionHack.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63069-RemovedCompatibilityLayerForSubmodulesOfModules.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63110-AltDocNoDoc-Removed.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Breaking-75942-BigDocumentTemplateClassRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-60574-ClientRelatedConditions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62363-TSFE-JSfuncCalls.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62794-DeprecateOldMailMethodsInGeneralUtility.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62795-DocumentTemplateJavaScript.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62800-WorkspaceToolbarItem.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62854-Deprecate-pi_list_searchBox.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62864-HelpTextIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62893-FlashmessageJavaScriptObjectMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62988-DocumentTemplateFunctions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-47919-CatchContentRenderingExceptions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-50039-MultipleCssFilesInRte.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-51905-AddDependenciesBetweenClassesInRte.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-54518-ProvideTsconfigToLinkCheckers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-54519-CheckDisabledLinkhandlerRecords.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-58122-ConfigureClassAsNonSelectableInRte.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-59396-TypolinkViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-59830-IntroduceReadOnlyColumnForFileMounts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-60064-LoggingFrameworkIntrospectionProcessor.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-60123-UnitTestCaseRemovesTestFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-60567-ShowStylesSegmentInTypoScriptObjectBrowser.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-60822-AddMethodsToGetClassTagValuesViaReflection.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61185-AllowSvgAsExtensionIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61289-SignalForIconUtilityHtmlTagManipulation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61351-AddDataAttributeToFluidViewHelpers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61361-FallbackTemplatePathsForFluidStandaloneView.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61489-AbstractTypoScriptCondition.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61529-AddMultipleParameterToCheckboxViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61577-BackendMarkupForCheckboxesWithLabel.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61668-VideoAndAudioPlayerInBackendRecordInformationWindow.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-61800-FAL-RendererRegistry.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Feature-62147-NewEmailEvalInTCA.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.0/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-24900-CompatVersion-Setting-Removed.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-44879-CSSStyledContentTypoScriptBlockQuoteInlineStylesRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-57089-ShortcutBehaviour.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-61510-IndexedSearch.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62415-DisableAutoCreateRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62886-RemoveMeaningfulTempFilePrefix.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62925-RemoveExtJsDateTimePicker.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63296-Removed-Files.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63310-Wizard-Modules-Moved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63431-BackendToolbarRefactored.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63437-ClassAliasesMovedToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63464-IncludeOnceArraysRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63687-WebFunctionsWizards-Moved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63780-RemoveWordStringsFromReferenceIndex.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63818-RemovedStaticFileEdit.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64059-Rewritten-JavaScript-Tree-Components.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64070-GlobalWebmountsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64102-MoveT3TableAndT3ButtonToBootstrap.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64131-ResizableTextareasOptionDropped.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64143-FlagFilesMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64190-FormEngineCheckboxElement.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64226-OptionAccessListRenderModeRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64229-TrimSubmittedLoginFormData.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64637-CSSStyledContentLegacyTypoScriptRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64639-RemovedContentObjects.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64643-RemoveEnableTypo3tempDbTracking.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64668-MailformMovedToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64671-ContentObjectImgTextMovedToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64696-MoveSearchCTypeToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-24387-Xhtml2.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-25112-andWhere.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46523-BackendUtilityImplodeTSParams.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46770-LocalImageProcessorGraphicalFunctions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-49247-textStyleTableStyleAddParams.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-60559-MakeLoginBoxImage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-61605-ChangeNamingOfIncludeJSlibs.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62329-DocumentTemplate-table.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62855-XHTMLCleaningMovedToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63324-DataHandler-IncludeFileFunctions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63522-ClientRelatedConditionDevice.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64059-Pagetree-Navigation-Component.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64109-Hook-softRefParserGL.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64134-TypoScriptTemplateObjectBrowserModuleFunctionController-verify_TSobjects.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64147-ConstantEditorFunctions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64361-ComposerClassLoading.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64388-ContentObjectMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64711-UnusedCssStyledContentMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64922-DeprecatedEntryPoints.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-15619-LeaveUnchagedInAccessModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-16794-MakeSectionLinkingForIndexedSearchResultsConfigurable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-20767-getDataByNestedKey.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-22086-StdWrapForHeadTag.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-24906-MaxForTextElement.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-28382-AddAsyncPropertyToJavaScriptFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-33491-StdWrapForTitleTag.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-34944-PaginateHandleNonQueryResultObjects.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-35891-AddTCAItemsWithIconsViaPageTSConfig.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-46624-AdditionalWhereForMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-47666-AttributeMulitpleForFormUploadViewhelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-49060-MySqlCommentsShownInSchemaMigrator.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-50780-AppendElementBrowserMountPoints.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-52131-HookForPageRepositoryInit.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-56236-Multiple-HTTP-Headers-In-Frontend.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-56529-SupportHasInArrayObject.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-57178-SpecialHmenuExcludeSpecialParameters.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-58031-ConfigurableWidthOfElementBrowser.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-58033-AltLabelsForFormEngineCheckboxAndRadioButtons.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-58366-AutomaticAbsRefPrefix.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-58929-FooterHookInPageLayoutView.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-60019-SplFileInfo-MimeTypeGuesser-hook.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-61542-AddIsoLanguageKeys.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-61725-AddHookToBackendUtilityCountVersionsOfRecordsOnPage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-62944-UserFuncAsDisplayCond.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-62960-SignalForMailerInitialization.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-63207-SplitActionButtonsIntoGroups.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-63600-CustomTypoScriptConditionsInBackend.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-63729-ApiForBootstrapModals.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-63913-AllowRequireJsModulesForContainerViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-64031-JavaScript-Storage-API.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-64190-FormEngineCheckboxElement.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-64257-MultipleUidInPageRepositoryGetMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-64386-ContentObjectRegistration.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-64921-FlexibleSubmoduleConfiguration.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Feature-65960-IntroduceGruntJS.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.1/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-56746-AddCountMethodsAndSortFunctionalityToFalDrivers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-63784-DataHandlerExcludeArray.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-64719-MediaContentMovedToSystemExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65432-ModuleUriInGlobalVarRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65727-DontProvideAccessToLocalpathOfFalFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65778-MediaWizardProviderMovedToSystemExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65922-MoveUnusedTt_contentTcaFieldsToCompatibility6.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66001-ComposerVendorDirectoryChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66034-DropContentAdapter.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66286-PageTSconfigOptionsToHideWebInfoModulesRenamed.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66431-NewLoginScreen.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-47712-DeprecateOldLockingAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-51360-LinkValidatorSchedulerSettings.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64068-ThumbnailView.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64598-DeprecatePagepositionmapjsimgfunc.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65111-getDynTabMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65283-DeprecateShowItemEntryPoint.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65288-DeprecateNewRecordEntryPoint.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65289-DeprecateBrowserEntryPoint.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65290-DeprecateDummyEntrypoint.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65291-DeprecateLogoutEntryPoint.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65293-DeprecateFileNavigationFrame.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65343-BackendUserOsProperty.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65360-DatabaseTreeDataProviderOldClassNameInSignal.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65381-DataHandlerStripslashesValuesProperty.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65422-cObjectAliasNames.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65465-ReferenceIndexErrorLog.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65913-checkFileInclude.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65934-PrefixLocalAnchorsMovedToLegacyExtension.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65938-TSFEAnchorPrefix.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65956-DebugUtilityDebugRows.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66065-BackendLogoViewDeprecated.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66223-Backendparsetime.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66431-NewLoginScreen.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-20555-StripEmptyHtmlTags.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-32651-AddSchedulerTaskToRemoveDeletedRecords.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-36743-FAL-TextExtractorRegistry.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-47712-NewLockingAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-50136-AddSVGSupport.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-50501-DisableAutomaticExtInstallation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-52693-TSFE-RequestedId.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-58621-FormatCaseViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-59646-AddRteConfigurationPropertyButtonsLinkTypePropertiesTargetDefault.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-59712-HtmlParserAdditionalUserFuncParams.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-61463-AllowProcessedFoldersInDifferentStorage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-63040-AddRteConfigurationPropertyButtonsAbbreviationRemoveFieldsets.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-63703-AddOptionToStopTask.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-64686-AddBackendUserGroupsToBackendUserModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-65584-AddImageCropping.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-65585-AddTCATypeImage_manipulation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-65767-SystemInformationDropdown.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-65996-AddConfirmationOnCloseEditformWithUnsavedChanges.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66029-ShowRemainingCharactersBelowTextFields.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66042-WebLibrariesLoadedViaBower.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66047-IntroduceJavascriptNotificationApi.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66077-IntroduceCalloutsToReplaceContentAlerts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66370-AddFlexiblePreviewUrlConfiguration.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Feature-66445-AddFileExtensionToMimeTypeMapping.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.2/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-62983-PostProcessMirrorUrlSignalHasMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63453-ChangedRenderingOfFlashMessagesViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63846-FormEngineRefactoring.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66429-RemoveIdentityMapFromPersistence.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66669-BackendLoginControllerRefactored.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66707-IssueCommandNowAddsQuotesWhenUsedInJSContext.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66754-RemoveRenderingContextAwareInterface.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66868-MoveUsageOfBackendUserSettingsDataProvider.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66906-AutomaticPNGToGIFConversionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66991-TCAValueSliderBasedOnJQuery.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66997-RemoveSuper-challengedPasswordSecurity.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67027-RemovedFlowCompatibilityFromPackageManager.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67204-DatabaseConnectionexec_SELECTgetRowsMayThrowException.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67212-DiscardLegacyClassLoader.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67229-FormEngineRelatedClasses.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectInitializeObject.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectWakeUp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-61829-DbalConfigClassFile.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63453-DeprecateRenderModeAttributeOfFlashMessageViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63735-DeprecateDataHandlerCheckValueMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-65344-ExtTables.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66789-DeprecateOptionsInCshViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66823-ExtensionUtilityConfigureModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66905-ClassicPageModuleAndEditRegularContentFromId.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66906-FunctionalityPngToGifConversion.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67029-DeprecatePageBgImgOption.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67171-T3editorIsEnabled.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67229-TcaChanges.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67297-DbalFieldTypeConversion.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67402-ExtbaseAbstractDomainObjectWakeUp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-59606-IntegrateSymfonyConsoleIntoCommandController.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-62242-ActionMenuItemGroupViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-63453-TemplateSupportForFlashMessagesViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-63561-AddTypoScriptStdWrapStrtotime.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-65250-TypoScriptConditionAddGPmerged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66111-AddTemplaterootpathsSupportToCobjectFluidtemplate.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66173-AllowPageTitleEditByDoubleclick.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66269-FluidRemoveViewHelperXmlnsAttributesAndSpecifiedHtmlTag.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66669-BeLoginFormAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66681-CategoryRegistryAddOptionsToSetL10n_modeAndL10n_display.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66697-AddUppercamelcaseAndLowercamelcaseToStdWrap.case.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66698-AddIntegrityPropertyToJavaScriptFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66709-AddTemplateRootPathsSupportToFluidViewStandaloneView.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66822-SpriteIconsInBackendModules.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-66907-AddDataProcessingToFluidTemplateContentObject.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-67071-ProcessedFilesCleanupToolAddedInInstallTool.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-67229-FormEngineNodeFactoryApi.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Feature-67319-AddFieldCopyrightToEXTfilemetadata.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Important-66614-ChecksumForProcessedFilesChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Important-67248-CleanUpDataMapperconvertClassNameToTableName.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Important-67401-DependencyInjectionIsNowDoneBeforeInitializeObject.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.3/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-39721-PrototypejsAndScriptaculousRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-52705-DefaultLogConfigurationIsChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-55759-HTMLInLinkTitlesNotWorkingAnymore.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56133-NewBeUserPermissionFilesReplace.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64200-CustomCObject.cache.TypoScriptEvaluation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64714-CatchExceptionsForInaccessibleStorages.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-65305-AddFunctionsToDriverInterface.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-66602-RemoveRefererCheckWhileHandlingJumpUrl.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67545-PreFileAddSignalBehaviourChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67546-CleanupFlashMessageRendering.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67557-LanguageFileOfOpendocsWasMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67577-RteEnabledFlagHandling.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67646-LibraryInclusionInFrontend.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67749-ForceAutoloadingForVariousHooks.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67753-DropSecondaryOptions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67792-ClassAliasesOfIndexedSearchRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67811-RteApi.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67815-RemoveTceformsjsBecauseWeDontNeedItAnymore.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67824-Typo3ExtFolderRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67825-RemoveColorpickerOptionsDimAndTableStyle.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67890-RedesignFluidTemplateDataProcessorInterfaceToDataProcessorInterface.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67932-FeloginTemplateHasBeenChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67946-LowLevelScriptsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67987-RemovedEntryScriptHandling.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-EventCallbacksForCodecompletionHaveChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-PluginRegistrationForCodecompletionHasChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68092-TcaRemoveWizardHideParent.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68116-DropRTEuserLinksFunctionality.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68131-StreamlineErrorAndExceptionHandling.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68150-GLOBALSCLIENT.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68178-DropFormEnctype.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68193-DropRemoveLoginpagesWithContentHashFromIndexerphp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68206-RemoveUsageOfTypolistAndTypoheadInRTE.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68243-MoveNotUsedFrontendDocumentTemplate.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68276-RemoveExtJSQuicktipsIfPossible.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68321-MoveLanguageAndImagesInRtehtmlarea.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-50349-ReduceSQLQueriesOfPageTreeInWorkspaces.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-ExtendedFileUtilitydontCheckForUniqueIsDeprecated.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-FileControllerAndFileListControllerOverwriteExistingFilesChangedToStringValue.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63974-CssCompressorCallbackAndCompressCssString.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-65790-PagesStoragePidDeprecated.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-66904-DisablegetExtURL.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67288-DeprecateDbalMetaType.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67471-InitPhp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67506-DeprecateIconUtilitygetIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67670-DeprecateCustomSingletonLogicInGeneralUtilitygetUserObj.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67737-TcaDropAdditionalPalette.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67769-DeprecateQueryGeneratorformatQ.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67790-DeprecateQueryGeneratorJSbottom.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67932-DeprecatedOldRsaauthApi.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67991-RemovedExtCms.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68074-DeprecateGetPageRenderer.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68098-GeneralUtilityMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68122-GeneralUtilityReadLLfile.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68141-Typo3ajaxphp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68183-Typo3modphp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-20194-ConfigurationForDisplayingTheSaveViewButton.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-22175-SupportIecSiUnitsInFileSizeFormatting.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-33071-AddTheHttpHeaderContent-LanguageWhenRenderingAPage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-34922-AllowTsFileExtensionForStaticTyposcriptTemplates.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-43984-AddStdWrapFunctionalityToTreatIdAsReferenceTypoScript.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-45725-AddedRecursiveOptionToFolderBasedFileCollections.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-48947-AvatarsForBackendUsers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-56133-ReplaceFileFeatureForFalFileList.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-56644-AddHookToInlineRecordContainerCheckAccess.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-59231-AddHookToAbstractUserAuthenticationCheckAuthentication.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-59384-XMLParserOptionsForXml2tree.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-59570-AddDescriptionFieldForFilemounts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-61308-AllowPlaceholderAttribute.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-61903-PageTSDataproviderForBackendLayouts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-64200-AllowIndividualContentCaching.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-65550-MakeTableDisplayOrderConfigurableInListModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-65698-AdditionalResourceServiceLocalization.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-66070-ConfigureSectionForPaginationWidget.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67228-EmitSignalWhenAnIndexRecordIsMarkedAsMissing.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67290-DBALDBMSSpecificConversionBetweenMetaMySQLFieldTypes.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67293-DependencyOrderingService.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67360-CustomAttributeNameAndMultipleValuesForMetaTags.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67545-AJAXMethodToCheckIfFileExists.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67574-DisplayOnlineStatusInBackendUserList.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67578-AddDescriptionFieldForBeUsers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67603-IntroduceTcaDescriptionColumn.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67658-IntroduceDataProcessorsForSplittingValues.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67662-DataProcessorForFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67663-IntroduceDataProcessorForMediaGalleries.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67765-IntroduceTypoLinkCodecService.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67808-IntroduceApplicationClassesForEntryPointsAndEquivalentRequestHandlers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67880-AddedCountToListNum.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67932-RsaauthApiRewrite.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-67950-MoveCETableOptionsFromFlexformToTt_content.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68022-AddedBaseDateAttributeToDateViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68047-EmitASignalForEachMappedObject.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68094-DatabaseQueryDataProcessor.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68184-PathsToTypo3cmsPackageAndDocumentRootCanBeSpecifiedInComposerjson.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68186-PSR-7SupportForEIDAdded.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68191-TypoScriptSelectOptionLanguageFieldIsActiveByDefault.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68197-ShowADialogForExistingFilesOnUpload.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68218-LockEditForTt_content.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68282-MakeDatabaseRecordListConfigurableToBeEditable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68395-AllowRealCopiesOfContentElementsIntoForeignLanguages.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68589-AddCLICommandToDumpClassLoadingInformation.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Feature-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Important-67216-DefaultMinimumLoglevelSetToWarning.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Important-67445-DBALSupportForALTERTABLEADDDROPKEYAdded.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Important-67852-RemoveJsfuncevalfieldjsFromFormEngine.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Important-68290-DefaultBehaviorForTCASuggestWizardChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Important-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.4/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-24186-HTMLparser-FixAttribclasslistDoesNotAssignFirstElementWhenAttributeValueNotInList.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-30863-StreamlineParameterOfInlineLanguageFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-52156-ReplaceJumpUrlWithHooks.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-63000-MigrateCshmanualToExtbase.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-65317-TypoScriptParserSortListSanitizesInputOnNumericalSort.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-66190-RemoveFlashAndChartFromExtJS.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-67098-CorrectRequired-parameterInTextfieldViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68354-UniformExtensionDirectoryStructureOfExtIndexedSearch.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68401-SqlParserMovedIntoEXTdbal.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68562-BoolValuesNeedToBeCastToIntegerForMySQLStrictMode.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68571-RemoveElementBrowser-getMsgBox.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68812-DeprecatedBackendEntrypointsMoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68814-RemoveOfBaseConstantTYPO3_URL_ORG.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69028-DropNegForeignTable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69083-RenamedIdentifierForFilenameModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69148-BackendModuleDispatchingRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69161-RemoveIncludeCshFromContainerViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69168-Non-tabbedViewOfContentElementWizardRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69224-FixWrongUsageOfEnumerationsInInformationStatusmapStatusToInt.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69276-ElementBrowserControllerbrowserRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69291-ChangedRegistrationOfBackendModuleIcons.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69315-ElementBrowsermain_Protected.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69568-FormEngine.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69699-TcaCtrlTypeicons.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69795-UnusedDTMTabmenuCodeRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69904-RemoveSettingDiff_pathFromDefaultConfiguration.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69930-RemoveOptionServerTimeZone.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-55419-StreamlineFileConflictModeHandling.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-66588-POSTDataInSelectviewhelperShouldHaveHigherPriorityThanValueValue.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68128-GeneralUtilitySlash-relatedMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68760-ModuleSettings.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68804-CLI-relatedConstantsAndMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68860-DeprecateSelectImageinitEventHandler.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69028-RelationHandlerConvertPosNeg.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69078-TemplateService-tempPath.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69262-MoveMarkerSubstitutionFunctionalityToOwnClass.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69269-DeprecateBackendUtilitygetPathType_web_nonweb.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69371-DeprecateFormElementImagebutton.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69535-DeprecateTYPO3CMSFluidViewHelpersBeButtonsIconViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69562-DeprecateHelperMethodsForRedundantCSRFProtection.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69568-VariousFormEngineRelatedMethods.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69705-AddUnifiedRefreshIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69736-SelectOptionIconsInOptionTagsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69754-TcaCtrlIconfileUsingRelativePathToExtAndFilenameOnly.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69938-HIDE_L10N_SIBLINGSFlexFormdisplayCond.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-16525-AddConditionsToINCLUDE_TYPOSCRIPT.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-19494-AddSELECTmmQueryMethodToDatabaseConnection.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-25341-SchedulerTaskToOptimizeDatabaseTables.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-28243-IntroduceTcaOptionToDisableAgeDisplay.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-31100-IntegrateMultilineSupportForTEXTBLOCKInFormWizard.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-38732-Fluid-basedContentElementsIntroduced.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-47812-QuerySupportForBETWEENAdded.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-52217-SignalForPreProcessingLinkvalidatorRecords.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-53406-AddPlaceholderAttributeToSomeTextfieldsInWizard.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-56282-LanguageSelectorForPageviewModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-56726-TriggerMetadataExtractionAfterFileUpload.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-57632-AddInlineLanguageLabelFilesWithTypoScript.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-59144-PageTSconfigWorkspacePreview.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-59591-ImageQualityDefinablePerSourceCollection.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-61799-ImprovedHandlingOfOnlineMedia.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-61993-CssPageStyleNowPageSpecific.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-63395-Html5VideoPosterPreviewImage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-64535-IrreSuppressAndOverrideUseCombinationWarningViaTcaSettings.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-64726-UsingArbitraryFlashmessageQueues.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-65493-BackendRouting.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-65791-UsePHPConfiguredSendmailPathIfMAILtransportSendmailIsActive.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-66366-IntroducedMediaViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-66371-IntroduceAutoplayOptionForVideoAndAudioFiles.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-67056-AddOptionToDisableMoveButtonsTCAGroupType.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-67875-OverrideCategoryRegistryEntry.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-67880-AddedCountToSplit.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68166-RenderTypeForRsaEncryptedInputFields.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68429-IntroducedAvatarProviderAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68700-AutoloadDefinitionCanBeProvidedInExt_emconfphp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68724-EMShowsOnlyDistributionsThatSuiteTheCurrentTYPO3Version.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68741-IntroduceNewIconFactoryAsBaseForReplaceTheIconSkinningAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68746-AddAnnotationForCLIOnlyCommands.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68756-AddConfigBaseToStdWrap.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68757-ProvideUntouchedNewPasswordInFeloginPasswordChangedHook.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68773-ShowASpecialImageForOfficialDistributionsInExtensionManager.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68804-ColoredOutputForCLI-relevantErrorMessages.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-68837-ClosuresForCommandLineScripts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69095-IntroduceIconStateForIconFactory.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69119-AddABasicSearchToTheFilelistModule.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69389-AddSpinningFeatureForIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69409-AllowValueAttributeForOPTIONObjectInWizard.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69416-MakeAbstractPluginpi_loadLLLoadLabelsFromCustomFile.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69459-ShowTt_contentPreviewInPageModuleViaFluid.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69496-ExtractTitleFromPDFWhenIndexing.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69512-SupportTyposcriptFilesAsTextFileType.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69543-IntroducedGLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69568-FormEngineDataProcessing.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69602-SimplifyHandlingOfBackendLayoutsInFrontend.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69730-IntroduceUniqueIdGenerator.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69855-DispatcherForBackendRoutingAdded.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-69918-AddPSR-7-basedDispatchingForBackendModules.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-70002-MakeItPossibleToRegisterOwnIconsForFileExtensions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-70078-ExtensionsCanProvideAClassMapForClassLoading.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Feature-7098-SeverityFilteringForFlashMessageQueue.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-67954-MigrateCTypesTextImageAndTextpicToTextmedia.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-68128-PHPMagicQuoteHandlingRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-68758-CommandControllersAllowedInSubfolders.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-68917-UpdateJQueryTo2x.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-69084-AddingExtbaseObjectsWithNOTNULLColumnsHasChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-69137-LinkWizardPopupWidthAndHeightFieldsRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-69531-RemoveSpriteManagerIconViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-69846-HaveEIDsWithPSR-7WithoutControllerInterface.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Important-69909-FAL-basedDatabaseFieldsMovedToInteger.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.5/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-72931-SearchFormControllerpi_list_browseresultsHasBeenRenamed.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-73461-ImportModuleDisabledForNonAdminUsers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Feature-73461-EnableImportModuleForNonAdminUsers.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Important-17904-ShowAccessRestrictedPagesDoesNotWorkWithSpecialMenus.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Important-75400-NewDataHandlerCommandCopyToLanguage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77411-RemovedExtbaseTableColumnCache.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77830-CSC-HeaderLinkRespectsGlobalPageTarget.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6.x/Index.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-24449-UseMovePlaceholdersAsDefaultInWorkspaces.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-45899-SplitClassImportExportIntoClassesImportAndExport.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-51099-StreamlineSettingsConditions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-62812-ResolveMenuUrlsToLinkToExternalPagesDirectly.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-63406-RespectRootlevelConfigurationinExtbaseQueries.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-66369-RemovedElementBrowserRelatedClasses.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69227-StringsForLikeAreNotProperlyEscaped.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-HookAjaxSaveCodeOfT3editorChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RemovedBackendLogingetRsaPublicKeyAJAXHandler.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70033-TcaIconOptionsForSelectFields.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70055-OverrideNewContentElementWizardViaPageTSconfig.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70132-FormEngineCustomFunctions.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70229-BE-lockSSL3OptionRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70444-EXTform-FormAttributesAreNotRenderedInFE.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70503-EXTform-RemoveBreakOnErrorOptionFromWizard.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70574-FormWizardSaveHandlingChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70578-JumpURLFunctionalityRemovedFromTheTYPO3Core.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-71110-TYPO3-specificUploadLimitRemoved.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-72117-APIChangeInExceptionHandlerInterface.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Breaking-77344-EXTform-RenameConfigurationForConfirmationView.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-51482-ScriptBasedModules.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-60712-GetDynamicTabMenu.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-65728-DocumentTemplate-issueCommand.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69369-UsePropertyTextInsteadOfDataForTEXTAREATEXTBLOCKOPTION.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69822-DeprecateSelectFieldTca.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69877-UseModuleTemplateAPIForExtfilelist.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70052-ExtLoadedDisplayCondition.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70138-FlexFormLanguageHandling.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70477-DeprecateSpriteIconClasses.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70494-WrapClickMenuOnIcon.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70514-DynamicConfigFile.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71153-DocumentTemplateSpacer.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71249-DeprecateRenderMethodOfFlashMessageClass.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-20875-MakeHardcodedIndexedSearchParametersConfigurableViaTS.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-23156-IndexedSearchMakePathSeparatorOfSearchResultConfigurable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-27057-RelationsToTheSameTableInExtbase.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-35245-ReworkWorkspaceNotificationSettings.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-44127-HooksForOpenIdToAutomaticallyCreateUserAccounts.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-47613-IndexedSearchMakeNo_cacheParameterForForwardSearchWordsInResultLinkConfigurable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-56633-FormProtectionAPIForFrontEndUsage.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-64286-AddedAbsoluteUrlOptionToUriimageAndImageViewHelper.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedLinkBrowserAPIs.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedNewElementBrowserAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-68771-AddContentObjectFunctionalityToFormMailPostProcessorAndIntroduceReplyToEmail.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-68895-IntroducedHookInBackendUserAuthenticationgetDefaultUploadFolder.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-69120-AddBasicFileSearchInElementBrowser.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-69706-AddInlineSupportForSvgIconProvider.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-69764-IntroducedFileIconDetectionByMimeType.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-69814-ModuleTemplateAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-69916-PSR-7-basedRoutingForBackendAJAXRequests.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70033-IntroducedTcaOptionShowIconTableForSelectSingleFields.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70126-IntroduceTcaOptionToAddAutocompleteAttributeToInputFields.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70170-ViewHelperToStripWhitespaceBetweenHTMLTags.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70332-EXTform-AddHTML4HTML5AttributesToTheWizard.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70531-RequireJSModuleForSplitButtons.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-70583-IntroducedIconAPIInJavaScript.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-71196-DisallowLocalizationMixtures.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-71251-AddFlashMessageSupportInModuleTemplateAPI.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Feature-72505-IntroduceHookToOverrideARecordOverlay.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-36166-MoveAccessRightParametersFromBEToSYSConfiguration.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-53681-ChangeWordingForUserSettingsResetConfigurationAndClearTemporaryData.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-68079-ExtensionMediaceMovedToTER.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-70956-BehaviorOfPageTCconfigOptionsKeepItemsAddItemsAndRemoveItemsChanged.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-71126-AllowToDefineMultipleInlineLocalizeSynchronizeCommands.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-72697-RemoveThumbnailFunctionalityOfImpexp.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Important-73565-AbstractConditionViewHelperNoLongerAutomaticallyCompilable.rst create mode 100644 typo3/sysext/core/Documentation/Changelog/7.6/Index.rst diff --git a/Build/Scripts/validateRstFiles.sh b/Build/Scripts/validateRstFiles.sh index 23a766484f56..f0c19d7e5f58 100755 --- a/Build/Scripts/validateRstFiles.sh +++ b/Build/Scripts/validateRstFiles.sh @@ -41,15 +41,16 @@ for i in `find typo3/sysext/core/Documentation/Changelog -name "*.rst" -type f`; # This regex needs to check that the ..index:: line a) holds valid content and b) is # the last line in the checked file INDEX="" - if ! [[ "$fileContent" =~ '.. index:: '((FullyScanned|PartiallyScanned|NotScanned|TypoScript|TSConfig|TCA|FlexForm|LocalConfiguration|Fluid|FAL|Database|JavaScript|PHP-API|Frontend|Backend|CLI|RTE|ext:([a-z|A-Z|_|0-9]*))([,|[:space:]]{2})?)+$ ]]; then - INDEX="no or wrong index" - index_message="insert '.. index:: <at least one valid keyword>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords" - outputFileToStream=1; + if ! [[ "$i" =~ (Changelog\/7\.[0-99]+\/|Changelog\/7\.6\.x\/) ]]; then + if ! [[ "$fileContent" =~ '.. index:: '((FullyScanned|PartiallyScanned|NotScanned|TypoScript|TSConfig|TCA|FlexForm|LocalConfiguration|Fluid|FAL|Database|JavaScript|PHP-API|Frontend|Backend|CLI|RTE|ext:([a-z|A-Z|_|0-9]*))([,|[:space:]]{2})?)+$ ]]; then + INDEX="no or wrong index" + index_message="insert '.. index:: <at least one valid keyword>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords" + outputFileToStream=1; + fi fi # All Deprecation- / Breaking- files since v9 must have one of the tags FullyScanned|PartiallyScanned|NotScanned - if ! [[ "$i" =~ (Changelog\/8\.[0-99]+\/|Changelog\/master\/Feature-|Changelog\/master\/Important-|Changelog\/[0-99]+\.[0-99]+\/Feature-|Changelog\/[0-99]+\.[0-99]+\/Important-) ]]; then - SCANMATCHES=0 + if ! [[ "$i" =~ (Changelog\/8\.[0-99]+\/|Changelog\/7\.[0-99]+\/|Changelog\/7\.6\.x\/|Changelog\/master\/Feature-|Changelog\/master\/Important-|Changelog\/[0-99]+\.[0-99]+\/Feature-|Changelog\/[0-99]+\.[0-99]+\/Important-) ]]; then if ! [[ "$fileContent" =~ ('.. index:: '.*(FullyScanned|PartiallyScanned|NotScanned)+.*) ]]; then INDEX="missing FullyScanned / PartiallyScanned / NotScanned tag" index_message="insert '.. index:: <at least one valid keyword and either FullyScanned, PartiallyScanned or NotScanned>' at last line of the file. See Build/Scripts/validateRstFiles.sh for allowed keywords" diff --git a/typo3/sysext/core/Documentation/Changelog-7.rst b/typo3/sysext/core/Documentation/Changelog-7.rst new file mode 100644 index 000000000000..bb5058378e8c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog-7.rst @@ -0,0 +1,21 @@ +:orphan: + +.. include:: Includes.txt + +============ +ChangeLog v7 +============ + +Every change to the TYPO3 Core which might affect your site is documented here. + +.. toctree:: + :titlesonly: + + Changelog/7.6.x/Index + Changelog/7.6/Index + Changelog/7.5/Index + Changelog/7.4/Index + Changelog/7.3/Index + Changelog/7.2/Index + Changelog/7.1/Index + Changelog/7.0/Index diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-19737-PreferRootTemplate.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-19737-PreferRootTemplate.rst new file mode 100644 index 000000000000..3b1b2736789d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-19737-PreferRootTemplate.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================== +Breaking: #19737 - Prefer root templates for pages +================================================== + +See :issue:`19737` + +Description +=========== + +The Core now gives templates having set the root-flag precedence over normal extension templates. +This ignores the fact that normally the first template of the current page is chosen, following their sorting. + +This improves user experience as the user expects the root template to be the one with highest priority. + +Impact +====== + +Pages where multiple templates are present not having a root-template as the topmost template +in the list will encounter different results when templates are evaluated. + +Affected installations +====================== + +Installations with pages where multiple templates are present not having a/the root-template as the topmost template. + +Migration +========= + +Ensure the templates have correct flags set. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-33805-ClickMenuRewrite.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-33805-ClickMenuRewrite.rst new file mode 100644 index 000000000000..f8df42893107 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-33805-ClickMenuRewrite.rst @@ -0,0 +1,50 @@ + +.. include:: ../../Includes.txt + +==================================== +Breaking: #33805 - ClickMenu Rewrite +==================================== + +See :issue:`33805` + +Description +=========== + +The ClickMenu has seen some major changes under the hood. This implies some refactoring within JavaScript where existing +functionality is replaced by a AMD Module based on jQuery. The following JS methods are now replaced by respective +methods: + +- showClickmenu_raw() +- Clickmenu.show() +- Clickmenu.populateData() + +The new functionality is available via a global JavaScript object called TYPO3.ClickMenu which has equal +functions. + +Additionally the ClickMenu is now used via AJAX completely, all non-AJAX calls are not supported anymore. + +Impact +====== + +All third-party extensions using alt_clickmenu.php directly in the backend, or using the above JavaScript calls directly. + +Affected installations +====================== + +Any installation using extensions having Backend modules using JavaScript functions for the ClickMenu inline +and installations using extensions using alt_clickmenu.php directly. + +Migration +========= + +Any use of "Clickmenu.show()" etc should be avoided and channelled through the according DocumentTemplate methods. + +- BackendUtility::wrapClickMenuOnIcon() +- DocumentTemplate->getContextMenuCode() + +If a backend module without a DocumentTemplate (with e.g. Extbase/Fluid) is used, this is done with a separate class +and related data attribute: + +.. code-block:: html + + <a href="#" class="t3-js-clickmenutrigger" data-table="be_users" data-uid="{record.uid}" data-listframe="1"> diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-42543-DefaultTypoScriptRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-42543-DefaultTypoScriptRemoved.rst new file mode 100644 index 000000000000..8ddb34589f18 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-42543-DefaultTypoScriptRemoved.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #42543 - Default TypoScript Removed +============================================= + +See :issue:`42543` + +Description +=========== + +The default TypoScript :code:`styles.insertContent` was removed without substitution. + + +Impact +====== + +Frontend output may change. + + +Affected installations +====================== + +A TYPO3 instance is affected if its TypoScript operates with :code:`styles.insertContent`. This is pretty unlikely since the styles segment was hidden in the TypoScript Object Browser. + + +Migration +========= + +Either remove usage of :code:`styles.insertContent` or add a snippet at an early point in TypoScript for backwards compatibility. + +.. code-block:: typoscript + + styles.insertContent = CONTENT + styles.insertContent { + table = tt_content + select { + orderBy = sorting + where = colPos=0 + languageField = sys_language_uid + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53542-DeprecatedCodeRemovalInFluid.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53542-DeprecatedCodeRemovalInFluid.rst new file mode 100644 index 000000000000..deda97cd52bd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53542-DeprecatedCodeRemovalInFluid.rst @@ -0,0 +1,55 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #53542 - Removal of deprecated code in sysext fluid +============================================================= + +See :issue:`53542` + +Description +=========== + +ContainerViewHelper +------------------- + +The following options have been removed from the ViewHelper: + +* `enableJumpToUrl` +* `addCssFile`, use `includeCssFiles` instead +* `addJsFile`, use `includeJsFiles` instead + + +AbstractBackendViewHelper +------------------------- + +The usage of `$GLOBALS['SOBE']` is removed for retrieving the DocumentTemplate instance. +Use `->getDocInstance()` instead. + + +TemplateView +------------ + +The following methods have been removed: + +* `getTemplateRootPath()` is removed, use `getTemplateRootPaths()` instead +* `getPartialRootPath()` is removed, use `setPartialRootPaths()` instead +* `getLayoutRootPath()` is removed, use `getLayoutRootPaths()` instead + + +Impact +====== + +A call to any of the aforementioned methods by third party code will result in a fatal PHP error. + + +Affected installations +====================== + +Any installation which contains third party code still using these deprecated methods. + + +Migration +========= + +Replace the calls with the suggestions outlined above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53658-RemoveAlternateBgColorsOption.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53658-RemoveAlternateBgColorsOption.rst new file mode 100644 index 000000000000..a2a8b97d937c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-53658-RemoveAlternateBgColorsOption.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #53658 - option alternateBgColors removed +=================================================== + +See :issue:`53658` + +Description +=========== + +The PageTSConfig option :code:`mod.web_list.alternateBgColors` is removed without substitution. + + +Impact +====== + +Extensions that extend the DatabaseRecordList and are using the property :code:`alternateBgColors` + +The option in the TableListViewHelper has been deprecated and will be removed in TYPO3 CMS 8. + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed property. + + +Migration +========= + +Remove the call to the removed property. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-54409-RteAcronymButtonRenamedAbbreviation.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-54409-RteAcronymButtonRenamedAbbreviation.rst new file mode 100644 index 000000000000..ec4e23910f9e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-54409-RteAcronymButtonRenamedAbbreviation.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +================================================================== +Breaking: #54409 - RTE "acronym" button was renamed "abbreviation" +================================================================== + +See :issue:`54409` + +Description +=========== + +The "acronym" tag being deprecated, the RTE "acronym" button was renamed "abbreviation". +Accordingly, the RTE Acronym plugin was renamed Abbreviation. + + +Impact +====== + +The "abbreviation" button may not appear in the RTE toolbar, if configured as "acronym" in Page TSconfig, TCA special configuration options and/or User TSconfig. +Possible undefined PHP class errors. +Possible Javascript or file not found errors. + + +Affected installations +====================== + +An installation is affected if the "acronym" button was configured in Page TSconfig and/or User TSconfig. +An installation is affected if a 3rd party extension refers to the "acronym" button in TCA special configuration options. +An installation is affected if a 3rd party extension refers to class TYPO3\CMS\Rtehtmlarea\Extension\Acronym +An installation is affected if a 3rd party extension loads the JavaScript file of the Acronym plugin: EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js + + +Migration +========= + +There is no immediate impact on the RTE configuration in Page TSconfig and TCA special configuration options until the automatic conversion of existing references to "acronym" is removed in TYPO3 CMS 8.0. +Intallations may run the upgrade wizard of the Install tool to migrate the contents of Page TSconfig, replacing "acronym" by "abbreviation". +Note that this string replacement will apply to all contents of PageTSconfig. +The migration of PageTSconfig may also be done manually. + +User TSconfig must be modified to refer to "abbreviation" instead of "acronym". + +Any affected 3rd party extension must be modified to refer to the "abbreviation" button rather than "acronym" in TCA special configuration options. +Any affected 3rd party extension must be modified to refer to class TYPO3\CMS\Rtehtmlarea\Extension\Abbreviation rather than TYPO3\CMS\Rtehtmlarea\Extension\Acronym +Any affected 3rd party extension must be modified to load EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Abbreviation.js rather than EXT:rtehtmlarea/Resources/Public/Javascript/Plugins/Acronym.js diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57382-FlashMessageApi.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57382-FlashMessageApi.rst new file mode 100644 index 000000000000..32110ddc5ea3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57382-FlashMessageApi.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +=============================================== +Breaking: #57382 - Remove old flash message API +=============================================== + +See :issue:`57382` + +Description +=========== + +The old flash message API is removed. + +Impact +====== + +Extensions relying on the old (static) flash message queue API will not work anymore. +Extbase removes the protected old flashMessageContainer. + +Affected installations +====================== + +Any installation that uses an extension relying on the old API. + +Migration +========= + +Change the API calls to not be of static kind anymore. +Extbase extensions have to use `getFlashMessageQueue()` of the controllerContext diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57396-ExtbaseDeprecatedPropertyMapperRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57396-ExtbaseDeprecatedPropertyMapperRemoved.rst new file mode 100644 index 000000000000..8737d744013a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-57396-ExtbaseDeprecatedPropertyMapperRemoved.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #57396 - Deprecated Extbase Property Mapper was removed +================================================================= + +See :issue:`57396` + +Description +=========== + +A new Property Mapper that mapped request arguments to controller action arguments +was introduced in Extbase 1.4 and the old one was deprecated at the same time. +Along with the mapping, the validation API has also been changed. +The rewritten property mapper is turned on by default since TYPO3 6.2 + +Now the old mapping and validation API is completely removed. + +Impact +====== + +Extbase extensions that relied on the internal behaviour of the deprecated property mapper +or make use of the old validation API will stop working or may not work as expected any more. + +Affected installations +====================== + +Extbase extensions that turned off the introduced feature switch with the TypoScript setting +:code:`features.rewrittenPropertyMapper = 0` because they relied on internal behavior of the old property mapper +will stop working. + +Migration +========= + +Manual migration of extension code might be required, especially when own validators using the old +validation API were used. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59659-DeprecatedCodeRemovalInBackendSysext.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59659-DeprecatedCodeRemovalInBackendSysext.rst new file mode 100644 index 000000000000..599b04d0d722 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59659-DeprecatedCodeRemovalInBackendSysext.rst @@ -0,0 +1,62 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Breaking: #59659 - Removal of deprecated code in sysext backend +=============================================================== + +See :issue:`59659` + +Description +=========== + +Flexforms +--------- + +Flexform xml that still contains the old "<tx_templavoila><title>" code has to be adapted. +The "<tx_templavoila>" elements needs to be removed. + +Wizard registration +------------------- + +Wizard registration in TCA must not contain the "script=some/path/script.php" definition anymore. +The new API for registering wizards is to set "module[name]=module_name". + +Removed PHP methods +------------------- + +* `AbstractRecordList::writeBottom()` is removed without replacement. The functionality is not needed anymore. +* `SpriteGenerator::setOmmitSpriteNameInIconName()` is removed in favor of `setOmitSpriteNameInIconName()` +* `DocumentTemplate::isCMlayers()` is removed without replacement. The functionality is obsolete. +* `DocumentTemplate::getFileheader()` is removed. Use `getResourceHeader()` instead. +* `BackendUtility::displayWarningMessages()` is removed without replacement. The functionality was moved to ext:aboutmodules. +* `IconUtility::getIconImage()` is removed without replacement. Use sprite icon API instead. +* `PageLayoutView::getSelectedBackendLayoutUid()` is removed. Use `BackendLayoutView::getSelectedCombinedIdentifier()` instead. +* `ClickMenu::menuItemsForClickMenu()` is removed without replacement. The functionality is obsolete. + +Removed JS functions +-------------------- + +* `showClickmenu_noajax()` is removed. Use `Clickmenu.ajax = false; showClickmenu_raw();` instead. +* `setLayerObj()` is replaced with `Clickmenu.populateData()`. +* `hideEmpty()` is replaced with `Clickmenu.hideAll()`. +* `hideSpecific()` is replaced with `Clickmenu.hide()`. E.g. `Clickmenu.hide('contentMenu1');` +* `showHideSelectorBoxes()` is replaced with `toggleSelectorBoxes()`. + +Impact +====== + +A call to any of the aforementioned methods by third party code will result in +a fatal PHP error. + + +Affected installations +====================== + +Any installation which contains third party code still using these deprecated methods. + + +Migration +========= + +Replace the calls with the suggestions outlined above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59966-ExtensionConfigurationCacheClearing.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59966-ExtensionConfigurationCacheClearing.rst new file mode 100644 index 000000000000..26401d763938 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-59966-ExtensionConfigurationCacheClearing.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #59966 - Extension Configuration cache-flushing changed +================================================================= + +See :issue:`59966` + +Description +=========== + +On saving the configuration of an extension, the system cache group has been flushed. +This is inefficient as this includes also the classes cache, but most changes will +never need this cache to be cleared. +We optimize this for the common case and stop flushing caches after configuration changes completely. + +Impact +====== + +Extensions which relied on cache-clearing after configuration changes may require a manual cache flush. + +Affected installations +====================== + +Any installation that uses extensions relying on automatic cache flush after extension configuration changes. + +Migration +========= + +Extensions requiring a cache flush after configuration changes need to implement a slot +for the `afterExtensionConfigurationWrite` signal which allows individual cache flush actions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60063-FeloginPluginFileRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60063-FeloginPluginFileRemoved.rst new file mode 100644 index 000000000000..7ae8fc3ff0bf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60063-FeloginPluginFileRemoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +========================================= +Breaking: #60063 - Felogin Plugin Removed +========================================= + +See :issue:`60063` + +Description +=========== + +File EXT:felogin/pi1/class.tx_felogin_pi1.php was removed. + + +Impact +====== + +- A require in PHP of this file throws a fatal error. + +- An :code:`includeLibs` TypoScript setting to this file raises a warning. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension requires EXT:felogin/pi1/class.tx_felogin_pi1.php or if an includeLibs TypoScript setting to this file is set. + + +Migration +========= + +Remove the require line in PHP and includeLibs line in TypoScript, they are obsolete. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60135-RecursiveStdWrapChange.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60135-RecursiveStdWrapChange.rst new file mode 100644 index 000000000000..e7e33498753f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60135-RecursiveStdWrapChange.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #60135 - Recursive stdWrap is now only called once +============================================================ + +See :issue:`60135` + +Description +=========== + +If recursive stdWrap configuration was used, the stdWrap method was called twice, although the content +was only rendered once. This performance overhead is now removed. + + +Impact +====== + +If a recursive stdWrap configuration is used, which sets or acts on a global state like registers, +the resulting rendering can now be different because the global state is now modified only once. + + +Affected installations +====================== + +A TYPO3 instance is affected if there is TypoScript code like: + +:: + + page.1 = TEXT + page.1 { + value = Counter: + append = TEXT + append.data = register:Counter + stdWrap.append = LOAD_REGISTER + stdWrap.append { + Counter.cObject = TEXT + Counter.cObject.data = register:Counter + Counter.cObject.wrap = |+1 + Counter.prioriCalc = 1 + } + } + +.. + +This now correctly outputs `Counter:1` instead of `Counter:2` + +Migration +========= + +The usage of recursive stdWrap TypoScript configuration needs to be checked and probably adapted to fit the fixed behavior. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60152-formatSizeAdheresLocale.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60152-formatSizeAdheresLocale.rst new file mode 100644 index 000000000000..b5a8f1cb955a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60152-formatSizeAdheresLocale.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #60152 - GeneralUtility::formatSize is now locale aware +================================================================= + +See :issue:`60152` + +Description +=========== + +The :code:`GeneralUtility::formatSize()` method now adheres to the currently set locale and +selects the correct decimal separator symbol. +This also applies to the TypoScript option :code:`stdWrap.bytes`, which uses the method internally, +as well as the Filelist content element type. + +Impact +====== + +All output generated for locales, where the decimal separator is not a dot, will change to use +the correct symbol. e.g. comma for German. + +Affected installations +====================== + +Any installation that uses the :code:`formatSize()` method in one of the ways mentioned. + +Migration +========= + +If you think you get the wrong decimal separator, ensure the locale is configured correctly +and the locale really exists on the server. + +TypoScript option: :code:`config.locale` +Commandline: `locale -a` diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-DroppedBackendLoginOptions.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-DroppedBackendLoginOptions.rst new file mode 100644 index 000000000000..09b231fd1616 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-DroppedBackendLoginOptions.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #60559 - Dropped Backend Login Options +================================================ + +See :issue:`60559` + +Description +=========== + +Handling of :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_rotationFolder']` and :code:`$GLOBALS['TBE_STYLES']['loginBoxImage_author']` was dropped. + + +Impact +====== + +Setting those options has no effect anymore. + + +Affected installations +====================== + +These options had no effect with standard core internal login screen based on t3skin for a long time already. Instances are +only affected if a 3rd party extension is loaded that changes the backend login screen and operates with these settings. + + +Migration +========= + +Remove these options and their usage from the affected 3rd party extension or unload the extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginJavascriptFileMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginJavascriptFileMoved.rst new file mode 100644 index 000000000000..c604d34c9341 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginJavascriptFileMoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #60559 - T3skin Backend Login Javascript File Moved +============================================================= + +See :issue:`60559` + +Description +=========== + +Javascript files of the backend login form moved from EXT:t3skin to EXT:backend. + + +Impact +====== + +Javascript or file not found errors. + + +Affected installations +====================== + +An installation is affected if a 3rd party extension includes EXT:t3skin/Resources/Public/JavaScript/login.js + + +Migration +========= + +Include EXT:backend/Resources/Public/JavaScript/login.js instead or refactor the affected extension to free it +from the dependency to this core internal file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginTemplateMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginTemplateMoved.rst new file mode 100644 index 000000000000..5ad13678be90 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60559-T3skinBackendLoginTemplateMoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #60559 - T3skin Backend Login Template File Moved +=========================================================== + +See :issue:`60559` + +Description +=========== + +The HTML template file for the backend login screen was moved from EXT:t3skin to EXT:backend. + + +Impact +====== + +Broken login screen. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses file EXT:t3skin/Resources/Private/Templates/login.html + + +Migration +========= + +Use file EXT:backend/Resources/Private/Templates/login.html instead or refactor the affected extension to free it +from the dependency to this core internal file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60561-DefaultTypoScriptConstantsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60561-DefaultTypoScriptConstantsRemoved.rst new file mode 100644 index 000000000000..f8298d1f38ff --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60561-DefaultTypoScriptConstantsRemoved.rst @@ -0,0 +1,48 @@ + +.. include:: ../../Includes.txt + +======================================================= +Breaking: #60561 - Default TypoScript Constants Removed +======================================================= + +See :issue:`60561` + +Description +=========== + +These default TypoScript constants were dropped: + +- :code:`{$_clear}` +- :code:`{$_blackBorderWrap}` +- :code:`{$_tableWrap}` +- :code:`{$_tableWrap_DEBUG}` +- :code:`{$_stdFrameParams}` +- :code:`{$_stdFramesetParams}` + + +Impact +====== + +Frontend output may change. + + +Affected installations +====================== + +A TYPO3 instance is affected if own TypoScript uses the above mentioned TypoScript constants. + + +Migration +========= + +Either remove usage of the above constants or add a snippet at an early point in TypoScript for backwards compatibility. + +.. code-block:: typoscript + + _clear = <img src="clear.gif" width="1" height="1" alt="" /> + _blackBorderWrap = <table border="0" bgcolor="black" cellspacing="0" cellpadding="1"><tr><td> | </td></tr></table> + _tableWrap = <table border="0" cellspacing="0" cellpadding="0"> | </table> + _tableWrap_DEBUG = <table border="1" cellspacing="0" cellpadding="0"> | </table> + _stdFrameParams = frameborder="no" marginheight="0" marginwidth="0" noresize="noresize" + _stdFramesetParams = 'border="0" framespacing="0" frameborder="no" + diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60582-RsaauthJavascriptFilesMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60582-RsaauthJavascriptFilesMoved.rst new file mode 100644 index 000000000000..a4083be59efe --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60582-RsaauthJavascriptFilesMoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #60582 - Rsaauth Javascript Files Moved +================================================= + +See :issue:`60582` + +Description +=========== + +Javascript files from EXT:rsaauth were moved from resources/ to Resources/Public/JavaScript. + + +Impact +====== + +Javascript or file not found errors. + + +Affected installations +====================== + +An installation is affected if a 3rd party extension includes Javascript files from rsaauth. + + +Migration +========= + +Change affected extension to include Javascript files from resources/ to Resources/Public/JavaScript/. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60609-ConfigurationManagerSignalChange.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60609-ConfigurationManagerSignalChange.rst new file mode 100644 index 000000000000..40838da4f156 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60609-ConfigurationManagerSignalChange.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +======================================================= +Breaking: #60609 - Configuration Manager Signal Changed +======================================================= + +See :issue:`60609` + +Description +=========== + +The extension for which the configuration was written was added to the signal emitted +in the ConfigurationManager of the ExtensionManager as first parameter as the whole signal was +unusable without this information. + + +Impact +====== + +The arguments for a method listening to this signal have changed. + + +Affected installations +====================== + +A TYPO3 instance is affected if there is code using the signal "afterExtensionConfigurationWrite". + +Migration +========= + +Rewrite the listening function to use the extension key as first parameter. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerJavascriptFileMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerJavascriptFileMoved.rst new file mode 100644 index 000000000000..4ca492dad18e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerJavascriptFileMoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #60630 - Scheduler Javascript File Moved +============================================================= + +See :issue:`60630` + +Description +=========== + +Javascript files of the scheduler module moved from EXT:scheduler/res/tx_scheduler_be.js to +EXT:scheduler/Resources/Public/JavaScript/Scheduler.js + + +Impact +====== + +Javascript or file not found errors. + + +Affected installations +====================== + +An installation is affected if a 3rd party extension includes EXT:scheduler/res/tx_scheduler_be.js + + +Migration +========= + +Include EXT:scheduler/Resources/Public/JavaScript/Scheduler.js instead or refactor the affected extension to free it +from the dependency to this scheduler internal file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerLanguageFilesMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerLanguageFilesMoved.rst new file mode 100644 index 000000000000..3226a8958b7d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerLanguageFilesMoved.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #60630 - Scheduler Language Files Moved +=========================================================== + +See :issue:`60630` + +Description +=========== + +The language files of the scheduler extension are moved to EXT:scheduler/Resources/Private/Language/ + + +Impact +====== + +Labels are not translated when being fetched from old file location. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses a language file from EXT:scheduler +or if localization overrides of these files are registered. Those overridden labels may not +work anymore. + + +Migration +========= + +Use new path to language file instead or create/copy the labels to an own language file and +adapt existing overrides to the new file locations. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerModuleTemplateMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerModuleTemplateMoved.rst new file mode 100644 index 000000000000..feb247ef8bc7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-60630-SchedulerModuleTemplateMoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #60630 - Scheduler Module Template File Moved +=========================================================== + +See :issue:`60630` + +Description +=========== + +The HTML template file for the scheduler module was moved from EXT:scheduler/mod1/mod_template.html +to EXT:scheduler/Resources/Private/Templates/Module.html. + + +Impact +====== + +Broken module screen. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses file EXT:scheduler/mod1/mod_template.html + + +Migration +========= + +Use file EXT:scheduler/Resources/Private/Templates/Module.html instead or refactor the affected extension to free it +from the dependency to this scheduler internal file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61459-RemovalTslib.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61459-RemovalTslib.rst new file mode 100644 index 000000000000..44ad14186b62 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61459-RemovalTslib.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #61459 - Removal of tslib directory and constant +=========================================================== + +See :issue:`61459` + +Description +=========== + +The tslib/ directory and the constant PATH_tslib were removed. + +Impact +====== + +Extensions that still use PATH_tslib constant, and reference typo3/sysext/cms/tslib/index_ts.php directly won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses :file:`index_ts.php` directly, or if the main +:file:`index.php` is not replaced with the TYPO3 Update (used on certain install types). The index.php file must be +replaced with the current version from the TYPO3 CMS Core. + +Besides scripts are affected that access the time tracking (:code:`$TT`) or typoscript frontend controller (:code:`$TSFE`) +objects instead of using :code:`$GLOBALS['TT']` respectively :code:`$GLOBALS['TSFE']`. + + +Migration +========= + +Remove the constant PATH_tslib from the 3rd party extension, use a current version of index.php and use :code:`$GLOBALS['TT']` +and :code:`$GLOBALS['TSFE']` where necessary. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61471-t3skinCssFilesMovedToLess.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61471-t3skinCssFilesMovedToLess.rst new file mode 100644 index 000000000000..4aaf1d44bcaa --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61471-t3skinCssFilesMovedToLess.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #61471 - EXT:t3skin CSS files moved to less +===================================================== + +See :issue:`61471` + +Description +=========== + +All CSS files in EXT:t3skin are moved to less files and handled by less CSS pre processor +and merged to a single CSS file. + + +Impact +====== + +Single CSS files can not be included anymore. This may result in broken layouts. + + +Affected installations +====================== + +A TYPO3 instance is affected if an extension loads single CSS files from EXT:t3skin. Backend modules of +extensions usually get CSS core stuff loaded by default, which will not be a problem. An extension is +only affected if single CSS files are explicitly referenced. This should be a rare case. + + +Migration +========= + +Most simple solution is to copy over the "old" CSS file from an older instance. Directly including those +files from t3skin is discouraged. A better solution is to refactor the extension to use the full t3skin +CSS file and to overlay it with required changes in an own file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61781-IncludeOnceArrayOfClickMenuControllerRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61781-IncludeOnceArrayOfClickMenuControllerRemoved.rst new file mode 100644 index 000000000000..72a43a5b3cdb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61781-IncludeOnceArrayOfClickMenuControllerRemoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #61781 - include_once array in ClickMenuController removed +==================================================================== + +See :issue:`61781` + +Description +=========== + +The include_once array of the ClickMenuController, which is filled with paths from the +:code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` setting, has been removed. + +Impact +====== + +Extension classes relying on the :code:`$GLOBALS['TBE_MODULES_EXT']['xMOD_alt_clickmenu']['extendCMclasses']['path']` registration for autoloading will not be loaded anymore. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method. + + +Migration +========= + +All classes are autoloaded automatically by TYPO3 CMS Core. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.rst new file mode 100644 index 000000000000..dbb3e2c82f68 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61782-DeprecatedDocumentTemplateClassesRemoved.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +============================================================== +Breaking: #61782 - deprecated DocumentTemplate classes removed +============================================================== + +See :issue:`61782` + +Description +=========== + +The following deprecated classes have been removed: + +:code:`\TYPO3\CMS\Backend\Template\MediumDocumentTemplate` +:code:`\TYPO3\CMS\Backend\Template\SmallDocumentTemplate` +:code:`\TYPO3\CMS\Backend\Template\StandardDocumentTemplate` + + +Impact +====== + +Extensions that still use one of the removed classes for their backend module won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses one of the removed classes. + + +Migration +========= + +Use :code:`\TYPO3\CMS\Backend\Template\DocumentTemplate` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61783-RemoveDeprecatedMailFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61783-RemoveDeprecatedMailFunctionality.rst new file mode 100644 index 000000000000..b91aad95dce4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61783-RemoveDeprecatedMailFunctionality.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #61783 - Removed deprecated mailing API +================================================= + +See :issue:`61783` + +Description +=========== + +The deprecated methods to send email are removed. +This includes the :code:`MailUtility::mail()` method, the mail delivery substitution API and the :code:`plainMailEncoded()` methods. + +Impact +====== + +Any call to :code:`MailUtility::mail()` or :code:`GeneralUtility::plainMailEncoded()` will result in a fatal error. +The option :code:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/utility/class.t3lib_utility_mail.php']['substituteMailDelivery']` +does not have any effect. + + +Affected installations +====================== + +Any installation using an extension still using the deprecated API will fail. + +Migration +========= + +Use the :code:`\TYPO3\CMS\Core\Mail\Mailer` API for sending email. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-FrontendTcaFunctionsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-FrontendTcaFunctionsRemoved.rst new file mode 100644 index 000000000000..42005759e61f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-FrontendTcaFunctionsRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================================================ +Breaking: #61785 - getCompressedTCarray and includeTCA from TypoScriptFrontendController removed +================================================================================================ + +See :issue:`61785` + +Description +=========== + +Methods :code:`getCompressedTCarray()` and :code:`includeTCA()` from :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` have been removed. + +Impact +====== + +Extensions that still use :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getCompressedTCarray()` or :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::includeTCA()` will trigger a fatal error. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions. + + +Migration +========= + +Full TCA is always loaded during bootstrap in FE, the methods are obsolete. +If an eid script calls this method to load TCA, use :code:`\TYPO3\CMS\Frontend\Utility\EidUtility::initTCA()` instead. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.rst new file mode 100644 index 000000000000..8dd111cdb584 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61785-LoadTcaFunctionRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #61785 - loadTCA function in GeneralUtility removed +============================================================= + +See :issue:`61785` + +Description +=========== + +Method :code:`loadTCA()` from :code:`\TYPO3\CMS\Core\Utility\GeneralUtility` is removed. + +Impact +====== + +Extensions that still use :code:`\TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA()` will trigger a fatal error. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension still calls :code:`loadTCA`. + + +Migration +========= + +The method is obsolete, full TCA is always loaded in all context except eID. +It is safe to remove the method call. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61786-ExtbaseDeprecatedTypeHandlingServiceRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61786-ExtbaseDeprecatedTypeHandlingServiceRemoved.rst new file mode 100644 index 000000000000..580e87acf0e7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61786-ExtbaseDeprecatedTypeHandlingServiceRemoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Breaking: #61786 - remove deprecated TypeHandlingService in extbase +=================================================================== + +See :issue:`61786` + +Description +=========== + +The TypeHandlingService class is removed from the extbase extension. + + +Impact +====== + +Extensions that still use :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService` won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed class :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService`. + + +Migration +========= + +Replace all calls to :code:`\TYPO3\CMS\Extbase\Service\TypeHandlingService` functions to their new static functions in :code:`\TYPO3\CMS\Extbase\Utility\TypeHandlingUtility` diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61802-IsLocalconfWritableFunctionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61802-IsLocalconfWritableFunctionRemoved.rst new file mode 100644 index 000000000000..47db46edb681 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61802-IsLocalconfWritableFunctionRemoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================================== +Breaking: #61802 - deprecated isLocalconfWritable function removed +================================================================== + +See :issue:`61802` + +Description +=========== + +The function :code:`isLocalconfWritable()` :code:`from \TYPO3\CMS\Core\Utility\ExtensionManagementUtility` has been removed. +The boostrap now just checks for the existence of the file and redirects to the install tool if it doesn't exist. + +Impact +====== + +Extensions that still use the function :code:`isLocalconfWritable()` won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed function. + + +Migration +========= + +Remove the call to this function. The bootstrap takes care to check the existence of the file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61820-PhpOptionsUtilityDeprecatedFunctionsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61820-PhpOptionsUtilityDeprecatedFunctionsRemoved.rst new file mode 100644 index 000000000000..82a9463b358c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61820-PhpOptionsUtilityDeprecatedFunctionsRemoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #61820 - deprecated PhpOptionsUtility functions removed +================================================================= + +See :issue:`61820` + +Description +=========== + +The :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility` functions isSafeModeEnabled and isMagicQuotesGpcEnabled are removed. + +Impact +====== + +Extensions that still use one of the removed functions won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses one of the removed functions. + + +Migration +========= + +Remove the call to :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isSafeModeEnabled()` or :code:`\TYPO3\CMS\Core\Utility\PhpOptionsUtility::isMagicQuotesGpcEnabled()` functions. +The Install Tool takes care of the removed checks now. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61821-ClassFileOptionInMakeInstanceServiceRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61821-ClassFileOptionInMakeInstanceServiceRemoved.rst new file mode 100644 index 000000000000..a39c67d9a3ec --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61821-ClassFileOptionInMakeInstanceServiceRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================== +Breaking: #61821 - classFile option in makeInstanceService removed +================================================================== + +See :issue:`61821` + +Description +=========== + +The option "classFile" in :code:`\TYPO3\CMS\Core\Utility\GeneralUtility\makeInstanceService()` is removed. +This should now be done by the respective ext_autoload.php of each extension. + + +Impact +====== + +Extension classes relying on the "classFile" registration for autoloading will not be loaded anymore. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed class loading registration method. + + +Migration +========= + +Use the ext_autoload.php file to autoload the class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61822-GetUniqueFieldsFunctionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61822-GetUniqueFieldsFunctionRemoved.rst new file mode 100644 index 000000000000..fd24c410e0b6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61822-GetUniqueFieldsFunctionRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================ +Breaking: #61822 - deprecated function getUniqueFields() removed +================================================================ + +See :issue:`61822` + +Description +=========== + +The function :code:`getUniqueFields()` from :code:`\TYPO3\CMS\Core\DataHandling\DataHandler` has been removed. +The function is available in :code:`\TYPO3\CMS\Version\Hook\DataHandlerHook`. + +Impact +====== + +Extensions that still use the function :code:`getUniqueFields()` won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed function. + + +Migration +========= + +Replace all calls to :code:`\TYPO3\CMS\Core\DataHandling\DataHandler::getUniqueFields()` +with calls to :code:`\TYPO3\CMS\Version\Hook\DataHandlerHook::getUniqueFields()` diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61823-RemoveMagicSettterForFromTC.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61823-RemoveMagicSettterForFromTC.rst new file mode 100644 index 000000000000..e3a00eb06c81 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61823-RemoveMagicSettterForFromTC.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================== +Breaking: #61823 - Remove magic setter for $fromTC +================================================== + +See :issue:`61823` + +Description +=========== + +The magic setter for :code:`$fromTC` in \TYPO3\CMS\Core\Database\RelationHandler is removed. + + +Impact +====== + +Directly setting the protected property :code:`$fromTC` will trigger a PHP warning. + + +Affected installations +====================== + +Any installation using an extension that sets :code:`$fromTC` property directly. + + +Migration +========= + +Use :code:`\TYPO3\CMS\Core\Database\RelationHandler::setFetchAllFields()` instead. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61859-FileTypeSoftwareRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61859-FileTypeSoftwareRemoved.rst new file mode 100644 index 000000000000..4bdf8f864af2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61859-FileTypeSoftwareRemoved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #61859 - deprecated file type FILETYPE_SOFTWARE removed +================================================================= + +See :issue:`61859` + +Description +=========== + +The constant :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_SOFTWARE` has been removed. + + +Impact +====== + +Using the removed constant will result in a fatal error. + + +Affected installations +====================== + +Any installation using an extension that uses the constant :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_SOFTWARE`. + + +Migration +========= + +Use :code:`\TYPO3\CMS\Core\Resource\AbstractFile::FILETYPE_APPLICATION` instead, which matches the Iana standard. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61860-RemoveIntFromVerFunction.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61860-RemoveIntFromVerFunction.rst new file mode 100644 index 000000000000..ec52d501a8d3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61860-RemoveIntFromVerFunction.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #61860 - deprecated function int_from_ver removed +=========================================================== + +See :issue:`61860` + +Description +=========== + +Function :code:`int_from_ver()` from :code:`\TYPO3\CMS\Core\Utility\GeneralUtility` has been removed. + + +Impact +====== + +Extensions that still use the function :code:`int_from_ver()` won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed function. + + +Migration +========= + +Replace the usage of the removed function with :code:`\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger()` diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61863-ConnectDbFunctionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61863-ConnectDbFunctionRemoved.rst new file mode 100644 index 000000000000..851c79ad9c87 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61863-ConnectDbFunctionRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Breaking: #61863 - deprecated connectDB from EidUtility removed +=============================================================== + +See :issue:`61863` + +Description +=========== + +Method :code:`connectDB()` from :code:`\TYPO3\CMS\Frontend\Utility\EidUtility` has been removed. + + +Impact +====== + +Extensions that still use the function :code:`connectDB()` will trigger a fatal +PHP error when an eID script is called. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed function. + + +Migration +========= + +The function can be removed safely. The database will connect itself if needed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61890-Remove-TBE-Styling-From-FormEngine.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61890-Remove-TBE-Styling-From-FormEngine.rst new file mode 100644 index 000000000000..5400720a847a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61890-Remove-TBE-Styling-From-FormEngine.rst @@ -0,0 +1,93 @@ + +.. include:: ../../Includes.txt + +============================================================== +Breaking: #61890 - TBE Styling removed from FormEngine and TCA +============================================================== + +See :issue:`61890` + +Description +=========== + +The styling functionality of FormEngine was based on a mixture of loose variables within :code:`$GLOBALS['TBE_STYLES']` +overridden by hardcoded values in various Backend PHP classes. This setup, additionally mixed with CSS classes +that followed a very complicated syntax to render certain fields differently, has been removed in order to allow +Backend styling for FormEngine completely based on CSS/LESS. + + +Impact +====== + +Using the following CSS classes within FormEngine don't have any effect anymore: + +* class-main +* class-main1 +* class-main2 +* class-main3 +* class-main4 +* class-main5 +* class-main11 +* class-main12 +* class-main13 +* class-main14 +* class-main15 +* class-main21 +* class-main22 +* class-main23 +* class-main24 +* class-main25 +* class-main31 +* class-main32 +* class-main33 +* class-main34 +* class-main35 +* class-main41 +* class-main42 +* class-main43 +* class-main44 +* class-main45 +* class-main51 +* class-main52 +* class-main53 +* class-main54 +* class-main55 +* wrapperTable +* wrapperTable1 +* wrapperTable2 +* wrapperTable3 +* wrapperTable4 +* wrapperTable5 +* formField +* formField1 +* formField2 +* formField3 +* formField4 +* formField5 + +Additionally, the following keys of $TBE_STYLES have no effect anymore: + +* $TBE_STYLES['colorschemes'] +* $TBE_STYLES['styleschemes'] +* $TBE_STYLES['borderschemes'] + +They can safely removed from any third party extension. + +The 5th parameter defining custom styleschemes in any field defined in $TCA[mytable][types][mytype][showitem] or +$TCA[mytable][palettes][mypalette][showitem] has no effect anymore and can be removed from any third party extension +(e.g. myfield;mylabel;usedpalette;extraDefinition;stylescheme). + +Any styling is now done solely via LESS. + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the CSS classes for styling or dynamic HTML via JavaScript. + + +Migration +========= + +Use the available CSS classes for custom styling and modifying FormEngine. Clean up any custom TCA definitions with a +stylescheme in 3rd party extensions, where the fifth parameter of a field definition in +$TCA[mytable][types][mytype][showitem] or $TCA[mytable][palettes][mypalette][showitem] is used. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61959-FlashMessageClasses.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61959-FlashMessageClasses.rst new file mode 100644 index 000000000000..1363a733f93b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-61959-FlashMessageClasses.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #61959 - Move flash message output to alerts +====================================================== + +See :issue:`61959` + +Description +=========== + +Flash messages are now styled by using the native CSS classes of Twitter Bootstrap. The changed classes are: + +* "typo3-message message-notice" => "alert alert-notice" +* "typo3-message message-information" => "alert alert-info" +* "typo3-message message-ok" => "alert alert-success" +* "typo3-message message-warning" => "alert alert-warning" +* "typo3-message message-error" => "alert alert-danger" + +Impact +====== + +Extensions which use the old classes like "typo3-message message-information" rely on deprecated CSS classes +which might lead to non styled output. + +Affected installations +====================== + +Any installation that uses the HTML of flash messages without calling the API. + +Migration +========= + +Change the used CSS classes to the new ones. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62038-RemovedDocumentTemplateOptions.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62038-RemovedDocumentTemplateOptions.rst new file mode 100644 index 000000000000..6313339c7275 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62038-RemovedDocumentTemplateOptions.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #62038 - Deprecated DocumentTemplate functionality +============================================================ + +See :issue:`62038` + +Description +=========== + +The Backend/DocumentTemplate class contains various options that have no effect in the core anymore: + +:code:`$doc->JScodeLibArray` +:code:`$doc->docType` (as rendering is always as HTML5 by default) +:code:`$doc->inDocStyles` (use inDocStylesArray) +:code:`$doc->inDocStyles_TBEstyle` (now used as inDocStylesArray[tbeStyle] +:code:`$doc->charset` (always utf-8) + +The methods :code:`$doc->formatTime()` and :code:`$doc->menuTable()` have also +been deprecated as they are not used anymore. + +Impact +====== + +Extensions that still use the properties of DocumentTemplate will not see any changes in the output +of the code anymore. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the unused variables. + + +Migration +========= + +The variables can be removed safely, any modifications is possible via hooks in DocumentTemplate. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62039-RemovedTBE_StylesMainColors.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62039-RemovedTBE_StylesMainColors.rst new file mode 100644 index 000000000000..778c477f7688 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62039-RemovedTBE_StylesMainColors.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #62039 - Removed TBE_STYLES[mainColors] +================================================= + +See :issue:`62039` + +Description +=========== + +The values within :code:`$TBE_STYLES[mainColors]` are redundant and can be completely defined via CSS nowadays. The +corresponding PHP leftovers are removed from the core and have no effect anymore. + + +Impact +====== + +Setting the variables within :code:`$TBE_STYLES[mainColors]` and using the :code:`$doc->bgColor*` and :code:`$doc->hoverColor` properties +of DocumentTemplate have no effect anymore. + + +Affected installations +====================== + +Any installation using an extension that is overriding skin info via :code:`$TBE_STYLES[mainColors]`. + + +Migration +========= + +Use CSS directly to modify the appearance of the Backend. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62291-RTEDeprecatedJavaScriptMethodsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62291-RTEDeprecatedJavaScriptMethodsRemoved.rst new file mode 100644 index 000000000000..e92a58ebaf03 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62291-RTEDeprecatedJavaScriptMethodsRemoved.rst @@ -0,0 +1,78 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #62291 - RTE Deprecated JavaScript methods removed +============================================================ + +See :issue:`62291` + +Description +=========== + +The following RTE JavaScript methods, deprecated since TYPO3 4.7, have been removed: + +HTMLArea.Editor.forceRedraw: use HTMLArea.Framework.doLayout instead + +HTMLArea.Editor.convertNode: use HTMLArea.DOM.convertNode instead +HTMLArea.Editor.getBlockAncestors: use HTMLArea.DOM.getBlockAncestors instead +HTMLArea.getInnerText: use HTMLArea.DOM.getInnerText instead +HTMLArea.hasAllowedAttributes: use HTMLArea.DOM.hasAllowedAttributes instead +HTMLArea.isBlockElement: use HTMLArea.DOM.isBlockElement instead +HTMLArea.needsClosingTag: use HTMLArea.DOM.needsClosingTag instead +HTMLArea.Editor.rangeIntersectsNode: use HTMLArea.DOM.rangeIntersectsNode instead +HTMLArea.removeFromParent: use HTMLArea.DOM.removeFromParent instead + +HTMLArea.Editor.cleanAppleStyleSpans: use HTMLArea.DOM.Node.cleanAppleStyleSpans instead +HTMLArea.Editor.removeMarkup: use HTMLArea.DOM.Node.removeMarkup instead +HTMLArea.Editor.wrapWithInlineElement: use HTMLArea.DOM.Node.wrapWithInlineElement instead + +HTMLArea.Editor.addRangeToSelection: use HTMLArea.DOM.Selection.addRange instead +HTMLArea.Editor._createRange: use HTMLArea.DOM.Selection.createRange instead +HTMLArea.Editor.emptySelection: use HTMLArea.DOM.Selection.empty instead +HTMLArea.Editor.endPointsInSameBlock: use HTMLArea.DOM.Selection.endPointsInSameBlock instead +HTMLArea.Editor.execCommand: use HTMLArea.DOM.Selection.execCommand instead +HTMLArea.Editor._getSelection: use HTMLArea.DOM.Selection.get instead +HTMLArea.Editor.getAllAncestors: use HTMLArea.DOM.Selection.getAllAncestors instead +HTMLArea.Editor.getSelectedElement: use HTMLArea.DOM.Selection.getElement instead +HTMLArea.Editor.getEndBlocks: use HTMLArea.DOM.Selection.getEndBlocks instead +HTMLArea.Editor._getFirstAncestor: use HTMLArea.DOM.Selection.getFirstAncestorOfType instead +HTMLArea.Editor.getFullySelectedNode: use HTMLArea.DOM.Selection.getFullySelectedNode instead +HTMLArea.Editor.getSelectedHTML: use HTMLArea.DOM.Selection.getHtml instead +HTMLArea.Editor.getSelectedHTMLContents: use HTMLArea.DOM.Selection.getHtml instead +HTMLArea.Editor.getParentElement: use HTMLArea.DOM.Selection.getParentElement instead +HTMLArea.Editor.getSelectionRanges: use HTMLArea.DOM.Selection.getRanges instead +HTMLArea.Editor.getSelectionType: use HTMLArea.DOM.Selection.getType instead +HTMLArea.Editor.insertHTML: use HTMLArea.DOM.Selection.insertHtml instead +HTMLArea.Editor.insertNodeAtSelection: use HTMLArea.DOM.Selection.insertNode instead +HTMLArea.Editor._selectionEmpty: use HTMLArea.DOM.Selection.isEmpty instead +HTMLArea.Editor.hasSelectedText: use !HTMLArea.DOM.Selection.isEmpty instead +HTMLArea.Editor.selectNode: use HTMLArea.DOM.Selection.selectNode instead +HTMLArea.Editor.selectNodeContents: use HTMLArea.DOM.Selection.selectNodeContents instead +HTMLArea.Editor.selectRange: use HTMLArea.DOM.Selection.selectRange instead +HTMLArea.Editor.setSelectionRanges: use HTMLArea.DOM.Selection.setRanges instead +HTMLArea.Editor.surroundHTML: use HTMLArea.DOM.Selection.surroundHtml instead + +HTMLArea.Editor.getBookmark: use HTMLArea.DOM.BookMark.get instead +HTMLArea.Editor.getBookmarkNode: use HTMLArea.DOM.BookMark.getEndPoint instead +HTMLArea.Editor.moveToBookmark: use HTMLArea.DOM.BookMark.moveTo instead + +HTMLArea.htmlDecode: use HTMLArea.util.htmlDecode instead +HTMLArea.htmlEncode: use HTMLArea.util.htmlEncode instead + +Impact +====== + +3rd party extensions adding plugins to the RTE and using the removed methods will fail. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension of the RTE refers to the removed methods. + + +Migration +========= + +The affected 3rd party extensions must be modified to use the replacement methods. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62339-MoveExtPermIntoExtBeuser.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62339-MoveExtPermIntoExtBeuser.rst new file mode 100644 index 000000000000..a7c6c0a5e80a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62339-MoveExtPermIntoExtBeuser.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #62339 - Move EXT:perm into EXT:beuser and remove EXT:perm +==================================================================== + +See :issue:`62339` + +Description +=========== + +The extension EXT:perm is removed from core, the perms module is moved into EXT:beuser. +The BE module moved from "Web Access" to "System Access" + + +Impact +====== + +Extensions that use EXT:perm or maybe depends on it will cause problems + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses parts the removed extension. + + +Migration +========= + +The logic is moved into EXT:beuser. No special migration is necessary. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.rst new file mode 100644 index 000000000000..4d467dcd018b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62416-DeprecatedCodeRemovalInCoreSysext.rst @@ -0,0 +1,113 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #62416 - Removal of deprecated code in sysext core +============================================================ + +See :issue:`62416` + +Description +=========== + +DataHandler +----------- + +:code:`DataHandler::clear_cache()` has been removed. Use :code:`->clear_cacheCmd()` instead. Alternatively you can +call :code:`->registerPageCacheClearing()` from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes. + +:code:`DataHandler::internal_clearPageCache()` has been removed, please use the cache manager directly. + +The hook ['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables'] has been removed, use the caching framework with database backend instead. + + +DatabaseConnection +------------------ + +All connection parameters (host, username, password, db) for methods sql_connect(), sql_select_db() and connectDB() have been removed. + + +PackageManager +-------------- + +The globally defined REQUIRED_EXTENSIONS constant has been removed. + + +ExtensionManagementUtility +-------------------------- + +Parameter classPath of insertModuleFunction() is now unused. Leverage autoloading instead. + + +Removed PHP classes +------------------- + +* TYPO3\CMS\Core\Resource\Service\IndexerService has been removed without replacement. Indexing is done internally. +* TYPO3\CMS\Core\Compatibility\GlobalObjectDeprecationDecorator has been removed without replacement. + Do not use $GLOBALS[\'typo3CacheManager\'] and $GLOBALS[\'typo3CacheFactory\'] anymore, use GeneralUtility::makeInstance() instead. + + +Removed PHP class members +------------------------- + +* AbstractUserAuthentication::$cookieId has been removed. Use isCookieSet() instead. + + +Removed PHP methods +------------------- + +* GeneralUtility::array_merge_recursive_overrule() has been removed. Use ArrayUtility::mergeRecursiveWithOverrule() instead. + WARNING: The new method changed its signature and does not return the first parameter anymore. +* GeneralUtility::htmlspecialchars_decode() has been removed in favor of the native PHP htmlspecialchars_decode() function. +* CategoryRegistry::get() has been removed. Use isRegistered() instead. +* CategoryRegistry::applyTca() has been removed. The functionality is obsolete. +* DataHandler::clear_cache() has been removed. Use ->clear_cacheCmd instead. Alternatively you can + call ->registerPageCacheClearing() from a hook to not immediately clear the cache but register clearing after DataHandler operation finishes. +* DataHandler::internal_clearPageCache() has been removed, use the cache manager directly. +* FileRepository::findByUid() has been removed without replacement. +* FileRepository::addToIndex() has been removed without replacement. Indexing is done transparently. +* FileRepository::getFileIndexRecordsForFolder() has been removed. Use FileIndexRepository::findByFolder() instead. +* FileRepository::getFileIndexRecord() has been removed. Use FileIndexRepository::findOneByFileObject() instead. +* FileRepository::findBySha1Hash() has been removed. Use FileIndexRepository::findByContentHash() instead. +* FileRepository::update() has been removed. Use FileIndexRepository::update() instead. +* ResourceStorage::getFolderByIdentifier() is replaced by getFolder(). +* ResourceStorage::getFileByIdentifier() is replaced by getFileInfoByIdentifier(). +* ResourceStorage::getFileList() is replaced by getFilesInFolder(). +* ResourceStorage::getFolderList() has been removed. Use getFoldersInFolder() instead. +* ResourceStorage::fetchFolderListFromDriver() has been removed. Use getFoldersInFolder() instead. +* BasicFileUtility::getTotalFileInfo() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages() +* BasicFileUtility::checkFileNameLen() has been removed. Use ResourceStorage instead via $GLOBALS['BE_USER']->getFileStorages() +* BasicFileUtility::isPathValid() has been removed in favor of GeneralUtility::validPathStr(). +* BasicFileUtility::blindPath() has been removed without replacement. +* BasicFileUtility::findTempFolder() has been removed without replacement. +* BasicFileUtility::rmDoubleSlash() has been removed without replacement. +* BasicFileUtility::cleanDirectoryName() has been removed. Use PathUtility::getCanonicalPath() instead. +* ExtendedFileUtility::init_actionPerms() is replaced with setActionPermissions(). +* ExtendedFileUtility::printLogErrorMessages() is replaced with pushErrorMessagesToFlashMessageQueue(). +* ExtendedFileUtility::findRecycler() has been removed. Use ResourceStorage instead. +* RteHtmlParser::rteImageStorageDir() and SelectImage::getRTEImageStorageDir() are removed. + Use $fileFactory->getFolderObjectFromCombinedIdentifier($GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_imageStorageDir']); instead. +* Locales::getTerLocales() has been removed without replacement. +* Locales::getTerLocaleDependencies() has been removed without replacement. +* ExtensionManagementUtility::getRequiredExtensionListArray() has been removed without replacement. +* ExtensionManagementUtility::writeNewExtensionList() has been removed without replacement. +* PhpOptionsUtility::isSqlSafeModeEnabled() has been removed without replacement. +* ClassLoader::getAliasForClassName() is replaced with getAliasesForClassName(). + + +Impact +====== + +A call to any of the aforementioned methods by third party code will result in a fatal PHP error. + + +Affected installations +====================== + +Any installation which contains third party code still using these deprecated methods. + + +Migration +========= + +Replace the calls with the suggestions outlined above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62595-RemovedChangeToSwitchModeFromBeUser.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62595-RemovedChangeToSwitchModeFromBeUser.rst new file mode 100644 index 000000000000..1e370e514d9a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62595-RemovedChangeToSwitchModeFromBeUser.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=========================================== +Breaking: #62595 - Remove SU change-to mode +=========================================== + +See :issue:`62595` + +Description +=========== + +The permanent user switch has been removed from backend user list for a better UX. + + +Impact +====== + +The parameter "emulate" in the view helper "SwitchUser" is dropped. Using the +argument causes an error "Argument "emulate" was not registered". + + +Affected installations +====================== + +Any installation using an extension that uses the view helper "SwitchUser" with +"emulate" argument. + + +Migration +========= + +Drop the "emulate" argument in the view helper call. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62670-DeprecatedCodeRemovalInMultipleSysexts.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62670-DeprecatedCodeRemovalInMultipleSysexts.rst new file mode 100644 index 000000000000..67ec6a94afa4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62670-DeprecatedCodeRemovalInMultipleSysexts.rst @@ -0,0 +1,94 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #62670 - Removal of deprecated code in multiple sysexts +================================================================= + +See :issue:`62670` + +Description +=========== + +DBAL DatabaseConnection +----------------------- + +All connection parameters (host, username, password, db) for methods :code:`sql_connect()` and :code:`sql_select_db()` are removed. + + +CSS Styled Content +------------------ + +The old frontend plugin file `pi1/class.tx_cssstyledcontent_pi1.php` is removed. +Refer to `Classes/Controller/CssStyledContentController.php` instead. + + +Install Tool +------------ + +The check for PHP's magic_quotes_gpc settings is removed, as the feature is disabled since PHP 5.4. + + +Removed files +------------- + +* lang/lang.php is removed. You don't need to include this file anymore, just use :code:`\TYPO3\CMS\Lang\LanguageService` directly. +* :file:`rtehtmlarea/htmlarea/plugins/DynamicCSS/dynamiccss.css` is removed. The file was not used. + + +Removed PHP classes +------------------- + +* TYPO3\CMS\Scheduler\Task\FileIndexingTask is removed without replacement. + + +Removed PHP class members +------------------------- + +* TypoScriptFrontendController::$absRefPrefix_force is removed without replacement. + + +Removed PHP methods +------------------- + +* LanguageService::JScharCode is removed, use GeneralUtility::quoteJSvalue instead. +* ContentObjectRenderer::joinTSarrays is removed without replacement. +* TypoScriptFrontendController::tidyHTML is removed without replacement. You may use the tidy extension from TER. +* ElementBrowser::isWebFolder is removed without replacement. +* ElementBrowser::checkFolder is removed without replacement. +* AbstractDatabaseRecordList::getTreeObject is removed without replacement. +* FileList::dirData is removed without replacement. +* FilesContentObject::stdWrapValue is removed, use ContentObjectRenderer::stdWrapValue instead. +* ImportExportController::userTempFolder is removed, use getDefaultImportExportFolder instead. +* ImportExportController::userSaveFolder is removed, use getDefaultImportExportFolder instead. +* CrawlerHook::loadIndexerClass is removed without replacement. +* DatabaseIntegrityView::func_filesearch is removed without replacement. +* DatabaseIntegrityView::findFile is removed without replacement. +* RteHtmlAreaBase::buildStyleSheet is removed without replacement. +* RteHtmlAreaBase::loremIpsumInsert is removed without replacement. +* StagesService::checkCustomStagingForWS is removed without replacement. + + +Removed JS functions +-------------------- + +* tx_rsaauth_encrypt is removed without replacement. +* tx_rsaauth_feencrypt is removed without replacement. + + +Impact +====== + +A call to any of the aforementioned methods by third party code will result in a fatal PHP error. + + +Affected installations +====================== + +Any installation which contains third party code still using these deprecated methods. + + +Migration +========= + +Replace the calls with the suggestions outlined above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62673-ExtbaseDeprecatedCodeRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62673-ExtbaseDeprecatedCodeRemoved.rst new file mode 100644 index 000000000000..8f5efc64f7f7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62673-ExtbaseDeprecatedCodeRemoved.rst @@ -0,0 +1,66 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #62673 - Deprecated extbase code is removed +===================================================== + +See :issue:`62673` + +Description +=========== + +Generic\Qom\Statement +--------------------- + +You may no longer use bound variables without using a prepared statement. + +ActionController +---------------- + +Support for old view configuration options templateRootPath, layoutRootPath and partialRootPath is dropped. +Use the new options with fallback mechanism. + + +Removed PHP classes +------------------- + +* QueryObjectModelConstantsInterface +* QueryObjectModelFactoryInterface + + +Removed PHP class members +------------------------- + +* ActionController::$viewObjectNamePattern is removed without replacement +* Repository::$backend is removed, use persistence manager instead + + +Removed PHP methods +------------------- + +* ObjectManager::create() is removed, use ObjectManager::get() instead +* ObjectManagerInterface::create() is removed +* Persistence\Generic\Backend::replaceObject() is removed without replacement +* QuerySettingsInterface::setReturnRawQueryResult() is removed without replacement +* QuerySettingsInterface::getReturnRawQueryResult() is removed, use the parameter on $query->execute() directly +* Typo3QuerySettings::setSysLanguageUid() is removed, use setLanguageUid() instead +* Typo3QuerySettings::getSysLanguageUid() is removed, use getLanguageUid() instead + + +Impact +====== + +A call to any of the aforementioned methods by third party code will result in a fatal PHP error. + + +Affected installations +====================== + +Any installation which contains third party code still using these deprecated methods. + + +Migration +========= + +Replace the calls with the suggestions outlined above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62731-RTEWizardClassesRenamed.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62731-RTEWizardClassesRenamed.rst new file mode 100644 index 000000000000..210e26fcaf67 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62731-RTEWizardClassesRenamed.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #62291 - RTE wizard classes renamed +============================================= + +See :issue:`62291` + +Description +=========== + +The following two RTE classes were renamed: + +TYPO3\CMS\Rtehtmlarea\ContentParser renamed to TYPO3\CMS\Rtehtmlarea\Controller\ParseHtmlController +TYPO3\CMS\Rtehtmlarea\User renamed to TYPO3\CMS\Rtehtmlarea\Controller\UserElementsController + + +Impact +====== + +3rd party extensions referring to an old class name will fail. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension refers to a renamed class by its old name. + + +Migration +========= + +The affected 3rd party extensions must be modified to use the new names of these classes. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62733-RTEJavaScriptFilesMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62733-RTEJavaScriptFilesMoved.rst new file mode 100644 index 000000000000..e174af02b2f1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62733-RTEJavaScriptFilesMoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #62733 - RTE Javascript Files Moved +============================================================= + +See :issue:`62733` + +Description +=========== + +Javascript files of the rtehtmlarea extension were moved from EXT:rtehtmlarea/htmlarea/ to +EXT:rtehtmlarea/Resources/Public/JavaScript/ + + +Impact +====== + +Javascript or file not found errors. + + +Affected installations +====================== + +An installation is affected if a 3rd party extension loads any JavaScript file from EXT:rtehtmlarea/htmlarea/ + + +Migration +========= + +Any affected 3rd party extension must be modified to load any JavaScript file from EXT:rtehtmlarea/Resources/Public/JavaScript/ instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62793-RemoveConfigNotification.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62793-RemoveConfigNotification.rst new file mode 100644 index 000000000000..e77416ecf288 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62793-RemoveConfigNotification.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #62793 - TypoScript config.notification_* removed +=========================================================== + +See :issue:`62793` + +Description +=========== + +The following TypoScript options were removed: + +:code:`config.notification_email_charset` +:code:`config.notification_email_encoding` +:code:`config.notification_email_urlmode` + + +Impact +====== + +Using those options have no effect anymore. + + +Affected installations +====================== + +Instances that set these options in FE TypoScript. + + +Migration +========= + +Those options can be safely removed. They were used with old mail handling and +are substituted with a different engine that rendered those useless. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62804-RTEJavaScriptMethodMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62804-RTEJavaScriptMethodMoved.rst new file mode 100644 index 000000000000..ea4e07bd3f66 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62804-RTEJavaScriptMethodMoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +===================================================================================== +Breaking: #62804 - RTE JavaScript method HTMLArea.Editor::getNodeByPosition was moved +===================================================================================== + +See :issue:`62804` + +Description +=========== + +RTE JavaScript method :code:`getNodeByPosition()` was moved from HTMLArea.Editor to HTMLArea.DOM.Node where it belongs. + + +Impact +====== + +3rd party extensions referring to :code:`HTMLArea.Editor::getNodeByPosition()` will fail. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension refers to the method :code:`HTMLArea.Editor::getNodeByPosition()`. + + +Migration +========= + +The affected 3rd party extensions must be modified to use method :code:`HTMLArea.DOM.Node::getNodeByPosition()` +instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62819-LocalizationWithPHPFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62819-LocalizationWithPHPFiles.rst new file mode 100644 index 000000000000..0cb1d681ef51 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62819-LocalizationWithPHPFiles.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +================================================== +Breaking: #62819 - Remove php Localization Support +================================================== + +See :issue:`62819` + +Description +=========== + +The support for php files in localization, e.g. locallang.php files was deprecated with TYPO3 CMS 4.6. All translations +are done with XLF in the core, XML files are still supported. + +The parsing of PHP localization files is now disabled by default, the parsing class is now deprecated. + + +Impact +====== + +Extensions using locallang.php files for translation will not show labels anymore. + + +Affected installations +====================== + +All installations with third-party extensions using locallang.php translation files. + + +Migration +========= + +Third-party extensions should migrate their translation files to the XLIFF format (XLF file extension). The extension +development extension (Extension Key "extdeveval") can be used to transform locallang.php files to according XLF files. + +Until this is done, it is possible to enable this option again by adding the following lines to +typo3conf/AdditionalConfiguration.php: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['priority'] = 'xlf,xml,php'; + $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['format']['parser']['php'] = 'TYPO3\\CMS\\Core\\Localization\\Parser\\LocallangArrayParser'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62833-Dividers2Tabs.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62833-Dividers2Tabs.rst new file mode 100644 index 000000000000..162e632c018d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62833-Dividers2Tabs.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #62833 - Removed dividers2tabs functionality +====================================================== + +See :issue:`62833` + +Description +=========== + +The "dividers2tabs" option in the ctrl section of TCA allows to show tabs in FormEngine while editing records, +instead of showing all fields in one long column. This behaviour is the default since some TYPO3 versions. + +This option has no effect anymore, as "dividers2tabs" is removed for TYPO3 CMS Core. The option can also be +safely removed from any extension that adds TCA data. + + +Impact +====== + +A third-party extension that overrides the dividers2tabs option for an existing table or that adds a TCA table +with this option disabled will have a record editing with tabs from now on. + + +Affected installations +====================== + +Installations with 3rd-party extensions with TCA tables that have "dividers2tabs" disabled. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62859-RemovalDocumentationLinkActionViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62859-RemovalDocumentationLinkActionViewHelper.rst new file mode 100644 index 000000000000..d94e69449d67 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62859-RemovalDocumentationLinkActionViewHelper.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #62859 - Removal of doc:link.action view helper +========================================================= + +See :issue:`62859` + +Description +=========== + +The view helper :code:`\TYPO3\CMS\Documentation\ViewHelpers\Link\Action` has been removed. + + +Impact +====== + +Extensions that rely on existence of :code:`\TYPO3\CMS\Documentation\ViewHelpers\Link\Action` won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed view helper. + + +Migration +========= + +Either use f:be.buttons.icon or any of f:uri.* view helpers. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62888-RemoveUniqueLinkVars.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62888-RemoveUniqueLinkVars.rst new file mode 100644 index 000000000000..566ce24fa915 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62888-RemoveUniqueLinkVars.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +=============================================== +Breaking: #62888 - Remove config.uniqueLinkVars +=============================================== + +See :issue:`62888` + +Description +=========== + +The setting :code:`config.uniqueLinkVars` has been removed as the behaviour is +now always used. + + +Migration +========= + +Remove the setting :code:`config.uniqueLinkVars` from the TypoScript. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62914-EarlyCheckPHP55InInstallTool.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62914-EarlyCheckPHP55InInstallTool.rst new file mode 100644 index 000000000000..f7917f6e5d80 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62914-EarlyCheckPHP55InInstallTool.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #62914 - Early check for PHP 5.5 in Install Tool +========================================================== + +See :issue:`62914` + +Description +=========== + +PHP 5.5 or above is a requirement for TYPO3 CMS7. As code is using specific PHP 5.5 features, an +early check is required in Install Tool. + + +Impact +====== + +Install Tool will throw an exception if PHP 5.5 or above is not detected. + + +Affected installations +====================== + +Any installation without at least PHP 5.5.0. + + +Migration +========= + +Upgrade to PHP 5.5 or above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62987-RemoveCSHGlossary.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62987-RemoveCSHGlossary.rst new file mode 100644 index 000000000000..cd0dcb624611 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-62987-RemoveCSHGlossary.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +====================================== +Breaking: #62987 - Remove CSH Glossary +====================================== + +See :issue:`62987` + +Description +=========== + +Early TYPO3 versions featured a glossary functionality, served by an extension, with built in switches in the core. +Those switches are now removed. + +Impact +====== + +The functionality is no longer available. + +Affected installations +====================== + +Any installation using the CSH Glossary functionality. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63056-TemplateSelectionHack.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63056-TemplateSelectionHack.rst new file mode 100644 index 000000000000..57f75a68495f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63056-TemplateSelectionHack.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #63056 - Remove Template Selection Hack +================================================= + +See :issue:`63056` + +Description +=========== + +There has been an ancient hack for the former "freesite" extension, which enabled selection +of the template via GET variable. +This technique is outdated and has been removed. + +Impact +====== + +Any extension using this hack will not be able to select the template this way anymore. + +Affected installations +====================== + +Installations with third party extensions using the hack. + +Migration +========= + +No migration path intended. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63069-RemovedCompatibilityLayerForSubmodulesOfModules.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63069-RemovedCompatibilityLayerForSubmodulesOfModules.rst new file mode 100644 index 000000000000..87aa389435f6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63069-RemovedCompatibilityLayerForSubmodulesOfModules.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Breaking: #63069 - Removed compatibility layer for submodules of func and info modules +====================================================================================== + +See :issue:`63069` + +Description +=========== + +The web_info and web_func modules use the module dispatcher now and do not have +their own index scripts. +Therefore any submodule for those modules need to adjust links accordingly. + + +Impact +====== + +Any third party code creating links to either web_info or web_func module using the old entry scripts, +will not work anymore. + + +Migration +========= + +Use :code:`BackendUtility::getModuleUrl()` instead to get the correct target for your links. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63110-AltDocNoDoc-Removed.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63110-AltDocNoDoc-Removed.rst new file mode 100644 index 000000000000..c7e438816b05 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-63110-AltDocNoDoc-Removed.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +============================================ +Breaking: #63110 - alt_doc_nodoc.php removed +============================================ + +See :issue:`63110` + +Description +=========== + +Script entry point typo3/alt_doc_nodoc.php and NoDocumentsOpenController class are removed without substitution. + +Impact +====== + +A script pointing to this file resource will trigger a 404 server response and a script instantiating the class will cause a fatal error. + +Affected installations +====================== + +An extension needs to be adapted in the unlikely case that it uses this code. + +Migration +========= + +Redirecting to typo3/dummy.php instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-75942-BigDocumentTemplateClassRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-75942-BigDocumentTemplateClassRemoved.rst new file mode 100644 index 000000000000..af1d99741dd2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Breaking-75942-BigDocumentTemplateClassRemoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #75942 - BigDocumentTemplate class removed +==================================================== + +See :issue:`75942` + +Description +=========== + +The following class has been removed: + +:code:`\TYPO3\CMS\Backend\Template\BigDocumentTemplate` + + +Impact +====== + +Extensions that still use the removed class for their backend module won't work. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension uses the removed class. + + +Migration +========= + +Use :code:`\TYPO3\CMS\Backend\Template\DocumentTemplate` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-60574-ClientRelatedConditions.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-60574-ClientRelatedConditions.rst new file mode 100644 index 000000000000..8439d8c6f2bd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-60574-ClientRelatedConditions.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +=============================================== +Deprecation: #60574 - Client Related Conditions +=============================================== + +See :issue:`60574` + +Description +=========== + +Conditions that depend on client details are unlovely for a number +of reasons: + +* Per condition or permutation of conditions that matches, the frontend + creates a different cache entry. This can lead to a very high number + of cache entrys per page +* Conditions based on browser or clients on server side are bad practice. +* The device information in the core is outdated (for example it is possible to match "AMIGA") +* Setups like reverse proxies give additional headaches with these types of conditions +* All client related condition types are deprecated with this patch. + + +Impact +====== + +Usage of client related TypoScript conditions will result in a deprecation log message. Client related conditions +are browser, version, system and useragent. + +Affected installations +====================== + +Installations using TypoScript conditions for browser, version, system or useragent. + +Migration +========= +* Most usual conditions for specific browsers can nowadays be turned into conditional CSS includes +* Use libraries such as modernizr for browser support +* If conditions for specific clients or devices are still needed, they + should be done with a userFunc condition and a project like WURFL + that keep the device information more recent than the current core + code like matching AMIGA diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst new file mode 100644 index 000000000000..1f142a3532f5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Deprecation: #61513 - Use native htmlspecialchars in ExtendedTemplateService +============================================================================ + +See :issue:`61513` + +Description +=========== + +In previous versions the ExtendedTemplateService used a conditional wrapper method to apply htmlspecialchars() +for rendering TypoScript search labels, keys and comments in the backend. This option was never used, so +htmlspecialchars() was always activated rendering the option and method redundant and not necessary. +Calls to the method are removed. The ExtendedTemplateServer method and property are now marked as deprecated +for removal with CMS 8. + +Impact +====== + +Custom extensions using the flag ExtendedTemplateService->ext_noSpecialCharsOnLabels or a custom implementation +of ExtendedTemplateService might get different results when using this switch within the class. + +Affected installations +====================== + +Installations using ExtendedTemplateService in their own extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62363-TSFE-JSfuncCalls.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62363-TSFE-JSfuncCalls.rst new file mode 100644 index 000000000000..6cec3543cdc3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62363-TSFE-JSfuncCalls.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +===================================================== +Deprecation: #62363 - TSFE->JSeventFuncCalls disabled +===================================================== + +See :issue:`62363` + +Description +=========== + +TYPO3 CMS provides a way to register direct JS calls to be added to the body tag of the frontend output +to allow several functions to register for e.g. "onload". Nowadays this is done via JS frameworks directly, +or via JS variables. + +The functionality has been marked as deprecated. + +Impact +====== + +The core does not use this functionality anymore. Installations with menus using "GMENU_LAYERS", +which has been removed from the core a while ago, but still use it via third-party extensions, +might not work anymore as expected. + + +Affected installations +====================== + +All installations which use the :code:`$TSFE->JSeventFuncCalls` option, e.g. like GMENU_LAYERS. + +Migration +========= + +Every call of a 3rd party extension to the mentioned method must be changed to use their own +JS function registration. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62794-DeprecateOldMailMethodsInGeneralUtility.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62794-DeprecateOldMailMethodsInGeneralUtility.rst new file mode 100644 index 000000000000..04c6424892bb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62794-DeprecateOldMailMethodsInGeneralUtility.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +==================================================== +Deprecation: #62794 - Mail methods in GeneralUtility +==================================================== + +See :issue:`62794` + +Description +=========== + +The following methods of the class \TYPO3\CMS\Core\Utility\GeneralUtility have been marked as deprecated: + +- quoted_printable() +- encodeHeader() +- substUrlsInPlainText() + +Impact +====== + +The methods were used together with the old mail API and are now obsolete. Deprecation warnings will be triggered if used. + +Affected installations +====================== + +Installations that still use those methods will trigger deprecations warnings. + + +Migration +========= + +Code that still uses these methods should be refactored to the mail API using +TYPO3\CMS\Core\Mail\Mailer class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62795-DocumentTemplateJavaScript.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62795-DocumentTemplateJavaScript.rst new file mode 100644 index 000000000000..334abcae5144 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62795-DocumentTemplateJavaScript.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=================================================== +Deprecation: #62795 - DocumentTemplate->endPageJS() +=================================================== + +See :issue:`62795` + +Description +=========== + +Method :code:`TYPO3\CMS\Backend\Template\DocumentTemplate::endPageJS()` and the according property :code:`endJS` have been marked as deprecated. + + +Impact +====== + +None, as it isn't in use anymore since TYPO3 CMS 4.5 and was responsible for notifying the browser that the session +is still active. + + +Affected installations +====================== + +Installations misusing top.busy until now for their own good will break. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62800-WorkspaceToolbarItem.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62800-WorkspaceToolbarItem.rst new file mode 100644 index 000000000000..75fa13a891d7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62800-WorkspaceToolbarItem.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #62800 - Workspaces ToolbarItem via ExtDirect +========================================================== + +See :issue:`62800` + +Description +=========== + +The PHP functionality for switching a workspace was done with the ExtDirect call :code:`TYPO3.Ajax.ExtDirect.ToolbarMenu` +until now. This has been replaced by a simple AJAX JSON call, based on jQuery and the refactored ToolbarItem Menu for +the workspaces module. + +Impact +====== + +The core does not use this functionality anymore, and also removed the ExtDirect registration for this class. + + +Affected installations +====================== + +All installations which directly used the ExtDirect :code:`TYPO3.Ajax.ExtDirect.ToolbarMenu` to fetch the data. + +Migration +========= + +Use the new AjaxHandler :code:`Workspaces::setWorkspace()` directly instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62854-Deprecate-pi_list_searchBox.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62854-Deprecate-pi_list_searchBox.rst new file mode 100644 index 000000000000..bd2cdfb1df6f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62854-Deprecate-pi_list_searchBox.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +========================================================= +Deprecation: #62854 - Abstractplugin->pi_list_searchBox() +========================================================= + +See :issue:`62854` + +Description +=========== + +Method :code:`pi_list_searchBox()` of AbstractPlugin (aka pibase) was used with very old +search solutions and is hopelessly outdated. It is now discouraged to be used +and will be removed with next major version. + + +Impact +====== + +Extensions still using :code:`pi_list_searchBox()` will throw a deprecation warning. + +Affected installations +====================== + +Any extension still using this method needs to be adapted. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62864-HelpTextIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62864-HelpTextIcon.rst new file mode 100644 index 000000000000..451997a05f83 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62864-HelpTextIcon.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #62864 - BackendUtility->helpTextIcon deprecated +============================================================= + +See :issue:`62864` + +Description +=========== + +The function :code:`helpTextIcon()` in BackendUtility has been marked as deprecated. + +Impact +====== + +The core does not use this functionality anymore. + + +Affected installations +====================== + +All installations which use the function :code:`helpTextIcon()`. + +Migration +========= + +Use :code:`BackendUtility::cshItem()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62893-FlashmessageJavaScriptObjectMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62893-FlashmessageJavaScriptObjectMoved.rst new file mode 100644 index 000000000000..0e8d9aaac747 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62893-FlashmessageJavaScriptObjectMoved.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +================================================================================== +Deprecation: #62893 - Flashmessage JavaScript object TYPO3.Flashmessages was moved +================================================================================== + +See :issue:`62893` + +Description +=========== + +Flashmessages JavaScript object has been moved from `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages`. +The severity constant values has been changed to correspond to the same values (-2,-1,0,1,2) of the constants as in PHP. +The constants `TYPO3.Severity.information` have been marked as deprecated. +3rd party extensions referring to `TYPO3.Severity.information` will work until CMS 9. +A compatibility file was introduced to map `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages`, will also work until CMS 9. + + +Impact +====== + +If a 3rd party extension calls the mentioned methods directly, a deprecation log will be written to the browser console. + + +Affected installations +====================== + +A TYPO3 instance is affected if a 3rd party extension refers to the method `TYPO3.Flashmessages.display()` or uses `TYPO3.Severity.information` constants. + + +Migration +========= + +The affected 3rd party extensions must be modified to use `top.TYPO3.Flashmessages` instead of `TYPO3.Flashmessages`. + +Example: + +.. code-block:: javascript + + // Old and deprecated: + TYPO3.Flashmessages.display(TYPO3.Severity.notice) + + // New and the only correct way: + top.TYPO3.Flashmessages.display(top.TYPO3.Severity.notice) + +The `TYPO3.Severity` object has been moved to `top.TYPO3.Severity`. Use `top.TYPO3.Severity.*` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62988-DocumentTemplateFunctions.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62988-DocumentTemplateFunctions.rst new file mode 100644 index 000000000000..8518493b1133 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Deprecation-62988-DocumentTemplateFunctions.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Deprecation: #62988 - Deprecate unused/non-unified DocumentTemplate code +======================================================================== + +See :issue:`62988` + +Description +=========== + +Several functions within DocumentTemplate are not encouraged to be used anymore. + +The hard-coded background image setting via :code:`$TBE_STYLES['background']` is removed and its usage is deprecated. + +Additionally, the font-wrapping methods *rfw()* and *dfw()* are deprecated. +The according CSS was removed from the core. + +The method *collapseableSection()*, which was used solely by the reports module for ages in a buggy +way, is also deprecated in favor of Bootstrap collapseables and localstorage. + +Impact +====== + +The core does not use this functionality anymore. + + +Affected installations +====================== + +All installations which use the setting :code:`$GLOBALS['TBE_STYLES']['background']` or any of the functions: + +* dfw() +* rfw() +* collapseableSection() + +Migration +========= + +* Use CSS directly instead of :code:`$GLOBALS['TBE_STYLES']['background']` +* Use the CSS class *text-muted* instead of the method :code:`dfw()` +* Use the CSS class *text-danger* instead of the method :code:`rfw()` +* Use HTML bootstrap classes, localStorage etc. instead of :code:`collapseableSection()` + diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-47919-CatchContentRenderingExceptions.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-47919-CatchContentRenderingExceptions.rst new file mode 100644 index 000000000000..5f66d0c8dac5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-47919-CatchContentRenderingExceptions.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +========================================================================================================= +Feature: #47919 - Possibility to configure an exception handler when rendering TypoScript content objects +========================================================================================================= + +See :issue:`47919` + +Description +=========== + +Exceptions which occur during rendering of content objects (typically plugins) will now be caught +by default in production context and an error message is shown as rendered output. +If this is done, the page will remain available while the section of the page that produces an error (throws an exception) +will show a configurable error message. By default this error message contains a random code which references +the exception which is also logged by the logging framework for developer reference. + +Usage: + +.. code-block:: typoscript + + # Use 1 for the default exception handler (enabled by default in production context) + config.contentObjectExceptionHandler = 1 + + # Use a class name for individual exception handlers + config.contentObjectExceptionHandler = TYPO3\CMS\Frontend\ContentObject\Exception\ProductionExceptionHandler + + # Customize the error message. A randomly generated code is replaced within the message if needed. + config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %s + + # Configure exception codes which will not be handled, but bubble up again (useful for temporary fatal errors) + tt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813 + + # Disable the exception handling for an individual plugin/ content object + tt_content.login.20.exceptionHandler = 0 + + # ignoreCodes and errorMessage can be both configured globally … + config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %s + config.contentObjectExceptionHandler.ignoreCodes.10 = 1414512813 + + # … or locally for individual content objects + tt_content.login.20.exceptionHandler.errorMessage = Oops an error occurred. Code: %s + tt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813 + +.. + +Impact +====== + +Instead of breaking the whole page when an exception occurs, an error message is shown for the part of the page that is broken. +Be aware that unlike before, it is now possible that a page with error message gets cached. +To get rid of the error message not only the actual error needs to be fixed, but the cache must be cleared for this page. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-50039-MultipleCssFilesInRte.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-50039-MultipleCssFilesInRte.rst new file mode 100644 index 000000000000..b2df05ae8f50 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-50039-MultipleCssFilesInRte.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #50039 - Multiple CSS Files in Rich Text Editor +======================================================== + +See :issue:`50039` + +Description +=========== + +It is now possible to import more than one CSS file for the Rich Text Editor. + +New syntax is: + +.. code-block:: typoscript + + RTE.default.contentCSS { + file1 = fileadmin/myStylesheet1.css + file2 = fileadmin/myStylesheet2.css + } + + +Impact +====== + +The old syntax may still be used. If no CSS files are set, the RTE default CSS +file is used as before. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-51905-AddDependenciesBetweenClassesInRte.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-51905-AddDependenciesBetweenClassesInRte.rst new file mode 100644 index 000000000000..24ab516cc9e5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-51905-AddDependenciesBetweenClassesInRte.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Feature: #51905 - Add dependencies between classes in the Rich Text Editor +========================================================================== + +See :issue:`51905` + +Description +=========== + +It is now possible to configure a class as requiring other classes. + +The syntax of this new property is + +.. code-block:: typoscript + + RTE.classes.[ *classname* ] { + .requires = list of class names; list of classes that are required by the class; + if this property, in combination with others, produces a circular relationship, it is ignored; + when a class is added on an element, the classes it requires are also added, possibly recursively; + when a class is removed from an element, any non-selectable class that is not required by any of the classes remaining on the element is also removed. + } + + +Impact +====== + +There is no impact on previous configurations. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54518-ProvideTsconfigToLinkCheckers.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54518-ProvideTsconfigToLinkCheckers.rst new file mode 100644 index 000000000000..10ace60f0fc6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54518-ProvideTsconfigToLinkCheckers.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #54518 - Provide TSconfig to link checkers +=================================================== + +See :issue:`54518` + +Description +=========== + +The active TSconfig of the linkvalidator is stored in the LinkAnalyser and made +publicly available to the link checkers. + +The TSconfig is read either from the currently active TSconfig in the Backend +when the linkvalidator is used in the info module or from the configuration +provided in the linkvalidator scheduler task. + +This allows passing configuration to the different link checkers. + + +Usage: + +.. code-block:: typoscript + + # The configuration in mod.linkvalidator can be read by the link checkers. + mod.linkvalidator.mychecker.myvar = 1 + +.. + +Impact +====== + +The method signature of `\TYPO3\CMS\Linkvalidator::LinkAnalyser::init()` is changed. A new parameter has been added +for submitting the current TSconfig. This can break third party code that extends this method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54519-CheckDisabledLinkhandlerRecords.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54519-CheckDisabledLinkhandlerRecords.rst new file mode 100644 index 000000000000..dbb020635667 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-54519-CheckDisabledLinkhandlerRecords.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #54519 - Report links to disabled linkhandler records +============================================================== + +See :issue:`54519` + +Description +=========== + +A new configuration option has been introduced for the linkhandler link checker +in the linkvalidator extension: + +.. code-block:: typoscript + + mod.linkvalidator.linkhandler.reportHiddenRecords = 1 + +.. + +When enabled links will be considered invalid when they point to disabled records. +By default only links to deleted records are reported. + +Impact +====== + +The `\TYPO3\CMS\Linkvalidator\Linktype::checkLink()` method has been restructured +and will now determine if the linked record is deleted or hidden and report +a error depending on the `reportHiddenRecords` configuration. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-58122-ConfigureClassAsNonSelectableInRte.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-58122-ConfigureClassAsNonSelectableInRte.rst new file mode 100644 index 000000000000..77f3dbd15657 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-58122-ConfigureClassAsNonSelectableInRte.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #58122 - Configure class as non-selectable in Rich Text Editor +======================================================================= + +See :issue:`58122` + +Description +=========== + +It is now possible to configure a class as non-selectable in the style selectors of the Rich Text Editor. + +The syntax of this new property is + +.. code-block:: typoscript + + RTE.classes.[ *classname* ] { + .selectable = boolean; if set to 0, the class is not selectable in the style selectors; if the property is omitted or set to 1, the class is selectable in the style selectors + } + + +Impact +====== + +There is no impact on previous configurations. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59396-TypolinkViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59396-TypolinkViewHelper.rst new file mode 100644 index 000000000000..ef32315b01d6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59396-TypolinkViewHelper.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +==================================== +Feature: #59396 - TypolinkViewHelper +==================================== + +See :issue:`59396` + +Description +=========== + +Adding Link and Uri ViewHelper that cope with the contents of any field that was filled with a link wizard in +TYPO3 CMS Backend. +Those fields contain various parts split by a space and being escaped to provide input for the +typoLink function. +In order to use those fields natively in Fluid without the need of TypoScript in between, this ViewHelper +was introduced. +It takes the field content as a whole and can additionally take some parameters directly from Fluid. + +The full parameter usage in Fluid might look like this, where {link} is the field content: + +.. code-block:: HTML + + <f:link.typolink parameter="{link}" target="_blank" class="ico-class" title="some title" additionalParams="b=u" additionalAttributes="{type:'button'}"> + + <f:uri.typolink parameter="{link}" additionalParameters="b=u"> + + +Only *parameter* is required, all other parameters are optional. +While passing additional parameters to the ViewHelper, following rules apply: + +- target is overridden, the value from Fluid applies +- class is merged from the values passed from the database and those of *class* +- title is overridden, the value from Fluid applies +- additionalParams is merged from the values passed from the database and those of *additionalParams* +- additionalAttributes is (as usual) added to the resulting tag as *type="button"* + +{link} contains *19 _blank - "testtitle with whitespace" &X=y*. +In case of the Uri.Typolink Viewhelper, only the first and the fourth parameter of the field content are taken into account, +the tag related properties are discarded. +For the given examples, the output is: + +.. code-block:: HTML + + <a href="index.php?id=19&X=y&b=u" title="some title" target="_blank" class="ico-class" type="button"> + index.php?id=19&X=y&b=u + </a> + +Impact +====== + +The new ViewHelper can be used in all new projects. There is no interference with any part of existing code. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59830-IntroduceReadOnlyColumnForFileMounts.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59830-IntroduceReadOnlyColumnForFileMounts.rst new file mode 100644 index 000000000000..ad57ec2ea135 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-59830-IntroduceReadOnlyColumnForFileMounts.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #59830 - Introduce read-only column for file mounts +============================================================ + +See :issue:`59830` + +Description +=========== + +File mount records now have a new flag "read only". This flag replaces the virtual flag introduced earlier, +so it can be defined natively in the record. + + +Impact +====== + +The impact is low as the old behavior still exists. A storage was never marked as read-only before. There is +an option to set this through UserTs, but now it is also possible to set it on the storage record directly. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60064-LoggingFrameworkIntrospectionProcessor.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60064-LoggingFrameworkIntrospectionProcessor.rst new file mode 100644 index 000000000000..07b149590466 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60064-LoggingFrameworkIntrospectionProcessor.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #60064 - Logging Framework Introspection Processor +=========================================================== + +See :issue:`60064` + +Description +=========== + +The introspection processor of the logging framework has been extended to log the full PHP backtrace and not only the last +element of a backtrace. + +Two options were added to enable this feature: + +- :code:`appendFullBackTrace`, boolean, not mandatory` Add full backtrace to the log + +- :code:`shiftBackTraceLevel`, integer, default 0, not mandatory` Removes the given number of entries from the top of the backtrace stack. + +Impact +====== + +The introspection processor behaves as before as long as the feature is not explicitly configured. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60123-UnitTestCaseRemovesTestFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60123-UnitTestCaseRemovesTestFiles.rst new file mode 100644 index 000000000000..a6dae69ffdab --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60123-UnitTestCaseRemovesTestFiles.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #60123 - Unit base test case removes test files +======================================================== + +See :issue:`60123` + +Description +=========== + +Some unit tests need to create test files or directories to check the system +under test. Those files should be removed again. +A test can now register absolute file paths in :code:`$this->testFilesToDelete`, and +the generic :code:`tearDown()` method will then remove them. Only files, links and directories +within typo3temp/ are allowed. + +Impact +====== + +This allows tests to clean up the environment without leaving obsolete test files behind. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60567-ShowStylesSegmentInTypoScriptObjectBrowser.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60567-ShowStylesSegmentInTypoScriptObjectBrowser.rst new file mode 100644 index 000000000000..bc4ef5ff49e0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60567-ShowStylesSegmentInTypoScriptObjectBrowser.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #60567 - Show Styles Segment in TS Object Browser +========================================================== + +See :issue:`60567` + +Description +=========== + +The TypoScript Object Browser now shows the setup segment :code:`styles.` + + +Impact +====== + +The segment is cached in the Frontend and not unset anymore, page cache entries increase slightly in size. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60822-AddMethodsToGetClassTagValuesViaReflection.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60822-AddMethodsToGetClassTagValuesViaReflection.rst new file mode 100644 index 000000000000..ea6fdff194de --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-60822-AddMethodsToGetClassTagValuesViaReflection.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +================================================================= +Feature: #60822 - Class annotations in extbase reflection service +================================================================= + +See :issue:`60822` + +Description +=========== + +The extbase reflection service can now return tags/annotations added to a class. + +Suppose the given class: + +.. code-block:: php + + /** + * @SomeClassAnnotation A value + */ + class Foo { + } + + +Those annotation can be fetched with the reflection service: + +.. code-block:: php + + $service = new \TYPO3\CMS\Extbase\Reflection\ReflectionService(); + $classValues = $service->getClassTagsValues('Foo'); + $classValue = $service->getClassTagValue('Foo', 'SomeClassAnnotation'); + + +Impact +====== + +Getting class tags by ReflectionService is now possible. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61185-AllowSvgAsExtensionIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61185-AllowSvgAsExtensionIcon.rst new file mode 100644 index 000000000000..a21e21762e58 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61185-AllowSvgAsExtensionIcon.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #66185 - Allow Svg Files as Extension icon +=================================================== + +See :issue:`66185` + +Description +=========== + +Extension authors can ship Extensions with an ext_icon file with the suffixes .png, .svg and .gif. + + +Impact +====== + +Extension icons might be rendered better when provided as vector graphics and not as bitmaps. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61289-SignalForIconUtilityHtmlTagManipulation.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61289-SignalForIconUtilityHtmlTagManipulation.rst new file mode 100644 index 000000000000..6abc1ef7d1dd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61289-SignalForIconUtilityHtmlTagManipulation.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #61289 - Signal for IconUtility html tag manipulation +============================================================== + +See :issue:`61289` + +Description +=========== + +This signal allows to manipulate the rendered html code for a sprite icon by an extension. + +Currently all sprite icons are rendered as +:code: <span class=""> </span>`. + +Extensions can now adjust the html tag, add or remove attributes and define own content in between the html tags. + +Impact +====== + +The rendered html code is no longer a span with fixed classes, but can be modified by an extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61351-AddDataAttributeToFluidViewHelpers.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61351-AddDataAttributeToFluidViewHelpers.rst new file mode 100644 index 000000000000..c4b344f494ee --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61351-AddDataAttributeToFluidViewHelpers.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #61351 - Add data attribute to Fluid ViewHelpers +========================================================= + +See :issue:`61351` + +Description +=========== + +Since HTML5 Elements can contain a generic data attribute, +Fluid provides for those elements the possibility to add +key-value pairs as array, which will be rendered as +`data-$key="$value"`. + +.. code-block:: html + + <f:form.textfield data="{foo: 'bar', baz: 'foos'}" /> + +Impact +====== + +Generic data attributes do not need to be passed by the +`additionalAttributes` array anymore making the viewhelper +more straightforward to use. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61361-FallbackTemplatePathsForFluidStandaloneView.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61361-FallbackTemplatePathsForFluidStandaloneView.rst new file mode 100644 index 000000000000..216162b56caf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61361-FallbackTemplatePathsForFluidStandaloneView.rst @@ -0,0 +1,85 @@ + +.. include:: ../../Includes.txt + +=================================================================================== +Feature: #61361 - Template Path Fallback for Fluid StandaloneView and FLUIDTEMPLATE +=================================================================================== + +See :issue:`61361` + +Description +=========== + +StandaloneView +-------------- + +Earlier in the development of Fluid, a template fallback was introduced +in the TemplateView, providing the possibility to pass a set of possible +file locations to the View Configuration, where Templates, Layouts and Partials +can be found. + +The same functionality is now available in the StandaloneView. It is possible to +let the system look up the fitting paths for Partials and Layouts. It is +in the nature of the StandaloneView to get a specific template file set, so +for Templates there is no lookup requirement. + +As a developer or integrator, you can configure your View as follows: + +.. code-block:: php + + $view = $this->objectManager->get(\TYPO3\CMS\Fluid\View\StandaloneView::class); + $view->setFormat('html'); + $view->setTemplatePathAndFileName(ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Templates/Email.html'); + $view->setLayoutRootPaths(array( + 'default' => ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Layouts', + 'specific' => ExtensionManagementUtility::extPath('myTemplateExt') . 'Resources/Private/Layouts/MyExt', + )); + $view->setPartialRootPaths(array( + 'default' => ExtensionManagementUtility::extPath('myExt') . 'Resources/Private/Partials', + 'specific' => ExtensionManagementUtility::extPath('myTemplateExt') . 'Resources/Private/Layouts/MyExt', + 'evenMoreSpecific' => 'fileAdmin/templates/myExt/Partials', + )); + + +With this, the View will first look up the requested layout file in the path with the key +:code:`specific`, and in case there is no such file, it will fall back to :code:`default`. For the partials the +sequence would be :code:`evenMoreSpecific`, then :code:`specific`, then fall back to :code:`default`. + +You are free in the naming +of the keys. The paths are searched from bottom to top. +In case you choose for numeric array keys, the array is ordered first, then reversed for the lookup, so +the highest index is accessed first. + +FLUIDTEMPLATE +------------- + +Additionally the TypoScript Content Object FLUIDTEMPLATE, which is based on StandaloneView, also supports this +kind of fallback mechanism. +Two new TypoScript options are added for this purpose: + +- partialRootPaths +- layoutRootPaths + +Example usage: + +.. code-block:: typoscript + + page.10 = FLUIDTEMPLATE + page.10.file = EXT:sitedesign/Resources/Private/Templates/Main.html + page.10.partialRootPaths { + 10 = EXT:sitedesign/Resources/Private/Partials + 20 = EXT:sitemodification/Resources/Private/Partials + } + + +In case you're using the old options (partialRootPath, layoutRootPath) together with the new options, the content of +the old options will be placed at the first position (index zero) in the fallback list. + + +Impact +====== + +In order to change the skin of an extension output, provided by the Fluid StandaloneView, you are no longer required to +copy the whole Resources folder into fileadmin or to some specific location, but you can pick only the files you want +to change. Those need to be organized in folders, which are then configured for the view. The system will fall through +all the provided locations, taking the first fitting file it finds. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61489-AbstractTypoScriptCondition.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61489-AbstractTypoScriptCondition.rst new file mode 100644 index 000000000000..be022fb6e229 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61489-AbstractTypoScriptCondition.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #61489 - Allow own TypoScript Condition implementations +================================================================ + +See :issue:`61489` + +Description +=========== + +It is now possible to add own TypoScript conditions via a +separate API. + +An extension / package can now ship an implementation of a new +abstract class AbstractCondition. Via the existing TypoScript +Condition Syntax the class is called by the simple full namespaced +class name. +The class's main function "matchCondition" can flexibly evaluate +any parameters given after the class name. + +Usage: + +.. code-block:: typoscript + + [BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition] + + [BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = 7] + + [BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = 7, != 6] + + [BigCompanyName\TypoScriptLovePackage\BennisTypoScriptCondition = {$mysite.myconstant}] + +where the TypoScript Condition class deals with =/!= etc itself. + +Impact +====== + +If you've previously used the "userFunc" condition, you are encouraged +to use this new API for your own TypoScript conditions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61529-AddMultipleParameterToCheckboxViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61529-AddMultipleParameterToCheckboxViewHelper.rst new file mode 100644 index 000000000000..5d76993a5bfc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61529-AddMultipleParameterToCheckboxViewHelper.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #61529 - Add multiple parameter to f:form.checkbox +=========================================================== + +See :issue:`61529` + +Description +=========== + +Introduce parameter "multiple" for f:form.checkbox ViewHelper. + +.. code-block:: html + + <f:form action="create" method="POST" name="pizza" object="{pizza}"> + <f:form.checkbox property="covering" multiple="1" value="salami" /><br /> + <f:form.checkbox property="covering" multiple="1" value="ham" /><br /> + <f:form.checkbox property="covering" multiple="1" value="cheese" /><br /> + <f:form.submit value="Send" /> + </f:form> + + +Impact +====== + +If you add the parameter "multiple" to your checkboxes, it automatically +appends [] to the name of your checkbox. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61577-BackendMarkupForCheckboxesWithLabel.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61577-BackendMarkupForCheckboxesWithLabel.rst new file mode 100644 index 000000000000..3c6b6f0d9cbc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61577-BackendMarkupForCheckboxesWithLabel.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #61577 - Backend markup for checkboxes with labels +=========================================================== + +See :issue:`61577` + +Description +=========== + +A typical checkbox with label form element should now be rendered as: + +.. code-block:: html + + <div class="checkbox"> + <label for="someId"> + <input type="checkbox" id="someId" /> + Label text + </label> + </div> + + +Impact +====== + +If this HTML markup is applied, CSS styles by the TYPO3 core will take care of optimized view +and custom CSS has become obsolete. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61668-VideoAndAudioPlayerInBackendRecordInformationWindow.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61668-VideoAndAudioPlayerInBackendRecordInformationWindow.rst new file mode 100644 index 000000000000..b3d27110ba08 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61668-VideoAndAudioPlayerInBackendRecordInformationWindow.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Feature: #61668 - Video and audio playback in backend record information +======================================================================== + +See :issue:`61668` + +Description +=========== + +The record information popup ("i" symbol) can play certain html5 video and audio +types. This is especially useful in the "file list" module. + + +Impact +====== + +Better usability of media files. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61800-FAL-RendererRegistry.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61800-FAL-RendererRegistry.rst new file mode 100644 index 000000000000..59914a3644a3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-61800-FAL-RendererRegistry.rst @@ -0,0 +1,49 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #61800 - Registry for adding file rendering classes +============================================================ + +See :issue:`61800` + +Description +=========== + +To be able to render all kinds of media files a file rendering registry is needed where you can register +a "renderer" class that can generate the needed HTML output. + +Every renderer has a priority between 1 and 100, 100 is more important than 1. +When the rendererRegistry is asked for a renderer that fits a given file all registered renderer classes are "asked", +in order of priority, if they are able to render the file. The first renderer class that can render the file an +instance is returned by the rendererRegistry. + +Every registered renderer class needs to implement the FileRendererInterface. This makes sure the class has a +getPriority(), canRender() and render() method. + +- getPriority() returns integer between 1 and 100 +- canRender() gets a file(Reference) object as parameter and returns TRUE if the class is able to render the file + It checks on mime-type but also storage type etc. can be performed to determine if creating the correct output + is possible +- render() also gets the file(Reference) object as parameter together with width, height and an optional options array + the return value is the HTML output + +A AudioTagRenderer and VideoTagRenderer have already been added. + +It is possible to register your own renderer classes in the ext_localconf.php of an extension. + +Example: + +.. code-block:: php + + $rendererRegistry = \TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance(); + $rendererRegistry->registerRendererClass( + 'MyCompany\\MySpecialMediaFile\\Rendering\\MySpecialMediaFileRenderer' + ); + + +Impact +====== + +The registry on its own doesn't do anything. Some followup patches are needed to use this registry +to find the correct renderer class for rendering videos and other media files in BE preview and FE. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Feature-62147-NewEmailEvalInTCA.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-62147-NewEmailEvalInTCA.rst new file mode 100644 index 000000000000..41605afaa584 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Feature-62147-NewEmailEvalInTCA.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #62147 - New eval option in TCA: email +=============================================== + +See :issue:`62147` + +Description +=========== + +A new option has been added to the eval field: email. This will +check if the entered value is a valid e-mail address server-side. +If not, a flash error message will be shown. + +Usage: + +.. code-block:: php + + 'email' => array( + 'exclude' => 1, + 'label' => 'LLL:EXT:wd_products/Resources/Private/Language/locallang_db.xlf:tx_wdproducts_domain_model_contactperson.email', + 'config' => array( + 'type' => 'input', + 'size' => 30, + 'eval' => 'email,trim' + ), + ) + + +Impact +====== + +Users don't have to write their own validation classes for e-mail validation. diff --git a/typo3/sysext/core/Documentation/Changelog/7.0/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.0/Index.rst new file mode 100644 index 000000000000..148b43d5b211 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.0/Index.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +7.0 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-24900-CompatVersion-Setting-Removed.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-24900-CompatVersion-Setting-Removed.rst new file mode 100644 index 000000000000..9bdc2c80a984 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-24900-CompatVersion-Setting-Removed.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Breaking: #24900 - Remove $TYPO3_CONF_VARS[SYS][compat_version] option +====================================================================== + +See :issue:`24900` + +Description +=========== + +The option `$TYPO3_CONF_VARS[SYS][compat_version]`, which was modified on update in the Install Tool wizard, +has been removed. + +Any checks on `GeneralUtility::compat_version` are now made against the common constant `TYPO3_branch` instead of +the former TYPO3_CONF_VARS option. + +Impact +====== + +Any usage of `$TYPO3_CONF_VARS[SYS][compat_version]` where the value is different than `TYPO3_branch` will result +in unexpected behaviour. + +TypoScript conditions which check for older compat_version will have different behaviour now. + +Affected installations +====================== + +Any installation where `$TYPO3_CONF_VARS[SYS][compat_version]` was not set to the currently running version +or where the value of compat_version was used to simulate behaviour of an older version. +E.g. TypoScript conditions or `GeneralUtility::compat_version` in extensions. + + +Migration +========= + +Remove any direct usage of the option, and use the "compat_version" method within `GeneralUtility` as well as the +TypoScript condition "compat_version" which gives more accurate results. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-44879-CSSStyledContentTypoScriptBlockQuoteInlineStylesRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-44879-CSSStyledContentTypoScriptBlockQuoteInlineStylesRemoved.rst new file mode 100644 index 000000000000..503fa632b4d9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-44879-CSSStyledContentTypoScriptBlockQuoteInlineStylesRemoved.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Breaking: #44879 - TypoScript inline styles from blockquote tag removed +======================================================================= + +See :issue:`44879` + +Description +=========== + +CSS Styled Content renders blockquote tags using :code:`lib.parseFunc_RTE` TypoScript. +For TYPO3 CMS 7.1, the following TypoScript lines have been removed without substitution: + +.. code-block:: typoscript + +lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser = 1 +lib.parseFunc_RTE.externalBlocks.blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;" + +The effect is that the following inline styles have been removed from blockquote tags without substitution: + +.. code-block:: css + + margin-bottom:0; + margin-top:0; + +Impact +====== + +Styling of blockquote tags based on CSS Styled Content could differ after an upgrade to CMS 7.1. + + +Affected installations +====================== + +All CMS 7.1 installations that were upgraded from 7.0 and below which use blockquote tags rendered by :code:`lib.parseFunc_RTE`. + + +Migration +========= + +It is recommended to fix the margins inside your website CSS. Alternatively, you can re-add the above TypoScript lines +to your website TypoScript template (not recommended). diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-57089-ShortcutBehaviour.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-57089-ShortcutBehaviour.rst new file mode 100644 index 000000000000..5440136bfc3f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-57089-ShortcutBehaviour.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +===================================================================================== +Breaking: #57089 - Behaviour of page shortcut to "Parent of selected or current page" +===================================================================================== + +See :issue:`57089` + +Description +=========== + +In former versions of TYPO3 CMS the page shortcut type "Parent of selected or current page" had a misleading label +as the selected page was never taken into account, it always chose the parent of the current page. + +This has been changed and the selected page is now considered, so the parent of the selected page will be used as the target page. + +Impact +====== + +Assuming the supplied upgrade wizard was run, the behaviour of existing shortcuts will not change. + +If you fail to run the upgrade wizard, the target of a shortcut is changed to the parent of the +selected page as the selected page is now respected. + +Affected installations +====================== + +Any installation using shortcut pages with shortcut type "Parent of selected or current page" + +Migration +========= + +Run the supplied upgrade wizard in the Install Tool if it shows up. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-61510-IndexedSearch.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-61510-IndexedSearch.rst new file mode 100644 index 000000000000..a31dfc55cef2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-61510-IndexedSearch.rst @@ -0,0 +1,55 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #61510 - Improvement of indexed_search +================================================ + +See :issue:`61510` + +Description +=========== + +The extension indexed_search is improved in the backend and frontend. + +Backend +------- + +Previously the functionality of indexed_search has been scattered to multiple modules. +Information about indexed_search was available in a custom module in "Admin tools" and 2 sections in the "Info" module. + +The complete code has been moved to a central place, which is now a custom module in the area "Web" and has been rewritten +by using Extbase & Fluid. Translations and a modern UI have been added as well. + + +Impact +====== + +Changes in the Backend +---------------------- + +The previous user configuration for indexed_search modules is not working anymore. +Therefore editors won't see the module anymore after login. + +Changes in the Frontend +----------------------- + +The TypoScript configuration changed. If indexed_search is installed, it is automatically activated: + +.. code-block:: typoscript + + config.index_enable = 1 + config.index_externals = 1 + +Affected installations +====================== + +All installations using indexed_search + +Migration +========= + +Backend +------- + +Reconfigure the backend users and groups if users need to see the module of indexed_search. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62415-DisableAutoCreateRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62415-DisableAutoCreateRemoved.rst new file mode 100644 index 000000000000..20050f5f1cc7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62415-DisableAutoCreateRemoved.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +=========================================================================== +Breaking: #62415 - Remove deprecated disable_autocreate field in workspaces +=========================================================================== + +See :issue:`62415` + +Description +=========== + +The field "disable_autocreate" from ext:workspaces has been removed. + +Impact +====== + +If a 3rd party extension relies on the removed field an SQL error will be thrown. + + +Affected installations +====================== + +An installation is affected if a 3rd party extension relies on the removed field in the database. + +Migration +========= + +Remove any usage of the removed field in 3rd party extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62886-RemoveMeaningfulTempFilePrefix.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62886-RemoveMeaningfulTempFilePrefix.rst new file mode 100644 index 000000000000..b27868f129e7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62886-RemoveMeaningfulTempFilePrefix.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================================== +Breaking: #62886 - Removed setting config.meaningfulTempFilePrefix +================================================================== + +See :issue:`62886` + +Description +=========== + +The setting *config.meaningfulTempFilePrefix* which was still used for images built by GIFBUILDER that were saved in +typo3temp/GB/ has been removed. With this option it was possible to configure a meaningful file prefix limiting +the filename prefix to a certain character length. + +Impact +====== + +All files will always have their original filename fully prepended when stored in the folder typo3temp/GB/. + +Affected Installations +====================== + +All installations using GIFBUILDER to generate images. The files within typo3temp/GB/ will now be called +with the full name of each original file before the hash and the file extension. + +Migration +========= + +The setting should be removed from any TypoScript configuration because it has no impact anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62925-RemoveExtJsDateTimePicker.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62925-RemoveExtJsDateTimePicker.rst new file mode 100644 index 000000000000..ffe9f593090c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-62925-RemoveExtJsDateTimePicker.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #62925 - ExtJS Ext.ux.DateTimePicker removed +====================================================== + +See :issue:`62925` + +Description +=========== + +The old ExtJS component Ext.ux.DateTimePicker has been removed and replaced with a +bootstrap alternative. For technical reasons, the feature had to be removed. +Thus the possibility to use "+3d" or "today" in input fields is no longer +available. + + +Impact +====== + +Extensions which rely on Ext.ux.DateTimePicker will break. + + +Migration +========= + +Use the new bootstrap DateTimePicker component which can be loaded with +require.js. Example implementations can be found in EXT:belog, EXT:scheduler +and the FormEngine component of the TYPO3 CMS core. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63296-Removed-Files.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63296-Removed-Files.rst new file mode 100644 index 000000000000..7dd4db56e216 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63296-Removed-Files.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +================================================== +Breaking: #63296 - Deprecated typo3/ files removed +================================================== + +See :issue:`63296` + +Description +=========== + +The following script entry points have been removed without substitution: + +- typo3/file_edit.php +- typo3/file_newfolder.php +- typo3/file_rename.php +- typo3/file_upload.php +- typo3/show_rechis.php +- typo3/listframe_loader.php + +The corresponding ListFrameLoaderController class is now marked as deprecated. + +Impact +====== + +Any script pointing to one of these file resources will trigger a 404 server response. + +Affected installations +====================== + +An extension needs to be adapted in the unlikely case that it uses a link to any of the files. + +Migration +========= + +The functionality of these scripts (except listframe_loader.php which is not used at all any more) have been moved to "modules". +Use BackendUtility::getModuleUrl() to link to them. The module name is identical to the file name without the ".php" suffix. + +e.g. BackendUtility::getModuleUrl('file_edit'); diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63310-Wizard-Modules-Moved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63310-Wizard-Modules-Moved.rst new file mode 100644 index 000000000000..70e6704cb9cb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63310-Wizard-Modules-Moved.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #63310 - Web=>Functions=>Wizards moved +================================================ + +See :issue:`63310` + +Description +=========== + +The two module functions "Create Pages" and "Sort Pages" located within the extensions "wizard_crpages" and +"wizard_sortpages" were located under Web => Functions => Wizards. This structure is now simplified as the wizards +are moved one level up in Web => Functions. + +Impact +====== + +Any options set via TSconfig for these wizards for the module menu have changed. The existing options don't work +anymore. + +Affected installations +====================== + +Any installation using TSconfig like "web_func.menu.wiz" needs to be adapted. + +Migration +========= + +The respective options "web_func.menu.wiz" have been moved to "web_func.menu.functions". diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63431-BackendToolbarRefactored.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63431-BackendToolbarRefactored.rst new file mode 100644 index 000000000000..93fc01b64374 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63431-BackendToolbarRefactored.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #63431 - Backend toolbar refactored +============================================= + +See :issue:`63431` + +Description +=========== + +The upper right backend toolbar has been refactored with TYPO3 CMS 7.0. A new PHP interface +and a new registration were introduced. + + +Impact +====== + +Extensions that are not adapted to the new interface will not show up in the toolbar anymore, but +will not throw a fatal PHP error. + +Method BackendController::addToolbarItem() has been marked as deprecated. + + +Affected installations +====================== + +If a TYPO3 CMS instance uses extensions based on the old interface and registration, the +according items will no longer show up in the toolbar. + + +Migration +========= + +Extensions must implement the new interface \TYPO3\CMS\Backend\Toolbar\ToolbarItemInterface +and must be registered in $GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems']. + +Warning: The new interface is not 100% finished, method `checkAccess()` will probably be +substituted by two other methods in later versions of TYPO3 CMS. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63437-ClassAliasesMovedToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63437-ClassAliasesMovedToLegacyExtension.rst new file mode 100644 index 000000000000..c10cad64ae2c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63437-ClassAliasesMovedToLegacyExtension.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #63437 - Class aliases moved to legacy extension +========================================================== + +See :issue:`63437` + +Description +=========== + +With the switch to namespaced classes in TYPO3 CMS 6.0, a class alias mechanism +has been set up to support the old class names as aliases for a while. All those +class aliases have been moved to the dedicated extension "compatibility6". This +extension will be removed at some point during the development of TYPO3 CMS 7. + +Removing the class aliases from the core results in a significant performance gain +especially during first load with empty caches. + + +Impact +====== + +If extensions still rely on old non-namespaced class names, EXT:compatibility6 can +be loaded to keep further backwards compatibility for now - with the side-effect of +drained performance. + + +Affected installations +====================== + + +TYPO3 CMS 7 installations need EXT:compatibility6 loaded if old extensions are used that +are still not adapted to the namespaced core classes. + + +Migration +========= + +During an upgrade, the "Extension check" of the install tool may find old extensions that +still rely on old class names and can unload those. The backend may work again to load +EXT:compatibility6, or to unload further extensions that rely on old class names. + +Another option is to manually set all extensions that rely on old class names to "inactive" +in typo3conf/PackageStates.php, or to set EXT:compatibility6 to "active". If a manual change is +done, typo3temp/Cache directory have to be flushed afterwards. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63464-IncludeOnceArraysRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63464-IncludeOnceArraysRemoved.rst new file mode 100644 index 000000000000..a23b30e07ef2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63464-IncludeOnceArraysRemoved.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #63464 - Remove include_once inclusions inside ModuleFunctions +======================================================================== + +See :issue:`63464` + +Description +=========== + +The functionality to include PHP files within module functions (e.g. info module) via an `include_once` array +has been removed. The API did not use the include_once array anymore and certain places were marked as deprecated +since TYPO3 CMS 6.2. All module functions are using the common autoloading functionality via namespaced classes. + +The following `include_once` arrays within the following modules have been removed: + * Web => Page + * Web => Page - New Content Element Wizard + * Web => Functions + * Web => Info + * Web => Template + * Web => Recycler + * User => Task Center + * System => Scheduler + +Impact +====== + +Any non-API usage of the `include_once` array in any custom module function will fail. + + +Affected installations +====================== + +Any installation with an extension using the property `$include_once` to load additional files via direct access instead +of using the API via `ExtensionManagementUtility::insertModuleFunction()`. + + +Migration +========= + +Use the autoloader to load any custom classes inside your code, or any hooks if available in the custom module functions +to include any file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63687-WebFunctionsWizards-Moved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63687-WebFunctionsWizards-Moved.rst new file mode 100644 index 000000000000..1031a18af202 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63687-WebFunctionsWizards-Moved.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #63687 - Web=>Functions=>Wizards moved to legacy extension +==================================================================== + +See :issue:`63687` + +Description +=========== + +Within the "Web" => "Functions" module was a nested layer called "Wizards" where "Sort pages" and +"Bulk-create new pages" resided until TYPO3 CMS 7.1. These are now moved directly underneath "Web" => "Functions", +so the "Wizards" module function becomes obsolete, and with it the whole extension called "func_wizards" that provided +this nested layer. The module function "Wizards" has been moved to the legacy extension EXT:compatibility6. The +extension "func_wizards" has been completely removed from the core. + +Impact +====== + +The existing "Functions" provided by the TYPO3 CMS Core are now directly dependant and hooked into "Web" => "Functions". +Any extensions using "Web" => "Functions" => "Wizards" will not show up anymore. + + +Affected installations +====================== + +TYPO3 CMS 7 installations need EXT:compatibility6 extension loaded if old extensions are still hooked into +"Web" => "Functions" => "Wizards". + +Migration +========= + +Any extension hooking into "Web" => "Functions" => "Wizards" need to be adapted. In their ext_tables.php the +`insertModuleFunction` call does not need to have a 5th parameter given. EXT:compatibility6 is then no longer +needed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63780-RemoveWordStringsFromReferenceIndex.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63780-RemoveWordStringsFromReferenceIndex.rst new file mode 100644 index 000000000000..05fa4cca434c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63780-RemoveWordStringsFromReferenceIndex.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Breaking: #63780 - Remove public properties words and word_strings from ReferenceIndex +====================================================================================== + +See :issue:`63780` + +Description +=========== + +Public properties `words` and `word_strings` have been removed from class `\TYPO3\CMS\Core\Database\ReferenceIndex`. +`ReferenceIndex->words` was always an empty array and `ReferenceIndex->word_strings` contained strings from +input- and text fields of every record that was given to this class instance. + + +Impact +====== + +An extension relying on one of these public properties will fail. + + +Affected installations +====================== + +It is unlikely that any extension used the properties words or word_strings. An instance could be +checked by searching for usages of class `ReferenceIndex`. + + +Migration +========= + +The according logic needs to be re-implemented in an extension that used the content of these +properties. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63818-RemovedStaticFileEdit.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63818-RemovedStaticFileEdit.rst new file mode 100644 index 000000000000..6e525f11fec7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-63818-RemovedStaticFileEdit.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #63818 - Removed Static file edit functionality +========================================================= + +See :issue:`63818` + +Description +=========== + +A special TCA configuration enabled RTE fields to write its content to sections within files. The configuration +was done in `defaultExtras` array, `static_write` section and documented in +TCA reference->AdditionalFeatures->SpecialConfigurationOptions. + +This functionality has been removed without substitution. + +Impact +====== + +Content of RTE fields can no longer be written to files. + + +Affected installations +====================== + +In the unlikely case that this feature was used by anyone its usage can be located by searching for `static_write` +keyword in TCA configuration. + +Migration +========= + +Move this logic elsewhere, eg. use hooks in DataHandler to write out DB content. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64059-Rewritten-JavaScript-Tree-Components.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64059-Rewritten-JavaScript-Tree-Components.rst new file mode 100644 index 000000000000..f92637e81666 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64059-Rewritten-JavaScript-Tree-Components.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +======================================================= +Breaking: #64059 - Rewritten Javascript Tree Components +======================================================= + +See :issue:`64059` + +Description +=========== + +In the process of refactoring prototype/scripta.culo.us code and migrate these to an AMD module, the tree component and its +drag&drop parts have been migrated to a RequireJS / jQuery module. + +The page tree filter functionality of the prototype tree, which is not used in the TYPO3 core, was removed from the +tree component. + +The file :file:`typo3/js/tree.js` has been removed, the replacement code, based on jQuery is located under +EXT:backend/Resources/Public/JavaScript/LegacyTree.js. + + +Impact +====== + +Any usages in third party extensions that include :file:`js/tree.js` will fail, as the tree component has been removed. +Any extension using the filter part of the tree.js component will not work. + + +Affected installations +====================== + +Any installation with its own backend module using the tree component from the core. + + +Migration +========= + +Rewrite any needed logic for filtering, and include the RequireJS module like in e.g. +FileSystemNavigationFrameController.php, to use the tree component. If the old code is needed, the :file:`tree.js` file +and prototype need to be included as part of the extension, not from the core. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64070-GlobalWebmountsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64070-GlobalWebmountsRemoved.rst new file mode 100644 index 000000000000..7e900455cb0b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64070-GlobalWebmountsRemoved.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #64070 - Removed global variable WEBMOUNTS +==================================================== + +See :issue:`64070` + +Description +=========== + +The global variable WEBMOUNTS has been removed, as the same data from the WEBMOUNTS can always be fetched via +`$GLOBALS['BE_USER']->returnWebmounts()`. + +Impact +====== + +The variable `$GLOBALS['WEBMOUNTS']` will no longer be filled. + + +Affected installations +====================== + +Any installation using `$GLOBALS['WEBMOUNTS']` directly within an extension will produce a wrong result. + +Migration +========= + +Replace all occurrences of `$GLOBALS['WEBMOUNTS']` with `$GLOBALS['BE_USER']->returnWebmounts()`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64102-MoveT3TableAndT3ButtonToBootstrap.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64102-MoveT3TableAndT3ButtonToBootstrap.rst new file mode 100644 index 000000000000..893f4b56f8fb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64102-MoveT3TableAndT3ButtonToBootstrap.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #64102 - Move t3-table and t3-button to bootstrap +=========================================================== + +See :issue:`64102` + +Description +=========== + +In transition to full bootstrap coverage and streamlining the backend, we are dropping the support for the CSS classes +.t3-table and .t3-button. We are replacing them with the corresponding bootstrap CSS classes for tables and buttons. +See http://getbootstrap.com/css/#tables and http://getbootstrap.com/css/#buttons for more details. + + +Impact +====== + +Custom implementations of tables and buttons in backend modules will lose the TYPO3 default styling. + + +Affected installations +====================== + +Extensions that provide custom backend modules that are using the css classes `.t3-table` or `.t3-button`. + + +Migration +========= + +For tables we recommend the usage of the CSS class combination `table table-striped table-hover` instead of `t3-table`. + +For buttons we recommend the usage of the CSS class combination `btn btn-default` instead of `t3-button`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64131-ResizableTextareasOptionDropped.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64131-ResizableTextareasOptionDropped.rst new file mode 100644 index 000000000000..028954a87944 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64131-ResizableTextareasOptionDropped.rst @@ -0,0 +1,18 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #64131 - Resizable Textarea option removed +==================================================== + +See :issue:`64131` + +Description +=========== + +The User Setting "Resizable Textarea" for FormEngine textarea fields has been removed. + +Impact +====== + +The option and its feature are no longer available. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64143-FlagFilesMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64143-FlagFilesMoved.rst new file mode 100644 index 000000000000..fac9b6e4f108 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64143-FlagFilesMoved.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #64143 - Language / Country Flag files moved +====================================================== + +See :issue:`64143` + +Description +=========== + +The static GIF file collection representing flags within :file:`typo3/gfx/flags/` has been removed. All PNG flag images +from EXT:t3skin are moved from :file:`typo3/sysext/t3skin/images/flags/` to +:file:`typo3/sysext/core/Resources/Public/Icons/flags/`. The according stylesheets for the that :file:`flags-*` icon +files have been moved to EXT:core as well. + +Impact +====== + +Any hard-coded reference on any of the files within :file:`typo3/gfx/flags/` and +:file:`typo3/sysext/core/Resources/Public/Icons/flags/` will result in an error. + +Changing the EXT:t3skin flags sprite now means changing the flags sprite of EXT:core. + +Affected installations +====================== + +Any installation using third-party extensions that access :file:`typo3/gfx/flags/` or +:file:`typo3/sysext/t3skin/images/flags/` will fail. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64190-FormEngineCheckboxElement.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64190-FormEngineCheckboxElement.rst new file mode 100644 index 000000000000..6d4fd603ea8c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64190-FormEngineCheckboxElement.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Breaking: #64190 - FormEngine Checkbox Element limitation of cols setting +========================================================================= + +See :issue:`64190` + +Description +=========== + +The TCA configuration for checkbox cols has been changed. We reduced the +number of accepted values to 1, 2, 3, 4 and 6 to provide a responsive experience. + +For usecases like checkboxes for weekdays like mo, tu, we, th, fr, sa, su +we introduced a new value `inline`. + +Impact +====== + +For values equals 5 or above 6 the rendering of 6 will be used. + + +Affected installations +====================== + +Installations with TCA column configurations for checkboxes with values +equals 5 or above 6. + +Migration +========= + +Choose between one of the supported values or change the display to `inline`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64226-OptionAccessListRenderModeRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64226-OptionAccessListRenderModeRemoved.rst new file mode 100644 index 000000000000..b47adbb426a9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64226-OptionAccessListRenderModeRemoved.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Breaking: #64226 - Option $TYPO3_CONF_VARS[BE][accessListRenderMode] removed +============================================================================ + +See :issue:`64226` + +Description +=========== + +The `$GLOBALS[TYPO3_CONF_VARS][BE][accessListRenderMode]` option, which acted as a shorthand function +to set permission-related fields for modules and excludeFields, has been removed. + +All corresponding fields in TCA tables be_users and be_groups are set to the already-default value `checkbox` +given in the DefaultConfiguration.php file. + +Impact +====== + +All respective fields will show up as a checkbox selection within FormEngine (implying the value +`renderMethod=checkbox`). + + +Affected installations +====================== + +Installations having this option set to something different than `checkbox` will result in a having the fields +displayed as checkboxes. + +Migration +========= + +Choose between the default value `checkbox` (no change required then) or set the following values inside the +`Configuration/TCA/Overrides` files of your project specific extension to the option of your needs. + +.. code-block:: php + + $GLOBALS['TCA']['be_users']['columns']['file_permissions']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_users']['columns']['userMods']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['file_permissions']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['pagetypes_select']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['tables_select']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['tables_modify']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['non_exclude_fields']['config']['renderMode'] = 'singlebox'; + $GLOBALS['TCA']['be_groups']['columns']['userMods']['config']['renderMode'] = 'singlebox'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64229-TrimSubmittedLoginFormData.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64229-TrimSubmittedLoginFormData.rst new file mode 100644 index 000000000000..c282af68da6f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64229-TrimSubmittedLoginFormData.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +============================================================== +Breaking: #64229 - Trim submitted login-form-data before usage +============================================================== + +See :issue:`64229` + +Description +=========== + +Data submitted through the login-forms (frontend and backend) will now be trimmed before the login is performed. +So now all fields (like username or password) with leading/trailing whitespace will have those removed. +Any whitespace inside fields will not be touched. + + +Impact +====== + +Users that have had whitespace at the beginning or end of their username or password will not be able to log in anymore. + + +Affected installations +====================== + +Any installation relying on whitespace at the beginning or end of either a username or a password. +Please note that the TYPO3 backend didn't allow whitespace for username in frontend or backend +and only allowed whitespace for passwords of backend users until now. + + +Migration +========= + +Update usernames and/or passwords. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64637-CSSStyledContentLegacyTypoScriptRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64637-CSSStyledContentLegacyTypoScriptRemoved.rst new file mode 100644 index 000000000000..9f3c247ac32d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64637-CSSStyledContentLegacyTypoScriptRemoved.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Breaking: #64637 - Compatibility CSS Styled Content TypoScript templates removed +================================================================================ + +See :issue:`64637` + +Description +=========== + +CSS Styled Content ships compatibility TypoScript templates for being compatible with older versions. For TYPO3 CMS 7, +all templates to render a compatibility frontend for the following versions have been removed without substitution. + + * TYPO3 CMS 6.1 + * TYPO3 CMS 6.0 + * TYPO3 CMS 4.7 + * TYPO3 CMS 4.6 + * TYPO3 CMS 4.5 + +Impact +====== + +It is not possible to have the TYPO3 CMS 7 Frontend rendering based on CSS Styled Content to behave like a version +prior to TYPO3 CMS 6.2. + + +Affected installations +====================== + +All installations using the TypoScript templates to have the TYPO3 frontend powered via CSS Styled Content with +a compatibility TypoScript will result in no Frontend output. + + +Migration +========= + +For installations still needing the old templates, an old version of the template (e.g. from TYPO3 CMS 6.2) +need to be included separately. Any other installation still using the old TypoScript templates should migrate to +the latest TypoScript templates of CSS Styled Content by choosing the correct version inside the Web=>Template +module. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64639-RemovedContentObjects.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64639-RemovedContentObjects.rst new file mode 100644 index 000000000000..f13a03549b0e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64639-RemovedContentObjects.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #63687 - Outdated ContentObjects moved to legacy extension +==================================================================== + +See :issue:`63687` + +Description +=========== + +The TypoScript Content Objects (cObjects) CLEARGIF, COLUMNS, CTABLE, OTABLE and HRULER have been moved into the legacy extension +EXT:compatibility6. + +Impact +====== + +Any TypoScript using the cObjects above will result in an empty output in the TYPO3 Frontend. + + +Affected installations +====================== + +TYPO3 CMS 7 installations still using the cObjects need EXT:compatibility6 to be loaded if the rendering should +be continued. + +Migration +========= + +Any installation should migrate to alternatives such as FLUIDTEMPLATE to customize the output of the content. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64643-RemoveEnableTypo3tempDbTracking.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64643-RemoveEnableTypo3tempDbTracking.rst new file mode 100644 index 000000000000..d449a7e4ae5f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64643-RemoveEnableTypo3tempDbTracking.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #64643 - Remove functionality for enable_typo3temp_db_tracking +======================================================================== + +See :issue:`64643` + +Description +=========== + +The logic and the database table for tracking generated typo3temp/ images by GraphicalFunctions have been removed +without substitution. The option to enable this functionality `$TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking]` +has been removed. + + +Impact +====== + +Images generated with GraphicalFunctions with the option above enabled will not be tracked in the database anymore. + + +Affected installations +====================== + +Any installation having the option `$TYPO3_CONF_VARS[GFX][enable_typo3temp_db_tracking]` enabled. + + +Migration +========= + +If the functionality or a similar functionality is needed for some edge-cases, an own implementation via a third-party +extension is necessary. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64668-MailformMovedToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64668-MailformMovedToLegacyExtension.rst new file mode 100644 index 000000000000..3bc1daab9f65 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64668-MailformMovedToLegacyExtension.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #64668 - Content Element mailform moved to legacy extension +===================================================================== + +See :issue:`64668` + +Description +=========== + +The fallback "mailform" functionality, containing the `FORM` ContentObject, the submission logic for sending mailform +and the content element (CType=mailform) has been moved to the legacy extension "compatibility6". This mailform +was available when the "Form" extension, introduced in TYPO3 CMS 4.7, was not installed. + +The following options have been marked for deprecation: + +.. code-block:: php + + $TYPO3_CONF_VARS][FE][secureFormmail] + $TYPO3_CONF_VARS][FE][strictFormmail] + $TYPO3_CONF_VARS][FE][formmailMaxAttachmentSize] + +The following methods within TypoScriptFrontendController have been removed: + +.. code-block:: php + + protected checkDataSubmission() + protected sendFormmail() + public extractRecipientCopy() + public codeString() + protected roundTripCryptString() + + +Impact +====== + +Mailform elements are missing and not rendered in the frontend anymore unless EXT:compatibility6 is loaded. + + +Affected installations +====================== + +Any installation using the fallback "mailform" Content Element, the FrontendDataSubmissionController or the FORM +Content Object directly will break. Additionally, any third party extension using the TypoScriptFrontendController +methods directly will stop working with a fatal error. + +Migration +========= + +For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term the affected +installations should migrate to a different, better suited solution for sending mails and building forms. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64671-ContentObjectImgTextMovedToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64671-ContentObjectImgTextMovedToLegacyExtension.rst new file mode 100644 index 000000000000..a5c648b66c8b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64671-ContentObjectImgTextMovedToLegacyExtension.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=========================================================================== +Breaking: #64671 - Outdated ContentObject IMGTEXT moved to legacy extension +=========================================================================== + +See :issue:`64671` + +Description +=========== + +The TypoScript Content Object IMGTEXT has been moved to the legacy extension "compatibility6". + +Impact +====== + +Any TypoScript using the cObject directly or via CSS Styled Content configured using `renderMethod=table` will result +in an empty output in the TYPO3 Frontend. + + +Affected installations +====================== + +TYPO3 CMS 7 installations still using the cObject need EXT:compatibility6 to be loaded. + +Migration +========= + +Any installation should migrate to alternatives such as CSS Styled Content without a table-based rendering for +text w/ image elements to customize the output of content. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64696-MoveSearchCTypeToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64696-MoveSearchCTypeToLegacyExtension.rst new file mode 100644 index 000000000000..424c2a853de0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Breaking-64696-MoveSearchCTypeToLegacyExtension.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #64696 - Content Element "search" moved to legacy extension +===================================================================== + +See :issue:`64696` + +Description +=========== + +The TYPO3 default `search` functionality, which was based on the `FORM` and `SEARCHRESULTS` ContentObjects and the +content element CType=search itself has been moved to the legacy extension EXT:compatibility6. + + +Impact +====== + +Content elements of the Type "Search" are gone and will no longer be rendered in the frontend +unless EXT:compatibility6 is loaded. TypoScript using `SEARCHRESULTS` directly will return nothing. + + +Affected installations +====================== + +Any installation using the simple "search" content element or the `SEARCHRESULTS` ContentObject directly will break. + + +Migration +========= + +For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. For the long term +the affected installations should be migrate to a better suited solution for searching. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-24387-Xhtml2.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-24387-Xhtml2.rst new file mode 100644 index 000000000000..e00331f50497 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-24387-Xhtml2.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Deprecation: #24387 - TypoScript option config.xhtmlDoctype=xhtml_2 +=================================================================== + +See :issue:`24387` + +Description +=========== + +The TypoScript option `config.xhtmlDoctype = xhtml_2` is marked for removal in CMS 8, due to the W3C decision to +fully work on HTML5 instead of XHTML2. See http://www.w3.org/MarkUp/ and http://www.w3.org/News/2010.html#entry-8982 +for more details. + + +Affected installations +====================== + +Any TYPO3 installation with TypoScript that relies on `config.xhtmlDoctype = xhtml_2`. + +Migration +========= + +Use other doctypes like html5 to render the frontend of the TYPO3 site. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-25112-andWhere.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-25112-andWhere.rst new file mode 100644 index 000000000000..5fdcbe5dfffb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-25112-andWhere.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +============================================================== +Deprecation: #25112 - Deprecate TypoScript property "andWhere" +============================================================== + +See :issue:`25112` + +Description +=========== + +The select-property `andWhere` has been marked as deprecated. + +Impact +====== + +A deprecation message is logged for every usage of this property. + + +Affected installations +====================== + +All installations or extensions using the select-property `andWhere`. + + +Migration +========= + +Use the properties `where` and `markers` instead. + +.. code-block:: typoscript + + page.30 = CONTENT + page.30 { + table = tt_content + select { + pidInList = this + orderBy = sorting + where { + dataWrap = sorting>{field:sorting} + } + } + } + page.60 = CONTENT + page.60 { + table = tt_content + select { + pidInList = 73 + where = header != ###whatever### + orderBy = ###sortfield### + markers { + whatever.data = GP:first + sortfield.value = sor + sortfield.wrap = |ting + } + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46523-BackendUtilityImplodeTSParams.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46523-BackendUtilityImplodeTSParams.rst new file mode 100644 index 000000000000..2ca2dcad1721 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46523-BackendUtilityImplodeTSParams.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +======================================================= +Deprecation: #46523 - BackendUtility::implodeTSParams() +======================================================= + +See :issue:`46523` + +Description +=========== + +The method `TYPO3\CMS\Backend\Utility\BackendUtility::implodeTSParams()` has been marked as deprecated and will be +removed in TYPO3 CMS 8. + + +Impact +====== + +Any installation with third-party extensions using this method will throw a deprecation warning. + + +Affected installations +====================== + +Any installation with third-party extensions using the method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46770-LocalImageProcessorGraphicalFunctions.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46770-LocalImageProcessorGraphicalFunctions.rst new file mode 100644 index 000000000000..e0db53d8c495 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-46770-LocalImageProcessorGraphicalFunctions.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Deprecation: #46770 - Deprecate LocalImageProcessor::getTemporaryImageWithText +============================================================================== + +See :issue:`46770` + +Description +=========== + +The public method `LocalImageProcessor::getTemporaryImageWithText()` has been marked as deprecated, it is directly +replaced by `\TYPO3\CMS\Core\Imaging\GraphicalFunctions::getTemporaryImageWithText()`. + + +Impact +====== + +Calling `LocalImageProcessor::getTemporaryImageWithText()` will trigger a deprecation log message. + +Affected installations +====================== + +TYPO3 Installations with custom extensions using the API of the File Abstraction Layer for custom image processing. + +Migration +========= + +Replace all calls to the method to the `LocalImageProcessor` with an instantiation of `GraphicalFunctions` and a call +to `getTemporaryImageWithText()` on the `GraphicalFunctions` object. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-49247-textStyleTableStyleAddParams.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-49247-textStyleTableStyleAddParams.rst new file mode 100644 index 000000000000..10763ca28309 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-49247-textStyleTableStyleAddParams.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================================= +Deprecation: #49247 - Deprecate TypoScript functions "textStyle" and "tableStyle" +================================================================================= + +See :issue:`49247` + +Description +=========== + +The following stdWrap methods have been marked as deprecated: + +* textStyle +* tableStyle + +Impact +====== + +Usage of the mentioned stdWrap methods is deprecated. + + +Affected installations +====================== + +All installations or extensions using the stdWrap methods `textStyle` and `tableStyle`. + + +Migration +========= + +Use CSS instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-60559-MakeLoginBoxImage.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-60559-MakeLoginBoxImage.rst new file mode 100644 index 000000000000..4898bcac7894 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-60559-MakeLoginBoxImage.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +========================================= +Deprecation: #60559 - makeLoginBoxImage() +========================================= + +See :issue:`60559` + +Description +=========== + +Method `TYPO3\CMS\Backend\Controller::makeLoginBoxImage()` has been marked as deprecated. + + +Impact +====== + +Backend login images are no longer rendered. The method body is empty and does not return rendered HTML any longer. + + +Affected installations +====================== + +The method was unused with default backend login screen for a long time already, an installation is only affected if a +3rd party extension was loaded that changed the default login screen and used `makeLoginBoxImage()` or the template marker +`LOGINBOX_IMAGE`. + + +Migration +========= + +Free an affected 3rd party extension from using this method or unload the extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-61605-ChangeNamingOfIncludeJSlibs.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-61605-ChangeNamingOfIncludeJSlibs.rst new file mode 100644 index 000000000000..f22806da918c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-61605-ChangeNamingOfIncludeJSlibs.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Deprecation: #61605 - Change naming of TypoScript property page.includeJSlibs +============================================================================= + +See :issue:`61605` + +Description +=========== + +The existing TypoScript option `page.includeJSlibs` has been renamed +to `page.includeJSLibs` to follow the lower camel case naming scheme. +The existing property has been marked as deprecated. + +Impact +====== + +The old property will be removed with CMS 8 and should be avoided if +it has been used before. + +Affected Installations +====================== + +Any installation using the `page.includeJSlibs` option. + +Migration +========= + +Search and replace all TypoScript code of the installation from +`includeJSlibs` to `includeJSLibs`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62329-DocumentTemplate-table.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62329-DocumentTemplate-table.rst new file mode 100644 index 000000000000..1b0657df00a2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62329-DocumentTemplate-table.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +====================================================== +Deprecation: #62329 - Deprecate DocumentTable::table() +====================================================== + +See :issue:`62329` + +Description +=========== + +`DocumentTable::table()` has been marked as deprecated. + + +Impact +====== + +Calling `table()` of the `DocumentTable` class will trigger a deprecation log message. + + +Affected installations +====================== + +Instances which use `DocumentTable::table()` for rendering tables. + + +Migration +========= + +Use fluid for rendering instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62855-XHTMLCleaningMovedToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62855-XHTMLCleaningMovedToLegacyExtension.rst new file mode 100644 index 000000000000..95f9d951f2c2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-62855-XHTMLCleaningMovedToLegacyExtension.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Deprecation: #62855 - "XHTML cleaning" functionality moved to legacy extension +============================================================================== + +See :issue:`62855` + +Description +=========== + +XHTML cleaning is not necessary anymore, since modern technology bases completely on HTML5. Therefore the +according functionality has been moved to the legacy extension EXT:compatibility6. + +The following TypoScript option has been marked for deprecation: + +.. code-block:: ts + + config.xhtml_cleaning + +The following PHP method has been marked for deprecation: + +.. code-block:: php + + TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::doXHTML_cleaning() + +Impact +====== + +The content output of the TYPO3 frontend is not cleaned anymore unless EXT:compatibility6 is loaded. + + +Affected installations +====================== + +Any installation having the TypoScript option `config.xhtml_cleaning` set will have different behaviour in the +frontend rendering. + +Migration +========= + +For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63324-DataHandler-IncludeFileFunctions.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63324-DataHandler-IncludeFileFunctions.rst new file mode 100644 index 000000000000..55bbb079666f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63324-DataHandler-IncludeFileFunctions.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Deprecation: #62864 - DataHandler->include_filefunctions deprecated +=================================================================== + +See :issue:`62864` + +Description +=========== + +The public property `->include_filefunctions` has been marked as deprecated. +It has not been formally defined and was only created dynamically in the code. + +Impact +====== + +In the history of the core this property has never been used (read). Extensions might have used it. + + +Affected installations +====================== + +All installations running extensions that rely on reading this property. Currently no affected extensions are known. + +Migration +========= + +If your extension needs to know whether the BasicFileUtility has been instantiated in DataHandler it could use `$datahandler->fileFunc instanceof \TYPO3\CMS\Core\Utility\File\BasicFileUtility` diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63522-ClientRelatedConditionDevice.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63522-ClientRelatedConditionDevice.rst new file mode 100644 index 000000000000..10ded124bb3e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-63522-ClientRelatedConditionDevice.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================= +Deprecation: #63522 - Deprecate the "device" TypoScript condition +================================================================= + +See :issue:`63522` + +Description +=========== + +Client related TypoScript conditions the `device` type condition have been marked as deprecated. + +Impact +====== + +Using a condition like `[device = wap]` is considered outdated and should be solved differently. + +Affected installations +====================== + +Instances with TypoScript that rely on `[device = ...]`. + +Migration +========= + +* Most usual conditions for specific browsers can nowadays be turned into conditional CSS includes +* Use libraries such as modernizr for browser support +* If conditions for specific clients or devices are still needed, they + should be done with a userFunc condition and a project like WURFL + that keep the device information more recent than the current core + code like matching AMIGA diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64059-Pagetree-Navigation-Component.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64059-Pagetree-Navigation-Component.rst new file mode 100644 index 000000000000..faebd6f3c793 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64059-Pagetree-Navigation-Component.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #64059 - Non-ExtJS Page Tree Navigation Frame +========================================================== + +See :issue:`64059` + +Description +=========== + +The non-ExtJS page tree navigation frame which was used in the core until TYPO3 CMS 4.5, is still available and can be +included within a module, if the module is registering a navFrameScript in ext_tables.php: + +.. code-block:: php + + 'navFrameScript' => 'alt_db_navframe.php' + + +Impact +====== + +Usage of the PHP class, and the entry script typo3/alt_db_navframe.php has been marked as deprecated. + + +Affected installations +====================== + +All installations with extensions using modules with the non-ExtJS page tree navigation frame. + + +Migration +========= + +Use the ExtJS navigationComponentID instead within the module registration. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64109-Hook-softRefParserGL.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64109-Hook-softRefParserGL.rst new file mode 100644 index 000000000000..e4f6a7263f9c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64109-Hook-softRefParserGL.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #64109 - Deprecate global hook softRefParser_GL +============================================================ + +See :issue:`64109` + + +Description +=========== + +The hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']` has been marked as deprecated. +It was a hook to add a general softRefParser which parsed every SoftReference regardless of its type. +The `softRefParser_GL`-hook was undocumented and used neither in core nor in any known extension. + + +Impact +====== + +Creating a global softRefParser by adding a hook to +`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']` will trigger a deprecation log message. + + +Affected installations +====================== + +Instances with extensions using a `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['softRefParser_GL']`-hook + + +Migration +========= + +A `softRefParser_GL` hook in an extension has to be replaced with multiple `softRefParser` hooks for each type the +parser can handle. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64134-TypoScriptTemplateObjectBrowserModuleFunctionController-verify_TSobjects.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64134-TypoScriptTemplateObjectBrowserModuleFunctionController-verify_TSobjects.rst new file mode 100644 index 000000000000..d97c12a7ae07 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64134-TypoScriptTemplateObjectBrowserModuleFunctionController-verify_TSobjects.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=========================================================================================================== +Deprecation: #64134 - Deprecate TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects() +=========================================================================================================== + +See :issue:`64134` + +Description +=========== + +`TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()` has been marked as deprecated. + + +Impact +====== + +Using `TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()` will trigger a deprecation log message. + + +Affected installations +====================== + +Instances which use of `TypoScriptTemplateObjectBrowserModuleFunctionController::verify_TSobjects()`. + + +Migration +========= + +No migration possible. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64147-ConstantEditorFunctions.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64147-ConstantEditorFunctions.rst new file mode 100644 index 000000000000..58c8a90700b6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64147-ConstantEditorFunctions.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +====================================================== +Deprecation: #64147 - TemplateService->ext_getKeyImage +====================================================== + +See :issue:`64147` + +Description +=========== + +`ExtendedTemplateService::ext_getKeyImage()` has been marked as deprecated. +`ConfigurationForm::ext_getKeyImage()` has been marked as deprecated. + + +Impact +====== + +Using the two methods will throw a deprecation message. + + +Affected installations +====================== + +TYPO3 installations with extensions that call the methods above directly. + + +Migration +========= + +As in the methods directly, plain HTML based on Twitter bootstrap can be used. +Example: `<span class="label label-danger">3</span>`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64361-ComposerClassLoading.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64361-ComposerClassLoading.rst new file mode 100644 index 000000000000..13d42141ba89 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64361-ComposerClassLoading.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +============================================ +Deprecation: #64361 - Composer Class Loading +============================================ + +See :issue:`64361` + +Description +=========== + +TYPO3 CMS started integrating composer support and by that embracing PHP standards PSR-0 and PSR-4 for class +loading that comes with composer. +The old class loader is still present and registered and will handle loading extension classes +that do not follow the above mentioned standards. + +For the time being a pre-compiled composer class loader is shipped with the git repository, +so that people using the TYPO3 sources directly from there can use it without requiring a `composer install` +step. + +It is possible however to do a `composer install` in the TYPO3 sources directory or a top level distribution directory +to gain full control over class loading of your TYPO3 installation. This step is optional and currently requires +thorough knowledge of composer and as such currently is only recommended for people familiar with this process. + +Further technical details can be found in the `wiki`_. + +Impact +====== + +Third party libraries added to a TYPO3 installation via composer can immediately be used without +further manual intervention. The classes cache for most core classes will be gone. Resolving classes +is slowly shifted from a run time task - executed and monitored in every request - to an installation task +with composer. + +Affected installations +====================== + +Some installations could be affected which were previously installed via composer, +but now not properly updated using composer. And outdated Packages/Libraries/autoload.php file +present in the system will lead to fatal errors. + + +Migration +========= + +If you previously installed TYPO3 via composer, make sure you perform a `composer update` command to reflect +the current changes in your Packages folder. + + +.. _`wiki`: http://wiki.typo3.org/ComposerClassLoader + diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64388-ContentObjectMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64388-ContentObjectMethods.rst new file mode 100644 index 000000000000..28ada9228e24 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64388-ContentObjectMethods.rst @@ -0,0 +1,69 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Deprecation: #64388 - Direct ContentObject methods within ContentObjectRenderer +=============================================================================== + +See :issue:`64388` + +Description +=========== + +The following wrapper methods for ContentObject rendering within ContentObjectRenderer +have been marked for removal for TYPO3 CMS 8. + +.. code-block:: php + + FLOWPLAYER() + TEXT() + CLEARGIF() + COBJ_ARRAY() + USER() + FILE() + FILES() + IMAGE() + IMG_RESOURCE() + IMGTEXT() + CONTENT() + RECORDS() + HMENU() + CTABLE() + OTABLE() + COLUMNS() + HRULER() + CASEFUNC() + LOAD_REGISTER() + FORM() + SEARCHRESULT() + TEMPLATE() + FLUIDTEMPLATE() + MULTIMEDIA() + MEDIA() + SWFOBJECT() + QTOBJECT() + SVG() + + +Impact +====== + +Using the methods above directly in any third party extension will trigger a deprecation log message. + + +Affected installations +====================== + +Instances which use custom calls to ContentObjects via the methods above. + + +Migration +========= + +Replace the direct method calls to `$contentObject->COBJECT()` with the common method. + +Example for the SVG() ContentObject call: + +.. code-block:: php + + $cObj->cObjGetSingle('SVG', $conf); diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64711-UnusedCssStyledContentMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64711-UnusedCssStyledContentMethods.rst new file mode 100644 index 000000000000..1358a17e6af1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64711-UnusedCssStyledContentMethods.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Deprecation: #64711 - Various methods within CSS Styled Content Controller +========================================================================== + +See :issue:`64711` + +Description +=========== + +The following methods within the main CSS Styled Content Controller responsible for rendering +custom HTML due to lack of TypoScript logic in the past have been marked for removal for TYPO3 CMS 8. +They are not part of the default CSS Styled Content TypoScript code since TYPO3 CMS 6. + +.. code-block:: php + + CssStyledContentController->render_bullets() + CssStyledContentController->render_uploads() + CssStyledContentController->beautifyFileLink() + +Impact +====== + +Using the methods in custom TypoScript code or CSS Styled Content methods will throw a deprecation message. + +Migration +========= + +Use default TypoScript from CSS Styled Content derived from the current version. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64922-DeprecatedEntryPoints.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64922-DeprecatedEntryPoints.rst new file mode 100644 index 000000000000..ad14900b104e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Deprecation-64922-DeprecatedEntryPoints.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +============================================= +Deprecation: #64922 - Deprecated entry points +============================================= + +See :issue:`64922` + +Description +=========== + +The following entry points have been marked as deprecated: + +* typo3/tce_file.php +* typo3/move_el.php +* typo3/tce_db.php +* typo3/login_frameset.php +* typo3/sysext/cms/layout/db_new_content_el.php +* typo3/sysext/cms/layout/db_layout.php + + +Impact +====== + +Using one of the entry points in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +typo3/tce_file.php +`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('tce_file')` + +typo3/move_el.php +`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('move_element')` + +typo3/tce_db.php +`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('tce_db')` + +typo3/login_frameset.php +`\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('login_frameset')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-15619-LeaveUnchagedInAccessModule.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-15619-LeaveUnchagedInAccessModule.rst new file mode 100644 index 000000000000..b145ce5c70cf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-15619-LeaveUnchagedInAccessModule.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #15619 - Access module: Allow selector as "unchanged" +============================================================== + +See :issue:`15619` + +Description +=========== + +In order to only overwrite permissions in the access module and not the owner/group it is now possible +to set the selector to " - leave unchanged - ". diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-16794-MakeSectionLinkingForIndexedSearchResultsConfigurable.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-16794-MakeSectionLinkingForIndexedSearchResultsConfigurable.rst new file mode 100644 index 000000000000..29ea065a03f7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-16794-MakeSectionLinkingForIndexedSearchResultsConfigurable.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #16794 - Linking of Indexed Search result sections +=========================================================== + +See :issue:`16794` + +Description +=========== + +Per default the section headlines of indexed search results are links. +It is possible to disable those links, thus having the sections +displayed as simple text. + +.. code-block:: typoscript + + plugin.tx_indexedsearch.linkSectionTitles = 0 + +Will result in not linked section headlines. +The setting is per default set to 1 in order to preserve current behaviour. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-20767-getDataByNestedKey.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-20767-getDataByNestedKey.rst new file mode 100644 index 000000000000..da4924e57c22 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-20767-getDataByNestedKey.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #20767 - Allow nested array access on getData of field +=============================================================== + +See :issue:`20767` + +Description +=========== + +Right now the `getData` type in TS only allows to access nested arrays in types GPVar and TSFE. +Now the same is allowed for `field` too. + +If the field value is :code:`array('somekey' => array('level1' => array('level2' => 'somevalue')));`, you can get the +`somevalue` by configuring the following TypoScript. + +.. code-block:: typoscript + + 10 = TEXT + 10.data = field:fieldname|level1|level2 + + +Impact +====== + +You can now access nested keys via getData `field:`. Nested keys are not available with the default set of +content objects, however just content objects and `USER` object may return such a field structure. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-22086-StdWrapForHeadTag.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-22086-StdWrapForHeadTag.rst new file mode 100644 index 000000000000..bc8661d816ad --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-22086-StdWrapForHeadTag.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +===================================================== +Feature: #22086 - Add .stdWrap to page.headTag option +===================================================== + +See :issue:`22086` + +Description +=========== + +The TypoScript setting page.headTag now has stdWrap functionality available. + +The new option can be set like this: + +.. code-block:: typoscript + + page = PAGE + page.headTag = <head> + page.headTag.override = <head class="special"> + page.headTag.override.if { + isInList.field = uid + value = 24 + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-24906-MaxForTextElement.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-24906-MaxForTextElement.rst new file mode 100644 index 000000000000..df497622d966 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-24906-MaxForTextElement.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #24906 - Configuration for maximum chars in TextElement +================================================================ + +See :issue:`24906` + +Description +=========== + +TCA type `text` now supports the HTML5 attribute `maxlength` to restrict +text to a given maximum length. Line breaks are usually counted as two +characters. + +Not every browser supports this, see sites like +`w3schools.com <http://www.w3schools.com/tags/att_textarea_maxlength.asp>`_ +for details. + +The new option can be used like this: + +.. code-block:: php + + 'teaser' => array( + 'label' => 'Teaser', + 'config' => array( + 'type' => 'text', + 'cols' => 60, + 'rows' => 2, + 'max' => '30', + ) + ), diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-28382-AddAsyncPropertyToJavaScriptFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-28382-AddAsyncPropertyToJavaScriptFiles.rst new file mode 100644 index 000000000000..a58132d5e3e9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-28382-AddAsyncPropertyToJavaScriptFiles.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #28382 - Add async property to JavaScript files +======================================================== + +See :issue:`28382` + +Description +=========== + +Add a property `async="async"` to JavaScript files via TypoScript + +`page.includeJSlibs.<array>.async = 1` + +This patch affects the TypoScript PAGE properties + +* includeJSLibs +* includeJSFooterlibs +* includeJS +* includeJSFooter + +Usage: +------ + +.. code-block:: typoscript + + page { + includeJS { + jsFile = /Path/To/jsFile.js + jsFile.async = 1 + } + } + +.. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-33491-StdWrapForTitleTag.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-33491-StdWrapForTitleTag.rst new file mode 100644 index 000000000000..5c3a04dadf8f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-33491-StdWrapForTitleTag.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #33491 - Add stdWrap functionality to <title> tag +========================================================== + +See :issue:`33491` + +Description +=========== + +The <title> tag of a frontend page can already be controlled by various settings via TypoScript. However, the stdWrap +part was not available yet, but is now compliant and available as an option `config.pageTitle`. This option will be +executed after all other existing processing options like `config.titleTagFunction` and `config.pageTitleFirst`. + +The new option can be used like this, e.g. in order to write everything in uppercase in the title tag: + +.. code-block:: typoscript + + page = PAGE + page.config.pageTitle.case = upper diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-34944-PaginateHandleNonQueryResultObjects.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-34944-PaginateHandleNonQueryResultObjects.rst new file mode 100644 index 000000000000..23b94964f4a1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-34944-PaginateHandleNonQueryResultObjects.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #34944 - PaginateViewHelper handles non-query-result objects +===================================================================== + +See :issue:`34944` + +Description +=========== + +The PaginateViewHelper accepts input collections of following types: + +- :code:`QueryResultInterface` +- :code:`ObjectStorage` +- :code:`\ArrayAccess` +- :code:`array` + +.. code-block:: html + + <f:widget.paginate objects="{blogs}" as="paginatedBlogs"> + <f:for each="{paginatedBlogs}" as="blog"> + <h4>{blog.title}</h4> + </f:for> + </f:widget.paginate> + +.. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-35891-AddTCAItemsWithIconsViaPageTSConfig.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-35891-AddTCAItemsWithIconsViaPageTSConfig.rst new file mode 100644 index 000000000000..1a6597158108 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-35891-AddTCAItemsWithIconsViaPageTSConfig.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #35891 - FormEngine: Possibility to add icons via PageTSconfig +======================================================================= + +See :issue:`35891` + +Description +=========== + +The possibility to add a new value/label pair for a select field in FormEngine is given via the pageTSconfig option +"addItems". Now, it is also possible to give the items an icon. Either with the .icon subproperty or with the +separate option "altIcons". + +.. code-block:: typoscript + + TCEFORM.pages.doktype.addItems { + 13 = My Label + 13.icon = EXT:t3skin/icons/gfx/i/pages.gif + } + TCEFORM.pages.doktype.altIcons { + 123 = EXT:myext/icon.gif + } + +If the path is not prefixed with "EXT:" it needs to be relative to the typo3/ directory. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-46624-AdditionalWhereForMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-46624-AdditionalWhereForMenu.rst new file mode 100644 index 000000000000..ef82e72f2c81 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-46624-AdditionalWhereForMenu.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #46624 - HMENU item selection via additionalWhere +========================================================== + +See :issue:`46624` + +Description +=========== + +The TypoScript Content Object HMENU menu options have a new property called "additionalWhere" to +allow for a more specific database query based on any page properties. + +.. code-block:: typoscript + + lib.authormenu = HMENU + lib.authormenu.1 = TMENU + lib.authormenu.1.additionalWhere = AND author!="" + ... diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-47666-AttributeMulitpleForFormUploadViewhelper.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-47666-AttributeMulitpleForFormUploadViewhelper.rst new file mode 100644 index 000000000000..dadc80c07a39 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-47666-AttributeMulitpleForFormUploadViewhelper.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #47666 - Attribute \"multiple\" for f:form.upload Viewhelper +===================================================================== + +See :issue:`47666` + +Description +=========== + +The Viewhelper allows now an attribute \"multiple\", that will provide +a possibility to upload several files at once. + +.. code-block:: html + + <f:form.upload property="files" multiple="multiple" /> + +Will result in the according HTML tag providing the field content as array. + +Be aware, that you need to prepare the incoming value for the property mapping yourself, +by writing your own TypeConverter. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-49060-MySqlCommentsShownInSchemaMigrator.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-49060-MySqlCommentsShownInSchemaMigrator.rst new file mode 100644 index 000000000000..46de798e974c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-49060-MySqlCommentsShownInSchemaMigrator.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #49060 - MySql Comments reflected in SchemaMigrator +============================================================ + +See :issue:`49060` + +Description +=========== + +Comments in the :file:`*.sql` files are stored the database table and shown +by the Schema Migration Feature in Install Tool. + +Existing comments are overriden with changes provided by other extensions. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-50780-AppendElementBrowserMountPoints.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-50780-AppendElementBrowserMountPoints.rst new file mode 100644 index 000000000000..82c4d7d77ce4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-50780-AppendElementBrowserMountPoints.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +===================================================== +Feature: #50780 - Append element browser mount points +===================================================== + +See :issue:`50780` + +Description +=========== + +A new UserTSconfig option is introduced: + +:: + + options.pageTree.altElementBrowserMountPoints.append + +This option allows administrators to add additional mount points +in the RTE and the Wizard element browser instead of replacing +the configured database mount points of the user when using the +existing UserTSconfig option: + +:: + + options.pageTree.altElementBrowserMountPoints + +Usage: + +Set these options in User TSconfig: + +:: + + options.pageTree.altElementBrowserMountPoints = 20,31 + options.pageTree.altElementBrowserMountPoints.append = 1 + + +Impact +====== + +Mount point overriding is centralized in the BackendUser object and +used by element browsers of rtehtmlarea and recordlist for calculating +the page tree mount points that are displayed to the user. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-52131-HookForPageRepositoryInit.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-52131-HookForPageRepositoryInit.rst new file mode 100644 index 000000000000..7fa7ace19fad --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-52131-HookForPageRepositoryInit.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #52131 - Hook for end of PageRepository->init() +======================================================== + +See :issue:`52131` + +Description +=========== + +A new hook at the very end of the `PageRepository->init()` has been introduced. +This function allows manipulation of where clause in order to modify select queries that involve visibility of pages. + +Register the hook as follows: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Frontend\Page\PageRepository::class]['init'] + +The hook class must implement the interface :code:`\TYPO3\CMS\Frontend\Page\PageRepositoryInitHookInterface`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56236-Multiple-HTTP-Headers-In-Frontend.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56236-Multiple-HTTP-Headers-In-Frontend.rst new file mode 100644 index 000000000000..ca819442ae70 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56236-Multiple-HTTP-Headers-In-Frontend.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +=========================================================================== +Feature: #56236 - Multiple HTTP headers of the same type in Frontend Output +=========================================================================== + +See :issue:`56236` + +Description +=========== + +It is now possible to use `config.additionalHeaders` as a TypoScript array object to add multiple headers +at the same time + +Usage: + +.. code-block:: typoscript + + config.additionalHeaders { + 10 { + # the header string + header = WWW-Authenticate: Negotiate + + # replace previous headers with the same name + # optional, default is "on" + replace = 0 + + # optional, force the HTTP response code + httpResponseCode = 401 + } + # always set cache headers to private, overwriting the sophisticated TYPO3 option + 20.header = Cache-control: Private + } + +See also: http://php.net/header + +Impact +====== + +The previous option `config.additionalHeaders = X-Header: ABC|X-Header2: DEF` is deprecated in favor of the more +flexible solution. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56529-SupportHasInArrayObject.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56529-SupportHasInArrayObject.rst new file mode 100644 index 000000000000..ee134e9d63dd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-56529-SupportHasInArrayObject.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #56529 - Support \"has*\" Functions in ObjectAccess +============================================================ + +See :issue:`56529` + +Description +=========== + +ObjectAccess supports \"is*\" and \"get*\" functions to return +property values. Another convenience method is \"has*\", which +can be used in the same way. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-57178-SpecialHmenuExcludeSpecialParameters.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-57178-SpecialHmenuExcludeSpecialParameters.rst new file mode 100644 index 000000000000..88ba09229087 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-57178-SpecialHmenuExcludeSpecialParameters.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #46624 - Additional HMENU browse menus +=============================================== + +See :issue:`46624` + +Description +=========== + +The TypoScript Content Object HMENU with a `special=browse` option does not exclude "not in menu" pages nor +pages that have a "no search" checkbox set. The two new options allow for more fine-grained selection of the items +within the menu. + +The existing option "includeNotInMenu" was not available yet for the `HMENU` with `special=browse` enabled. + +.. code-block:: typoscript + + lib.browsemenu = HMENU + lib.browsemenu.special = browse + lib.browsemenu.special.excludeNoSearchPages = 1 + lib.browsemenu.includeNotInMenu = 1 + ... diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58031-ConfigurableWidthOfElementBrowser.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58031-ConfigurableWidthOfElementBrowser.rst new file mode 100644 index 000000000000..315c5e6276cb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58031-ConfigurableWidthOfElementBrowser.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #50039 - Configurable width of the Element Browser +=========================================================== + +See :issue:`50039` + +Description +=========== + +It is now possible to set the width and height of the element browser on a per-user basis via UserTSConfig. + +Usage: + +:: + options.popupWindowSize = 400x900 + options.RTE.popupWindowSize = 200x200 + +Impact +====== + +The Element Browser width and height can be set for better usability and user experience. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58033-AltLabelsForFormEngineCheckboxAndRadioButtons.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58033-AltLabelsForFormEngineCheckboxAndRadioButtons.rst new file mode 100644 index 000000000000..597ef8648d7a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58033-AltLabelsForFormEngineCheckboxAndRadioButtons.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +================================================================================= +Feature: #58033 - Enable label override of checkbox and radio buttons by TSconfig +================================================================================= + +See :issue:`58033` + +Description +----------- + +Use TSconfig to override labels of radio buttons and checkboxes used in FormEngine. + +For single checkboxes the key `default` is used: + +.. code-block:: typoscript + + TCEFORM.pages.hidden.altLabels.default = individual label + +.. code-block:: typoscript + + TCEFORM.pages.hidden.altLabels.default = LLL:path/to/languagefile.xlf:individualLabel + +For fields with multiple checkboxes, the value or the corresponding numeration (0,1,2,3) of the checkbox is used: + +.. code-block:: typoscript + + TCEFORM.pages.l18n_cfg.altLabels.0 = individual label for the first checkbox + TCEFORM.pages.l18n_cfg.altLabels.1 = individual label for the second checkbox + +The same functionality works on radio buttons, where the "key" is the value of the radio button. + +As seen in the example, hard-coded strings or references to language files are allowed. + +Impact +------ + +The feature enables even more customization for FormEngine for any custom crafted backend instance. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58366-AutomaticAbsRefPrefix.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58366-AutomaticAbsRefPrefix.rst new file mode 100644 index 000000000000..be70b123f04c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58366-AutomaticAbsRefPrefix.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #58366 - Add "auto" Option for config.absRefPrefix +=========================================================== + +See :issue:`58366` + +Description +=========== + +The TypoScript setting `config.absRefPrefix` can be used to allow URL rewriting like giving a hard +prefix for all relative paths. As an alternative to `config.baseURL` to be set to a specific domain +absRefPrefix can autodetect the site root and use that instead of manually setting this option. + +Frontend: + +The new option can be set like this: + +.. code-block:: typoscript + + config.absRefPrefix = auto + +instead of hardcoded values for different environments or when moving installations in subfolders. + +.. code-block:: typoscript + + [ApplicationContext = Production] + config.absRefPrefix = / + + [ApplicationContext = Testing] + config.absRefPrefix = /my_site_root/ + +As the feature only works with path prefixes, and not with host name variables from the server, +the new option is also safe for multi-domain environments to avoid duplicate caching mechanism. + + +Impact +====== + +The new special option can be used to automatically set up installations and distributions like +the Introduction Package where a site configuration is shipped with the system but might need +to be adjusted. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58929-FooterHookInPageLayoutView.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58929-FooterHookInPageLayoutView.rst new file mode 100644 index 000000000000..54742c09517e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-58929-FooterHookInPageLayoutView.rst @@ -0,0 +1,13 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #58929 - PageLayoutView: Add hook for tt_content_drawFooter +==================================================================== + +See :issue:`58929` + +Description +=========== + +A hook has been added to the PageLayoutView to manipulate the rendering of the footer of a content element. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-60019-SplFileInfo-MimeTypeGuesser-hook.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-60019-SplFileInfo-MimeTypeGuesser-hook.rst new file mode 100644 index 000000000000..de34cdf28c23 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-60019-SplFileInfo-MimeTypeGuesser-hook.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Feature: #60019 - New SplFileInfo implementation with new mimeTypeGuessers hook +=============================================================================== + +See :issue:`60019` + +Description +=========== + +A new class `\TYPO3\CMS\Core\Type\File\FileInfo` which extends `SplFileInfo` is now +available as an API for fetching meta information from files. + +Besides the native .. _SplFileInfo API: http://php.net/manual/en/class.splfileinfo.php, +it provides a new method `getMimeType()` to get the mime type of a file, e.g. text/html. +It uses the native PHP function `finfo_file()` and `mime_content_type()` as a fallback. + +Example: Get the MIME type of a file + +.. code-block:: php + + $fileIdentifier = '/tmp/foo.html'; + $fileInfo = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Type\File\FileInfo::class, $fileIdentifier); + echo $fileInfo->getMimeType(); + // text/html + +New Hook 'mimeTypeGuessers' +=========================== + +Custom implementations to determine the MIME type can be added with a hook. Register the hook as follows: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][\TYPO3\CMS\Core\Type\File\FileInfo::class]['mimeTypeGuessers'] diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61542-AddIsoLanguageKeys.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61542-AddIsoLanguageKeys.rst new file mode 100644 index 000000000000..1dbdde1459c1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61542-AddIsoLanguageKeys.rst @@ -0,0 +1,73 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #61542 - Add two-letter ISO 639-1 keys to sys_language +=============================================================== + +See :issue:`61542` + +Description +=========== + +The handling of the languages is done by the sys_language database table, which is usually referenced via the common +sys_language_uid. The commonly referenced ISO 639-1 two-letter-code is only in use when static_info_tables is installed, +which brings all ISO 639-1 letter-codes in a separate table. The CMS Core uses a hard-coded dependency on the extension +to retrieve the ISO codes where needed, however, already ships an empty and invisible field "static_lang_isocode" which is +already supplied by the CMS Core. + +As a first step to identify languages by their proper ISO 639-1 two-letter code a new DB field for sys_language called +"language_isocode" is introduced, which is used in all places of the TYPO3 CMS Core. + +Additionally the new TypoScript option `config.sys_language_isocode` can be used to set the existing +`$TSFE->sys_language_isocode` variable via TypoScript. Previously this was done via static_info_tables. + +The ISO code is also used for the language attribute of the HTML tag. Therefore the setting `config.htmlTag_langKey` +is not needed anymore if it is the same as the ISO code. + +Impact +====== + +Frontend: +The value `$TSFE->sys_language_isocode` is now filled at any time. It can be set via TypoScript, or is automatically +set if the `config.sys_language_uid` parameter is set > 0 from the language_isocode DB field. + +.. code-block:: typoscript + + # danish by default + config.sys_language_uid = 0 + config.sys_language_isocode_default = da + + [globalVar = GP:L = 1] + # isocode is filled by the respective DB value from sys_language (uid 1) + config.sys_language_uid = 1 + + # you can override this of course + config.sys_language_isocode = fr + [GLOBAL] + +The new field can be used in any TypoScript variable like + +.. code-block:: typoscript + + page.10 = TEXT + page.10.data = TSFE:sys_language_isocode + page.10.wrap = <div class="main" data-language="|"> + +Backend: + +All ISO code usages based on sys_language in the Backend (FormEngine, Translation Tools) is now done via the new field +but still uses static_info_tables as fallback if already in use. + +Each sys_language record is now editable with the new DB field to select the respective ISO 639-1 code. + +Migration +========= + +The upgrade wizard makes sure that the new DB field is filled properly so no deprecation warnings are written +if static_info_tables in conjunction with the DB field "static_lang_isocode" was used before. If this field is +used in a 3rd party extension, the extension developers and site integrators need to make sure it is switched +to the new DB field sys_language.language_isocode. + +If a site uses multiple languages without static_info_tables each sys_language record should be modified to select +the proper ISO 639-1 code for the languages. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61725-AddHookToBackendUtilityCountVersionsOfRecordsOnPage.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61725-AddHookToBackendUtilityCountVersionsOfRecordsOnPage.rst new file mode 100644 index 000000000000..ee0891c23e9c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-61725-AddHookToBackendUtilityCountVersionsOfRecordsOnPage.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Feature: #61725 - Hook for BackendUtility::countVersionsOfRecordsOnPage() +========================================================================= + +See :issue:`61725` + +Description +=========== + +Hook to post-process `BackendUtility::countVersionsOfRecordsOnPage` +result. `BackendUtility::countVersionsOfRecordsOnPage` is used to +visualize workspace states in e.g. the page tree. + +Register like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['countVersionsOfRecordsOnPage'][] = 'My\Package\HookClass->hookMethod'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62944-UserFuncAsDisplayCond.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62944-UserFuncAsDisplayCond.rst new file mode 100644 index 000000000000..1b6f8e5ba226 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62944-UserFuncAsDisplayCond.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #62944 - UserFunc available as Display Condition +========================================================= + +See :issue:`62944` + +Description +=========== + +Being able to use userFunc as `displayCondition` makes it possible to +check on any imaginable condition or state. If any situation can not +be evaluated with any of the existing checks the developer is free +to add an own user function which provides a boolean result whether +to show or hide the TCA field. + +.. code-block:: php + + $GLOBALS['TCA']['tt_content']['columns']['bodytext']['displayCond'] = 'USER:Evoweb\\Example\\User\\ElementConditionMatcher->checkHeaderGiven:any:more:information'; + +Any parameters can be added (separated by colons) that are sent to the ConditionMatcher class. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62960-SignalForMailerInitialization.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62960-SignalForMailerInitialization.rst new file mode 100644 index 000000000000..a96eac6bb005 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-62960-SignalForMailerInitialization.rst @@ -0,0 +1,54 @@ + +.. include:: ../../Includes.txt + +================================================== +Feature: #62960 - Signal for mailer initialization +================================================== + +See :issue:`62960` + +Description +=========== + +This signal allows for additional processing upon initialization of a mailer object, +e.g. registering a Swift mailer plugin. + +Registering the signal: + +:: + + $signalSlotDispatcher = \\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance(\\TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher::class); + $signalSlotDispatcher->connect( + \\TYPO3\\CMS\\Core\\Mail\\Mailer::class, + 'postInitializeMailer', + \\Vendor\\Package\\Slots\\MailerSlot::class, + 'registerPlugin' + ); + +.. + +The slot class: + +:: + + <?php + namespace Vendor\\Package\\Slots; + + use TYPO3\\CMS\\Core\\Mail\\Mailer; + + class MailerSlot { + /** + * @param Mailer $mailer + * @return void + */ + public function registerPlugin(Mailer $mailer) { + // Processing here + } + } + +.. + +Impact +====== + +Extensions may now perform arbitrary processing for every mail. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63207-SplitActionButtonsIntoGroups.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63207-SplitActionButtonsIntoGroups.rst new file mode 100644 index 000000000000..6515985e0a5c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63207-SplitActionButtonsIntoGroups.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #63207 - Split buttons into two groups +=============================================== + +See :issue:`63207` + +Description +=========== + +The action buttons in Web>List for pages and content elements have been split into two groups to organize +the actions as primary and secondary actions. Primary actions are common RUD actions: +- Show +- Edit +- Hide +- Delete +- Move up/down + +Secondary actions keep any other action. If "Extended view" is disabled, the primary actions are now +still displayed, the secondary action are collapsed but can be expanded by clicking the expand trigger. + + +Impact +====== + +Existing hooks will work like before. If an action is added to one of the two sections, the icon +on rootlevel must be reset, please see Migration_. + + +Migration +========= + +.. code-block:: php + + unset($cells['edit']); + $cells['primary']['edit'] = '<a class="btn btn-default"><span class="t3-icon fa fa-trash"></span></a>'; + $cells['secondary']['edit'] = '<a class="btn btn-default"><span class="t3-icon fa fa-trash"></span></a>';` + +Icons, that are not added into a section, will be sorted into the secondary group. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63600-CustomTypoScriptConditionsInBackend.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63600-CustomTypoScriptConditionsInBackend.rst new file mode 100644 index 000000000000..bbb426e28825 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63600-CustomTypoScriptConditionsInBackend.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #61489 - Allow own TypoScript Conditions in Backend as well +==================================================================== + +See :issue:`61489` + +Description +=========== + +It is now possible to add own TypoScript conditions via a separate API in the Backend. The API for the frontend +was introduced with TYPO3 CMS 7.0. + +An extension/package can now ship an implementation of a new abstract class AbstractCondition. Via the existing +TypoScript Condition Syntax the class is called by the simple fully namespaced class name. +The class' main function "matchCondition" can flexibly evaluate any parameters given after the class name. + +Usage: + +.. code-block:: typoscript + + [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition] + + [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7] + + [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7, != 6] + + [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = {$mysite.myconstant}] + +where the TypoScript Condition class deals with =/!= etc itself. + +Impact +====== + +If you've previously used the `userFunc` condition, you are encouraged to use this new API for your own TypoScript +conditions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63729-ApiForBootstrapModals.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63729-ApiForBootstrapModals.rst new file mode 100644 index 000000000000..6247e1c946bf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63729-ApiForBootstrapModals.rst @@ -0,0 +1,116 @@ + +.. include:: ../../Includes.txt + +================================================== +Feature: #63729 - API for Twitter Bootstrap modals +================================================== + +See :issue:`63729` + +Description +=========== + +Actions that require a users' attention must be visualized by modal windows. TWBS provides those, +but extension authors or core developers must take care of its creation and handling themselves. + +This API provides a basis to create modal windows with severity representation. For a better UX, +if actions (buttons) are attached to the modal, one button must be a positive action. This button +should get a btnClass and set as active. + +Modals should be used rarely and only for confirmations. For information the TYPO3.Flashmessage API should be used. +For complex content, like forms or a lot of information, please use normal pages. + + +Impact +====== + +API +--- + +The API provides only two public methods: + +#. :code:`TYPO3.Modal.confirm(title, content, severity, buttons)` +#. :code:`TYPO3.Modal.dismiss()` + +Modal Settings +~~~~~~~~~~~~~~ + +========= =============== ============ ====================================================================================================== +Name DataType Mandatory Description +========= =============== ============ ====================================================================================================== +title string Yes The title displayed in the modal +content string|jQuery Yes The content displayed in the modal +severity int Represents the severity of a modal. Please see TYPO3.Severity. Default is :code:`TYPO3.Severity.info`. +buttons object[] Actions rendered into the modal footer. If empty, the footer is not rendered. See table below. +========= =============== ============ ====================================================================================================== + +Button Settings +~~~~~~~~~~~~~~~ + +========= =============== ============ =============================================================== +Name DataType Mandatory Description +========= =============== ============ =============================================================== +text string Yes The text rendered into the button. +trigger function Yes Callback that's triggered on button click. +active bool Marks the button as active. If true, the button gets the focus. +btnClass string The css class for the button +========= =============== ============ =============================================================== + +Data-Attributes +~~~~~~~~~~~~~~~ + +It is also possible to use data-attributes to trigger a modal. +e.g. on an anchor element, which prevents the default behavior. + +========================= ================================================================== +Name Description +========================= ================================================================== +data-title the title text for the modal +data-content the content text for the modal +data-severity the severity for the modal, default is info (see TYPO3.Severity.*) +data-href the target URL, default is the href attribute of the element +data-button-close-text button text for the close/cancel button +data-button-ok-text button text for the ok button +========================= ================================================================== + +:code:`class="t3js-modal-trigger"` marks the element as modal trigger + +Examples +-------- + +A basic modal without any specials can be created this way: + +.. code-block:: javascript + + TYPO3.Modal.confirm('The title of the modal', 'This the the body of the modal'); + +A modal as warning with button: + +.. code-block:: javascript + + TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning, [ + { + text: 'Break it', + active: true, + trigger: function() { + // break the net + } + }, { + text: 'Abort!', + trigger: function() { + TYPO3.Modal.dismiss(); + } + } + ]); + +A modal as warning: + +.. code-block:: javascript + + TYPO3.Modal.confirm('Warning', 'You may break the internet!', TYPO3.Severity.warning); + +A modal triggered on an anchor element: + +.. code-block:: html + + <a href="delete.php" class="t3js-modal-trigger" data-title="Delete" data-content="Really delete?">delete</a> diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63913-AllowRequireJsModulesForContainerViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63913-AllowRequireJsModulesForContainerViewHelper.rst new file mode 100644 index 000000000000..ac6fb613b731 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-63913-AllowRequireJsModulesForContainerViewHelper.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #63913 - Allow ContainerViewHelper to load RequireJS modules +===================================================================== + +See :issue:`63913` + +Description +=========== + +The ContainerViewHelper can load RequireJS modules via the `includeRequireJsModules` attribute. The scripts are passed +as array. + +.. code-block:: html + + <f:be.container pageTitle="Extension Module" loadJQuery="true" + includeRequireJsModules="{ + 0:'TYPO3/CMS/Extension/Module', + 1:'TYPO3/CMS/Extension/Module2', + 2:'TYPO3/CMS/Extension/Module3', + 3:'TYPO3/CMS/Extension/Module4' + }"> diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64031-JavaScript-Storage-API.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64031-JavaScript-Storage-API.rst new file mode 100644 index 000000000000..82cdf79fa6f6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64031-JavaScript-Storage-API.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +======================================== +Feature: #64031 - JavaScript Storage API +======================================== + +See :issue:`64031` + +Description +=========== + +Accessing the Backend User configuration ($BE_USER->uc) can be handled in JavaScript with a common and simple +key-value storage manner, allowing to store any data. Additionally, the use of HTML5s localStorage allows to +store any data in the same way inside the browser. All localStorage data is prefixed with "t3-" in order to avoid +collisions with other data from the same browserStorage. + +Impact +====== + +API Methods +----------- + +The API provides two objects available in the top frame attached to the global TYPO3 object: + +1) `top.TYPO3.Storage.Client` +2) `top.TYPO3.Storage.Persistent` + +Each object has the following API methods + +* `get(key)` To fetch the data behind the key. +* `set(key, value)` To set/override a key with any arbitrary content. +* `isset(key)` (bool) checks if the key is in use. +* `clear()` to empty all data inside the storage. + + +Examples +-------- + +To fetch data from the persistent user configuration, simple use the key known already: + +.. code-block:: javascript + + top.TYPO3.Storage.Persistent.get('startModule'); + +Storing / Updating data in the storage works like this, and can contain any data type. + +.. code-block:: javascript + + top.TYPO3.Storage.Persistent.set('startModule', 'web_info'); + +The same is possible for browserStorage using top.TYPO3.Storage.Client. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64190-FormEngineCheckboxElement.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64190-FormEngineCheckboxElement.rst new file mode 100644 index 000000000000..999eb5bf2518 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64190-FormEngineCheckboxElement.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #64190 - Inline rendering for FormEngine Checkbox Element +================================================================== + +See :issue:`64190` + +Description +=========== + +The checkbox setting `inline` for cols can be used to render the checkboxes +directly next to each other to reduce the amount of used space. + +Example Configuration: + +:: + + 'weekdays' => array( + 'label' => 'Weekdays', + 'config' => array( + 'type' => 'check', + 'items' => array( + array('Mo', ''), + array('Tu', ''), + array('We', ''), + array('Th', ''), + array('Fr', ''), + array('Sa', ''), + array('Su', ''), + ), + 'cols' => 'inline', + ), + ), + +.. + +Impact +====== + +Checkboxes will be placed directly next to each other to reduce the amount of used space. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64257-MultipleUidInPageRepositoryGetMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64257-MultipleUidInPageRepositoryGetMenu.rst new file mode 100644 index 000000000000..4ad1dabc8142 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64257-MultipleUidInPageRepositoryGetMenu.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #64257 - Support multiple UID in PageRepository::getMenu() +=================================================================== + +See :issue:`64257` + +Description +=========== + +An array of `uid` values can be passed to +`PageRepository::getMenu()`, providing the chance to build menus +from several roots. + +Example: Fetch children of pages #2 and #3: + +.. code-block:: php + + $pageRepository = new \TYPO3\CMS\Frontend\Page\PageRepository(); + $pageRepository->init(false); + $rows = $pageRepository->getMenu(array(2, 3)); diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64386-ContentObjectRegistration.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64386-ContentObjectRegistration.rst new file mode 100644 index 000000000000..e5423d9348aa --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64386-ContentObjectRegistration.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +==================================================== +Feature: #64386 - Public Content Object Registration +==================================================== + +See :issue:`64386` + +Description +=========== + +A new global option is now available to register and/or extend/overwrite content objects like TEXT. +A list of all available Content Objects that was previously registered within the main ContentObjectRenderer class +is now moved to the global array `$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']` which allows for modifications +via third-party extensions. + +Example: Register a new Content Object EXAMPLE in a third-party extension + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['EXAMPLE'] = Acme\MyExtension\ContentObject\ExampleContentObject::class + +The registered class must be a subclass of `TYPO3\CMS\Frontend\ContentObject\AbstractContentObject`. + +For future autoloading mechanisms, it is encouraged to place the custom ContentObject class inside +`EXT:myextension/Classes/ContentObject/`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64921-FlexibleSubmoduleConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64921-FlexibleSubmoduleConfiguration.rst new file mode 100644 index 000000000000..41fa4e4abed0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-64921-FlexibleSubmoduleConfiguration.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Feature: #64921 - Needed changes for flexible configuration of submodules +========================================================================= + +See :issue:`64921` + +Description +=========== + +The additional configuration for submodules can now be configured with an extra +parameter in `ExtensionManagementUtility::addModule()` since https://forge.typo3.org/issues/62880. +This makes it possible to remove the conf.php file by setting the configuration within `ExtensionManagementUtility::addModule()` in ext_tables.php. + +When doing so you might have some issues with $this->MCONF not being set. This happens if your backend module extends +from `\TYPO3\CMS\Backend\Module\BaseScriptClass`. + +To fix this problem you need to add the module name in $this->MCONF. + +.. code-block:: php + + /** + * The name of the module + * + * @var string + */ + protected $moduleName = 'file_list'; + + /** + * Constructor + */ + public function __construct() { + $this->MCONF = array( + 'name' => $this->moduleName + ); + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Feature-65960-IntroduceGruntJS.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-65960-IntroduceGruntJS.rst new file mode 100644 index 000000000000..e960cd918494 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Feature-65960-IntroduceGruntJS.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +=================================== +Feature: #63729 - Introduce GruntJS +=================================== + +See :issue:`63729` + +Description +=========== + +In order to unify build processes in the backend we introduce +`GruntJS <http://gruntjs.com/>`_ as a central taskrunner. It will +provide a global config that takes over the responsibility +for all build processes in the future starting with the less +files of the backend skin. + +The build files are located in the *Build* folder located in the root directory. + +For detailed informations about setting up GruntJS please head to http://gruntjs.com/. + + +Initial setup +~~~~~~~~~~~~~ + +.. code-block:: bash + + npm install + npm install -g grunt-cli + + +Registered Tasks +~~~~~~~~~~~~~~~~ + +Compiling Less files: + +.. code-block:: bash + + grunt less + + +Watching Less files: + +.. code-block:: bash + + grunt watch diff --git a/typo3/sysext/core/Documentation/Changelog/7.1/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.1/Index.rst new file mode 100644 index 000000000000..785364ba286a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.1/Index.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +7.1 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-56746-AddCountMethodsAndSortFunctionalityToFalDrivers.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-56746-AddCountMethodsAndSortFunctionalityToFalDrivers.rst new file mode 100644 index 000000000000..f6fb926abd9e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-56746-AddCountMethodsAndSortFunctionalityToFalDrivers.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Breaking: #56746 - Add count methods and sort functionality to FAL drivers +========================================================================== + +See :issue:`56746` + +Description +=========== + +To improve the performance of the file list when showing (remote) storages with a lot of +files and folders the sorting and ordering needs to be done by the driver. Also the pagination of +the file list can be improved by moving the counting to the driver instead of fetching all files and +folders objects to count them. + + +Impact +====== + +Installations with custom FAL drivers will break after update. + + +Affected installations +====================== + +TYPO3 CMS 7 installations using custom FAL drivers. + + +Migration +========= + +The custom FAL drivers need to be updated to be in line with the updated DriverInterface. + +2 new functions need to be implemented: + + - `countFoldersInFolder()` + - `countFilesInFolder()` + +2 functions need to be extended with the parameters $sort and $sortRev: + + - `getFilesInFolder(..., $sort, $sortRev)` + - `getFoldersInFolder(..., $sort, $sortRev)` + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-63784-DataHandlerExcludeArray.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-63784-DataHandlerExcludeArray.rst new file mode 100644 index 000000000000..61699aa6c88c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-63784-DataHandlerExcludeArray.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #63784 - Visibility and type of DataHandler->exclude_array +==================================================================== + +See :issue:`63784` + +Description +=========== + +The internal but formerly public property DataHandler->exclude_array is replaced by +the protected property DataHandler->excludedTablesAndFields, which contains the +combination of excluded table and field as key instead. This improves performance +especially for bulk editing since many in_array()-checks can be avoided. + + +Impact +====== + +Extensions using the DataHandler (former TCEMain) and changing the (former public) +exclude_array to change access to tables and fields cannot do so anymore. Users need +to have their access-rights set properly instead. + + +Affected installations +====================== + +Installations using extensions that read or write the undocumented array exclude_array. + + +Migration +========= + +Remove code accessing DataHandler->exclude_array and configure the BE-User properly. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-64719-MediaContentMovedToSystemExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-64719-MediaContentMovedToSystemExtension.rst new file mode 100644 index 000000000000..a1007d938462 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-64719-MediaContentMovedToSystemExtension.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +==================================================================================================== +Breaking: #64719 - Multimedia and Media cObjects and Content Types are moved to new system extension +==================================================================================================== + +See :issue:`64719` + +Description +=========== + +The Content Element Types "media" and "multimedia" have been extracted into one single place, which is an +extension called "mediace". This extension is not installed by default but is shipped with the core. + +The following Content Objects are not available anymore by default: + + * MULTIMEDIA + * MEDIA + * SWFOBJECT + * FLOWPLAYER + * QTOBJECT + +The Content Types "media" and "multimedia" are not available anymore by default. + +The table column `tt_content.multimedia` is not available anymore by default. + + +Impact +====== + +Any TypoScript using any of the cObjects directly or Content Elements with the CType "media" or "multimedia" +will result in no output. Existing Content Elements of this type cannot be edited anymore. + + +Affected installations +====================== + +TYPO3 CMS 7 installations still using any of the cObjects or having Content Elements of CType "media" or "multimedia". + + +Migration +========= + +Install the system extension "mediace" to regain all functionality as it was before. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65432-ModuleUriInGlobalVarRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65432-ModuleUriInGlobalVarRemoved.rst new file mode 100644 index 000000000000..a8d1f2f08a6d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65432-ModuleUriInGlobalVarRemoved.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Breaking: #65432 - Storage of module URI in global variable has been removed +============================================================================ + +See :issue:`65432` + +Description +=========== + +Previously the URI to a module which was dispatched through mod.php was stored +in a global variable `$GLOBALS['MCONF']['_']`. + +In terms of cleanup of global variable usage and module configuration cleanup and streamlining, +this functionality has been removed without substitution. + + +Impact +====== + +Any backend module code which accesses `$GLOBALS['MCONF']['_']` to get the module URI will not work any more. + + +Affected installations +====================== + +TYPO3 CMS 7 installations using extensions with backend modules which use `$GLOBALS['MCONF']['_']`. + + +Migration +========= + +Extension code needs to be changed in a way that the API `BackendUtility::getModuleUrl('module_name')` is used instead of accessing `$GLOBALS['MCONF']['_']`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65727-DontProvideAccessToLocalpathOfFalFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65727-DontProvideAccessToLocalpathOfFalFiles.rst new file mode 100644 index 000000000000..1eb1693d4da9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65727-DontProvideAccessToLocalpathOfFalFiles.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #65727 - Don't provide access to localPath of FAL files +================================================================= + +See :issue:`65727` + +Description +=========== + +It was possible to retrieve the local path of a FAL file via TypoScript + +.. code-block:: ts + + a = TEXT + a.value.data = file:current:localPath + +The localPath property has been dropped for the following reasons: + * The implementation used allow write access to the file and hence created a local copy which created useless file garbage. + * Changing this to read-only access would cause the LocalDriver to return the true local path to the file, which would open the possibility to file manipulation via "side channel" of FAL. This would make the FAL data inconsistent. + + +Impact +====== + +Any TypoScript using this file-property will stop working. + + +Affected Installations +====================== + +Any installation with TypoScript using this file-property + + +Migration +========= + +There is no other possibility to retrieve this information. Use the FAL API. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65778-MediaWizardProviderMovedToSystemExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65778-MediaWizardProviderMovedToSystemExtension.rst new file mode 100644 index 000000000000..09e390ed2972 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65778-MediaWizardProviderMovedToSystemExtension.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=================================================================================== +Breaking: #65778 - MediaWizard functionality is moved to system extension "mediace" +=================================================================================== + +See :issue:`65778` + +Description +=========== + +The Media Wizard Provider for the "media" Content Element Type has been moved to the same system extension. + +Impact +====== + +Any extensions registering their own Media Wizards need to install the system extension "mediace" and define a dependency +to this extension. + + +Affected installations +====================== + +TYPO3 CMS 7 installations using the "MEDIA" cObject or having Content Elements of CType "media" or "multimedia" with +custom media wizard providers. + + +Migration +========= + +Make sure to install the system extension "mediace" and rename the function calls to use the new classes, see +the file :file:`ext_localconf.php` of the extension "mediace" for example usage. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65922-MoveUnusedTt_contentTcaFieldsToCompatibility6.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65922-MoveUnusedTt_contentTcaFieldsToCompatibility6.rst new file mode 100644 index 000000000000..efe36b75499d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65922-MoveUnusedTt_contentTcaFieldsToCompatibility6.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Breaking: #65922 - Move unused tt_content TCA fields to compatibility6 +====================================================================== + +See :issue:`65922` + +Description +=========== + +There are some database fields defined in 'frontend' which are not used by `frontend` or `css_styled_content`. These fields have been moved to `compatibility6`. + +- altText +- imagecaption +- imagecaption_position +- image_link +- longdescURL +- titleText + + +Affected Installations +====================== + +All installations with extensions installed depending on these fields. For instance installations still using `css_styled_content` static templates of the TYPO3 CMS 4.* versions. + + +Migration +========= + +Add the moved TCA and SQL definitions to your own extension or install the compatibility extension `compatibility6`. +The latter is not recommended and should be considered a short-term solution. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.rst new file mode 100644 index 000000000000..f66f560eabb5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65939-BackendLoginRefactoring.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +============================================ +Breaking: #65939 - Backend Login Refactoring +============================================ + +See :issue:`65939` + +Description +=========== + +For the refactoring of the backend login we introduce Fluid as template engine and remove the old marker template. + +It was necessary to remove the signal `LoginController::SIGNAL_RenderLoginForm` which will no longer be emitted. + +Additionally the following methods of `LoginController` have been removed: + +* `LoginController::makeLoginBoxImage` +* `LoginController::wrapLoginForm` +* `LoginController::makeLoginNews` +* `LoginController::makeLoginForm` +* `LoginController::makeLogoutForm` + + +Impact +====== + +The mentioned methods are no longer available and a fatal error will be triggered if used. + + +Affected installations +====================== + +All installations which make use of the `LoginController::SIGNAL_RenderLoginForm` signal or use the removed methods: +* `LoginController::makeLoginBoxImage` +* `LoginController::wrapLoginForm` +* `LoginController::makeLoginNews` +* `LoginController::makeLoginForm` +* `LoginController::makeLogoutForm` + + +Migration +========= + +Use the introduced Fluid view to adapt the login screen to your demands. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.rst new file mode 100644 index 000000000000..3835e880b382 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-65962-WebSVGLibraryAndAPIRemoved.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Breaking: #65962 - Third-party library "websvg" and the according API has been removed +====================================================================================== + +See :issue:`65962` + +Description +=========== + +The third-party library "websvg" has been removed from the TYPO3 CMS Core. The according TypoScript options and +the public methods within PageRenderer have been removed without substitution. + +The following PHP methods within PageRenderer have been removed: + +.. code-block:: php + + $pageRenderer->setSvgPath() + $pageRenderer->getSvgPath() + $pageRenderer->loadSvg() + $pageRenderer->enableSvgDebug() + $pageRenderer->svgForceFlash() + +The following TypoScript options are removed: + +.. code-block:: ts + + page.javascriptLibs.SVG + page.javascriptLibs.SVG.debug + page.javascriptLibs.SVG.forceFlash + + +Impact +====== + +Any installation using one of the methods above in an extension will fail. + +Any installation using `page.javascriptLibs.SVG = 1` will not include the websvg library anymore and might lead +to SVGs not being displayed anymore in certain browsers. Using the SVG Content Object will lead to the same result. + + +Affected installations +====================== + +TYPO3 CMS 7 installations using the TypoScript options, the SVG Content Object or the pageRenderer methods directly. + + +Migration +========= + +Affected installations should include the "websvg" library directly from the library owner, and in their setups. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66001-ComposerVendorDirectoryChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66001-ComposerVendorDirectoryChanged.rst new file mode 100644 index 000000000000..49974d00b2d5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66001-ComposerVendorDirectoryChanged.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +================================================================================= +Breaking: #66001 - Third-party libraries installed via composer are now in vendor +================================================================================= + +See :issue:`66001` + +Description +=========== + +All composer-installed libraries which the TYPO3 Core uses are now installed under `vendor` (composer default vendor directory) +when running `composer install`. This way the packaging process for releasing TYPO3 CMS as tarball or zip +can trigger a fully working installation without having to ship Packages/ for third-party libraries. Before composer +installed all third-party libraries in the folder `Packages/Libraries`. + + +Impact +====== + +Any existing installation that is set up via composer based on the composer.json of the TYPO3.CMS.git repository +will break if Unit Tests or Functional Tests via `bin/phpunit` will fail unless composer dependencies have been +completely rebuilt. + + +Affected installations +====================== + +Installations using a Packages/ directory within the typo3_src/ folder structure, most commonly by having checked out +the TYPO3.CMS.git Repository and having run `composer install` after that. Any installations using the common +TYPO3 distribution from composer.typo3.org are not affected. + + +Migration +========= + +Running `rm -rf vendor/ bin/ Packages/Libraries/ composer.lock; composer install` will make PHPunit +work again. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66034-DropContentAdapter.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66034-DropContentAdapter.rst new file mode 100644 index 000000000000..8f11fc6c0acc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66034-DropContentAdapter.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +======================================= +Breaking: #66034 - Drop Content Adapter +======================================= + +See :issue:`66034` + +Description +=========== + +The TYPO3 configuration option [FE][activateContentAdapter] and the associated code has been dropped from the TYPO3 core. +This option was used to transform FAL fields back to old file fields. + + +Impact +====== + +Any installation using TypoScript referring to old file columns as present *before* TYPO3 CMS 6.x will stop working as expected. + + +Migration +========= + +Change your TypoScript to use the new content object FILES to retrieve files. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66286-PageTSconfigOptionsToHideWebInfoModulesRenamed.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66286-PageTSconfigOptionsToHideWebInfoModulesRenamed.rst new file mode 100644 index 000000000000..0698f2c80a1f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66286-PageTSconfigOptionsToHideWebInfoModulesRenamed.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Breaking: #66286 - Page TSconfig options to hide Web Info modules renamed +========================================================================= + +See :issue:`66286` + +Description +=========== + +WEB > Info options in the function menu have new names in Page TSconfig properties to hide these modules + + +Impact +====== + +Page TSconfig options in `mod.web_info.menu.function` use new class names. + + +Affected Installations +====================== + +Installation which have options in the Info module disabled by using Page TSconfig `mod.web_info.menu.function`. + + +Migration +========= + +The following properties under `mod.web_info.menu.function` have to be renamed: + + * tx_cms_webinfo_page -> TYPO3\CMS\Frontend\Controller\PageInformationController + * tx_cms_webinfo_lang -> TYPO3\CMS\Frontend\Controller\TranslationStatusController + * tx_belog_webinfo -> TYPO3\CMS\Belog\Module\BackendLogModuleBootstrap + * tx_infopagetsconfig_webinfo -> TYPO3\CMS\InfoPagetsconfig\Controller\InfoPageTyposcriptConfigController + * tx_linkvalidator_ModFuncReport -> TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport + * tx_indexedsearch_modfunc1 : removed, indexed_search has its own module + * tx_indexedsearch_modfunc2 : removed, indexed_search has its own module diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66431-NewLoginScreen.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66431-NewLoginScreen.rst new file mode 100644 index 000000000000..ea629a731c57 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Breaking-66431-NewLoginScreen.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +=================================== +Breaking: #66431 - New Login Screen +=================================== + +See :issue:`66431` + +Description +=========== + +To keep the focus on the most recent news, the news are reduced to a single view +carousel where you can slide through the latest news. + +A title for the news section is not needed anymore, in result +$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNewsTitle'] is superfluous and was +removed completely without replacement. + + +Impact +====== + +The news section title has been dropped without replacement. +There will be no alternative section title displayed. + + +Affected Installations +====================== + +Installations that used $GLOBALS['TYPO3_CONF_VARS']['BE']['loginNewsTitle'] to +set an alternative section title for the news. + + +Migration +========= + +If an entry for BE/loginNewsTitle exists in your local configuration it will be +removed by the SilentConfigurationUpgradeService automatically. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-47712-DeprecateOldLockingAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-47712-DeprecateOldLockingAPI.rst new file mode 100644 index 000000000000..d35d14e7ff8e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-47712-DeprecateOldLockingAPI.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=============================================== +Deprecation: #47712 - Deprecate old Locking API +=============================================== + +See :issue:`47712` + +Description +=========== + +The old class `\TYPO3\CMS\Core\Locking\Locker` has been marked as deprecated. + +The configuration option `[SYS][lockingMode]` is now marked as deprecated and only affects the old Locker class, which is +unused in the Core now. + +Moreover two unused methods of `\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` have been marked as deprecated: + * acquirePageGenerationLock() + * releasePageGenerationLock() + + +Impact +====== + +Using the old class will trigger deprecation log messages. + + +Migration +========= + +Use the new Locking Service API instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-51360-LinkValidatorSchedulerSettings.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-51360-LinkValidatorSchedulerSettings.rst new file mode 100644 index 000000000000..cf689ac8c5cb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-51360-LinkValidatorSchedulerSettings.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Deprecation: #51360 - Deprecate mod.tx_linkvalidator namespace in scheduler settings +==================================================================================== + +See :issue:`51360` + +Description +=========== + +Using the `mod.tx_linkvalidator` namespace in the linkvalidator scheduler task +settings has been marked as deprecated. To make the setting consistent with TSconfig the namespace +is changed to `mod.linkvalidator`. + + +Impact +====== + +Using `mod.tx_linkvalidator` in the scheduler task settings will throw an deprecation log entry. + + +Affected installations +====================== + +Instances which use the linkvalidator scheduler task and use custom TSconfig in the task settings. + + +Migration +========= + +Replace `mod.tx_linkvalidator` with `mod.linkvalidator` in all affected scheduler tasks. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64068-ThumbnailView.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64068-ThumbnailView.rst new file mode 100644 index 000000000000..20ac0f0f5d4d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64068-ThumbnailView.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #64068 - Deprecate thumbs.php and ThumbnailView +============================================================ + +See :issue:`64068` + +Description +=========== + +Prior to the File Abstraction Layer (FAL) there was :file:`typo3/thumbs.php` generating all preview images for the TYPO3 +Backend resources. This functionality is now marked for removal in TYPO3 CMS 8, as all functionality in the core already +uses the File Abstraction Layer. + + +Impact +====== + +Using `ThumbnailView`, `thumbs.php` or `BackendUtility::getThumbNail()` will throw a deprecation warning. + + +Affected installations +====================== + +Any TYPO3 installation with custom extensions using one of the files / methods mentioned. + + +Migration +========= + +Use the File Abstraction Layer for any custom works. See `BackendUtility::thumbCode()` for inspiration. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64598-DeprecatePagepositionmapjsimgfunc.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64598-DeprecatePagepositionmapjsimgfunc.rst new file mode 100644 index 000000000000..edca869c79ba --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-64598-DeprecatePagepositionmapjsimgfunc.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #64598 - Deprecate PagePositionMap::JSimgFunc +========================================================== + +See :issue:`64598` + +Description +=========== + +The following function has been marked as deprecated: + +* `\TYPO3\CMS\Backend\Tree\View\PagePositionMap::JSimgFunc` + +This method was used only in class PagePositionMap. The implemented "onmouseover" / "onmouseout" +behaviour to switch between two images was dropped entirely for now. If this is needed, it should +done a different way. + + +Impact +====== + +Using this function in a backend module will throw a deprecation message. + + +Affected Installations +====================== + +Every Extension that uses the deprecated function. + + +Migration +========= + +Write own JavaScript functions for your extension to handle onmouseover and onmouseout events to +switch between two images. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65111-getDynTabMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65111-getDynTabMenu.rst new file mode 100644 index 000000000000..18c92fb9abee --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65111-getDynTabMenu.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=================================== +Deprecation: #65111 - getDynTabMenu +=================================== + +See :issue:`65111` + +Description +=========== + +The DocumentTemplate method `getDynTabMenu()` has been marked as deprecated. + + +Impact +====== + +The method has been refactored and renamed. The new method `getDynamicTabMenu()` should be used. +The method `getDynTabMenu()` is now marked as deprecated. + + +Affected installations +====================== + +All installations which make use of `DocumentTemplate::getDynTabMenu()` + + +Migration +========= + +Use `ModuleTemplate::getDynamicTabMenu()` instead of `DocumentTemplate::getDynTabMenu()` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65283-DeprecateShowItemEntryPoint.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65283-DeprecateShowItemEntryPoint.rst new file mode 100644 index 000000000000..b7438c390980 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65283-DeprecateShowItemEntryPoint.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +===================================================== +Deprecation: #65283 - Deprecate show item entry point +===================================================== + +See :issue:`65283` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/show_item.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/show_item.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('show_item')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65288-DeprecateNewRecordEntryPoint.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65288-DeprecateNewRecordEntryPoint.rst new file mode 100644 index 000000000000..97490c041326 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65288-DeprecateNewRecordEntryPoint.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +======================================================== +Deprecation: #65288 - Deprecate "new record" entry point +======================================================== + +See :issue:`65288` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/db_new.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/db_new.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('db_new')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65289-DeprecateBrowserEntryPoint.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65289-DeprecateBrowserEntryPoint.rst new file mode 100644 index 000000000000..cb63764f00b8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65289-DeprecateBrowserEntryPoint.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +=================================================== +Deprecation: #65289 - Deprecate browser entry point +=================================================== + +See :issue:`65289` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/browser.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/browser.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('browser')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65290-DeprecateDummyEntrypoint.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65290-DeprecateDummyEntrypoint.rst new file mode 100644 index 000000000000..e9fafb683e61 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65290-DeprecateDummyEntrypoint.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +================================================= +Deprecation: #65290 - Deprecate dummy entry point +================================================= + +See :issue:`65290` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/dummy.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/dummy.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('dummy')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65291-DeprecateLogoutEntryPoint.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65291-DeprecateLogoutEntryPoint.rst new file mode 100644 index 000000000000..fa53f7681adf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65291-DeprecateLogoutEntryPoint.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +================================================== +Deprecation: #65283 - Deprecate logout entry point +================================================== + +See :issue:`65283` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/logout.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/logout.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('logout')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65293-DeprecateFileNavigationFrame.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65293-DeprecateFileNavigationFrame.rst new file mode 100644 index 000000000000..32221784fb37 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65293-DeprecateFileNavigationFrame.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +================================================================= +Deprecation: #65293 - Deprecate file navigation frame entry point +================================================================= + +See :issue:`65293` + +Description +=========== + +The following entry point has been marked as deprecated: + +* typo3/alt_file_navframe.php + + +Impact +====== + +Using this entry point in a backend module will throw a deprecation message. + + +Migration +========= + +Use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl()` instead with the according module name. + +`typo3/alt_file_navframe.php` will have to be refactored to `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('file_navframe')` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65343-BackendUserOsProperty.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65343-BackendUserOsProperty.rst new file mode 100644 index 000000000000..8e4d35d99be5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65343-BackendUserOsProperty.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +============================================ +Deprecation: #64134 - Deprecate $BE_USER->OS +============================================ + +See :issue:`64134` + +Description +=========== + +The public property in the global object `$BE_USER->OS` has been marked as deprecated. + + +Affected installations +====================== + +Instances with extensions that make use of the public property directly. + + +Migration +========= + +Use the constant `TYPO3_OS` directly. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65360-DatabaseTreeDataProviderOldClassNameInSignal.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65360-DatabaseTreeDataProviderOldClassNameInSignal.rst new file mode 100644 index 000000000000..c1f8d3568057 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65360-DatabaseTreeDataProviderOldClassNameInSignal.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Deprecation: #65360 - Deprecate wrong class name used in PostProcessTree Signal call +==================================================================================== + +See :issue:`65360` + +Description +=========== + +In DatabaseTreeDataProvider there is a PostProcessTree signal called via SignalSlot dispatcher. +The wrong class name `TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider` +was used prior to this change. This class name has now been marked as deprecated. +The correct name is `TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider` + + +Impact +====== + +Wrong class name was used for the PostProcessTree signal. +The old one is now deprecated. + + +Affected installations +====================== + +All installations which have signals connected to the old/wrong class name +`TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider`. + + +Migration +========= + +* Use `TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider::class` + instead of `TYPO3\CMS\Core\Tree\TableConfiguration\TableConfiguration\DatabaseTreeDataProvider` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65381-DataHandlerStripslashesValuesProperty.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65381-DataHandlerStripslashesValuesProperty.rst new file mode 100644 index 000000000000..c466a3649d34 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65381-DataHandlerStripslashesValuesProperty.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Deprecation: #65381 - Deprecate DataHandler property "stripslashes_values" +========================================================================== + +See :issue:`65381` + +Description +=========== + +The DataHandler property `stripslashes_values` has been marked as deprecated. + + +Impact +====== + +A deprecation message is logged for every time DataHandler processes data if this property +is set to TRUE. + + +Affected installations +====================== + +All installations or extensions relying on the DataHandler property `stripslashes_values`. + + +Migration +========= + +Set the `stripslashes_values` property to FALSE and apply `stripslashes()` in the code that +prepares the data if it was expected that DataHandler stripped the slashes from incoming +data. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65422-cObjectAliasNames.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65422-cObjectAliasNames.rst new file mode 100644 index 000000000000..589db94f474e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65422-cObjectAliasNames.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #65422 - Alias cObjects COBJ_ARRAY and CASEFUNC +============================================================ + +See :issue:`65422` + +Description +=========== + +The cObject aliases `COBJ_ARRAY` (alias for `COA`) and `CASEFUNC` (alias for `CASE`) have been moved to the compatibility6 extension. +The use of these aliases have been marked for deprecation. + + +Impact +====== + +Any usage of TypoScript using `COBJ_ARRAY` and `CASEFUNC` will not work anymore unless the compatibility6 extension is +installed. + + +Affected installations +====================== + +All installations with TypoScript in `COBJ_ARRAY` and `CASEFUNC`. + + +Migration +========= + +Use `COA` instead of `COBJ_ARRAY` and `CASE` instead of `CASEFUNC` in all TypoScript code. +Installing ext:compatibility6 can be used as a short-term solution, although this is discouraged. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65465-ReferenceIndexErrorLog.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65465-ReferenceIndexErrorLog.rst new file mode 100644 index 000000000000..09948f78c4f9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65465-ReferenceIndexErrorLog.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #65465 - Deprecate errorLog in ReferenceIndex +========================================================== + +See :issue:`65465` + +Description +=========== + +The method `\TYPO3\CMS\Core\Database\ReferenceIndex::error()` and the according property +`\TYPO3\CMS\Core\Database\ReferenceIndex::errorLog` have been marked as deprecated. It was not used and always empty. + + +Impact +====== + +Calling `ReferenceIndex::error()` will throw a deprecation message. This function should not be used from outside the +core. + + +Migration +========= + +Extensions that used this property to log errors have to use their own errorLog. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65913-checkFileInclude.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65913-checkFileInclude.rst new file mode 100644 index 000000000000..0d4243333657 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65913-checkFileInclude.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +======================================================= +Deprecation: #65913 - Deprecate $TSFE->checkFileInclude +======================================================= + +See :issue:`65913` + +Description +=========== + +The public method in the global frontend controller `$TSFE->checkFileInclude()` has been marked as deprecated. + + +Affected installations +====================== + +Instances with extensions that make use of the method directly. + + +Migration +========= + +Use the autoloader for classes or `$TSFE->tmpl->getFileName()` if needed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65934-PrefixLocalAnchorsMovedToLegacyExtension.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65934-PrefixLocalAnchorsMovedToLegacyExtension.rst new file mode 100644 index 000000000000..564c201e9e61 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65934-PrefixLocalAnchorsMovedToLegacyExtension.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Deprecation: #65934 - "Prefix Local Anchors" functionality moved to legacy extension +==================================================================================== + +See :issue:`65934` + +Description +=========== + +Prefixing local anchors is not considered best practice in web sites anymore as the same is achieved with +absolute prefixes for links (see `config.absRefPrefix`). Therefore the according functionality has been moved to +the legacy extension EXT:compatibility6. + +The following TypoScript option has been marked for deprecation: + +.. code-block:: ts + + config.prefixLocalAnchors + +The following PHP methods have been marked for deprecation: + +.. code-block:: php + + TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::prefixLocalAnchorsWithScript() + TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::doLocalAnchorFix() + + +Impact +====== + +The content output of the TYPO3 frontend is not prefixed with local anchors anymore unless EXT:compatibility6 is loaded. + + +Affected installations +====================== + +Any installation having the TypoScript option `config.prefixLocalAnchors` set will have different behaviour in the +frontend rendering. + + +Migration +========= + +For TYPO3 CMS 7, installing EXT:compatibility6 brings back the existing functionality. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65938-TSFEAnchorPrefix.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65938-TSFEAnchorPrefix.rst new file mode 100644 index 000000000000..2523cd8ffe72 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65938-TSFEAnchorPrefix.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Deprecation: #65938 - Discourage usage of "$TSFE->anchorPrefix" +=============================================================== + +See :issue:`65938` + +Description +=========== + +The property "anchorPrefix" within TypoScriptFrontendController is set to the relative path from the public site +root when `config.baseURL` is set, and can be used to prefix local anchors with that prefix. The option has been +marked as deprecated in favor of using `config.absRefPrefix` when this functionality is needed. + + +Affected installations +====================== + +All installations or extensions relying on the TypoScriptFrontendController property "anchorPrefix" running +with the TypoScript option `config.baseURL` enabled. + + +Migration +========= + +Use the PHP code below directly to fetch the information when needing baseURL and the anchorPrefix option. + +.. code-block:: php + + GeneralUtility::getIndpEnv('TYPO3_REQUEST_URL'), strlen(GeneralUtility::getIndpEnv('TYPO3_SITE_URL')) + +Alternatively, use `config.absRefPrefix` to achieve the same result. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65956-DebugUtilityDebugRows.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65956-DebugUtilityDebugRows.rst new file mode 100644 index 000000000000..6aa4b06d981a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-65956-DebugUtilityDebugRows.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Deprecation: #65956 - $returnHTML parameter of DebugUtility::debugRows() +======================================================================== + +See :issue:`65956` + +Description +=========== + +The parameter `$returnHTML` of the method `\TYPO3\CMS\Core\Utility\DebugUtility::debugRows()` is not used anymore and +has been marked for deprecation. + + +Impact +====== + +The parameter is not used anymore. + + +Affected installations +====================== + +All method calls using this parameter are affected. + + +Migration +========= + +Remove the parameter in the method call. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66065-BackendLogoViewDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66065-BackendLogoViewDeprecated.rst new file mode 100644 index 000000000000..bbdbdd14a126 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66065-BackendLogoViewDeprecated.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +================================================== +Deprecation: #66065 - Backend Logo View Deprecated +================================================== + +See :issue:`66065` + +Description +=========== + +The logo view class responsible for the rendering of the TYPO3 Logo in the left corner of the backend is not in use +anymore and marked for deprecation. The logic for exchanging the logo via TBE_STYLES is still available. + + +Impact +====== + +Installations extending `TYPO3\CMS\Backend\View\LogoView` as an XCLASS will not see +any modified output anymore. + + +Affected Installations +====================== + +Installations extending `TYPO3\CMS\Backend\View\LogoView` as an XCLASS. + + +Migration +========= + +As the same logic is now done in the BackendController and the main Backend Fluid Template, the template can be +modified to fit the installations' needs. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66223-Backendparsetime.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66223-Backendparsetime.rst new file mode 100644 index 000000000000..7ff89a1d8715 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66223-Backendparsetime.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================== +Deprecation: #66223 - Backend parseTime deprecated +================================================== + +See :issue:`66223` + +Description +=========== + +The option to show the parse time of the rendered script on the bottom of the HTML page has been marked for deprecation +and is not in use anymore. + + +Impact +====== + +Debug information is not shown anymore on a backend page if the member var `$parseTimeFlag` is enabled. + + +Affected Installations +====================== + +Installations with 3rd-party extensions manually activating this option by e.g. XCLASSing or hooking into the main +document template class. + + +Migration +========= + +Do not set the member var to `TRUE`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66431-NewLoginScreen.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66431-NewLoginScreen.rst new file mode 100644 index 000000000000..a92e5dfeed92 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Deprecation-66431-NewLoginScreen.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +====================================== +Deprecation: #66431 - New Login Screen +====================================== + +See :issue:`66431` + +Description +=========== + +The login screen is now supporting background images and adjustable highlight +colors out of the box. Settings for the login screen can now be accessed in +the backend extension settings. + +Since the needed settings for the login screen were moved to the backend extension +configuration, `$GLOBALS['TBE_STYLES']['logo_login']` is only used as fallback. +The option has been marked as deprecated and will be removed with TYPO3 CMS 8. + + +Impact +====== + +`$GLOBALS['TBE_STYLES']['logo_login']` will add a deprecation log message and +is still used as fallback to the new option but will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +Installations that use `$GLOBALS['TBE_STYLES']['logo_login']` to set an alternative +logo for the backend login. + + +Migration +========= + +Remove the `$GLOBALS['TBE_STYLES']['logo_login']` from your setup and go to the +extension manager to edit the configuration for the backend extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-20555-StripEmptyHtmlTags.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-20555-StripEmptyHtmlTags.rst new file mode 100644 index 000000000000..590c286340b4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-20555-StripEmptyHtmlTags.rst @@ -0,0 +1,67 @@ + +.. include:: ../../Includes.txt + +===================================================== +Feature: #20555 - Strip empty HTML tags in HtmlParser +===================================================== + +See :issue:`20555` + +Description +=========== + +A new functionality is introduced in the HtmlParser that allows the stripping of empty HTML tags. + +It can be used in the Frontend by using the :ref:`HTMLparser <t3tsref:htmlparser>` TypoScript +configuration of :ref:`stdWrap <t3tsref:stdwrap-htmlparser>`: + +.. code-block:: typoscript + + stdWrap { + + # If this is set all empty tags are stripped, unless a list of tags is provided below. + HTMLparser.stripEmptyTags = 1 + + # This setting can be used to filter the tags that should be stripped if they are empty. + HTMLparser.stripEmptyTags.tags = h2, h3 + } + +It is also possible to use it in the +:ref:`HTMLparser_rte or HTMLparser_db <t3coreapi:transformations-tsconfig-processing-htmlparser>` +in Page TSconfig: + +.. code-block:: typoscript + + # For rtehtmlarea we need to use the entry parser because otherwise the p tags will + # be converted to linebreaks during the RTE transformation. + RTE.default.proc.entryHTMLparser_db { + stripEmptyTags = 1 + stripEmptyTags.tags = p + + # Since rtehtmlarea adds non breaking spaces in empty <p> tags we need to + # tell the parser that should be treated as an empty string: + stripEmptyTags.treatNonBreakingSpaceAsEmpty = 1 + } + +.. tip:: + + Please note that the HTMLparser will strip all unknown tags by default. If you **only** want + to strip empty tags, you need to set `keepNonMatchedTags` to TRUE or configure the allowed tags: + +.. code-block:: typoscript + + stdWrap { + HTMLparser.keepNonMatchedTags = 1 + HTMLparser.stripEmptyTags = 1 + HTMLparser.stripEmptyTags.tags = h2, h3 + } + + +Impact +====== + +If the configuration is not set, the HtmlParser behaves like before so there is no +impact to existing systems (unless they already have used the stripEmptyTags setting +for whatever reason). + + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-32651-AddSchedulerTaskToRemoveDeletedRecords.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-32651-AddSchedulerTaskToRemoveDeletedRecords.rst new file mode 100644 index 000000000000..680012effbba --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-32651-AddSchedulerTaskToRemoveDeletedRecords.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #32651 - Add scheduler task to remove deleted records +============================================================== + +See :issue:`32651` + +Description +=========== + +A new scheduler task for removing deleted records has been added. The maximum age and +the affected tables are configurable in the task's settings. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-36743-FAL-TextExtractorRegistry.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-36743-FAL-TextExtractorRegistry.rst new file mode 100644 index 000000000000..e7307bd95810 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-36743-FAL-TextExtractorRegistry.rst @@ -0,0 +1,67 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #36743 - Registry for adding text extractor classes +============================================================ + +See :issue:`36743` + +Description +=========== + +Text extraction from files is a complex task. Thus it would be un-wise to +implement that over and over again if needed. By providing a registry, text +extraction services can be provided to other extensions. + +It is expected that there won't ever be a lot of implementations for text +extractors. +The core ships with an extractor for plain text files (.txt file extension). + +When asking the registry to provide a text extractor for a file it will "ask" +the registered text extractors whether they can read the file. The first text +extractor returning TRUE will be returned and can then be used to actually +read/extract text from the file. + +Every registered text extractor class needs to implements the +TextExtractorInterface with the following methods: + +- canExtractText() gets a file reference and returns TRUE if the text extractor + can extract text from that file. How this is determined is up to the text + extractor, f.e. by using MIME type or file extension as indicators. +- extractText() gets a file reference and is expected to return the file's text + content as string. + +It is possible to register your own text extractor classes in the +ext_localconf.php of an extension. + +Examples +-------- + +Text extractor registration + +.. code-block:: php + + $textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance(); + $textExtractorRegistry->registerTextExtractor( + \TYPO3\CMS\Core\Resource\TextExtraction\PlainTextExtractor::class + ); + + +Usage + +.. code-block:: php + + $textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance(); + $extractor = $textExtractorRegistry->getTextExtractor($file); + if ($extractor !== NULL) { + $content = $extractor->extractText($file); + } + + +Impact +====== + +The registry on its own doesn't do anything. It provides a facility in the core +that allows extensions to provide text extraction services to be used by other +extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-47712-NewLockingAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-47712-NewLockingAPI.rst new file mode 100644 index 000000000000..35dc9a52b1be --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-47712-NewLockingAPI.rst @@ -0,0 +1,55 @@ + +.. include:: ../../Includes.txt + +================================= +Feature: #47712 - New Locking API +================================= + +See :issue:`47712` + +Description +=========== + +The new Locking API follows a new approach. Due to the problem of a very scattered support of locking methods +in the various operating systems, the new API introduces a locking service, which provides access to the various +locking methods. Some basic methods are shipped with the Core, but the available methods may be extended by +extensions. + +A locking method has to implement the `LockingStrategyInterface`. Each method has a set of capabilities, which +may vary depending on the current system, and a priority. + +If a function requires a lock, the locking service is asked for the best fitting mechanism matching the requested +capabilities. +e.g. Semaphore locking is only available on Linux systems. + +Usage example +============= + +Acquire a simple exclusive lock: + +.. code-block:: php + + $lockFactory = GeneralUtility::makeInstance(LockFactory::class); + $locker = $lockFactory->createLocker('someId'); + $locker->acquire() || die('ups, lock couldn\'t be acquired. That should never happen.'); + ... + $locker->release(); + + +Some methods also support non-blocking locks: + +.. code-block:: php + + $lockFactory = GeneralUtility::makeInstance(LockFactory::class); + $locker = $lockFactory->createLocker( + 'someId', + LockingStrategyInterface::LOCK_CAPABILITY_SHARED | LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK + ); + try { + $result = $locker->acquire(LockingStrategyInterface::LOCK_CAPABILITY_SHARED | LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK); + catch (LockAcquireWouldBlockException $e) { + // some process owns the lock, let's do something else meanwhile + } + if ($result) { + $locker->release(); + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50136-AddSVGSupport.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50136-AddSVGSupport.rst new file mode 100644 index 000000000000..62307d81d706 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50136-AddSVGSupport.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +================================= +Feature: #50136 - Add SVG support +================================= + +See :issue:`50136` + +Description +=========== + +Added rendering support for SVG images. When an SVG image is scaled there is no processed file created but only a sys_file_processedfile record with the calculated new dimensions. + +When a mask of explicit cropping is set for an SVG image, the a processed file is created like for all other images. + +An extra fallback is added to ImageInfo to determine SVG dimensions when IM/GM fails. The new fallback reads the contents of the SVG file as a normal XML file and tries to find width and height in the outer tag. When no width and height are found viewBox is checked and when present the 3th and 4th value are used as width and height. + + +Impact +====== + +SVG is added as default supported image file extension to `$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50501-DisableAutomaticExtInstallation.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50501-DisableAutomaticExtInstallation.rst new file mode 100644 index 000000000000..64e9bd448ac6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-50501-DisableAutomaticExtInstallation.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #50501 - Extension Manager: Disable automatic installation +=================================================================== + +See :issue:`50501` + +Description +=========== + +The extension manager currently downloads and installs an extension from TER directly. Some people want to do +audits or modifications before installing an extension, therefore there is now an option to disable the automatic +installation process and just download an extension. + +The option is located in the settings of the extension manager itself (Extensions > Installed > Extension Manager). diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-52693-TSFE-RequestedId.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-52693-TSFE-RequestedId.rst new file mode 100644 index 000000000000..6df8e6fc6615 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-52693-TSFE-RequestedId.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +================================================ +Feature: #59646 - Add TSFE property $requestedId +================================================ + +See :issue:`59646` + +Description +=========== + +A new property within the main TypoScriptFrontendController for the frontend called $requestedId stores +the information about the page ID which is set before the page ID processing and resolving. +It is accessible via `$TSFE->getRequestedId()`. Also see `$TSFE->fetch_the_id()` method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-58621-FormatCaseViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-58621-FormatCaseViewHelper.rst new file mode 100644 index 000000000000..421bab69e731 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-58621-FormatCaseViewHelper.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +====================================== +Feature: #58621 - FormatCaseViewHelper +====================================== + +See :issue:`58621` + +Description +=========== + +Add a format case view helper to change casing of strings. + +Possible modes are: +* `upper` Transforms the input string to its uppercase representation +* `lower` Transforms the input string to its lowercase representation +* `capital` Transforms the input string to its first letter upper-cased +* `uncapital` Transforms the input string to its first letter lower-cased + + +.. code-block:: html + + <f:format.case>Some Text with miXed case</f:format.case> renders "SOME TEXT WITH MIXED CASE" + + <f:format.case mode="capital">someString</f:format.case> renders "SomeString" + + +Impact +====== + +The new ViewHelper can be used in all new projects. There is no interference with any part of existing code. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59646-AddRteConfigurationPropertyButtonsLinkTypePropertiesTargetDefault.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59646-AddRteConfigurationPropertyButtonsLinkTypePropertiesTargetDefault.rst new file mode 100644 index 000000000000..b1f94ae4dadb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59646-AddRteConfigurationPropertyButtonsLinkTypePropertiesTargetDefault.rst @@ -0,0 +1,16 @@ + +.. include:: ../../Includes.txt + +================================================================================================ +Feature: #59646 - Add RTE configuration property buttons.link.[*type*].properties.target.default +================================================================================================ + +See :issue:`59646` + +Description +=========== + +New RTE configuration property `buttons.link.[*type*].properties.target.default` may be used +in Page TSconfig to configure a default target for links of a given type. + +Possible link types are: page, file, url, mail, spec. More types may be provided by extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59712-HtmlParserAdditionalUserFuncParams.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59712-HtmlParserAdditionalUserFuncParams.rst new file mode 100644 index 000000000000..fa932f3c4148 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-59712-HtmlParserAdditionalUserFuncParams.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #59712 - Additional params for HTMLparser userFunc +=========================================================== + +See :issue:`59712` + +Description +=========== + +It is now possible to supply additional parameters to a userFunc of the HTMLparser: + +:: + + myobj = TEXT + myobj.value = <a href="/" class="myclass">MyText</a> + myobj.HTMLparser.tags.a.fixAttrib.class { + userFunc = Tx\MyExt\Myclass->htmlUserFunc + userFunc.myparam = test1 + } + +By default only the value of the processed attribute is passed to the userFunc +as the first parameter: + +:: + + function htmlUserFunc($attributeValue, HtmlParser $htmlParser) { + // $attributeValue is set to the current attribute value "myclass" + } + +When additional options are provided as described above, these options will be +passed in the first function parameter as an array. The attribute value is passed +in the array with the ``attributeValue`` array key. + +:: + + function htmlUserFunc(array $params, HtmlParser $htmlParser) { + // $params['attributeValue'] contains the current attribute value "myclass". + // $params['myparam'] is set to "test" in the current example. + } + + +Impact +====== + +If additional parameters are provided to the HTMLparser userFunc setting the first parameter +passed to the called function changes from a string with the attribute value to an array +containing the attributeValue key and all additional settings. + +This has an impact to all installations where additional parameters are used in the userFunc +setting of the HTMLparser. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-61463-AllowProcessedFoldersInDifferentStorage.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-61463-AllowProcessedFoldersInDifferentStorage.rst new file mode 100644 index 000000000000..c75f5970e53d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-61463-AllowProcessedFoldersInDifferentStorage.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #61463 - Allow processed folders in different storage +============================================================== + +See :issue:`61463` + +Description +=========== + +The processing folder of a storage can now be a combined identifier. +This makes it possible to have the processed files outside of the +storage in case of a read-only storage for instance. + + +Impact +====== + +For existing systems there is no impact. When the processing folder is changed +to a folder in a different storage you need to make sure the folder exists +and is writable. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63040-AddRteConfigurationPropertyButtonsAbbreviationRemoveFieldsets.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63040-AddRteConfigurationPropertyButtonsAbbreviationRemoveFieldsets.rst new file mode 100644 index 000000000000..7b7a92e39097 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63040-AddRteConfigurationPropertyButtonsAbbreviationRemoveFieldsets.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +===================================================================================== +Feature: #63040 - Add RTE configuration property buttons.abbreviation.removeFieldsets +===================================================================================== + +See :issue:`63040` + +Description +=========== + +The new property `buttons.abbreviation.removeFieldsets` may be used in Page TSconfig +to configure the abbreviation dialogue. + +If set, the listed fieldsets of the Abbreviation dialogue are not shown. + +Possible values in the list are: acronym, definedAcronym, abbreviation, definedAbbreviation + + +Impact +====== + +The acronym tag is deprecated in HTML5. Installations that want to use the Abbreviation +feature of the RTE, but do not wish to use the acronym setting tab of the Abbreviation +dialogue, may set this property in the Page TSconfig of the RTE, specifying +`buttons.abbreviation.removeFieldsets = acronym,definedAcronym` diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63703-AddOptionToStopTask.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63703-AddOptionToStopTask.rst new file mode 100644 index 000000000000..dbb46ac2efcf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-63703-AddOptionToStopTask.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #63703 - Add option to stop a running task in the scheduler +==================================================================== + +See :issue:`63703` + +Description +=========== + +The scheduler CLI has received an option to stop a running task. +The new option can be used with "-s". diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-64686-AddBackendUserGroupsToBackendUserModule.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-64686-AddBackendUserGroupsToBackendUserModule.rst new file mode 100644 index 000000000000..e5dbb49481a1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-64686-AddBackendUserGroupsToBackendUserModule.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #64686 - Add backend user groups to backend user module +================================================================ + +See :issue:`64686` + +Description +=========== + +The backend user groups can now be maintained in a sub-module of the +"Backend users" backend module. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65584-AddImageCropping.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65584-AddImageCropping.rst new file mode 100644 index 000000000000..763ade74e79f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65584-AddImageCropping.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +==================================== +Feature: #65584 - Add image cropping +==================================== + +See :issue:`65584` + +Description +=========== + +A new functionality is introduced that allows the editor to define image cropping settings to a *sys_file_reference*. + +The current support crop setting is a comma separated string defining: offsetX,offsetY,width,height + + +Impact +====== + +The value set for a *sys_file_reference* will be passed through to the image rendering of TYPO3 by default. +The new option of *sys_file_reference* is defined as exclude field in TCA so it needs to be enabled for editors. + + +Disable cropping of image when used with *typoscript* rendering: + +.. code-block:: typoscript + + # Disable cropping for all images + tt_content.image.20.1.file.crop = + +Set custom cropping setting for when used with *typoscript* rendering: + +.. code-block:: typoscript + + # Overrule/set cropping for all images + tt_content.image.20.1.file.crop = 50,50,100,100 + + +Disable cropping of image when used in *fluid*: + +.. code-block:: html + + <f:image image="{imageObject}" crop="" /> + +Set custom cropping setting for image when used in *fluid*: + +.. code-block:: html + + <f:image image="{imageObject}" crop="50,50,100,100" /> + + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65585-AddTCATypeImage_manipulation.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65585-AddTCATypeImage_manipulation.rst new file mode 100644 index 000000000000..ab36db874eda --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65585-AddTCATypeImage_manipulation.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +================================================ +Feature: #65585 - Add TCA type imageManipulation +================================================ + +See :issue:`65585` + +Description +=========== + +TCA type `imageManipulation` brings a image manipulation wizard to the core. + +This first version brings image cropping with the possibility to +set a certain aspect ratio for the cropped area. The +sys_file_reference.crop property is extended and can now also hold +a json string to describe the image manipulation. + +The `LocalCropScaleMaskHelper` that is used by the core +to create adjusted images is also adjusted to handle the new format. + + +Impact +====== + +There is an new TCA type column type `imageManipulation` it supports the following config: + +- file_field: string, default `uid_local` +- enableZoom: bool, default `FALSE` +- allowedExtensions: string, default `$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']` +- ratios: array, default + + - '1.7777777777777777' => '16:9', + - '1.3333333333333333' => '4:3', + - '1' => '1:1', + - 'NaN' => 'Free', + +When `ratios` is set in TCA the defaults are neglected. + +Property `sys_file_reference.crop` can now hold a string representing a json object. `LocalCropScaleMaskHelper` checks +if the it can parse the string as json. If it can it assumes it holds the properties: `x`, `y`, `width` and `height`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65767-SystemInformationDropdown.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65767-SystemInformationDropdown.rst new file mode 100644 index 000000000000..9c3ed1049d3d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65767-SystemInformationDropdown.rst @@ -0,0 +1,101 @@ + +.. include:: ../../Includes.txt + +============================================= +Feature: #65767 - System Information Dropdown +============================================= + +See :issue:`65767` + +Description +=========== + +A new, extensible flyout menu item is introduced that contains information about +the system TYPO3 is installed on. + + +Impact +====== + +In a default installation. the new flyout item will be placed between the "help" and the "user" +flyout items and is accessible by administrators only. + +Items +^^^^^ + +It is possible to add own system information items by creating a slot. The slot must be registered in +an extension's ext_localconf.php + +.. code-block:: php + + $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class); + $signalSlotDispatcher->connect( + \TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class, + 'getSystemInformation', + \Vendor\Extension\SystemInformation\Item::class, + 'getItem' + ); + +This requires the class `Item` and its method `getItem()` in EXT:extension\Classes\SystemInformation\Item.php: + +.. code-block:: php + + class Item { + public function getItem() { + return array(array( + 'title' => 'The title shown on hover', + 'value' => 'Description shown in the list', + 'status' => SystemInformationHookInterface::STATUS_OK, + 'count' => 4, + 'icon' => \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('extensions-example-information-icon') + )); + } + } + +Due to the SignalSlot internals, the data array must be encapsulated with another array! If there is no data to return, return `NULL`. + +The icon `extensions-example-information-icon` must be registered in ext_localconf.php: + +.. code-block:: php + + \TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons( + array( + 'information-icon' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Images/Icons/information-icon.png' + ), + $_EXTKEY + ); + +"extensions-" is a hardcoded prefix, combined with `$_EXTKEY` (e.g. "example") creates the prefix "extensions-example-" to +be used with every icon being registered. Since the first parameter of `SpriteManager::addSingleIcons()` is an array, multiple icons +can be registered at once. + + +Messages +^^^^^^^^ + +Messages are shown at the bottom og the dropdown. An extension can provide its own slot to fill the messages: + +.. code-block:: php + + $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class); + $signalSlotDispatcher->connect( + \TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class, + 'loadMessages', + \Vendor\Extension\SystemInformation\Message::class, + 'getMessage' + ); + +This requires the class `Message` and its method `getMessage()` in EXT:extension\Classes\SystemInformation\Message.php: + +.. code-block:: php + + class Message { + public function getMessage() { + return array(array( + 'status' => SystemInformationHookInterface::STATUS_OK, + 'text' => 'Something went somewhere terribly wrong. Take a look at the reports module.' + )); + } + } + +Due to the SignalSlot internals, the data array must be encapsulated with another array! If there is no data to return, return `NULL`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65996-AddConfirmationOnCloseEditformWithUnsavedChanges.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65996-AddConfirmationOnCloseEditformWithUnsavedChanges.rst new file mode 100644 index 000000000000..749b481ef43c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-65996-AddConfirmationOnCloseEditformWithUnsavedChanges.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +=================================================================================== +Feature: #65996 - Show confirm message on closing an edit form with unsaved changes +=================================================================================== + +See :issue:`65996` + +Description +=========== + +A new functionality is introduced that asks the editor to confirm closing an edit form with unsaved changes. + + +Impact +====== + +When clicking the close icon of an edit form with unsaved changes, a confirmation modal will be shown. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66029-ShowRemainingCharactersBelowTextFields.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66029-ShowRemainingCharactersBelowTextFields.rst new file mode 100644 index 000000000000..26ba5d9df6ab --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66029-ShowRemainingCharactersBelowTextFields.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +============================================================= +Feature: #66029 - Show remaining characters below text fields +============================================================= + +See :issue:`66029` + +Description +=========== + +The amount of remaining characters is displayed below text fields. + + +Impact +====== + +When focusing a form field, the amount of remaining characters gets +rendered below the form field, if a TCA field definition has the "max" +definition. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66042-WebLibrariesLoadedViaBower.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66042-WebLibrariesLoadedViaBower.rst new file mode 100644 index 000000000000..0c40bff3ace4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66042-WebLibrariesLoadedViaBower.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #66042 - Web Libraries are included via bower +====================================================== + +See :issue:`66042` + +Description +=========== + +Web libraries like Bootstrap, jQuery or Font Awesome are now installed via bower package management, +see http://bower.io/ for details on how bower is set up. + +All third-party libraries needed to build final CSS or JS files that will be shipped with the core are +excluded from the TYPO3 Core Git and installed via bower when building e.g. a new CSS file out of less. + +For setting up a development environment working with web libraries bower (which can be installed via npm +on a local machine) installs all needed dependencies defined in bower.json. The file .bowerrc describes +where the files are put. To set up the third-party libraries and their dependencies, execute the following +command. + +.. code-block:: text + + bower install + +For updating the code-base to a new version, the bower.json in the root directory can be adapted. +Executing `bower update` will then update the third-party libraries. + + +Impact +====== + +Setting up a development environment when working with frontend libraries (e.g. LESS) +requires npm and bower to be installed on the local machine. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66047-IntroduceJavascriptNotificationApi.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66047-IntroduceJavascriptNotificationApi.rst new file mode 100644 index 000000000000..95712b0e8223 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66047-IntroduceJavascriptNotificationApi.rst @@ -0,0 +1,79 @@ + +.. include:: ../../Includes.txt + +======================================================= +Feature: #66047 - Introduce JavaScript notification API +======================================================= + +See :issue:`66047` + +Description +=========== + +The Flashmessages API has been moved from `TYPO3.Flashmessages` to `top.TYPO3.Flashmessages` in TYPO3 CMS 7.0. + +Now we introduce the new JavaScript Notification API and remove the refactoring of the FlashMessage API which was made for TYPO3 CMS 7.0. + +The compatibility layer for TYPO3.FlashMessage has changed to use the new Notification API and will be removed with TYPO3 CMS 9 as before. + +The new Notification API works similar to old Flashmessages, you can use it from the Top-Frame, where is it loaded one time for the complete backend. + +Please look at the examples section in this document for more details. + + +Migration +========= + +The affected 3rd party extensions must be modified to use `top.TYPO3.Notification` instead of `top.TYPO3.Flashmessages`. + +Examples: + +1) Old and new syntax in general + +.. code-block:: javascript + + // Old and deprecated: + top.TYPO3.Flashmessages.display(TYPO3.Severity.notice) + + // New and the only correct way: + top.TYPO3.Notification.notice(title, message) + + +2) Notice notification + +.. code-block:: javascript + + // duration is optional, default is 5 seconds + top.TYPO3.Notification.notice(title, message, duration) + + +3) Info notification + +.. code-block:: javascript + + // duration is optional, default is 5 seconds + top.TYPO3.Notification.info(title, message, duration) + + +4) Success notification + +.. code-block:: javascript + + // duration is optional, default is 5 seconds + top.TYPO3.Notification.success(title, message, duration) + + +5) Warning notification + +.. code-block:: javascript + + // duration is optional, default is 5 seconds + top.TYPO3.Notification.warning(title, message, duration) + + +6) Error notification + +.. code-block:: javascript + + // duration is optional, default is 0 seconds which means sticky! + top.TYPO3.Notification.error(title, message, duration) diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66077-IntroduceCalloutsToReplaceContentAlerts.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66077-IntroduceCalloutsToReplaceContentAlerts.rst new file mode 100644 index 000000000000..c7305e2394c1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66077-IntroduceCalloutsToReplaceContentAlerts.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #66077 - Introduce callouts to replace content alerts +============================================================== + +See :issue:`66077` + +Description +=========== + +In several places alerts (flash messages) were used to display context information. +We introduce content info boxes and replace all occurrences where flash messages were used. + + +Impact +====== + +We introduced a new layout for context information and added a ViewHelper to render the markup. + + +Examples +======== + +Simple info box with a title. Please note that the title will always be HTML encoded by the ViewHelper + +.. code-block:: html + + <f:be.infobox title="Message title">your box content</f:be.infobox> + +All options of the ViewHelper. If you pass your message as ViewHelper argument, it will also be HTML encoded. + +.. code-block:: html + + <f:be.infobox title="Message title" message="your box content" state="-2" iconName="check" disableIcon="TRUE" /> + +If you really need to output HTML in your message, use the closing variant. All children of the ViewHelper will be used as message. + +.. code-block:: html + + <f:be.infobox title="Message title" state="-2" iconName="check" disableIcon="TRUE"> + <h1>{AlertMessage}</h1> + </f:be.infobox> diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66370-AddFlexiblePreviewUrlConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66370-AddFlexiblePreviewUrlConfiguration.rst new file mode 100644 index 000000000000..149043cc57f8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66370-AddFlexiblePreviewUrlConfiguration.rst @@ -0,0 +1,57 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #66370 - Add flexible Preview URL configuration +======================================================== + +See :issue:`66370` + +Description +=========== + +It is now possible to configure the preview link generated for the save+view button in Backend. + +This allows to have different preview URLs depending on the record type. + +Common usecase is to have previews for blog or news records, but this feature now allows you to +define a different preview page for content elements as well, which might be handy if those are stored +in a sysfolder. + + +Impact +====== + +New page TSconfig is introduced. The options are: + +.. code-block:: typoscript + + TCEMAIN.preview { + <table name> { + previewPageId = 123 + useDefaultLanguageRecord = 0 + fieldToParameterMap { + uid = tx_myext_pi1[showUid] + } + additionalGetParameters { + tx_myext_pi1.special = HELLO # results in tx_myext_pi1[special] + } + } + } + +The `previewPageId` is the uid of the page to use for preview. If this setting is omitted the current page will be used. +If the current page is not a normal page, the root page will be chosen. + +The `useDefaultLanguageRecord` defaults to `1` and ensures that translated records will use the uid of the default record +for the preview link. You may disable this, if your extension can deal with the uid of translated records. + +The `fieldToParameterMap` is a mapping which allows you to select fields of the record to be included as GET-parameters in +the preview link. The key specifies the field name and the value specifies the GET-parameter name. + +Finally `additionalGetParameters` allow you to add arbitrary GET-parameters and even override others. + +Predefined GET-parameters +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Core automatically sets the `no_cache` and the `L` parameter. The language matches the language of the current record. +You may override each parameter by using the `additionalGetParameters` configuration option. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66445-AddFileExtensionToMimeTypeMapping.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66445-AddFileExtensionToMimeTypeMapping.rst new file mode 100644 index 000000000000..971294241556 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Feature-66445-AddFileExtensionToMimeTypeMapping.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #66445 - Add file extension to mimeType mapping +======================================================== + +See :issue:`66445` + +Description +=========== + +As a fix for wrong mimeType detection for SVG files without XML prologue we added a new setting to map known file extensions to mimeTypes. +The new setting is `$GLOBALS['TYPO3_CONF_VARS']['SYS']['FileInfo']['fileExtensionToMimeType']` which contains an array: + +.. code-block:: php + + array( + 'svg' => 'image/svg+xml' + ) + + +Impact +====== + +The automatic detection for mimeTypes works great, but in some special cases not. +This new setting should only be used, if the automatic detection fails. diff --git a/typo3/sysext/core/Documentation/Changelog/7.2/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.2/Index.rst new file mode 100644 index 000000000000..be76a108826e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.2/Index.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +7.2 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-62983-PostProcessMirrorUrlSignalHasMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-62983-PostProcessMirrorUrlSignalHasMoved.rst new file mode 100644 index 000000000000..cc52b1faf93d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-62983-PostProcessMirrorUrlSignalHasMoved.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +======================================================== +Breaking: #62983 - postProcessMirrorUrl signal has moved +======================================================== + +See :issue:`62983` + +Description +=========== + +While refactoring the Language backend module, the +`\TYPO3\CMS\Lang\Service\UpdateTranslationService::postProcessMirrorUrl` signal got lost. Due to +the refactoring, it has been integrated in another class. + + +Impact +====== + +Using the old signal will prevent the slot from being called. + + +Affected Installations +====================== + +All extensions are affected that use the old +`\TYPO3\CMS\Lang\Service\UpdateTranslationService::postProcessMirrorUrl` +signal. + + +Migration +========= + +Change the slot to use the `\TYPO3\CMS\Lang\Service\TranslationService::postProcessMirrorUrl` +signal. If it is required to serve multiple TYPO3 versions, use the following code: + +.. code-block:: php + + $signalSlotDispatcher->connect( + version_compare(TYPO3_version, '7.0', '<') + ? 'TYPO3\\CMS\\Lang\\Service\\UpdateTranslationService' + : 'TYPO3\\CMS\\Lang\\Service\\TranslationService', + 'postProcessMirrorUrl', + 'Vendor\\Extension\\Slots\\CustomMirror', + 'postProcessMirrorUrl' + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63453-ChangedRenderingOfFlashMessagesViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63453-ChangedRenderingOfFlashMessagesViewHelper.rst new file mode 100644 index 000000000000..b0ff6025eb77 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63453-ChangedRenderingOfFlashMessagesViewHelper.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Breaking: #63453 - Changed rendering of FlashMessagesViewHelper +=============================================================== + +See :issue:`63453` + +Description +=========== + +The default (`renderMode="ul"`) rendering output of the `FlashMessagesViewHelper` has been changed. + +By default the view helper rendered an unordered list, each list item containing one message. +This output has been adjusted and more markup has been added. + + +Impact +====== + +You may see unexpected formatting of flash messages. + + +Affected Installations +====================== + +Any template using the `FlashMessagesViewHelper` unless the attribute `renderMode` is set to "div". +Be aware that the `renderMode` attribute has been deprecated. + + +Migration +========= + +Add a custom rendering template for the flash messages, like outlined in the example, to obtain the same output +as before. + +.. code-block:: html + + <f:flashMessages as="flashMessages"> + <ul class="myFlashMessages"> + <f:for each="{flashMessages}" as="flashMessage"> + <li>{flashMessage.message}</li> + </f:for> + </ul> + </f:flashMessages> diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.rst new file mode 100644 index 000000000000..88f53d2b6e86 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63835-RemoveDeprecatedExtbasePersistenceParts.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Breaking: #63835 - Remove Deprecated Parts in Extbase Persistence Layer +======================================================================= + +See :issue:`63835` + +Description +=========== + +The previously deprecated functions `TYPO3\CMS\Extbase\Persistence\Generic\Backend->setDeletedObjects()` and +`TYPO3\CMS\Extbase\Persistence\Repository->replace()` inside the Persistence Layer of Extbase have been removed. +The protected property "session" inside `TYPO3\CMS\Extbase\Persistence\Repository` has been removed as well. + + +Impact +====== + +Any direct calls to the methods will now exit with a PHP Fatal Error. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63846-FormEngineRefactoring.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63846-FormEngineRefactoring.rst new file mode 100644 index 000000000000..23fdada76e76 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-63846-FormEngineRefactoring.rst @@ -0,0 +1,88 @@ + +.. include:: ../../Includes.txt + +========================================= +Breaking: #63846 - FormEngine refactoring +========================================= + +See :issue:`63846` + +Description +=========== + +FormEngine is the core code structure that renders a record view in the backend. Basically everything +that is displayed if elements from page or list module are edited is done by this code. + +The main implementation was done thirteen years ago and was never touched on a deep code structure level +until now. The according patches were huge and move the whole code to a new level. Stuff like that can +not be done without impact on extensions that use this code. + + +Impact +====== + +TCA changes +----------- + +* Keys `_PADDING`, `_VALIGN` and `DISTANCE` of `TCA['aTable']['columns']['aField']['config']['wizards']` + have been removed and have no effect anymore. + +* Key `TCA['aTable']['ctrl']['mainPalette']` has been dropped and has no effect anymore. + +TSconfig changes +---------------- + +* Key `mod.web_layout.tt_content.fieldOrder` has been dropped and has no effect anymore. + +* Key `TCEFORM.aTable.aField.linkTitleToSelf` has been dropped and has no effect anymore. + + +Code level +---------- + +Methods and properties from FormEngine are not available anymore. Classes like `InlineElement` are gone. +New structures like a factory for elements and container have been introduced. +While not too many extensions in the wild hook or code with FormEngine, those that do will probably throw +fatal errors after upgrade. The hook `getSingleFieldClass` has been removed altogether. + +Changed user functions and hooks +-------------------------------- + +* TCA: If format of type `none` is set to `user`, the configured userFunc no longer gets an instance of `FormEngine` + as parent object, but an instance of `NoneElement`. + +* TCA: Wizards configured as `userFunc` now receive a dummy `FormEngine` object with empty properties instead + of the real instance. + +* Hooks no longer get the key `form_type`. Use `type` instead. + +* Hook `getSingleFieldClass` has been dropped and no longer called. + +Breaking interface changes +-------------------------- + +* The type hint to `FormEngine` as `$pObj` has been removed on the `DatabaseFileIconsHookInterface`. + This hook is no longer given an instance of `FormEngine`. + +* Method `init()` of `InlineElementHookInterface` has been removed. Classes that implement this interface will + no longer get `init()` called. + + +Affected installations +====================== + +For most instances, the overall impact is rather low or they are not affected at all. Some very +rarely used TCA and TSconfig options have been dropped, those will do no harm. Instances are usually only affected +if loaded extensions do fancy stuff with FormEngine with hooks or other related code. + +TYPO3 CMS 7 installations with extensions using or hooking into FormEngine and its related classes are +likely to break. TCA elements of type user may break. Instances using these parts will quickly show +fatal errors at testing. It may help to search for `FormEngine` or `t3lib_tceForms` below the `typo3conf/ext` +directory to find affected instances. + + +Migration +========= + +Adapt the extension code. The majority of methods were for internal core usage only, but still public. Please +use the existing API to solve needs on FormEngine. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66429-RemoveIdentityMapFromPersistence.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66429-RemoveIdentityMapFromPersistence.rst new file mode 100644 index 000000000000..f26ef8a5d87e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66429-RemoveIdentityMapFromPersistence.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #66429 - Remove IdentityMap from persistence +====================================================== + +See :issue:`66429` + +Description +=========== + +The `IdentityMap` class and its usage has been removed from the Extbase persistence. + + +Impact +====== + +Upgraded installations will throw a `ReflectionException`. Accessing the previously existing `IdentityMap` +properties within `DataMapper` and `Repository` will now fail. Creating `IdentityMap` instances is not possible +anymore. + + +Affected Installations +====================== + +All installations, especially extensions using the `IdentityMap` class directly or accessing the properties within +`DataMapper` or `Repository`. + + +Migration +========= + +The Extbase reflection cache of existing installations needs to be cleared once. + +Existing code can be migrated to the persistence `Session` class which provides a drop-in replacement for the +`IdentityMap`. + + +Usage example +============= + +How to use the `Session` class to retrieve objects by an identifier: + +.. code-block:: php + + $session = GeneralUtility::makeInstance(ObjectManager::class)->get(\TYPO3\CMS\Extbase\Persistence\Generic\Session::class); + $session->registerObject($object, $identifier); + if ($session->hasIdentifier($identifier)) { + $object = $session->getObjectByIdentifier($identifier, $className); + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66669-BackendLoginControllerRefactored.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66669-BackendLoginControllerRefactored.rst new file mode 100644 index 000000000000..b0c2d5326b40 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66669-BackendLoginControllerRefactored.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #66669 - Backend LoginController refactored +===================================================== + +See :issue:`66669` + +Description +=========== + +The backend login has been completely refactored and a new API has been introduced. +The openid form has been extracted and is now using the new API as well. + + +Impact +====== + +All former member variables of the `LoginController` class have been removed or made protected, together with +some, now pointless, hooks and their related classes. + +The deleted hooks are: + +- `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/index.php']['loginScriptHook']` +- `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/index.php']['loginFormHook']` + +The removed class and its alias: + +- `TYPO3\CMS\Rsaauth\Hook\LoginFormHook` +- `tx_rsaauth_loginformhook` + + +Affected Installations +====================== + +Any code manipulating the BE login. + + +Migration +========= + +Use the new backend login form API. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66707-IssueCommandNowAddsQuotesWhenUsedInJSContext.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66707-IssueCommandNowAddsQuotesWhenUsedInJSContext.rst new file mode 100644 index 000000000000..1458e0fa1784 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66707-IssueCommandNowAddsQuotesWhenUsedInJSContext.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Breaking: #66707 - issueCommand() now adds quotes when used in JS context +========================================================================= + +See :issue:`66707` + +Description +=========== + +Using `\TYPO3\CMS\Backend\Template\DocumentTemplate::issueCommand()` in JavaScript context (second parameter = -1), +now ensures that the URL is properly escaped and quoted for being used in JavaScript code. + + +Impact +====== + +Having additional quotes around the result of the call to `issueCommand()` will lead to JavaScript errors. + + +Affected Installations +====================== + +Any installation using third party extensions, which use `issueCommand()` with second parameter set to -1. + + +Migration +========= + +Make sure that you do **not** specify any additional quotes around the result of the call to `issueCommand()`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66754-RemoveRenderingContextAwareInterface.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66754-RemoveRenderingContextAwareInterface.rst new file mode 100644 index 000000000000..7cc658d8d4db --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66754-RemoveRenderingContextAwareInterface.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +======================================================== +Breaking: #66754 - Remove RenderingContextAwareInterface +======================================================== + +See :issue:`66754` + +Description +=========== + +The `RenderingContextAwareInterface` allowed objects to get the `RenderingContext` set while being +accessed from inside a Fluid template. This makes optimization of variable access in Fluid difficult +and seems to be an unused feature. Therefore it has been removed. + +Impact +====== + +For implementations of `RenderingContextAwareInterface` the change breaks without any simple replacement. +Functionality would have to be replicated in userland code. But as there are no known implementations +the expected impact is rather low. + + +Breaking interface changes +-------------------------- + +* The `RenderingContextAwareInterface` has been removed. There is no replacement. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66868-MoveUsageOfBackendUserSettingsDataProvider.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66868-MoveUsageOfBackendUserSettingsDataProvider.rst new file mode 100644 index 000000000000..0325c8b6e935 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66868-MoveUsageOfBackendUserSettingsDataProvider.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +================================================================ +Breaking: #66868 - Move usage of BackendUserSettingsDataProvider +================================================================ + +See :issue:`66868` + +Description +=========== + +The ExtDirect API `BackendUserSettingsDataProvider` has been removed. + + +Impact +====== + +Third party code using either `BackendUserSettingsDataProvider` or `top.TYPO3.BackendUserSettings.ExtDirect` will fatal. + + +Affected Installations +====================== + +Any installation using `BackendUserSettingsDataProvider` or `top.TYPO3.BackendUserSettings.ExtDirect` is affected. + + +Migration +========= + +In JavaScript, use `TYPO3.Storage.Persistent` API. In PHP, use `\TYPO3\CMS\Backend\Controller\UserSettingsController`: + +.. code-block:: php + + /** @var $userSettingsController \TYPO3\CMS\Backend\Controller\UserSettingsController */ + $userSettingsController = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Controller\UserSettingsController::class); + $state = $userSettingsController->process('get', 'BackendComponents.States.' . $stateId); diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66906-AutomaticPNGToGIFConversionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66906-AutomaticPNGToGIFConversionRemoved.rst new file mode 100644 index 000000000000..b102cd6bad51 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66906-AutomaticPNGToGIFConversionRemoved.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #66906 - Automatic PNG to GIF conversion removed +========================================================== + +See :issue:`66906` + +Description +=========== + +The configuration setting `$TYPO3_CONF_VARS[GFX][png_to_gif]` has been removed. + + +Impact +====== + +If the option is set in an installation, then PNG images used in the TYPO3 Frontend will now be kept as PNG, instead +of converting them to GIF files. + + +Affected Installations +====================== + +Installations having the option `$TYPO3_CONF_VARS[GFX][png_to_gif]` activated. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66991-TCAValueSliderBasedOnJQuery.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66991-TCAValueSliderBasedOnJQuery.rst new file mode 100644 index 000000000000..6ca6f7dd4d52 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66991-TCAValueSliderBasedOnJQuery.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #66991 - TCA value slider based on jQuery +=================================================== + +See :issue:`66991` + +Description +=========== + +The TCA value slider has been ported from ExtJS to jQuery and Bootstrap. + + +Impact +====== + +Since TYPO3 CMS 7 uses a DateTimePicker, the time selection conflicts with the value slider and therefore +time-sliding has been dropped. + + +Affected Installations +====================== + +All installations are affected whose TCA uses the value slider wizard in combination with `time` evaluation. + + +Migration +========= + +Remove the slider wizard from affected TCA. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66997-RemoveSuper-challengedPasswordSecurity.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66997-RemoveSuper-challengedPasswordSecurity.rst new file mode 100644 index 000000000000..122fe8971358 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-66997-RemoveSuper-challengedPasswordSecurity.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #66997 - Remove super-/challenged password security +============================================================= + +See :issue:`66997` + +Description +=========== + +TYPO3 CMS supports four possibilities how passwords can be sent from the browser to the server: + +- "normal": Plain text +- "challenged": md5 hashed +- "superchallenged": md5 hashed +- "rsa": asymmetric encryption + +Since TYPO3 CMS 6.2 the password transmission is protected by the rsaauth-extension by default ("rsa"), +which renders the old protection mechanisms "superchallenged" and "challenged" useless. + +If the Backend login is accessed via HTTPS protocol, the "rsa" protection is redundant and can be disabled in general. + +The super-/challenged options are removed, as "rsa" and "normal" are sufficient. +If rsaauth was not installed the default has been "superchallenged". The new default is "normal" now. + + +Impact +====== + +If an installation has rsaauth disabled, the password transfer is now **Plain Text**. + +Any code relying on or checking for the "superchallenged" or "challenged" option +of `[BE][loginSecurityLevel]` or `[FE][loginSecurityLevel]`, will not work as expected. + + +Affected Installations +====================== + +Any installation having set `[BE][loginSecurityLevel]` or `[FE][loginSecurityLevel]` to an empty string or to +either of "superchallenged" or "challenged". + + +Migration +========= + +Make sure you access the Backend via HTTPS or install the rsaauth system extension. + +Also refer to the `TYPO3 Security Guide`_ + +.. _TYPO3 Security Guide: https://docs.typo3.org/typo3cms/SecurityGuide/GuidelinesAdministrators/EncryptedCommunication/Index.html diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67027-RemovedFlowCompatibilityFromPackageManager.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67027-RemovedFlowCompatibilityFromPackageManager.rst new file mode 100644 index 000000000000..b8d58f78be78 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67027-RemovedFlowCompatibilityFromPackageManager.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #67027 - Removed FLOW-compatibility from PackageManager +================================================================= + +See :issue:`67027` + +Description +=========== + +The Package Manager has been simplified and trimmed down to fit the needs of the TYPO3 extensions and typical +Composer packages. All shipped code backported from Flow was removed or refactored to be included in the TYPO3 +Core natively. Loading classes are done with the Composer class loader or by the conventions of extension namings. +All default Composer packages can still be included as usual, however the custom Flow-logic has been removed. + + +Impact +====== + +It is not possible to add custom Package.php loaders into TYPO3 extensions anymore to be called during runtime. It is +not possible to configure extensions with custom `Classes/` directories and custom composer.json locations anymore. +There is no special handling for "typo3-flow" packages anymore. The :file:`typo3conf/PackageStates.php` file now only +contains the parts that are necessary for the TYPO3 system. + + +Affected Installations +====================== + +All installations using custom functionality of the PackageManager not in use with the TYPO3 Core, or installations +trying to use Flow packages natively in the TYPO3 Core. + + +Migration +========= + +Use Composer packages natively for class loading, or use ext_localconf.php to additionally configure a package. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67204-DatabaseConnectionexec_SELECTgetRowsMayThrowException.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67204-DatabaseConnectionexec_SELECTgetRowsMayThrowException.rst new file mode 100644 index 000000000000..9c40ce3de08b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67204-DatabaseConnectionexec_SELECTgetRowsMayThrowException.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Breaking: #67204 - DatabaseConnection::exec_SELECTgetRows() may throw exception +=============================================================================== + +See :issue:`67204` + +Description +=========== + +`DatabaseConnection::exec_SELECTgetRows()` validates `$uidIndexField` parameter now. +If the specified field is not present in the database result an `InvalidArgumentException` is thrown. + + +Impact +====== + +This change will affect only broken usages of `DatabaseConnection::exec_SELECTgetRows()` with an invalid last +parameter. + +It is very unlikely that existing code affected by this change, since using the method in a wrong way had the +consequence that it only returned the last row from the result. + + +Affected Installations +====================== + +Any code using the `DatabaseConnection::exec_SELECTgetRows()` method with `$uidIndexField` being set to a field +name not present in the queried result set. + + +Migration +========= + +Fix your call to the method and correct the `$uidIndexField` parameter. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67212-DiscardLegacyClassLoader.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67212-DiscardLegacyClassLoader.rst new file mode 100644 index 000000000000..4acd732bacf5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67212-DiscardLegacyClassLoader.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #67212 - Discard TYPO3 class loader +============================================= + +See :issue:`67212` + +Description +=========== + +The former TYPO3 class loader has been removed in favor of the composer class loader. + + +Impact +====== + +ext_autoload.php files are **not** evaluated any more. Instead all class files are registered +automatically during extension installation and written into a class map file. This class map file is +not changed during regular requests, but only if the extension list changes (by using the Extension Manager). + +These class information files are located in the :file:`typo3temp/autoload/` directory and will also be automatically +created if they do not exist. + +Non-namespaced classes with `Tx_` naming convention like `Tx_Extension_ClassName` are only resolved through +the aforementioned class map, but not dynamically. This means that extension authors need to re-generate the class map +files when introducing new classes. Thus it is highly recommended to use a Classes folder with PSR-4 standard class +files in there. + +When installing TYPO3 with composer, it also means that all extensions need to bring their own :file:`composer.json` +file with class loading information or the class loading information of all extensions need to be specified in the root +:file:`composer.json` for class loading to work properly. + + +Affected Installations +====================== + +All installations are affected. + + +Migration +========= + +No migration is needed during upgrade if TYPO3 is installed in the classic way. +If TYPO3 is installed in a distribution via composer, missing class loading information need to be provided in root +composer.json for all extensions which do not bring their own composer.json manifest. + +.. code-block:: json + + { + "autoload": { + "psr-4": { + "GeorgRinger\\News\\": "typo3conf/ext/news/Classes/", + "MyAwesomeNamespace\\IncrediExt\\": "typo3conf/ext/incredible_extension/Resources/PHP/Libraries/lib/" + } + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67229-FormEngineRelatedClasses.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67229-FormEngineRelatedClasses.rst new file mode 100644 index 000000000000..c46fd7339dc3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67229-FormEngineRelatedClasses.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +============================================== +Breaking: #67229 - FormEngine related classses +============================================== + +See :issue:`67229` + + +Description +=========== + +With the further development of FormEngine, some minor changes on PHP level have been applied: + +* Class `TYPO3\CMS\T3editor\FormWizard` has been removed + +* Class `TYPO3\CMS\Rtehtmlarea\Controller\FrontendRteController` has been removed + +* The method signature of class `TYPO3\CMS\Utility\BackendUtility` method `getSpecConfParts` has changed + + +Impact +====== + +Using code will fatal or not be called any longer. + + +Affected Installations +====================== + +If extensions use above classes or methods. Since these classes are mostly core internal +it is quite unlikely any project in the wild is affected. + + +Migration +========= + +Use the newly introduced API. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectInitializeObject.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectInitializeObject.rst new file mode 100644 index 000000000000..e00aa517c431 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectInitializeObject.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================ +Breaking: #67402 - Extbase AbstractDomainObject initializeObject +================================================================ + +See :issue:`67402` + +Description +=========== + +Method `initializeObject()` has been removed from `TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject`. + + +Impact +====== + +Possible fatal error in Extbase if objects are thawed from persistence. + + +Affected Installations +====================== + +Domain objects extending AbstractDomainObject and calling `parent::initializeObject()`. +This is relatively unlikely since the default implementation of `initializeObject()` is empty. + + +Migration +========= + +Remove calls to `parent::initializeObject()` from own `initializeObject()` implementations. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectWakeUp.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectWakeUp.rst new file mode 100644 index 000000000000..17fefe48217d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Breaking-67402-ExtbaseAbstractDomainObjectWakeUp.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #67402 - Extbase AbstractDomainObject __wakeup() +========================================================== + +See :issue:`67402` + +Description +=========== + +Method `__wakeup()` in classes extending `TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject` +is no longer called if objects are created when fetched from persistence. + + +Affected Installations +====================== + +An instance is affected if own domain objects extending AbstractDomainObject +implement own `__wakeup()` methods. Those methods are no longer called. + + +Migration +========= + +Move initialization code from `__wakeup()` to `initializeObject()`. As a bonus, dependencies have been injection at +this point already. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-61829-DbalConfigClassFile.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-61829-DbalConfigClassFile.rst new file mode 100644 index 000000000000..4eabcade75fe --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-61829-DbalConfigClassFile.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #61829 - Deprecate config.classFile DBAL option +============================================================ + +See :issue:`61829` + +Description +=========== + +The DBAL option `config.classFile` has been marked for deprecation, +and will be removed with TYPO3 CMS 8. + + +Impact +====== + +Using `config.classFile` option will throw a deprecation message. + + +Affected Installations +====================== + +Installations which use a user-defined DBAL database-handler. + + +Migration +========= + +Load the class using the autoloader. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63453-DeprecateRenderModeAttributeOfFlashMessageViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63453-DeprecateRenderModeAttributeOfFlashMessageViewHelper.rst new file mode 100644 index 000000000000..d5fc5c7569cd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63453-DeprecateRenderModeAttributeOfFlashMessageViewHelper.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Deprecation: #63453 - Deprecate renderMode attribute of FlashMessagesViewHelper +=============================================================================== + +See :issue:`63453` + +Description +=========== + +Deprecated `renderMode` in favor of a flexible deferred rendering of flash messages in the Fluid template. +This means that flash messages should no longer contain HTML, but the HTML output can and should be adjusted in the +Fluid template. + + +Impact +====== + +Using `renderMode` on FlashMessage output will throw a deprecation warning. + + +Affected Installations +====================== + +All instances using the renderMode attribute in FlashMessage output. + + +Migration +========= + +Adjust flash messages to contain only plain text and remove the renderMode attribute in the output Templates. + +.. code-block:: html + + <f:flashMessages as="flashMessages"> + <ul class="typo3-flashMessages"> + <f:for each="{flashMessages}" as="flashMessage"> + <li class="alert {flashMessage.class}"> + <h4>{flashMessage.title}</h4> + {flashMessage.message} + </li> + </f:for> + </ul> + </f:flashMessages> diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63735-DeprecateDataHandlerCheckValueMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63735-DeprecateDataHandlerCheckValueMethods.rst new file mode 100644 index 000000000000..bd5bca61ca88 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-63735-DeprecateDataHandlerCheckValueMethods.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +================================================================= +Deprecation: #63735 - Deprecate DataHandler->checkValue_*-methods +================================================================= + +See :issue:`63735` + +Description +=========== + +The following internal but currently public functions have been marked as deprecated: + +* DataHandler->checkValue_text +* DataHandler->checkValue_input +* DataHandler->checkValue_check +* DataHandler->checkValue_radio +* DataHandler->checkValue_group_select +* DataHandler->checkValue_flex + + +Impact +====== + +Using these functions will throw a deprecation message. + + +Migration +========= + +These functions are internal and should not be used outside of the core. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-65344-ExtTables.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-65344-ExtTables.rst new file mode 100644 index 000000000000..4928495365da --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-65344-ExtTables.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +======================================================== +Deprecation: #65344 - typo3conf/extTables.php deprecated +======================================================== + +See :issue:`65344` + +Description +=========== + +The file :file:`typo3conf/extTables.php` which could be used for local TCA modifications has been marked as deprecated. + +Setting `$GLOBALS['TYPO3_CONF_VARS']['DB']['extTablesDefinitionScript']` together with the constant +`TYPO3_extTableDef_script` are deprecated and should not be used any longer. + + +Impact +====== + +The options and files are typically used for "poor man" `$GLOBALS['TCA']` overrides. This is discouraged +and shouldn't be used any longer. + + +Migration +========= + +There are two options to migrate away from `typo3conf/extTables.php` usage, the first one should be preferred: + +* It is good practice to have a project / site specific extension that contains templates, TypoScript and + other stuff. Create one or more dedicated extensions and use TCA overrides to apply the desired modifications. + Something like `$GLOBALS['TCA']['pages']['ctrl']['hideAtCopy'] = FALSE;` should be moved from + :file:`typo3conf/extTables.php` to :file:`typo3conf/ext/<your_extension>/Configuration/TCA/Overrides/pages.php`. + +* Slot the signal `tcaIsBeingBuilt` that is emitted in `ExtensionManagementUtility.php`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66789-DeprecateOptionsInCshViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66789-DeprecateOptionsInCshViewHelper.rst new file mode 100644 index 000000000000..88625fec8754 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66789-DeprecateOptionsInCshViewHelper.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +========================================================= +Deprecation: #66789 - options deprecated in CshViewHelper +========================================================= + +See :issue:`66789` + +Description +=========== + +The two unused options `iconOnly` and `styleAttributes` have been marked as deprecated. + + +Impact +====== + +The options in the CshViewHelper have been marked as deprecated and will be removed in TYPO3 CMS 8. + + +Migration +========= + +Remove the options where the CshViewHelper is used. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66823-ExtensionUtilityConfigureModule.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66823-ExtensionUtilityConfigureModule.rst new file mode 100644 index 000000000000..bf0ebe810306 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66823-ExtensionUtilityConfigureModule.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Deprecation: #66823 - Deprecate Extbase ExtensionUtility->configureModule method +================================================================================ + +See :issue:`66823` + +Description +=========== + +The method `TYPO3\CMS\Extbase\Utility\ExtensionUtility->configureModule()` has been marked for deprecation, and will +be removed with TYPO3 CMS 8. + + +Impact +====== + +Calling `TYPO3\CMS\Extbase\Utility\ExtensionUtility->configureModule()` will throw a deprecation message. + + +Affected Installations +====================== + +Any installation with a third-party extension making use of `ExtensionUtility->configureModule()` directly +inside e.g. ext_tables.php. + + +Migration +========= + +Use the 1:1 functionality in `TYPO3\CMS\Core\Utility\ExtensionManagementUtility->configureModule()` directly. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66905-ClassicPageModuleAndEditRegularContentFromId.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66905-ClassicPageModuleAndEditRegularContentFromId.rst new file mode 100644 index 000000000000..46f9639c6307 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66905-ClassicPageModuleAndEditRegularContentFromId.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=========================================================================================== +Deprecation: #66905 - Deprecate uc->classicPageEditMode and editRegularContentFromId option +=========================================================================================== + +See :issue:`66905` + +Description +=========== + +The BE-User uc option "classicPageEditMode" which was used prior to TYPO3 CMS 4.0 has been removed some time ago. +The functionality `editRegularContentFromId` which was then triggered in EditDocumentController has been marked +for deprecation. + + +Impact +====== + +Any direct calls using `editRegularContentFromId` via GET parameter or calling `editRegularContentFromId()` +directly from a third-party extension will trigger a deprecation message. + + +Affected Installations +====================== + +Any installation using third-party code to restore the old behaviour. + + +Migration +========= + +Remove calls to the functionality. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66906-FunctionalityPngToGifConversion.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66906-FunctionalityPngToGifConversion.rst new file mode 100644 index 000000000000..f126faab2f21 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-66906-FunctionalityPngToGifConversion.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #66906 - Functionality for png_to_gif conversion +============================================================= + +See :issue:`66906` + +Description +=========== + +The global option `$TYPO3_CONF_VARS[GFX][png_to_gif]` has been removed. The according functionality within +`GraphicalFunctions->pngToGifByImagemagick()` has been marked for deprecation. + + +Impact +====== + +Any direct calls using `pngToGifByImagemagick()` will now throw a deprecation warning. All installations having the +option `png_to_gif` activated will now always show png files instead of gifs when resizing PNG images in the +TYPO3 Frontend. + + +Affected Installations +====================== + +Any installation having png_to_gif activated or having third-party extensions calling +`GraphicalFunctions->pngToGifByImagemagick()` directly. + + +Migration +========= + +Remove calls to the functionality, as the result will be a PNG. If GIF conversion is needed, the functionality needs +to be implemented in a custom FAL Processor inside an extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67029-DeprecatePageBgImgOption.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67029-DeprecatePageBgImgOption.rst new file mode 100644 index 000000000000..d7d9c50e8695 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67029-DeprecatePageBgImgOption.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +================================================= +Deprecation: #67029 - Deprecate page.bgImg option +================================================= + +See :issue:`67029` + +Description +=========== + +The option `page.bgImg` has been marked for deprecation and will be removed with TYPO3 CMS 8. + + +Impact +====== + +Using `page.bgImg` will throw a deprecation message. + + +Affected Installations +====================== + +Any installation which uses this TypoScript option. + + +Migration +========= + +Use CSS to set a background on the body. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67171-T3editorIsEnabled.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67171-T3editorIsEnabled.rst new file mode 100644 index 000000000000..c8c6411e2096 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67171-T3editorIsEnabled.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +===================================================== +Deprecation: #37171 - Deprecate t3editor->isEnabled() +===================================================== + +See :issue:`37171` + +Description +=========== + +TYPO3\CMS\T3editor\T3editor->isEnabled() has been marked as deprecated and should not be called anymore. + + +Impact +====== + +The method isEnabled() always returns TRUE and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +Any installation using third-party code that works with t3editor and calls isEnabled(). + + +Migration +========= + +The method call should be removed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67229-TcaChanges.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67229-TcaChanges.rst new file mode 100644 index 000000000000..6b1c9e74696b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67229-TcaChanges.rst @@ -0,0 +1,240 @@ + +.. include:: ../../Includes.txt + +================================= +Deprecation: #65290 - TCA changes +================================= + +See :issue:`65290` + + +Description +=========== + +Some details in the main `Table Configuration Array, TCA`, known on PHP side as `$GLOBALS['TCA']` changed. + + +Simplified `types` `showitem` configuration using `columnsOverrides` +-------------------------------------------------------------------------- + +If a field is configured as `type` in `TCA` `ctrl` section, the value of this database field determines +which fields are shown if opening a record in the backend. The shown fields are configured in `TCA` section +`types` `showitem` and is a comma separated list of field names. Each field name can have 4 additional +semicolon separated options, from which the last two have been dropped and moved: + +Before: + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'showitem' => 'aField,anotherField;otherLabel;aPalette;special:configuration;a-style-indicator,thirdField', + ), + ), + + +If a record is opened that has the type field set to `aType`, it would show the three fields `aField`, `anotherField` +and `thirdField`. The second field `anotherField` has further configuration and shows a different label, adds an additional +palette below the field referenced as `aPalette`, adds `special:configuration` as special configuration and changes +the style with its last field. The last two parameters were changed: The style configuration is obsolete since 7.1 and has been removed. +The special configuration is identical to the `defaultExtras` field of a `columns` field section and can be added with this +name in a newly introduced array `columnsOverrides` that is parallel to `showitem` of this type: + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'showitem' => 'aField,anotherField;otherLabel;aPalette,thirdField', + 'columnsOverrides` => array( + 'anotherField' => array( + 'defaultExtras' => 'special:configuration', + ), + ), + ), + ), + + +So, the 4th parameter has been transferred to `columnsOverrides` while the 5th parameter has been removed. + +This change enables more flexible overrides of column configuration based on a given type. This is currently used in +`FormEngine` only, so only view-related parameters must be overwritten here. It is not supported to change data handling +related parameters like `type=text` to `type=select` or similar, but it is possible to change for example the number +of rows shown in a `type=text` column field: + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'showitem' => 'aField,anotherField;otherLabel;aPalette,thirdField', + 'columnsOverrides` => array( + 'anotherField' => array( + 'config' => array( + 'rows' => 42, + ), + ), + ), + ), + ), + + +It is also possible to remove a given configuration from the default configuration using the `__UNSET` keyword. Again, +this is only supported for view-related configuration options. Changing for instance an `eval` option may cripple the +PHP-side validation done by the DataHandler that checks and stores values. + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'columnsOverrides` => array( + 'bodytext' => array( + 'config' => array( + 'rows' => '__UNSET', + ), + ), + ), + ), + ), + + +The above example would remove the `rows` parameter of the `bodytext` field columns configuration, so a default +value would be used instead. + + +Simplified t3editor configuration +--------------------------------- + +t3editor is no longer configured and enabled as wizard. + +Configuration for a column field looked like this before: + +.. code-block:: php + + 'bodytext' => array( + 'config' => array( + 'type' => 'text', + 'rows' => 42, + 'wizards' => array( + 't3editor' => array( + 'type' => 'userFunc', + 'userFunc' => 'TYPO3\CMS\T3editor\FormWizard->main', + 'title' => 't3editor', + 'icon' => 'wizard_table.gif', + 'module' => array( + 'name' => 'wizard_table' + ), + 'params' => array( + 'format' => 'html', + 'style' => 'width:98%; height: 60%;' + ), + ), + ), + ), + ), + + +The new configuration is simplified to: + +.. code-block:: php + + 'bodytext' => array( + 'exclude' => 1, + 'label' => 'aLabel', + 'config' => array( + 'type' => 'text', + 'renderType' => 't3editor', + 'format' => 'html', + 'rows' => 42, + ), + ), + + +In case t3editor was only enabled for a specific type, this was previously done with +`enableByTypeConfig` within the wizard configuration and `wizards[theWizardName]` as +the 4th semicolon separated parameter of the according field in section `showitem` of the +`type` where t3editor should be enabled. Old configuration was: + +.. code-block:: php + + 'columns' => array( + 'bodytext' => array( + 'exclude' => 1, + 'label' => 'aLabel', + 'config' => array( + 'type' => 'text', + 'rows' => 42, + 'wizards' => array( + 't3editorHtml' => array( + 'type' => 'userFunc', + 'userFunc' => 'TYPO3\CMS\T3editor\FormWizard->main', + 'enableByTypeConfig' => 1, + 'title' => 't3editor', + 'icon' => 'wizard_table.gif', + 'module' => array( + 'name' => 'wizard_table' + ), + 'params' => array( + 'format' => 'html', + 'style' => 'width:98%; height: 60%;' + ), + ), + ), + ), + ), + ), + 'types' => array( + 'firstType' => array( + 'showitem' => 'bodytext;;;wizards[t3editorHtml]', + ), + ), + + +This now uses the new `columnsOverrides` feature parallel to `showitem`: + +.. code-block:: php + + 'columns' => array( + 'bodytext' => array( + 'config' => array( + 'type' => 'text', + 'rows' => 42, + ), + ), + ), + 'types' => array( + 'firstType' => array( + 'showitem' => 'bodytext', + 'columnsOverrides' => array( + 'bodytext' => array( + 'config' => array( + 'format' => 'typoscript', + 'renderType' => 't3editor', + ), + ), + ), + ), + + +Impact +====== + +TCA is automatically migrated during bootstrap of the TYPO3 core and the result is cached. +In case TCA is still registered or changed in extensions with entries in `ext_tables.php`, an automatic +migration of this part of `TCA` is only triggered if extension `compatibility6` is loaded. This has a +performance penalty since the migration in `compatibility6` is then done on every frontend and backend +script call and is not cached. +It is **strongly** advised to move remaining `TCA` changes from `ext_tables.php` to `Configuration/TCA` or +`Configuration/TCA/Overrides` of the according extension and to unload `compatibility6`. + + +Migration +========= + +An automatic migration is in place. It throws deprecation log entries in case `TCA` had to be changed on the fly. +The migration logs give hints on what exactly has changed and the final `TCA` can be inspected in the backend +configuration module. If outdated flexforms are used, the migration is done within the FormEngine class +construct on the fly and will throw deprecation warnings as soon as a record with outdated `TCA` flexforms +is opened in the backend. + +Typical migration of the 4th `showitem` parameter involves moving a RTE configuration like +`richtext:rte_transform[mode=ts_css]` or the `type=text` flags `nowrap`, `fixed-font` +and `enabled-tab` to `columnsOverrides`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67297-DbalFieldTypeConversion.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67297-DbalFieldTypeConversion.rst new file mode 100644 index 000000000000..28a2be6d40b3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67297-DbalFieldTypeConversion.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +======================================================== +Deprecation: #67297 - MySQL / DBMS field type conversion +======================================================== + +See :issue:`67297` + +Description +=========== + +The Dbal\DatabaseConnection class provides generic functions that translate between native MySQL field types +and ADOdb meta field types. The generic functions `MySQLActualType()` and `MySQLMetaType` have been marked as +deprecated and should not be used any longer. + + +Impact +====== + +Although these are public functions the use was probably limited to the DBAL Extension. +If used however, they will trigger a deprecation message. + + +Migration +========= + +Use the functions `getNativeFieldType()` and `getMetaFieldType()` provided by the DBMS specifics class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67402-ExtbaseAbstractDomainObjectWakeUp.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67402-ExtbaseAbstractDomainObjectWakeUp.rst new file mode 100644 index 000000000000..dfee20dbb2d0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Deprecation-67402-ExtbaseAbstractDomainObjectWakeUp.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #67402 - Extbase AbstractDomainObject __wakeup() +============================================================= + +See :issue:`67402` + +Description +=========== + +Method `__wakeup()` has been marked as deprecated in `TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject`. + + +Affected Installations +====================== + +An instance is affected if own domain objects extending AbstractDomainObject +implement `__wakeup()` and call `parent::__wakeup()` as documented. + + +Migration +========= + +Remove calls to `parent::__wakeup()` from own `__wakeup()` implementations. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-59606-IntegrateSymfonyConsoleIntoCommandController.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-59606-IntegrateSymfonyConsoleIntoCommandController.rst new file mode 100644 index 000000000000..70d10edcd9e4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-59606-IntegrateSymfonyConsoleIntoCommandController.rst @@ -0,0 +1,96 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #59606 - Integrate Symfony/Console into CommandController +================================================================== + +See :issue:`59606` + +Description +=========== + +The CommandController now makes use of Symfony/Console internally and +provides various methods directly from the CommandController's `output` member: + +* TableHelper + + * outputTable($rows, $headers = NULL) + +* DialogHelper + + * select($question, $choices, $default = NULL, $multiSelect = false, $attempts = FALSE) + * ask($question, $default = NULL, array $autocomplete = array()) + * askConfirmation($question, $default = TRUE) + * askHiddenResponse($question, $fallback = TRUE) + * askAndValidate($question, $validator, $attempts = FALSE, $default = NULL, array $autocomplete = NULL) + * askHiddenResponseAndValidate($question, $validator, $attempts = FALSE, $fallback = TRUE) + +* ProgressHelper + + * progressStart($max = NULL) + * progressSet($current) + * progressAdvance($step = 1) + * progressFinish() + +Here's an example showing of some of those functions: + +.. code-block:: php + + namespace Acme\Demo\Command; + + use TYPO3\CMS\Extbase\Mvc\Controller\CommandController; + + /** + * My command + */ + class MyCommandController extends CommandController { + + /** + * @return string + */ + public function myCommand() { + // render a table + $this->output->outputTable(array( + array('Bob', 34, 'm'), + array('Sally', 21, 'f'), + array('Blake', 56, 'm') + ), + array('Name', 'Age', 'Gender')); + + // select + $colors = array('red', 'blue', 'yellow'); + $selectedColorIndex = $this->output->select('Please select one color', $colors, 'red'); + $this->outputLine('You choose the color %s.', array($colors[$selectedColorIndex])); + + // ask + $name = $this->output->ask('What is your name?' . PHP_EOL, 'Bob', array('Bob', 'Sally', 'Blake')); + $this->outputLine('Hello %s.', array($name)); + + // prompt + $likesDogs = $this->output->askConfirmation('Do you like dogs?'); + if ($likesDogs) { + $this->outputLine('You do like dogs!'); + } + + // progress + $this->output->progressStart(600); + for ($i = 0; $i < 300; $i ++) { + $this->output->progressAdvance(); + usleep(5000); + } + $this->output->progressFinish(); + + } + } + + +Impact +====== + +This change does not alter the public API so it is not breaking +in the strict sense. But it introduces a new behavior: +Previously all output was collected in the `Cli\Response` and only rendered to the console at the end of a CLI request. +Now all methods producing output (including `output()` and `outputLine()`) render the result directly to the console. +If you use `$this->response` directly or let the command method return a string, the rendering is still deferred until +the end of the CLI request. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-62242-ActionMenuItemGroupViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-62242-ActionMenuItemGroupViewHelper.rst new file mode 100644 index 000000000000..92a4d04315e5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-62242-ActionMenuItemGroupViewHelper.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #62242 - ActionMenuItemGroupViewHelper +=============================================== + +See :issue:`62242` + +Description +=========== + +Using this ViewHelper, OptGroups can be used in the backend select field, which controls which action is selected. + + +Impact +====== + +The new ViewHelper can be used in all new projects. There is no interference with any part of existing code. + + +Examples +======== + +Usage example: + +.. code-block:: html + + <f:be.menus.actionMenu> + <f:be.menus.actionMenuItem label="Default: Welcome" controller="Default" action="index" /> + <f:be.menus.actionMenuItem label="Community: get in touch" controller="Community" action="index" /> + + <f:be.menus.actionMenuItemGroup label="Information"> + <f:be.menus.actionMenuItem label="PHP Information" controller="Information" action="listPhpInfo" /> + <f:be.menus.actionMenuItem label="Documentation" controller="Information" action="documentation" /> + <f:be.menus.actionMenuItem label="Hooks" controller="Information" action="hooks" /> + <f:be.menus.actionMenuItem label="Signals" controller="Information" action="signals" /> + <f:be.menus.actionMenuItem label="XClasses" controller="Information" action="xclass" /> + </f:be.menus.actionMenuItemGroup> + </f:be.menus.actionMenu> diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63453-TemplateSupportForFlashMessagesViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63453-TemplateSupportForFlashMessagesViewHelper.rst new file mode 100644 index 000000000000..d9e1cd14384e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63453-TemplateSupportForFlashMessagesViewHelper.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #63453 - Template support for FlashMessagesViewHelper +============================================================== + +See :issue:`63453` + +Description +=========== + +Template support for `FlashMessagesViewHelper` has been added. +This allows to define a custom rendering for flash messages. + +The new attribute `as` for the `FlashMessagesViewHelper` allows to specify a variable name, +which can be used within the view helper's child elements to access the flash messages. + +Example usage: + +.. code-block:: html + + <f:flashMessages as="flashMessages"> + <ul class="myFlashMessages"> + <f:for each="{flashMessages}" as="flashMessage"> + <li class="alert {flashMessage.class}"> + <h4>{flashMessage.title}</h4> + <span class="fancy-icon">{flashMessage.message}</span> + </li> + </f:for> + </ul> + </f:flashMessages> diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63561-AddTypoScriptStdWrapStrtotime.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63561-AddTypoScriptStdWrapStrtotime.rst new file mode 100644 index 000000000000..e4de8bd45be7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-63561-AddTypoScriptStdWrapStrtotime.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +================================================== +Feature: #63561 - Add TypoScript stdWrap strtotime +================================================== + +See :issue:`63561` + +Description +=========== + +A new TypoScript property `strtotime` is now available within `stdWrap` which allows for conversion of formatted +dates to timestamp, e.g. to perform date calculations. + +Possible values are `1` or any time string valid as first argument of the PHP `strtotime()` function. + +Basic usage to convert date string to timestamp: + +.. code-block:: typoscript + + date_as_timestamp = TEXT + date_as_timestamp { + value = 2015-04-15 + strtotime = 1 + } + +Convert incoming date string to timestamp, perform date calculation and output as date string again: + +.. code-block:: typoscript + + next_weekday = TEXT + next_weekday { + data = GP:selected_date + strtotime = + 2 weekdays + strftime = %Y-%m-%d + } + +Impact +====== + +The new property is available everywhere in TypoScript where `stdWrap` is applied. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-65250-TypoScriptConditionAddGPmerged.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-65250-TypoScriptConditionAddGPmerged.rst new file mode 100644 index 000000000000..027d3b567410 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-65250-TypoScriptConditionAddGPmerged.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #65250 - TypoScript condition add GPmerged +=================================================== + +See :issue:`65250` + + +Description +=========== + +If one uses TypoScript condition with GP then the check is with GeneralUtility::_GP() +which means that if I have GET variables beginning with an extbase plugin-namespace +and POST variables with the same plugin-namespace, e.g. +GET: tx_demo_demo[action]=detail +POST: tx_demo_demo[name]=Foo +then GeneralUtility::_GP('tx_demo_demo'), as intended, will only return the +array of the POST variables for that namespace. However, that results in the issue that +if you check for the GET variable the check will fail. + +So, instead the check should use GeneralUtility::_GPmerged() + +.. code-block:: typoscript + + [globalVar = GPmerged:tx_demo|foo = 1] + page.90 = TEXT + page.90.value = DEMO + [global] diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66111-AddTemplaterootpathsSupportToCobjectFluidtemplate.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66111-AddTemplaterootpathsSupportToCobjectFluidtemplate.rst new file mode 100644 index 000000000000..79c68f8fbf9d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66111-AddTemplaterootpathsSupportToCobjectFluidtemplate.rst @@ -0,0 +1,89 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Feature: #66111 - Add TemplateRootPaths support to cObject FLUIDTEMPLATE +======================================================================== + +See :issue:`66111` + +Description +=========== + +cObject FLUIDTEMPLATE has been extended with `templateRootPaths` and `templateName`. Now you can set a template name +and when rendering the template this name is used together with the set format to find the template in the given +templateRootPaths with the same fallback logic as layoutRootPath and partialRootPath + +- templateName = string/stdWrap +- templateRootPaths = array of file paths with "EXT:" prefix support + + +Example 1: +---------- + +.. code-block:: typoscript + + lib.stdContent = FLUIDTEMPLATE + lib.stdContent { + templateName = Default + layoutRootPaths { + 10 = EXT:frontend/Resources/Private/Layouts + 20 = EXT:sitemodification/Resources/Private/Layouts + } + partialRootPaths { + 10 = EXT:frontend/Resources/Private/Partials + 20 = EXT:sitemodification/Resources/Private/Partials + } + templateRootPaths { + 10 = EXT:frontend/Resources/Private/Templates + 20 = EXT:sitemodification/Resources/Private/Templates + } + variable { + foo = bar + } + } + +Example 2: +---------- + +.. code-block:: typoscript + + lib.stdContent = FLUIDTEMPLATE + lib.stdContent { + + templateName = TEXT + templateName.stdWrap { + cObject = TEXT + cObject { + data = levelfield:-2,backend_layout_next_level,slide + override.field = backend_layout + split { + token = frontend__ + 1.current = 1 + 1.wrap = | + } + } + ifEmpty = Default + } + layoutRootPaths { + 10 = EXT:frontend/Resources/Private/Layouts + 20 = EXT:sitemodification/Resources/Private/Layouts + } + partialRootPaths { + 10 = EXT:frontend/Resources/Private/Partials + 20 = EXT:sitemodification/Resources/Private/Partials + } + templateRootPaths { + 10 = EXT:frontend/Resources/Private/Templates + 20 = EXT:sitemodification/Resources/Private/Templates + } + variable { + foo = bar + } + } + + +Impact +====== + +If templateName and templateRootPaths are set the template and file options are neglected. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66173-AllowPageTitleEditByDoubleclick.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66173-AllowPageTitleEditByDoubleclick.rst new file mode 100644 index 000000000000..ebf4553aa04f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66173-AllowPageTitleEditByDoubleclick.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #66173 - Allow page title edit by doubleclick +====================================================== + +See :issue:`66173` + +Description +=========== + +A user can edit the page title in the "Page" and the "List" module by double-clicking the page header. + + +Impact +====== + +If a user has sufficient permissions, the page title will become a text field after double-clicking on it. +Pressing the "escape" key aborts the edit, pressing "enter" submits the changes. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66269-FluidRemoveViewHelperXmlnsAttributesAndSpecifiedHtmlTag.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66269-FluidRemoveViewHelperXmlnsAttributesAndSpecifiedHtmlTag.rst new file mode 100644 index 000000000000..9d6207f9868b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66269-FluidRemoveViewHelperXmlnsAttributesAndSpecifiedHtmlTag.rst @@ -0,0 +1,110 @@ + +.. include:: ../../Includes.txt + +================================================================================== +Feature: #66269 - Fluid: Remove ViewHelper xmlns-attributes and specified html tag +================================================================================== + +See :issue:`66269` + +Description +=========== + +With the introduction of using xmlns:* attributes to include ViewHelpers, it is possible to have IDE support for Fluid +templates. +However, the problem is that the xmlns:* attributes and the corresponding tag will also be rendered, which is not +desired most of the time. A workaround to avoid this is to use sections. +However, this solution is counter-intuitive, is not available in layouts and causes extra processing overhead. + +.. code-block:: html + + <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" + xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"> + + <f:section name="content"> + </f:section> + + +Impact +====== + +The xmlns:* attributes for valid ViewHelper namespaces will now be removed before rendering. +Such ViewHelper namespaces follow this URI pattern: + +.. code-block:: html + + http://typo3.org/ns/<phpNamespace> + + +Examples: + +.. code-block:: html + + http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers + http://typo3.org/ns/GeorgRinger/News/ViewHelpers + + +xmlns attributes for non-ViewHelper namespaces will be preserved. + +Furthermore an additional data-attribute to HTML-Tags is introduced. + +.. code-block:: html + + data-namespace-typo3-fluid="true" + +If this attribute is specified on the HTML-Tag, the HTML-tag itself won't be rendered as well. +(Also a corresponding closing tag will not be rendered for that template.) +This is useful for various IDEs and HTML auto-completion. + + +Examples +======== + +Include ViewHelper namespaces on an existing tag (e.g. root xml tag) via xmlns attributes for Fluid and News extension. + +.. code-block:: xml + + <?xml version="1.0" encoding="utf-8"?> + <root xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" + xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers" + xmlns:foo="http://typo3.org/foo"> + + <f:if condition="{newsItem.title}"> + <f:then> + <n:titleTag>{newsItem.title}</n:titleTag> + </f:then> + <f:else> + <n:titleTag>News-Detail</n:titleTag> + </f:else> + </f:if> + </root> + +Output is then + +.. code-block:: xml + + <root xmlns:foo="http://typo3.org/foo" > + ... + </root> + + +Include ViewHelper namespaces with HTML-tag and a data-namespace-typo3-fluid="true" attribute via xmlns attributes for +Fluid and News extension. + +.. code-block:: html + + <html data-namespace-typo3-fluid="true" + xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" + xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"> + + <f:if condition="{newsItem.title}"> + <f:then> + <n:titleTag>{newsItem.title}</n:titleTag> + </f:then> + <f:else> + <n:titleTag>News-Detail</n:titleTag> + </f:else> + </f:if> + </html> + +The output contains everything excluding the HTML-tag. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66669-BeLoginFormAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66669-BeLoginFormAPI.rst new file mode 100644 index 000000000000..db59dc3229c5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66669-BeLoginFormAPI.rst @@ -0,0 +1,103 @@ + +.. include:: ../../Includes.txt + +=================================== +Feature: #66669 - BE login form API +=================================== + +See :issue:`66669` + +Description +=========== + +The backend login has been completely refactored and a new API has been introduced. +The OpenID form has been extracted and is now using the new API as well and is completely independent of the central +Core classes for the first time. + + +Registering a login provider +---------------------------- + +The concept of the new backend login is based on "login providers". +A login provider can be registered within your `ext_localconf.php` file like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders'][1433416020] = [ + 'provider' => \TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider::class, + 'sorting' => 50, + 'icon-class' => 'fa-key', + 'label' => 'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:login.link' + ]; + +The settings are defined as: + +* `provider`: The login provider class name, which must implement `TYPO3\CMS\Backend\LoginProvider\LoginProviderInterface`. +* `sorting`: The sorting is important for the ordering of the links to the possible login providers on the login screen. +* `icon-class`: The font-awesome icon name for the link on the login screen. +* `label`: The label for the login provider link on the login screen. + +For a new login provider you have to register a **new key** - a unix timestamp - in `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders']`. +If your login provider extends another one, you may only overwrite necessary settings. An example would be to +extend an existing provider and replace its registered 'provider' class with your new class name. + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders'][1433416020]['provider'] = CustomProviderExtendingUsernamePasswordLoginProvider::class + +LoginProviderInterface +---------------------- + +The LoginProviderInterface contains only one method: + +`public function render(StandaloneView $view, PageRenderer $pageRenderer, LoginController $loginController);` + +The parameters are defined as: + +* `$view`: The Fluid StandaloneView which renders the login screen. You have to set the template file and you may add variables to the view according to your needs. +* `$pageRenderer`: The PageRenderer instance provides possibility to add necessary JavaScript resources. +* `$loginController`: The LoginController instance. + + +The View +-------- + +As mentioned above, the `render` method gets the Fluid StandaloneView as first parameter. +You have to set the template path and filename using the methods of this object. +The template file must only contain the form fields, not the form-tag. +Later on, the view renders the complete login screen. + +View requirements: + +* The template must use the `Login`-layout provided by the Core `<f:layout name="Login">`. +* Form fields must be provided within the section `<f:section name="loginFormFields">`. + + +.. code-block:: html + + <f:layout name="Login" /> + <f:section name="loginFormFields"> + <div class="form-group t3js-login-openid-section" id="t3-login-openid_url-section"> + <div class="input-group"> + <input type="text" id="openid_url" name="openid_url" value="{presetOpenId}" autofocus="autofocus" placeholder="{f:translate(key: 'openId', extensionName: 'openid')}" class="form-control input-login t3js-clearable t3js-login-openid-field" /> + <div class="input-group-addon"> + <span class="fa fa-openid"></span> + </div> + </div> + </div> + </f:section> + + +Examples +-------- + +Within the Core you can find two best practice implementations: + +1. EXT:backend, which implements the `UsernamePasswordLoginProvider` (the default) +2. EXT:openid, which implements the `OpenIdLoginProvider` and adds a second login option + + +Impact +====== + +All extensions which add additional fields to the login form must be updated and make use of the new BE login form API. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66681-CategoryRegistryAddOptionsToSetL10n_modeAndL10n_display.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66681-CategoryRegistryAddOptionsToSetL10n_modeAndL10n_display.rst new file mode 100644 index 000000000000..c6017d272c77 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66681-CategoryRegistryAddOptionsToSetL10n_modeAndL10n_display.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +================================================================================= +Feature: #66681 - CategoryRegistry: add options to set l10n_mode and l10n_display +================================================================================= + +See :issue:`66681` + +Description +=========== + +Class `CategoryRegistry->addTcaColumn` got options to set `l10n_mode` and `l10n_display`. +The values can be set via: + +.. code-block:: php + + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable( + $extensionKey, + $tableName, + 'categories', + array( + 'l10n_mode' => 'string (keyword)', + 'l10n_display' => 'list of keywords' + ) + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66697-AddUppercamelcaseAndLowercamelcaseToStdWrap.case.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66697-AddUppercamelcaseAndLowercamelcaseToStdWrap.case.rst new file mode 100644 index 000000000000..d029f6585138 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66697-AddUppercamelcaseAndLowercamelcaseToStdWrap.case.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #66697 - Add uppercamelcase and lowercamelcase to stdWrap.case +======================================================================= + +See :issue:`66697` + +Description +=========== + +To make it possible to change a value from underscored to "UpperCamelCase" or "lowerCamelCase" the options +`uppercamelcase` and `lowercamelcase` are added to `stdWrap.case`. + +.. code-block:: typoscript + + tt_content = CASE + tt_content { + key { + field = CType + } + + my_custom_ctype =< lib.userContent + my_custom_ctype { + file = EXT:site_base/Resources/Private/Templates/SomeOtherTemplate.html + settings { + extraParam = 1 + } + } + + default =< lib.userContent + default { + file = TEXT + file.field = CType + file.stdWrap.case = uppercamelcase + file.wrap = EXT:site_base/Resources/Private/Templates/|.html + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66698-AddIntegrityPropertyToJavaScriptFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66698-AddIntegrityPropertyToJavaScriptFiles.rst new file mode 100644 index 000000000000..a716f6618659 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66698-AddIntegrityPropertyToJavaScriptFiles.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #66698 - Add integrity property to JavaScript files +============================================================ + +See :issue:`66698` + +Description +=========== + +Add a property `integrity="some-hash"` to JavaScript files via TypoScript + +`page.includeJSLibs.<array>.integrity = some-hash` + +This patch affects the TypoScript PAGE properties + +* includeJSLibs +* includeJSFooterLibs +* includeJS +* includeJSFooter + +Usage: +------ + +.. code-block:: typoscript + :emphasize-lines: 6 + + page { + includeJS { + jQuery = fileadmin/jquery-1.10.2.min.js + jQuery.disableCompression = 1 + jQuery.excludeFromConcatenation = 1 + jQuery.integrity = sha256-C6CB9UYIS9UJeqinPHWTHVqh/E1uhG5Twh+Y5qFQmYg= + } + } + +.. + + +.. hint:: + Integrity hashes may be generated using https://srihash.org/. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66709-AddTemplateRootPathsSupportToFluidViewStandaloneView.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66709-AddTemplateRootPathsSupportToFluidViewStandaloneView.rst new file mode 100644 index 000000000000..5114b1e58f57 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66709-AddTemplateRootPathsSupportToFluidViewStandaloneView.rst @@ -0,0 +1,57 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Feature: #66709 - Add TemplateRootPaths support to Fluid/View/StandaloneView +============================================================================ + +See :issue:`66709` + +Description +=========== + +The StandaloneView is extended with `setTemplateRootPaths($templatePaths)` and `setTemplate($templateName, $throwException = TRUE)`. +Now you can set a template by name. + +When `setTemplate($templateName)` is called the `$templateName` is used to find the template in the given +templateRootPaths with the same fallback logic as layoutRootPath and partialRootPath. + + +Basic example: + +.. code-block:: php + + $view = GeneralUtility::makeInstance(StandaloneView::class); + $view->setLayoutRootPaths($layoutPaths); + $view->setPartialRootPaths($partialPaths); + $view->setTemplateRootPaths($templatePaths); + + try { + $view->setTemplate($templateName); + } catch (InvalidTemplateResourceException $e) { + // no template $templateName found in given $templatePaths + exit($e->getMessage()); + } + + $content = $view->render(); + + + +Example of rendering a email template: + +.. code-block:: php + + $view = GeneralUtility::makeInstance(StandaloneView::class); + $view->setLayoutRootPaths(array(GeneralUtility::getFileAbsFileName('EXT:my_extension/Resources/Private/Layouts'))); + $view->setPartialRootPaths(array(GeneralUtility::getFileAbsFileName('EXT:my_extension/Resources/Private/Partials'))); + $view->setTemplateRootPaths(array(GeneralUtility::getFileAbsFileName('EXT:my_extension/Resources/Private/Templates'))); + $view->setTemplate('Email/Notification'); + + $emailBody = $view->render(); + + +Impact +====== + +The public API of `TYPO3\CMS\Fluid\View\StandaloneView` is enhanced with the methods + `setTemplateRootPaths($templatePaths)` and `setTemplate($templateName, $throwException = TRUE)` diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66822-SpriteIconsInBackendModules.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66822-SpriteIconsInBackendModules.rst new file mode 100644 index 000000000000..44ecce8d64a0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66822-SpriteIconsInBackendModules.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #66822 - Allow Sprites For Backend Modules +=================================================== + +See :issue:`66822` + +Description +=========== + +Backend Modules (both Main Modules like "Web" and Submodules like "Filelist") can now use sprites instead of images for +displaying the icons in the module menu on the left side of the TYPO3 Backend. + +Registering a module can now look like this (as an example the "Page" module): + +.. code-block:: php + + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule( + 'web', + 'layout', + 'top', + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Modules/Layout/', + array( + 'script' => '_DISPATCH', + 'access' => 'user,group', + 'name' => 'web_layout', + 'iconIdentifier' => 'module-web', + 'labels' => array( + 'll_ref' => 'LLL:EXT:backend/Resources/Private/Language/locallang_mod.xlf', + ), + ) + ); + +One can use any available sprite icon known to TYPO3. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66907-AddDataProcessingToFluidTemplateContentObject.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66907-AddDataProcessingToFluidTemplateContentObject.rst new file mode 100644 index 000000000000..9374eef04b9a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-66907-AddDataProcessingToFluidTemplateContentObject.rst @@ -0,0 +1,49 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #66907 - Add Data Processing to FLUIDTEMPLATE content object +===================================================================== + +See :issue:`66907` + +Description +=========== + +cObject FLUIDTEMPLATE has been extended with `dataProcessing`. This setting can be used to add one or multiple processors to +manipulate data of the currently rendered content object, like tt_content or page, and fill a key/value store that will be passed +as variables to the Fluid template, where every key of the key/value store will be available as variable in the Fluid template. + +- dataProcessing = array of class references by full namespace + + +Example: +-------- + +.. code-block:: typoscript + + my_custom_ctype = FLUIDTEMPLATE + my_custom_ctype { + templateRootPaths { + 10 = EXT:your_extension_key/Resources/Private/Templates + } + templateName = CustomName + settings { + extraParam = 1 + } + dataProcessing { + 1 = Vendor\YourExtensionKey\DataProcessing\MyFirstCustomProcessor + 2 = Vendor2\AnotherExtensionKey\DataProcessing\MySecondCustomProcessor + 2 { + options { + myOption = SomeValue + } + } + } + } + + +Impact +====== + +The data processors can be used in all new projects. There is no interference with any part of existing code. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67071-ProcessedFilesCleanupToolAddedInInstallTool.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67071-ProcessedFilesCleanupToolAddedInInstallTool.rst new file mode 100644 index 000000000000..d2ebcab18f7a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67071-ProcessedFilesCleanupToolAddedInInstallTool.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #67071 - Processed files cleanup tool added in Install Tool +==================================================================== + +See :issue:`67071` + +Description +=========== + +The Install Tool now provides a new tool to remove processed files (e.g. image thumbnails) from FAL in its "Clean up" +section. + +The tool is useful if you change graphic-related settings or after updating GraphicsMagick/ImageMagick on the server +and you want all files to be regenerated. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67229-FormEngineNodeFactoryApi.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67229-FormEngineNodeFactoryApi.rst new file mode 100644 index 000000000000..db3f4eb0dadd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67229-FormEngineNodeFactoryApi.rst @@ -0,0 +1,106 @@ + +.. include:: ../../Includes.txt + +============================================ +Feature: #67229 - FormEngine NodeFactory API +============================================ + +See :issue:`67229` + +Description +=========== + +The FormEngine class construct was moved to a tree approach with container classes as inner nodes and +element classes (the rendering widgets) as leaves. Finding, instantiation and preparation of those +classes is done via `TYPO3\CMS\Backend\Form\NodeFactory`. + +This class was extended with an API to allow flexible overriding and adding of containers and elements: + + +Registration of new nodes and overwriting existing nodes +-------------------------------------------------------- + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][1433196792] = array( + 'nodeName' => 'input', + 'priority' => 40, + 'class' => \MyVendor\MyExtension\Form\Element\T3editorElement::class, + ); + + +This registers the class `MyVendor\MyExtension\Form\Element\T3editorElement` as render class for +the type `input`. It will be called to render elements of this type and must implement the interface +`TYPO3\CMS\Backend\Form\NodeInterface`. The array key is the unix timestamp of the date when an registry +element is added and is just used to have a unique key that is very unlikely to collide with others - this +is the same logic that is used for exception codes. If more than one registry element for the same type +is registered, the element with highest priority wins. Priority must be set between 0 and 100. Two elements +with same priority for the same type will throw an exception. + +The core extension t3editor uses this API to substitute a `type=text` field with `renderType=t3editor` +from the default `TextElement` to its own `T3editorElement`. + +This registry both allows completely overriding existing implementations of any existing given type as well as +registration of a new `renderType` for own fancy elements. A TCA configuration for a new renderType +and its nodeRegistry could look like: + +.. code-block:: php + + 'columns' => array( + 'bodytext' => array( + 'config' => array( + 'type' => 'text', + 'renderType' => '3dCloud', + ), + ), + ), + + $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][1433197759] = array( + 'nodeName' => '3dCloud', + 'priority' => 40, + 'class' => \MyVendor\MyExtension\Form\Element\ShowTextAs3dCloudElement::class, + ); + + +Resolve class resolution to different render classes +---------------------------------------------------- + +In case the above API is not flexible enough, another class can be registered to resolve the final +class that renders a certain element or container differently: + +.. code-block:: php + + // Register FormEngine node type resolver hook to render RTE in FormEngine if enabled + $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeResolver'][1433198160] = array( + 'nodeName' => 'text', + 'priority' => 50, + 'class' => \MyVendor\MyExtension\Form\Resolver\MyTextNodeResolver::class, + ); + + +This registers a resolver class at priority 50 if the type `text` should be rendered. This class must +implement `TYPO3\CMS\Backend\Form\NodeResolverInterface` and can return a different class name that is +called as render class. The render class in turn must implement `TYPO3\CMS\Backend\Form\NodeInterface`. + +The array key is a unix timestamp of the date when this resolver code is registered. Multiple resolvers +are a chain, the resolver with highest priority is asked first, and the chain is called until one resolver +returns a new class name. If no resolver returns anything, the default class name will be instantiated and rendered. + +Priority is between 0 and 100 and two resolvers for the same type and same priority will throw an exception. + +The resolver will receive the full `globalOptions` array with all settings to make a resolve decision +on all incoming values. + +This API is used by core extension rtehtmlarea to route the rendering of `type=text` to its own +`RichTextElement` class in case the editor is enabled for this field and for the user. + +This API allows fine grained resolution of render-nodes based on any need, for instance it would be +easily possible to call another different richtext implementation (eg. TinyMCE) for specific fields +of own extensions based on moon phases or your fathers birthday, by adding a resolver class with a higher priority. + + +Warning +------- + +The internal data given to the resolver class still may change. Both the `globalOptions` and the current +`renderType` values are subject to change without further notice until TYPO3 CMS 7 LTS. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67319-AddFieldCopyrightToEXTfilemetadata.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67319-AddFieldCopyrightToEXTfilemetadata.rst new file mode 100644 index 000000000000..5411d4fa4f45 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Feature-67319-AddFieldCopyrightToEXTfilemetadata.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #67319 - Add field "copyright" to EXT:filemetadata +=========================================================== + +See :issue:`67319` + +Description +=========== + +The field "copyright" has been added to the meta data of a FAL record + + +Impact +====== + +The new field can be used in all new projects. There is no interference with any part of existing code. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Important-66614-ChecksumForProcessedFilesChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Important-66614-ChecksumForProcessedFilesChanged.rst new file mode 100644 index 000000000000..4f6a472868ca --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Important-66614-ChecksumForProcessedFilesChanged.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Important: #66614 - Checksums for processed files have been changed +=================================================================== + +See :issue:`66614` + +Description +=========== + +The base data used for the checksum calculation of processed files has been changed. +The checksum is used to identify changes which require regeneration of processed files. + +Formerly the `GFX` section of the `TYPO3_CONF_VARS` was included in this base data, +which caused weird problems in some cases. + +With TYPO3 CMS 7.3 (and 6.2.13) this has been changed. In case you are adjusting `GFX` settings and you want +processed files to be regenerated, you need to manually clean the existing processed files by using the Clean up +utility in the Install Tool. + +Since the base data is different now, the Core would not recognize the existing processed files as valid files and would +delete those and build a new version. +In case you are having a large installation, you might want to avoid this costly operation. +The Install Tool provides a dedicated Upgrade Wizard for you, which avoids the expensive regeneration of processed files +by updating the checksum of all existing processed files. + +.. note:: + + The Upgrade Wizard is only relevant for you if you're upgrading from any TYPO3 CMS version below 7.3 or 6.2.13. + Any upgrade from 7.3 or later or from 6.2.13 or later to a newer version does **not** require to run the wizard. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Important-67248-CleanUpDataMapperconvertClassNameToTableName.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Important-67248-CleanUpDataMapperconvertClassNameToTableName.rst new file mode 100644 index 000000000000..72b1b38e8470 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Important-67248-CleanUpDataMapperconvertClassNameToTableName.rst @@ -0,0 +1,13 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Important: #67248 - Clean up DataMapper::convertClassNameToTableName +==================================================================== + +See :issue:`67248` + +Description +=========== + +As a side-effect of cleaning up `DataMapper::convertClassNameToTableName` the argument `$className` is now mandatory. diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Important-67401-DependencyInjectionIsNowDoneBeforeInitializeObject.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Important-67401-DependencyInjectionIsNowDoneBeforeInitializeObject.rst new file mode 100644 index 000000000000..cd0000da3a2d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Important-67401-DependencyInjectionIsNowDoneBeforeInitializeObject.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Important: #67401 - Dependency Injection is now done before initializeObject() +============================================================================== + +See :issue:`67401` + +Description +=========== + +Formerly `initializeObject()` was called before the dependencies were injected when retrieving an Extbase Domain +Model. This behavior didn't match either the documentation nor the behavior when using the `ObjectManager`. + +With TYPO3 CMS 7.3 this has been changed, dependency injection using `@inject` annotations and `inject*()` methods +is now performed **before** calling `initializeObject()` when retrieving Domain Models. + +This may have impact on extensions that are relying on the reversed call order. In these cases adjustments are +required to take into account that the injected objects are available. + +.. _documentation: http://wiki.typo3.org/Dependency_Injection#initializeObject.28.29_as_object_lifecycle_method diff --git a/typo3/sysext/core/Documentation/Changelog/7.3/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.3/Index.rst new file mode 100644 index 000000000000..1256fca49079 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.3/Index.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +7.3 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* + +Important +^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Important-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-39721-PrototypejsAndScriptaculousRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-39721-PrototypejsAndScriptaculousRemoved.rst new file mode 100644 index 000000000000..e164e2187d2b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-39721-PrototypejsAndScriptaculousRemoved.rst @@ -0,0 +1,66 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #39721 - Prototype.js and Scriptaculous removed +========================================================= + +See :issue:`39721` + +Description +=========== + +The JavaScript libraries prototype.js and scriptaculous have been removed from the TYPO3 Core. + + +Impact +====== + +Any TYPO3 Extension that uses prototype.js or scriptaculous for usage in the Backend or Frontend will not work anymore. + +The TypoScript properties `page.javascriptLibs.Prototype` and `page.javascriptLibs.Scriptaculous.*` have been removed +and have no effect anymore, leading to not including prototype in websites where this TypoScript option is set. +This might lead to broken websites when updating. + +The shipped Fluid ViewHelper for backend modules does no longer have the according properties anymore and will throw a fatal +error: + +.. code-block:: html + + <f:be.container loadPrototype="false" loadScriptaculous="false" scriptaculousModule="someModule,someOtherModule"> + +Using the PageRenderer directly in any module, and calling one of the related methods will result in a fatal error. + +.. code-block:: php + + PageRenderer->setPrototypePath() + PageRenderer->setScriptaculousPath() + PageRenderer->getPrototypePath() + PageRenderer->getScriptaculousPath() + PageRenderer->loadPrototype() + PageRenderer->loadScriptaculous() + +Including the JavaScript files in a custom extension or custom frontend without using the API will lead to a 404 error +when referencing one of the files. + + +Affected Installations +====================== + +Instances that use prototype.js or scriptaculous in the Frontend. + +Instances with third-party extensions that + +require these libraries or set one of the options in the mentioned ViewHelper. + +Instances that link to one of the JavaScript files directly. + +Instances that use the PageRenderer API directly and use on of the methods above. + + +Migration +========= + +The preferred substitution is jQuery and RequireJS that are loaded by default in any TYPO3 Backend module, if any +third-party code is needed based on prototype and/or scriptaculous. Alternatively, it is possible to ship a separate +prototype.js and scriptaculous library in a third-party extension if no migration is possible with jQuery. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-52705-DefaultLogConfigurationIsChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-52705-DefaultLogConfigurationIsChanged.rst new file mode 100644 index 000000000000..15d7ec2702c0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-52705-DefaultLogConfigurationIsChanged.rst @@ -0,0 +1,64 @@ + +.. include:: ../../Includes.txt + +======================================================= +Breaking: #52705 - Default log configuration is changed +======================================================= + +See :issue:`52705` + +Description +=========== + +FileWriter behavior has changed +------------------------------- + +The FileWriter of the logging Framework now appends a hash to its default log file which is used when no log file name +is provided in the configuration. + +The new default log file might now look like this (the hash depends on the current encryption key): + +:: + + typo3temp/logs/typo3_7ac500bce5.log + + +Default configuration has changed +--------------------------------- + +For security reasons we want the default log file of TYPO3 to contain a random hash to make guessing the file name harder. + +Therefore the :code:`logFile` configuration is removed for the default :code:`FileWriter` configuration. + +Additionally the "deprecated" :code:`FileWriter` configuration is removed because it is not used by the core. + + + +Impact +====== + +If the log file configuration is **not** overwritten the TYPO3 default log file will change from +:code:`typo3temp/logs/typo3.log` to :code:`typo3temp/logs/typo3_<hash>.log`. + +Installations with Extensions making use of the changed / removed log configurations might break. + + +Affected Installations +====================== + +All instances that expect the default log file to be :code:`typo3temp/logs/typo3.log` for some reason. + +All instances that expect the :code:`logFile` configuration to be present in the :code:`writerConfiguration` for some reason. + +All instances that use the "deprecated" log configuration in their Extensions. + +All instances that use Extensions which extend the FileWriter and access the :code:`$defaultLogFile` class property +which is replaced by :code:`$defaultLogFileTemplate` and the :code:`getDefaultLogFileName()` method. + + +Migration +========= + +Adjust the log configuration according to your needs in your :code:`LocalConfiguration.php`. + +Adjust any Extension code affected by the changes if needed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-55759-HTMLInLinkTitlesNotWorkingAnymore.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-55759-HTMLInLinkTitlesNotWorkingAnymore.rst new file mode 100644 index 000000000000..f34de5ff59a2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-55759-HTMLInLinkTitlesNotWorkingAnymore.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #55759 - HTML in link titles not working anymore +========================================================== + +See :issue:`55759` + +Description +=========== + +By introducing proper handling of double quotes in link titles (TypoLink fields) the processing of the link title is adjusted. Escaping will be done automatically now. + + +Impact +====== + +Existing link titles, which contain HTML escape sequences, will not be shown correctly anymore in Frontend. + +Example: A link title `Some "special" title` will be output as `Some &quot;special&quot; title` + + +Affected Installations +====================== + +Any installation using links with titles containing HTML escape sequences like `"` or `>` + + +Migration +========= + +Change the affected link titles to contain the plain characters, the correct encoding will be taken care of automatically. + +Example: `Some "special" title` + +If you need to encode a TypoLink manually in code, use the `TypoLinkCodecService` class, which provides a convenient way to encode a TypoLink from its fragments. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56133-NewBeUserPermissionFilesReplace.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56133-NewBeUserPermissionFilesReplace.rst new file mode 100644 index 000000000000..28a7e972d4ea --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56133-NewBeUserPermissionFilesReplace.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #56133 - New BE user permission "Files: replace" +========================================================== + +See :issue:`56133` + +Description +=========== + +A new feature was introduced to replace files in the file list. For this feature an new permission was introduce "Files: replace". +This permission is now also checked when a BE user uploads a file with the same name. + + +Impact +====== + +BE users need the permission "Files: replace" before they are allowed to replace a file by uploading a file with the same name. + + +Affected Installations +====================== + +All installations. + + +Migration +========= + +An upgrade wizard was added to set this permission for all BE users that already are allowed to write files as this was the old permissions check. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.rst new file mode 100644 index 000000000000..1fa49894a7f7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-56951-RemoveUnusedMethodsInPagePositionMap.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #56951 - Remove unused methods in PagePositionMap +=========================================================== + +See :issue:`56951` + +Description +=========== + +Remove unused methods in PagePositionMap + + +Impact +====== + +A fatal error will be thrown if one of the removed methods is used. +The removed methods are: + +`insertQuadLines` +`JSimgFunc` + + +Affected Installations +====================== + +Installations that use one of the removed methods. + + +Migration +========= + +Use proper styling for a tree list. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.rst new file mode 100644 index 000000000000..cd21992d81a6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-63838-ChangedOpcodeCacheUtilityBeingAServiceClass.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Breaking: #63838 - Changed OpcodeCacheUtility being a service class +=================================================================== + +See :issue:`63838` + +Description +=========== + +The `OpcodeCacheUtility` has been migrated to a service class called `OpcodeCacheService`, all methods are not static anymore. + + +Impact +====== + +Calling `OpcodeCacheUtility` will throw a fatal error. + + +Affected Installations +====================== + +All third-party extensions using the utility class will be affected. + + +Migration +========= + +Create an instance of `OpcodeCacheService` and call its method by the object operator `->`. + +Example: + +.. code-block:: php + + GeneralUtility::makeInstance(OpcodeCacheService::class)->clearAllActive($cacheEntryPathAndFilename); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64200-CustomCObject.cache.TypoScriptEvaluation.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64200-CustomCObject.cache.TypoScriptEvaluation.rst new file mode 100644 index 000000000000..1cd308431cd7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64200-CustomCObject.cache.TypoScriptEvaluation.rst @@ -0,0 +1,61 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #64200 - Custom [cObject].cache.* TypoScript evaluation +================================================================= + +See :issue:`64200` + +Description +=========== + +The `stdWrap.cache.` property is now available as first-class function to all +content objects. This skips the rendering even for content objects that evaluate +`stdWrap` after rendering (e.g. `COA`). + +Additionally, stdWrap support is added to key, lifetime and tags. + + +Impact +====== + +If you've previously used the `cache.` property in your custom cObject, +this will now fail, because `cache.` is unset to avoid double caching. + +`stdWrap.cache` continues to exist and can be used as before. However +the top level `stdWrap` of certain cObjects (e.g. `TEXT` cObject) +will not evaluate `cache.` as part of `stdWrap`, but before starting +the rendering of the cObject. In conjunction the storing will happen +after the `stdWrap` processing right before the content is returned. + +Top level `cache.` will not evaluate the hook +`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']` +any more. + + +Affected Installations +====================== + +All installations with custom `cObject` implementations which make use of the `cache.` property. + +Installations that purposely rely on the content object being evaluated before the cache is tried. + +Installations that rely on the order of the `cache.` evaluation. + +Installations that make use of the hook +`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']` +on top level `cache.`. + + +Migration +========= + +Rename your property or rely on the Core implementation. + +If you need `cache.` being evaluated as part of `stdWrap`, please move it down one level +by writing `stdWrap.cache` instead. + +If you used the hook +`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']`, +please use `stdWrap` and the available hooks inside `stdWrap` to achieve your goal. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64714-CatchExceptionsForInaccessibleStorages.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64714-CatchExceptionsForInaccessibleStorages.rst new file mode 100644 index 000000000000..9cba71edda6c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-64714-CatchExceptionsForInaccessibleStorages.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #64714 - Catch exceptions for inaccessible storages +============================================================= + +See :issue:`64714` + +Description +=========== + +Changed `\TYPO3\CMS\Core\Resource\Exception\ResourcePermissionsUnavailableException` to extend from `\TYPO3\CMS\Core\Resource\Exception` instead of `\RuntimeExtension` + + +Impact +====== + +If a call to `\TYPO3\CMS\Core\Resource\Driver\LocalDriver->getPermissions()` throws an exception and your extension catches `\RuntimeExtension` it breaks on permission read errors. + + +Migration +========= + +To write a compatible extension you can do following in your catch block: + +.. code-block:: php + + } catch(\RuntimeException $e) { + // Do exception handling + } catch(\TYPO3\CMS\Core\Resource\Exception\ResourcePermissionsUnavailableException $e) { + // Do same exception handling + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-65305-AddFunctionsToDriverInterface.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-65305-AddFunctionsToDriverInterface.rst new file mode 100644 index 000000000000..6dbe4cc9d378 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-65305-AddFunctionsToDriverInterface.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #65305 - DriverInterface has been extended +==================================================== + +See :issue:`65305` + +Description +=========== + +The `getFolderInFolder()` and `getFileInFolder()` functions have been added to `DriverInterface`. + + +Impact +====== + +Any FAL driver extension will stop working due to the change in the interface. + + +Affected Installations +====================== + +Any installation with a custom FAL driver, like WebDAV or Dropbox. + + +Migration +========= + +The functions `getFolderInFolder()` and `getFileInFolder()` must be added to the custom FAL driver. +A non-hierarchical driver needs to throw a "not implemented" exception when calling these functions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-66602-RemoveRefererCheckWhileHandlingJumpUrl.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-66602-RemoveRefererCheckWhileHandlingJumpUrl.rst new file mode 100644 index 000000000000..e0c8228a991d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-66602-RemoveRefererCheckWhileHandlingJumpUrl.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #66602 - Check jumpUrl referer has been removed +========================================================= + +See :issue:`66602` + +Description +=========== + +The following method has been removed: + + +.. code-block:: php + + TypoScriptFrontendController::checkJumpUrlReferer() + + +Impact +====== + +Calls to this method will result in a fatal error. + + +Affected Installations +====================== + +Instances with third-party extensions calling this method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67545-PreFileAddSignalBehaviourChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67545-PreFileAddSignalBehaviourChanged.rst new file mode 100644 index 000000000000..4a5f7472025a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67545-PreFileAddSignalBehaviourChanged.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #67545 - PreFileAdd signal behaviour changed +====================================================== + +See :issue:`67545` + +Description +=========== + +In order to check whether an uploaded file exists already before uploading or to determine user preferences about present +files only when needed, the final name of the file is needed. As the final name can be altered by the `PreFileAdd` signal, +which originally always received the temporary uploaded file path as parameter, the signal will now receive an empty string +in `$sourceFilePath`. + + +Impact +====== + +All `PreFileAdd` slot methods that depend on the `$sourceFilePath` param must be adapted to handle the new empty string value. + + +Affected Installations +====================== + +All extensions that use the `PreFileAdd` signal and depend on the `$sourceFilePath` param. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67546-CleanupFlashMessageRendering.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67546-CleanupFlashMessageRendering.rst new file mode 100644 index 000000000000..884f8c65e1a5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67546-CleanupFlashMessageRendering.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Breaking: #67546 - Cleanup Flash message rendering in FlashMessageQueue +======================================================================= + +See :issue:`67546` + +Description +=========== + +The rendering of flash messages has changed when using the view helper. +Now the rendering output of `\TYPO3\CMS\Core\Messaging\FlashMessageQueue::renderFlashMessages()` +is adapted to being exactly the same. + + +Impact +====== + +Extensions using the rendered output of `\TYPO3\CMS\Core\Messaging\FlashMessageQueue::renderFlashMessages()` +and in addition using HTML tags in flash messages for styling purposes will get their HTML flash message output +properly HTML encoded. Thus the HTML tags will be visible in the rendered flash message output. + +Since `\TYPO3\CMS\Backend\Template\DocumentTemplate` also uses this rendering type, modules using this class +will also be affected. + + +Affected Installations +====================== + +All extensions that use modules with `\TYPO3\CMS\Backend\Template\DocumentTemplate` or are using +`\TYPO3\CMS\Core\Messaging\FlashMessageQueue::renderFlashMessages()` directly. + + +Migration +========= + +Remove all HTML from flash messages. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67557-LanguageFileOfOpendocsWasMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67557-LanguageFileOfOpendocsWasMoved.rst new file mode 100644 index 000000000000..ba2d94f99e6b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67557-LanguageFileOfOpendocsWasMoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #67557 - Language file of Opendocs was moved +====================================================== + +See :issue:`67557` + +Description +=========== + +The language file :file:`locallang_opendocs.xlf` of EXT:opendocs has been moved to +:file:`Resources/Private/locallang.xlf`. + + +Impact +====== + +Inclusion of the file via `$this->getLanguageService()->includeLLFile()` or usage in +`<f:translate key="LLL:EXT:opendocs/locallang_opendocs.xlf:foobar" />.` will fail. + + +Affected Installations +====================== + +Every extension relying on the existence of :file:`locallang_opendocs.xlf` will be affected. + + +Migration +========= + +Use :file:`Resources/Private/Language/locallang.xlf`, if required. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.rst new file mode 100644 index 000000000000..4202a02dc34a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67565-DeprecatedBackendRelatedMethodsRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #67565 - Deprecated backend related methods removed +============================================================= + +See :issue:`67565` + +Description +=========== + +The following deprecated methods have been removed: + + +.. code-block:: php + + DocumentTemplate::formWidthText() + PageLayoutView::getBackendLayoutConfiguration() + PageLayoutView::wordWrapper() + + +Impact +====== + +Calls to these methods will result in a fatal error. + + +Affected Installations +====================== + +Instances with third-party extensions calling one of these methods. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67577-RteEnabledFlagHandling.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67577-RteEnabledFlagHandling.rst new file mode 100644 index 000000000000..38bc740f8030 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67577-RteEnabledFlagHandling.rst @@ -0,0 +1,59 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #67577 - rte_enabled and flag handling +================================================ + +See :issue:`67577` + +Description +=========== + +Content elements of type `text` and `text with image` contained a field "RTE enabled" that +could be unchecked to disable the rich text editor. This field has been removed together with the +`TCA` richtext `flag` handling. + + +Impact +====== + +The field is removed from database and the flag information is lost. + + +Affected Installations +====================== + +All instances will no longer show the "RTE enabled" field below `text` and `text with image` +content elements below the text field, the `TCA` `flag` is obsolete, see example below. + + +Migration +========= + +A typical rich text configuration in `TCA` looked like: + +.. code-block:: php + + 'content' => array( + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.text', + 'config' => array( + 'type' => 'text', + 'cols' => '48', + 'rows' => '5', + 'wizards' => array( + 'RTE' => array( + ... + ) + ) + ), + 'defaultExtras' => 'richtext:rte_transform[flag=otherField|mode=ts_css]', + ), + + +With this configuration RTE was only rendered if `otherField` had the value 1. This flag is obsolete now: + +.. code-block:: php + + 'defaultExtras' => 'richtext:rte_transform[mode=ts_css]', + diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67646-LibraryInclusionInFrontend.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67646-LibraryInclusionInFrontend.rst new file mode 100644 index 000000000000..185e22135eac --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67646-LibraryInclusionInFrontend.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #67646 - PHP library inclusion in frontend removed +============================================================ + +See :issue:`67646` + +Description +=========== + +The PHP library inclusion into the TYPO3 Frontend has been removed without substitution. +Previously it was used to include plain PHP scripts during the Frontend request. + +The method `PageGenerator::getIncFiles()` has been removed. + + +Impact +====== + +The TypoScript options `config.includeLibrary` and `config.includeLibs` have no effect anymore. +Any calls to `PageGenerator::getIncFiles()` will result in a fatal error. + + +Affected Installations +====================== + +Any installation using the TypoScript options named above. +Any third party code using the method named above. + + +Migration +========= + +Use hooks during the Frontend set up to execute custom PHP code. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst new file mode 100644 index 000000000000..ff134a6f52d7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67654-RemoveGLOBALSFILEICONSFunctionality.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #67654 - Remove $GLOBALS[FILEICONS] functionality +=========================================================== + +See :issue:`67654` + +Description +=========== + +The global variable `$GLOBALS['FILEICONS']` was in use for displaying icons before the sprite icons for files were introduced in TYPO3 v4.4. + +The `$FILEICONS` has been removed completely as well as the function call `BackendUtility::getFileIcon()`. + + +Impact +====== + +Any usage on `$GLOBALS['FILEICONS']` will have no effect anymore. + +Any calls on `BackendUtility::getFileIcon()` will result in a fatal error. + + +Affected Installations +====================== + +Instances that populate or make use of `$GLOBALS['FILEICONS']` or installations with extensions calling `BackendUtility::getFileIcon()` directly. + + +Migration +========= + +Use sprite icons via `IconUtility::getSpriteIconForFile()`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67749-ForceAutoloadingForVariousHooks.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67749-ForceAutoloadingForVariousHooks.rst new file mode 100644 index 000000000000..9757569c4b52 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67749-ForceAutoloadingForVariousHooks.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #67749 - Force class auto loading for various hooks +============================================================= + +See :issue:`67749` + +Description +=========== + +Some hook registrations now rely on class auto loading. + + +Impact +====== + +Hooks may not be called any longer if class auto loader can not find the class. + + +Affected Installations +====================== + +Instances using + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals'] + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['setup']['accessLevelCheck'] + + +Migration +========= + +Make sure the hook classes are found with the casual auto loading mechanism +that is also used for all other PHP classes. The hook registration can be +simplified to an empty value, example: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tce']['formevals'][\TYPO3\CMS\Saltedpasswords\Evaluation\FrontendEvaluator::class] = ''; + diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67753-DropSecondaryOptions.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67753-DropSecondaryOptions.rst new file mode 100644 index 000000000000..24e27a1a0e9f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67753-DropSecondaryOptions.rst @@ -0,0 +1,67 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #67753 - Drop "Show secondary options" +================================================ + +See :issue:`67753` + +Description +=========== + +When editing records, the checkbox at the bottom "Show secondary options (palettes)" has been dropped, palettes are now +always shown and the collapse buttons are no longer rendered. + + +Impact +====== + + +PageTSconfig +------------ + +Setting `options.enableShowPalettes` has no effect anymore and can be removed from `PageTSconfig`. + + +TCA +--- + +Setting `canNotCollapse` in `ctrl` and `palettes` section are obsolete and can be dropped: + +.. code-block:: php + + $GLOBALS['TCA']['aTable']['ctrl']['canNotCollapse'] = 1; // Obsolete + $GLOBALS['TCA']['aTable']['palettes']['aPaletteName']['canNotCollapse'] = 1; // Obsolete + + +PHP +--- + +The following method has been dropped. If an extension calls it, a PHP fatal error will be thrown. +This was an internal method and external usage is unlikely: + +.. code-block:: php + + \TYPO3\CMS\Backend\Controller\EditDocumentController->functionMenus() + + +The following properties have been dropped, calling those may trigger a PHP warning level error, external usage is unlikely: + +.. code-block:: php + + \TYPO3\CMS\Backend\Controller\EditDocumentController->MOD_MENU + \TYPO3\CMS\Backend\Controller\EditDocumentController->MOD_SETTINGS + \TYPO3\CMS\Backend\Form\FormEngine->palettesCollapsed + + +Affected Installations +====================== + +In the rare case that an extension uses one of the above methods or properties, a fatal PHP error may be triggered. + + +Migration +========= + +The above properties can be dropped, the `PageTS` and `TCA` settings have no effect anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67792-ClassAliasesOfIndexedSearchRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67792-ClassAliasesOfIndexedSearchRemoved.rst new file mode 100644 index 000000000000..96e5c97bb3ce --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67792-ClassAliasesOfIndexedSearchRemoved.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #67792 - Class aliases of Indexed Search removed +========================================================== + +See :issue:`67792` + +Description +=========== + +The class aliases of the Indexed Search extension are removed. + + +Impact +====== + +These class aliases are not available anymore: + +- `tx_indexedsearch` +- `Tx_IndexedSearch_Controller_SearchController` + + +Affected Installations +====================== + +Any third party code using the old class aliases. + + +Migration +========= + +Use the new class names: + +- `\TYPO3\CMS\IndexedSearch\Controller\SearchFormController` +- `\TYPO3\CMS\IndexedSearch\Controller\SearchController` diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67811-RteApi.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67811-RteApi.rst new file mode 100644 index 000000000000..be95a1c30764 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67811-RteApi.rst @@ -0,0 +1,85 @@ + +.. include:: ../../Includes.txt + +========================== +Breaking: #67811 - Rte API +========================== + +See :issue:`67811` + +Description +=========== + +The RTE implementation was based on the main classes `\TYPO3\CMS\Backend\Rte\AbstractRte`, +`\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase` and `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi`. These +three main API were removed or changed method signatures and internal method calls. + +The functionality to render RTE standalone and out of a context of `FormEngine` was dropped. + + +Impact +====== + +Main API changes +---------------- + +* Method `TYPO3\CMS\Backend\Utility\BackendUtility::RTEgetObj()` is deprecated and no longer used. + `FormEngine` now creates a `RichTextElement` with `NodeFactory` and `makeInstance()`, the + created object is not a singleton but a prototype. + +* With the deprecation of `RTEgetObj` method `transformContent` from `AbstractRte` has been inlined to + `DataHandler`. + +* Method `isAvailable` from `AbstractRte` has been dropped. Every valid browser and browser version + for TYPO3 CMS 7 can render the default richtext editor. Custom checks may be implement via + `NodeResolverInterface` in `FormEngine`. + +* Property `RTE_errors` in `TYPO3\CMS\Core\Authentication\BackendUserAuthentication` has been dropped along + with the `RTEgetObj()` deprecation. + + +RTE registration +---------------- + +* Different richtext implementations can no longer register in `$GLOBALS['TYPO3_CONF_VARS']['BE']['RTE_reg']`. + Instead, registration must be done in `FormEngine` via `NodeFactory` API, the method `drawRTE` has been dropped. + +* Transformations are not available via `AbstractRte` anymore, hooks within `RteHtmlParser` can + be used for custom transformations. + + +PHP classes +----------- + +* `\TYPO3\CMS\Backend\Rte\AbstractRte` has been dropped. + +* `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaBase` has been dropped and its functionality was moved to + `\TYPO3\CMS\Rtehtmlarea\Form\Element\RichtextElement`. All methods and properties except + the main entry method `render()` used by `FormEngine` are protected. + +* `\TYPO3\CMS\Rtehtmlarea\RteHtmlAreaApi` has been refactored. Method `main()` receives + a configuration array instead of an instance of the parent object. Some methods were dropped + and are no longer called. + + +RTE Plugin Configuration +------------------------ + +* Parameter `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['anExtensionKey']['plugins']['aPluginName']['addIconsToSkin']` + was dropped, plugin property `relativePathToSkin` is no longer evaluated. + +* A couple of helper methods were added to `RteHtmlAreaApi` + +* This API may get further changes in the future. + + +Affected Installations +====================== + +Extensions that extend one of the above mentioned extensions or API. + + +Migration +========= + +Adapt the code using these methods. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67815-RemoveTceformsjsBecauseWeDontNeedItAnymore.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67815-RemoveTceformsjsBecauseWeDontNeedItAnymore.rst new file mode 100644 index 000000000000..9e243023945b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67815-RemoveTceformsjsBecauseWeDontNeedItAnymore.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Breaking: #67815 - Remove tceforms.js because we don't need it anymore +====================================================================== + +See :issue:`67815` + +Description +=========== + +Since the value slider is based on bootstrap, the last code from `tceforms.js` is not needed anymore. + + +Impact +====== + +All instances which include `sysext/backend/Resources/Public/JavaScript/tceforms.js` will produce a 404 Not Found error. + + +Affected Installations +====================== + +All instances which include `sysext/backend/Resources/Public/JavaScript/tceforms.js`. + + +Migration +========= + +Remove all references to the file. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67824-Typo3ExtFolderRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67824-Typo3ExtFolderRemoved.rst new file mode 100644 index 000000000000..9b7072fe1234 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67824-Typo3ExtFolderRemoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=========================================== +Breaking: #67824 - typo3/ext folder removed +=========================================== + +See :issue:`67824` + +Description +=========== + +The folder `typo3/ext` does not exist in the default core package anymore. +The functionality to have global extensions in this directory is not touched. + + +Impact +====== + +In case global extensions are moved to this directory during +deployment or rollout, the directory must be created before, now. + + +Affected Installations +====================== + +Instances that use global extensions within `typo3/ext`. + + +Migration +========= + +Create directory `typo3/ext` before moving extensions into this folder. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67825-RemoveColorpickerOptionsDimAndTableStyle.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67825-RemoveColorpickerOptionsDimAndTableStyle.rst new file mode 100644 index 000000000000..975d8dbb5b58 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67825-RemoveColorpickerOptionsDimAndTableStyle.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #67825 - Remove colorpicker options "dim" and "tableStyle" +==================================================================== + +See :issue:`67825` + +Description +=========== + +`TCA` colorpicker options "dim" and "tableStyle" have been removed. + + +Impact +====== + +The TCA options won't have any effect anymore. + + +Affected Installations +====================== + +Any extension that has a colorpicker wizard configured in `TCA` and uses `dim` +or `tableStyle` options is effected. + + +Migration +========= + +Both options can de safely removed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67890-RedesignFluidTemplateDataProcessorInterfaceToDataProcessorInterface.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67890-RedesignFluidTemplateDataProcessorInterfaceToDataProcessorInterface.rst new file mode 100644 index 000000000000..8eaf7ce998fd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67890-RedesignFluidTemplateDataProcessorInterfaceToDataProcessorInterface.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +========================================================================================= +Breaking: #67890 - Redesign FluidTemplateDataProcessorInterface to DataProcessorInterface +========================================================================================= + +See :issue:`67890` + +Description +=========== + +The `FluidTemplateDataProcessorInterface` introduced with #66907 has been refactored to `DataProcessorInterface`. + +This decouples it from the Fluid StandaloneView and makes the ContentObjectRenderer available in the process method +so the different DataProcessor classes do no have to initiate it on their own. +Instead of manipulating the `$data` property of the `ContentObjectRenderer` a new key/value store can be filled/manipulated +by the different dataProcessor classes. + +The new interface expects the following `process()` method: + +.. code-block:: php + + /** + * Process content object data + * + * @param ContentObjectRenderer $cObj The data of the content element or page + * @param array $processorConfiguration The configuration of this processor + * @param array $contentObjectConfiguration The configuration of Content Object + * @param array $processedData Key/value store of processed data (e.g. to be passed to a Fluid View) + * @return array the processed data as key/value store + */ + public function process( + ContentObjectRenderer $cObj, + array $contentObjectConfiguration, + array $processorConfiguration, + array $processedData + ); + + +Impact +====== + +This will break all frontend rendering for TYPO3 7.3 installations that use `FLUIDTEMPLATE` `.dataProcessing`. + + +Affected Installations +====================== + +All TYPO3 7.3 installations that already use the new `FLUIDTEMPLATE` `.dataProcessing` option. + + +Migration +========= + +Change the interface of all DataProcessor classes from `FluidTemplateDataProcessorInterface` to the new +`DataProcessorInterface` and adjust the `process()` method to match the new parameters and make sure it returns the +processed data as the processed data. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67932-FeloginTemplateHasBeenChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67932-FeloginTemplateHasBeenChanged.rst new file mode 100644 index 000000000000..407f869ea5e9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67932-FeloginTemplateHasBeenChanged.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Breaking: #67932 - felogin template has been changed for RSA encryption +======================================================================= + +See :issue:`67932` + +Description +=========== + +Due to the introduction of the new rsaauth API the felogin template has been changed. + +A new HTML data-attribute had to be added to the password field in order to enable the RSA encryption Javascript code. + + +Impact +====== + +If rsaauth is enabled and the template is not updated, no login is possible. + + +Affected Installations +====================== + +Any installation using a custom felogin template and having rsaauth enabled for frontend. + + +Migration +========= + +The template has to be adjusted and a `data-rsa-encryption` attribute has to be added to the password field in `<!--###TEMPLATE_LOGIN###-->` + +The field definition in your template has to be updated to like this: + +.. code-block:: html + + <input type="password" id="pass" name="pass" value="" data-rsa-encryption="" /> diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67946-LowLevelScriptsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67946-LowLevelScriptsRemoved.rst new file mode 100644 index 000000000000..eeb392afd222 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67946-LowLevelScriptsRemoved.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #67946 - LowLevel Cleaner Scripts Removed +=================================================== + +See :issue:`67946` + +Description +=========== + +The shell scripts for checking and cleaning a TYPO3 installation for its integrity have been removed from the Core. +They were previously located under :file:`typo3/cleaner_check.sh` and :file:`typo3/cleaner_fix.sh`. The contents have +been moved to the documentation for EXT:lowlevel in the respective :file:`README.rst`. + + +Impact +====== + +Any regular system jobs that execute these scripts will exit with the script not found anymore. + + +Affected Installations +====================== + +Any installation that uses the shell scripts above from the command line directly. + + +Migration +========= + +If such a list is needed, create the files manually again in your system (outside your document root). The code can be +found inside :file:`EXT:lowlevel/README.rst`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67987-RemovedEntryScriptHandling.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67987-RemovedEntryScriptHandling.rst new file mode 100644 index 000000000000..9d1d08747898 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-67987-RemovedEntryScriptHandling.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #67987 - Removed entry script handling +================================================ + +See :issue:`67987` + +Description +=========== + +Definition and handling of constants `TYPO3_MOD_PATH` and `PATH_typo3_mod` have been dropped. +These constants were important for modules that were still not called through the `mod.php` +`_DISPATCH` system that was introduced in TYPO3 CMS version 4.2. +It is required to route modules through `typo3/mod.php` from now on in case the module relies +on the definition of those constants. + +The following old entry scripts were removed: + +* typo3/sysext/cms/layout/db_layout.php, use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_layout')` to link to the module +* typo3/sysext/cms/layout/db_new_content_el.php, use `\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('new_content_element')` to link to the module + + +Impact +====== + +Path resolving may fail for scripts that rely on entry points different from `typo3/mod.php` +Constants `TYPO3_MOD_PATH` and `PATH_typo3_mod` are not defined anymore and scripts may +throw a PHP warning if they try to access these constants. + + +Affected Installations +====================== + +Installations may fail if linking to modules that use an entry script with a `conf.php` file that do not +use `$MCONF['script'] = '_DISPATCH';`. Those modules must be adapted to the `mod.php` entry point and may +need adaption of further references that are defined relative to the entry script. + +Searching for extensions with backend modules that define `TYPO3_MOD_PATH` is a good start to find unwanted usages. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.rst new file mode 100644 index 000000000000..64929257f9f8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68001-RemovedExtJSCoreAndExtJSAdapters.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +======================================================== +Breaking: #68001 - Removed ExtJS Core and ExtJS Adapters +======================================================== + +See :issue:`68001` + +Description +=========== + +The functionality of "ExtCore", which acts as a slim ExtJS base functionality similar to what libraries like underscore.js or jQuery do, +but is just dated, has been completely removed from the TYPO3 Core. + +The custom adapters which have previously been shipped with ExtJS to allow jQuery functionality to be used +with ExtJS underneath have been removed without substitution. The adapters are not compatible with supported +jQuery, prototype.js or YUI versions anymore and their usages have been slower than ExtJS's base library natively. + + +Impact +====== + +Using TypoScript options `page.javascriptLibs.ExtCore = 1`, `page.javascriptLibs.ExtCore.debug = 1` and `page.javascriptLibs.ExtJs.adapter` have no effect anymore. + +Using `<f:be.container>` ViewHelpers in a custom Backend module, setting the extJsAdapter, property will result in a fatal error. + +Calling `$pageRenderer->loadExtJS()` with a custom third parameter will have no effect anymore. + +Calling the methods `loadExtCore()`, `enableExtCoreDebug()`, `getExtCorePath()` and `setExtCorePath()` of `PageRenderer` will result in fatal errors. + + +Affected Installations +====================== + +Instances that use ExtCore in the TYPO3 Frontend + +Extensions that use `<f:be.container>` with an ExtJS Adapter + +Extensions that use the `PageRenderer` object directly to load custom ExtJS or ExtCore. + + +Migration +========= + +Use alternatives for ExtCore or adapters in custom extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-EventCallbacksForCodecompletionHaveChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-EventCallbacksForCodecompletionHaveChanged.rst new file mode 100644 index 000000000000..9ca76adc069d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-EventCallbacksForCodecompletionHaveChanged.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Breaking: #68010 - T3Editor - Event callbacks for codecompletion have changed +============================================================================= + +See :issue:`68010` + +Description +=========== + +Due to the rewrite of T3Editor to jQuery, the event callbacks for codecompletion have changed. + + +Impact +====== + +Plugins for codecompletion written in Prototype will not work anymore. + + +Affected Installations +====================== + +Every third-party extension providing a T3Editor plugin extending the codecompletion. + + +Migration +========= + +Port the plugin to an AMD module. The event callbacks are now part of the module object and not a standalone function anymore. + +Example code: + +.. code-block:: JavaScript + + CoolPlugin.afterKeyDown = function(currWordObj, compResult) { + CoolPlugin.somethingFunky(currWordObj, compResult); + }; diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-PluginRegistrationForCodecompletionHasChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-PluginRegistrationForCodecompletionHasChanged.rst new file mode 100644 index 000000000000..aaeecf348bd4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68010-T3Editor-PluginRegistrationForCodecompletionHasChanged.rst @@ -0,0 +1,55 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Breaking: #68010 - T3Editor - Plugin registration for codecompletion has changed +================================================================================ + +See :issue:`68010` + +Description +=========== + +Due to the rewrite of T3Editor to jQuery, the plugin registration for codecompletion has changed. + + +Impact +====== + +Plugins for codecompletion written in Prototype will not work anymore. + + +Affected Installations +====================== + +Every third-party extension providing a T3Editor plugin extending the codecompletion. + + +Migration +========= + +Port the plugin to an AMD module. The plugin must have an `init` method with a configuration object as only parameter. Every parameter that was passed to the old Prototype function must be in that configuration object. Please see the example code below or consult :file:`EXT:t3editor/Resources/Public/JavaScript/Plugins/CodeCompletion/DescriptionPlugin.js`. + +Example code: + +.. code-block:: JavaScript + + define('Awesome/Extension/Plugins/CodeCompletion/CoolPlugin', [ + 'jquery', + 'TYPO3/CMS/T3editor/Plugins/CodeCompletion/TsRef', + 'TYPO3/CMS/T3editor/Plugins/CodeCompletion/TsParser' + ], function ($, TsRef, TsParser) { + var CoolPlugin = { + codeCompleteBox: null, + codemirror: null + }; + + CoolPlugin.init = function(configuration) { + DescriptionPlugin.codeCompleteBox = configuration.codeCompleteBox; + DescriptionPlugin.codemirror = configuration.codemirror; + + DescriptionPlugin.codeCompleteBox.parent().append($('<div />', {class: 'foomatic'})); + }; + + return CoolPlugin; + }); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.rst new file mode 100644 index 000000000000..285a96d50954 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68020-DroppedDisableBigButtons.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================ +Breaking: #68020 - Dropped DisableBigButtons +============================================ + +See :issue:`68020` + +Description +=========== + +The TSconfig option `mod.web_layout.disableBigButtons` has been dropped, setting it +to 0 has no effect anymore. + + +Impact +====== + +The option is ignored and instances using this will not get the buttons rendered in +page module anymore. + +These methods have been removed, but it is very unlikely an extension is affected: + +* `TYPO3\CMS\Backend\View\PageLayoutView->linkRTEbutton()` +* `TYPO3\CMS\Backend\View\PageLayoutView->isRTEforField()` +* `TYPO3\CMS\Backend\View\PageLayoutView->getSpecConfForField()` + + +Affected Installations +====================== + +Instances that had User / Page TSconfig with this option may have a slightly +different Web -> Page view. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68092-TcaRemoveWizardHideParent.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68092-TcaRemoveWizardHideParent.rst new file mode 100644 index 000000000000..2c4850cd43e2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68092-TcaRemoveWizardHideParent.rst @@ -0,0 +1,54 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #68092 - TCA: Remove wizard hideParent and _HIDDENFIELD +================================================================= + +See :issue:`68092` + +Description +=========== + +Wizards defined in `TCA` for display in `FormEngine` allowed to hide the "parent" +field with the configuration options `_HIDDENFIELD` on main wizard level, and with +the `hideParent` option for single wizards. + +Both options have been dropped. + + +Impact +====== + +The configuration options have no effect anymore, the main field will show up. + + +Affected Installations +====================== + +A search through the TER code showed not a single extension that used the above options. +A 3rd party extension is affected if a `TCA` column configuration is used like: + +.. code-block:: php + + 'aField' => array( + 'config' => array( + ... + 'wizards' => array( + '_HIDDENFIELD' => TRUE, + 'aWizard' => array( + 'hideParent' => array( + ... + ), + ), + ), + ), + ), + + +Migration +========= + +Wizards can not trigger that a main field is not rendered anymore. If this kind of functionality +is needed, it is recommended to register an own `renderType` in the `NodeFactory` for this +type of field instead to route the element rendering to an own class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68116-DropRTEuserLinksFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68116-DropRTEuserLinksFunctionality.rst new file mode 100644 index 000000000000..5927547dc029 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68116-DropRTEuserLinksFunctionality.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #68116 - Drop RTE.userLinks functionality +=================================================== + +See :issue:`68116` + +Description +=========== + +Drop RTE.userLinks functionality from the ElementBrowser. The option was broken since 6.0 and has been removed now. + + +Impact +====== + +The special option won't show up in the ElementBrowser anymore. + + +Affected Installations +====================== + +All installations which use the option `RTE.userLinks` + + +Migration +========= + +Use the newly added Tabbing API to add your custom link selection tab. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68131-StreamlineErrorAndExceptionHandling.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68131-StreamlineErrorAndExceptionHandling.rst new file mode 100644 index 000000000000..418b0ca06b71 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68131-StreamlineErrorAndExceptionHandling.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #68131 - Streamline error and exception handling +========================================================== + +See :issue:`68131` + +Description +=========== + +It is not possible any more to change error and exception handling configuration in an ext_localconf.php of an extension. + + +Impact +====== + +Error or exception handling configuration overridden in ext_localonf.php files will not work any more. + + +Affected Installations +====================== + +All installations with extension that set error or exception handling configuration in ext_localconf.php files. + + +Migration +========= + +Configure error and exception handling in LocalConfiguration.php or AdditionalConfiguration.php diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68150-GLOBALSCLIENT.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68150-GLOBALSCLIENT.rst new file mode 100644 index 000000000000..f4c7ec6ebba4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68150-GLOBALSCLIENT.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +===================================== +Breaking: #68150 - $GLOBALS['CLIENT'] +===================================== + +See :issue:`68150` + +Description +=========== + +The initialization of the `$GLOBALS['CLIENT']` variable has been dropped. + + +Impact +====== + +Extensions that use `$GLOBALS['CLIENT']` will cause a PHP notice or may not function properly any more. + + +Affected Installations +====================== + +Installations with extensions that use `$GLOBALS['CLIENT']` are affected. + + +Migration +========= + +Extensions can still use `GeneralUtility::clientInfo()` API to retrieve the same information. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68178-DropFormEnctype.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68178-DropFormEnctype.rst new file mode 100644 index 000000000000..fa22e5e3d114 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68178-DropFormEnctype.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Breaking: #68178 - Drop $GLOBALS['TYPO3_CONF_VARS']['SYS]['form_enctype'] +========================================================================= + +See :issue:`68178` + +Description +=========== + +Setting `$GLOBALS['TYPO3_CONF_VARS']['SYS]['form_enctype']` has been dropped without replacement. + + +Impact +====== + +Extensions that used this setting in forms may end up with an empty `enctype` attribute +in `HTML` `form` fields. + + +Affected Installations +====================== + +Extensions that rely on this variable being set. + + +Migration +========= + +Substitute the variable access with `multipart/form-data`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.rst new file mode 100644 index 000000000000..6059fc2f892f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68186-AdjustedAndRemovedMethodsInEIDArea.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #68186 - Adjusted and removed methods in eID area +=========================================================== + +See :issue:`68186` + +Description +=========== + +eID scripts now use Request and Response objects to retrieve and output data. + +Due to adjustments of the Core eID scripts a few methods have been adjusted. + +`ExtDirectEidController::routeAction` is now protected and has a changed signature. + +The following methods have been removed: + +* `ExtDirectEidController::actionIsAllowed()` +* `ExtDirectEidController::render()` +* `EidUtility::isEidRequest()` +* `EidUtility::getEidScriptPath()` + +Additionally calling an non-existent eID key will result in a fatal error. + +Impact +====== + +All third party code using those methods will cause a fatal PHP error. + + +Affected Installations +====================== + +All installations using third party code accessing one of the adjusted (or removed) methods. + + +Migration +========= + +No replacement for the mentioned methods is provided. Consider migrating your eID scripts to the new PSR-7 compliant model. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68193-DropRemoveLoginpagesWithContentHashFromIndexerphp.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68193-DropRemoveLoginpagesWithContentHashFromIndexerphp.rst new file mode 100644 index 000000000000..9daa3054f784 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68193-DropRemoveLoginpagesWithContentHashFromIndexerphp.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #68193 - Drop removeLoginpagesWithContentHash from Indexer.php +======================================================================== + +See :issue:`68193` + +Description +=========== + +The method `\TYPO3\CMS\IndexedSearch\Indexer::removeLoginpagesWithContentHash()` was not used within the core since 6.0 +and has been removed. + + +Impact +====== + +Calling `\TYPO3\CMS\IndexedSearch\Indexer::removeLoginpagesWithContentHash()` will throw a fatal error. + + +Affected Installations +====================== + +All installations with third party code using the mentioned method. + + +Migration +========= + +No migration is available. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68206-RemoveUsageOfTypolistAndTypoheadInRTE.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68206-RemoveUsageOfTypolistAndTypoheadInRTE.rst new file mode 100644 index 000000000000..50448fd05b49 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68206-RemoveUsageOfTypolistAndTypoheadInRTE.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Breaking: #68206 - Remove usage of typolist and typohead in RTE +=============================================================== + +See :issue:`68206` + +Description +=========== + +The transformation for the tags `typolist` and `typohead` have been removed from the RTE. +The option and method `internalizeFontTags()` from RteHtmlParser have been removed. + +Impact +====== + +The tags are not processed anymore by the RteHtmlParser. +Fonts are not internalized anymore. + + +Affected Installations +====================== + +All installations using the custom tags `typolist` and `typohead`. +All installations that use the method `internalizeFontTags()` will throw an fatal error. + + +Migration +========= + +Substitute the tags by a tag `ul``or `header`. +Remove any usage of `internalizeFontTags()` diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68243-MoveNotUsedFrontendDocumentTemplate.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68243-MoveNotUsedFrontendDocumentTemplate.rst new file mode 100644 index 000000000000..498d1eb1f88c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68243-MoveNotUsedFrontendDocumentTemplate.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #68243 - Move not used FrontendDocumentTemplate +========================================================= + +See :issue:`68243` + +Description +=========== + +Move unused FrontendDocumentTemplate to ext:compatibility6. + + +Impact +====== + +Installations still using FrontendDocumentTemplate require ext:compatibility6 to be installed. + + +Affected Installations +====================== + +Installations still using FrontendDocumentTemplate. + + +Migration +========= + +Install ext:compatibility6 or adapt the code to not use the FrontendDocumentTemplate functionality. + +Adapting the code is highly recommended. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68276-RemoveExtJSQuicktipsIfPossible.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68276-RemoveExtJSQuicktipsIfPossible.rst new file mode 100644 index 000000000000..3af547060389 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68276-RemoveExtJSQuicktipsIfPossible.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #68276 - Remove ExtJS Quicktips if possible +===================================================== + +See :issue:`68276` + +Description +=========== + +The method `PageRenderer::enableExtJSQuickTips()`, which was used to enable ExtJS quicktips, has been removed. +In some places like RTE or workspaces the Quicktips are still in use, but will be removed as soon as possible. + + +Impact +====== + +All calls to the PHP method `PageRenderer::enableExtJSQuickTips()` will throw a fatal error. + + +Affected Installations +====================== + +Instances which make use of `PageRenderer::enableExtJSQuickTips()`. + + +Migration +========= + +No migration, use bootstrap tooltips, which work out of the box as alternative. +Simple add `data-toggle="tooltip"` and `data-title="your tooltip"` to any element you want. + +Example +------- + +.. code-block:: html + + <a href="#" data-toggle="tooltip" data-title="My very nice title">My Link</a> diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68321-MoveLanguageAndImagesInRtehtmlarea.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68321-MoveLanguageAndImagesInRtehtmlarea.rst new file mode 100644 index 000000000000..71b442466137 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Breaking-68321-MoveLanguageAndImagesInRtehtmlarea.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #68321 - Move language and images in rtehtmlarea +========================================================== + +See :issue:`68321` + +Description +=========== + +All language files and images have been moved. + + +Impact +====== + +Labels and images may be not displayed if TypoScript from the sample files is used. + + +Affected Installations +====================== + +All installations that use the TypoScript settings from the provided sample files. + + +Migration +========= + +Adjust the path to language and image files according the sample TypoScript files provided by the extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-50349-ReduceSQLQueriesOfPageTreeInWorkspaces.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-50349-ReduceSQLQueriesOfPageTreeInWorkspaces.rst new file mode 100644 index 000000000000..5eb76c3a769c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-50349-ReduceSQLQueriesOfPageTreeInWorkspaces.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Deprecation: #50349 - Reduce SQL queries of page tree in workspaces +=================================================================== + +See :issue:`50349` + +Description +=========== + +The performance of the calculation of versions of a record has been improved. Therefore the method +`\TYPO3\CMS\Backend\Utility::countVersionsOfRecordsOnPage()` has been marked as deprecated and is being replaced with +`\TYPO3\CMS\Workspaces\Service\WorkspaceService::hasPageRecordVersions()`. + + +Impact +====== + +All calls to the PHP method will throw a deprecation warning. + + +Affected Installations +====================== + +Instances which make use of `\TYPO3\CMS\Backend\Utility::countVersionsOfRecordsOnPage()` + + +Migration +========= + +Use `\TYPO3\CMS\Workspaces\Service\WorkspaceService::hasPageRecordVersions()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-ExtendedFileUtilitydontCheckForUniqueIsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-ExtendedFileUtilitydontCheckForUniqueIsDeprecated.rst new file mode 100644 index 000000000000..d4aa2d43c390 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-ExtendedFileUtilitydontCheckForUniqueIsDeprecated.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Deprecation: #63603 - ExtendedFileUtility::$dontCheckForUnique is deprecated +============================================================================ + +See :issue:`63603` + +Description +=========== + +The ExtendedFileUtility `$dontCheckForUnique` flag has been marked as deprecated and replaced by +`$fileUtility->setExistingFileConflictMode()` with the possible options of the `\TYPO3\CMS\Core\Resource\DuplicationBehavior` enumeration. + + +Impact +====== + +Extensions still using `ExtendedFileUtility::$dontCheckForUnique` will throw a deprecation warning. + + +Affected Installations +====================== + +All installations with extensions that use `ExtendedFileUtility::$dontCheckForUnique`. + + +Migration +========= + +Change the `$fileUtility->dontCheckForUnique = TRUE` to `$fileUtility->setExistingFileConflictMode(DuplicationBehavior::REPLACE)`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-FileControllerAndFileListControllerOverwriteExistingFilesChangedToStringValue.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-FileControllerAndFileListControllerOverwriteExistingFilesChangedToStringValue.rst new file mode 100644 index 000000000000..edd3f4cf8be4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63603-FileControllerAndFileListControllerOverwriteExistingFilesChangedToStringValue.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================================================================== +Deprecation: #63603 - FileController and FileListController overwriteExistingFiles changed to string value +========================================================================================================== + +See :issue:`63603` + +Description +=========== + +The GET/POST param to tell the FileController and FileListController whether to override a file or not switched from a bool +value to a string with the possibilities of the `\TYPO3\CMS\Core\Resource\DuplicationBehavior` enumeration. + + +Impact +====== + +Extensions still using `overwriteExistingFiles = 1` will throw a deprecation warning. + + +Affected Installations +====================== + +All installations with extensions that use the BE upload functionality and supply the file override option. + + +Migration +========= + +Change the `<input name="overwriteExistingFiles" value="1">` to `<input name="overwriteExistingFiles" value="replace">`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63974-CssCompressorCallbackAndCompressCssString.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63974-CssCompressorCallbackAndCompressCssString.rst new file mode 100644 index 000000000000..1dfd8f8fd08b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-63974-CssCompressorCallbackAndCompressCssString.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +============================================================== +Deprecation: #63974 - Deprecate CSS compressor callback method +============================================================== + +See :issue:`63974` + +Description +=========== + +The callback method `compressCssPregCallback()` as defined in +EXT:core/Classes/Resource/ResourceCompressor.php has been marked as deprecated due to the overhauled regular expressions. + +Impact +====== + +Usage of the mentioned method is discouraged and will break as of CMS 8. + + +Affected installations +====================== + +All installations or extensions using the `compressCssPregCallback()` callback method. + + +Migration +========= + +No migration possible for the callback method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-65790-PagesStoragePidDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-65790-PagesStoragePidDeprecated.rst new file mode 100644 index 000000000000..4d4799ad5006 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-65790-PagesStoragePidDeprecated.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +======================================================== +Deprecation: #65790 - Remove pages.storage_pid and logic +======================================================== + +See :issue:`65790` + +Description +=========== + +The DB field "pages.storage_pid" and its TCA definition have been moved to the compatibility6 extension as the field +and its functionality is discouraged. + +Additionally the method `getStorageSiterootPids()` within the PHP class `TypoScriptFrontendController` has been marked +as deprecated. The method is currently only used if the Frontend Login plugin is used without setting +a specific folder where the fe_users records are stored in. + + +Impact +====== + +Any usage of this field in any TypoScript, page or the usage of the method mentioned above in any third-party +extension will only work if the compatibility6 extension is installed. + +The Frontend Login functionality will throw a deprecation warning if the TypoScript option +`plugin.tx_felogin.storagePid` (via TypoScript directly or the flexform configuration within the plugin) is not set. + + +Affected installations +====================== + +All installations making use of `storage_pid` within the pages database table as well as installations using +the Frontend Login plugin without having the storagePid option set. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-66904-DisablegetExtURL.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-66904-DisablegetExtURL.rst new file mode 100644 index 000000000000..35adb6cc52b3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-66904-DisablegetExtURL.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Deprecation: #66904 - $disable Option in PageRepository->getExtURL() +==================================================================== + +See :issue:`66904` + +Description +=========== + +The second parameter `$disable` within `PageRepository->getExtURL()` has been marked as deprecated. + + +Affected Installations +====================== + +Any installation using the method in a third-party extension above with using the second parameter set to +`true` will throw a deprecation warning. + + +Migration +========= + +Check if redirects are enabled before the actual call to `PageRepository->getExtURL()` in a third-party extension. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67288-DeprecateDbalMetaType.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67288-DeprecateDbalMetaType.rst new file mode 100644 index 000000000000..636cc61c47cf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67288-DeprecateDbalMetaType.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Deprecation: #67288 - Deprecate Dbal\DatabaseConnection::MetaType() method +========================================================================== + +See :issue:`67288` + +Description +=========== + +The following public function has been marked as deprecated as the bugfix requires a signature change: + +* `Dbal\DatabaseConnection->MetaType()` + + +Impact +====== + +Using this function will throw a deprecation warning. Due to missing information the field type cache will +be bypassed and the DBMS will be queried for the necessary information on each call. + + +Migration +========= + +Switch to `getMetadata()` and the field name for which you need the ADOdb MetaType information. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67471-InitPhp.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67471-InitPhp.rst new file mode 100644 index 000000000000..d606af4a0833 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67471-InitPhp.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +======================================== +Deprecation: #67471 - Deprecate init.php +======================================== + +See :issue:`67471` + +Description +=========== + +In order to move all unneeded files from typo3/, the often used init.php has been deprecated in favor of using the +bootstrap initialization code directly in the TYPO3 Backend. + + +Impact +====== + +All entry points from third-party extensions using init.php will now throw a deprecation warning. + + +Affected Installations +====================== + +All instances having extensions that include init.php when not using the mod.php for modules or ajax calls. + + +Migration +========= + +Use the following code instead of the init.php inclusion if you still need custom entry points: + +.. code-block:: php + + define('TYPO3_MODE', 'BE'); + + require __DIR__ . '/sysext/core/Classes/Core/Bootstrap.php'; + \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->run('typo3/'); + + +If using a module, use the mod.php to register your own module. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67506-DeprecateIconUtilitygetIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67506-DeprecateIconUtilitygetIcon.rst new file mode 100644 index 000000000000..7ac6a7ed6c09 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67506-DeprecateIconUtilitygetIcon.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +==================================================== +Deprecation: #67506 - Deprecate IconUtility::getIcon +==================================================== + +See :issue:`67506` + +Description +=========== + +The method `IconUtility::getIcon()` which was used for generating overlaid icons for records has been marked as deprecated. + + +Impact +====== + +All calls to the PHP method will throw a deprecation warning. + + +Affected Installations +====================== + +Instances with third-party extensions modifying the TYPO3 Backend with a custom module or hook and calling `IconUtility::getIcon()`. + + +Migration +========= + +Use `IconUtility::getSpriteIconForRecord()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67670-DeprecateCustomSingletonLogicInGeneralUtilitygetUserObj.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67670-DeprecateCustomSingletonLogicInGeneralUtilitygetUserObj.rst new file mode 100644 index 000000000000..709abb03a803 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67670-DeprecateCustomSingletonLogicInGeneralUtilitygetUserObj.rst @@ -0,0 +1,59 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Deprecation: #67670 - Deprecate custom singleton logic in GeneralUtility::getUserObj +==================================================================================== + +See :issue:`67670` + +Description +=========== + +The functionality of instantiating classes only once by calling `GeneralUtility::getUserObj($className)` multiple times +while having a `$className` that is prepended with a ampersand ("&") has been marked as deprecated. + + +An example of the deprecated behaviour in the ext_localconf.php of an extension: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['pi1_hooks']['getResultRows_SQLpointer'] = '&Acme\\MyExtension\\Hooks\\MysqlFulltextIndexHook'; + + +Impact +====== + +Any calls to `GeneralUtility::getUserObj()` with a prefixed ampersand will throw a deprecation message. + + +Affected Installations +====================== + +TYPO3 Instances with extensions that use `getUserObj()` themselves and/or use hooks built with `getUserObj()` and use references. + + +Migration +========= + +Check if the classes that hook into certain parts of your custom extensions really need to be referenced / instantiated once. +If so, implement the `SingletonInterface` of the TYPO3 Core, so the underlying function `GeneralUtility::makeInstance()` +will register the SingletonInterface only once. + +The modified example from above now looks like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['pi1_hooks']['getResultRows_SQLpointer'] = \Acme\MyExtension\Hooks\MysqlFulltextIndexHook::class; + + +While the class itself implements the SingletonInterface of the TYPO3 Core to only be instantiated once during a single request: + +.. code-block:: php + + <?php + namespace \Acme\MyExtension\Hooks; + + class MysqlFulltextIndexHook implements \TYPO3\CMS\Core\Core\SingletonInterface { + ... + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67737-TcaDropAdditionalPalette.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67737-TcaDropAdditionalPalette.rst new file mode 100644 index 000000000000..bb33c83bfb2a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67737-TcaDropAdditionalPalette.rst @@ -0,0 +1,72 @@ + +.. include:: ../../Includes.txt + +================================================== +Deprecation: #67737 - TCA: Drop additional palette +================================================== + +See :issue:`67737` + +Description +=========== + +The `showitem` string of `TCA` `types` allowed to define an "additional palette" as third +semicolon separated name of a field. Such a palette was then rendered after the main field. +This handling has been dropped and existing "additional palettes" were migrated to a "normal" palette definition +directly after the field. + +Before: + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'showitem' => 'aField;aLabel;anAdditionalPaletteName', + ), + ), + + +The behavior before was: If the field `aField` is rendered, then the +palette `anAdditionalPaletteName` is rendered, too. This functionality has been dropped, the migrated field now looks +like this: + +.. code-block:: php + + 'types' => array( + 'aType' => array( + 'showitem' => 'aField;aLabel, --palette--;;anAdditionalPaletteName', + ), + ), + + +A casual field name in `showitem` now only has a label override as additional +information, like `aField;aLabel`, while a palette is referenced as +`--palette--;aLabel;paletteName`. + + +Impact +====== + +All extensions that use "additional palette" syntax are migrated to the new syntax, but will +throw a deprecation message. + +The "additional palette" handling was sometimes misused as "poor-mans-access-control": +If access to the main field was not allowed, the palette fields were not rendered either. This +changed, the main field and the palette are decoupled, it may happen that additional fields +are now rendered for users that should not have access to it. Adapting the `exclude` config +definition of the palette fields and user or group access records is necessary in those cases. + + + +Affected Installations +====================== + +Extensions that use the "additional palette" handling. + + +Migration +========= + +An automatic migration is in place and logged to `typo3conf/deprecation_*`. The migration code +will be dropped with TYPO3 CMS 8, a manual fix of the according `showitem` field is required, +the deprecation log gives detailed information on how the definition should look like. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67769-DeprecateQueryGeneratorformatQ.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67769-DeprecateQueryGeneratorformatQ.rst new file mode 100644 index 000000000000..1fb04c4ae1f0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67769-DeprecateQueryGeneratorformatQ.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================= +Deprecation: #67769 - Deprecate QueryGenerator::formatQ() +========================================================= + +See :issue:`67769` + +Description +=========== + +The method `QueryGenerator::formatQ()` which was used to format a query string, has been marked as deprecated. + + +Impact +====== + +All calls to the PHP method will throw a deprecation warning. + + +Affected Installations +====================== + +Instances which make use of `QueryGenerator::formatQ()`. + + +Migration +========= + +No migration, use `htmlspecialchars` as alternative. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67790-DeprecateQueryGeneratorJSbottom.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67790-DeprecateQueryGeneratorJSbottom.rst new file mode 100644 index 000000000000..f7b05601acd0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67790-DeprecateQueryGeneratorJSbottom.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #67790 - Deprecate QueryGenerator::JSbottom() +========================================================== + +See :issue:`67790` + +Description +=========== + +The method `QueryGenerator::JSbottom()` which was used to append JavaScript code has been marked as deprecated. + + +Impact +====== + +All calls to the PHP method will throw a deprecation warning. + + +Affected Installations +====================== + +Instances which make use of `QueryGenerator::JSbottom()`. + + +Migration +========= + +No migration, use requireJS modules and register the module through `pageRenderer`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67932-DeprecatedOldRsaauthApi.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67932-DeprecatedOldRsaauthApi.rst new file mode 100644 index 000000000000..ed0f135ed614 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67932-DeprecatedOldRsaauthApi.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Deprecation: #67932 - Deprecated old rsaauth encryption API +=========================================================== + +See :issue:`67932` + +Description +=========== + +The rsaauth API has been rebuilt to be more generic. Therefore the Ajax Handler `BackendLogin::getRsaPublicKey()` has +been marked as deprecated and the eID script `FrontendLoginRsaPublicKey` has been removed. + + +Affected Installations +====================== + +Any installation using one of the entry points above in a third-party extension. + + +Migration +========= + +There is no reason to use the entry points on your own anymore. Please update your scripts to use the new rsaauth API. +For backend requests you should use the provided ajax handler `RsaEncryption::getRsaPublicKey()`. +For frontend request you should use the provided eID script `RsaPublicKeyGenerationController`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67991-RemovedExtCms.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67991-RemovedExtCms.rst new file mode 100644 index 000000000000..c98d13eacc47 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-67991-RemovedExtCms.rst @@ -0,0 +1,49 @@ + +.. include:: ../../Includes.txt + +===================================== +Deprecation: #67991 - Removed ext:cms +===================================== + +See :issue:`67991` + +Description +=========== + +Extension `cms` has been removed. Most functionality has been moved to extension `frontend` with version 6.0 already. +The rest of the files have now been moved to other extensions, extension `cms` does not exist anymore. + + +Impact +====== + +Language files from EXT:cms are moved to different places into the core. `LLL:EXT:cms/...` references are +rewritten dynamically to the new file locations, but this fallback layer is subject to be removed with CMS 8. + +Third party extensions that define a dependency to extension `cms` will get their dependency rewritten to `core` +on the fly during extension installation as a compatibility layer. + + +Affected Installations +====================== + +All 3rd party extensions using language labels from extension `cms` or defining a dependency to extension `cms` +in `ext_emconf.php`. + + +Migration +========= + +Update the dependency constraint in `ext_emconf.php` of the affected extension. A typical substitution is +a dependency to extension `frontend`. + +Move the following references to the new location of the language file: + +* typo3/sysext/cms/web_info/locallang.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_webinfo.xlf +* typo3/sysext/cms/locallang_ttc.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_ttc.xlf +* typo3/sysext/cms/locallang_tca.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_tca.xlf +* typo3/sysext/cms/layout/locallang_db_new_content_el.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_db_new_content_el.xlf +* typo3/sysext/cms/layout/locallang.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_layout.xlf +* typo3/sysext/cms/layout/locallang_mod.xlf -> typo3/sysext/backend/Resources/Private/Language/locallang_mod.xlf +* typo3/sysext/cms/locallang_csh_webinfo.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_csh_webinfo.xlf +* typo3/sysext/cms/locallang_csh_weblayout.xlf -> typo3/sysext/frontend/Resources/Private/Language/locallang_csh_weblayout.xlf diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68074-DeprecateGetPageRenderer.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68074-DeprecateGetPageRenderer.rst new file mode 100644 index 000000000000..045e5d3c3704 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68074-DeprecateGetPageRenderer.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================= +Deprecation: #68074 - Deprecate getPageRenderer() methods +========================================================= + +See :issue:`68074` + +Description +=========== + +The following public functions have been marked as deprecated as the instance they return is a singleton: + +* `TYPO3\CMS\Backend\Controller\BackendController::getPageRenderer()` +* `TYPO3\CMS\Backend\Template\DocumentTemplate::getPageRenderer()` +* `TYPO3\CMS\Backend\Template\FrontendDocumentTemplate::getPageRenderer()` +* `TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::getPageRenderer()` + + +Impact +====== + +Using one of these functions will throw a deprecation message. + + +Migration +========= + +As the PageRenderer implements a SingletonInterface you can get your own (shared) instance with +`\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class)` and work with that one. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68098-GeneralUtilityMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68098-GeneralUtilityMethods.rst new file mode 100644 index 000000000000..940cecaa8c1c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68098-GeneralUtilityMethods.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +====================================================== +Deprecation: #68098 - Deprecate GeneralUtility methods +====================================================== + +See :issue:`68098` + +Description +=========== + +The following methods within `GeneralUtility` have been marked as deprecated and will be removed in TYPO3 CMS v8. + +.. code-block:: php + + GeneralUtility::modifyHTMLColor() + GeneralUtility::modifyHTMLColorAll() + GeneralUtility::isBrokenEmailEnvironment() + GeneralUtility::normalizeMailAddress() + GeneralUtility::formatForTextarea() + GeneralUtility::getThisUrl() + GeneralUtility::cleanOutputBuffers() + +The functionality `formatForTextarea()` was used in the older days to actually support IE4 and Netscape 3 properly +and can now safely be exchanged by `htmlspecialchars()`. + + +Impact +====== + +All extensions using these methods directly will throw a deprecation message. + + +Affected Installations +====================== + +Installations with extensions that use the methods above handling. + + +Migration +========= + +Use corresponding functionality from `getIndpEnv()` instead of `getThisUrl()`. + +For the other methods, you can re-implement the functionality yourself in your extension where needed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68122-GeneralUtilityReadLLfile.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68122-GeneralUtilityReadLLfile.rst new file mode 100644 index 000000000000..2916576cafea --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68122-GeneralUtilityReadLLfile.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #68122 - Deprecate GeneralUtility::readLLfile +========================================================== + +See :issue:`68122` + +Description +=========== + +Method `GeneralUtility::realLLfile()` was just a wrapper around LocalizationFactory +and has been marked as deprecated. + + +Impact +====== + +Extensions using `realLLfile()` to parse localization files should switch to +an instance of `LocalizationFactory`. + + +Affected Installations +====================== + +Extensions using `GeneralUtility::readLLfile()` + + +Migration +========= + +A typical call now should look like: + +.. code-block:: php + + /** @var $languageFactory \TYPO3\CMS\Core\Localization\LocalizationFactory */ + $languageFactory = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Localization\LocalizationFactory::class); + $languageFactory->getParsedData($fileToParse, $language, $renderCharset, $errorMode); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68141-Typo3ajaxphp.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68141-Typo3ajaxphp.rst new file mode 100644 index 000000000000..dafcb7d689ab --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68141-Typo3ajaxphp.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================== +Deprecation: #68141 - typo3/ajax.php +==================================== + +See :issue:`68141` + +Description +=========== + +The ajax.php entry-point has been marked as deprecated. All AJAX requests in the Backend using the Ajax API are +not affected as they automatically use index.php. + + +Impact +====== + +All extensions directly linking to typo3/ajax.php will throw a deprecation warning. + + +Affected Installations +====================== + +Installations with custom extensions that call typo3/ajax.php without using proper API calls from `BackendUtility`. + + +Migration +========= + +Use `BackendUtility::getAjaxUrl()`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68183-Typo3modphp.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68183-Typo3modphp.rst new file mode 100644 index 000000000000..26b9482cd39f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Deprecation-68183-Typo3modphp.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=================================== +Deprecation: #68183 - typo3/mod.php +=================================== + +See :issue:`68183` + +Description +=========== + +The mod.php entry-point has been marked as deprecated. All Backend Module requests in the Backend using the Module Url API are +not affected as they automatically use index.php. + + +Impact +====== + +All extensions directly linking to typo3/mod.php will throw a deprecation warning. + + +Affected Installations +====================== + +Installations with custom extensions that call typo3/mod.php without using proper API calls from `BackendUtility`. + + +Migration +========= + +Use `BackendUtility::getModuleUrl()`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-20194-ConfigurationForDisplayingTheSaveViewButton.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-20194-ConfigurationForDisplayingTheSaveViewButton.rst new file mode 100644 index 000000000000..dc3fdee87871 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-20194-ConfigurationForDisplayingTheSaveViewButton.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #20194 - Configuration for displaying the "Save & View" button +======================================================================= + +See :issue:`20194` + +Description +=========== + +The "Save & View" button is configurable by TSConfig "TCEMAIN.preview.disableButtonForDokType" (CSV of "doktype" IDs) to +disable the button for custom page "doktypes". The default value is set in the PHP implementation: "254, 255, 199" +(Storage Folder, Recycler and Menu Seperator) + + +Impact +====== + +The "Save & View" button is no longer displayed in folders and recycler pages. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-22175-SupportIecSiUnitsInFileSizeFormatting.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-22175-SupportIecSiUnitsInFileSizeFormatting.rst new file mode 100644 index 000000000000..61546aa61bed --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-22175-SupportIecSiUnitsInFileSizeFormatting.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #22175 - Support IEC/SI units in file size formatting +============================================================== + +See :issue:`22175` + +Description +=========== + +Size formatting supports two keywords additionally to the list of labels: +- iec: uses the Ki, Mi, etc prefixes and binary base (power of two, 1024) +- si: uses the k, M, etc prefixes and decimal base (power of ten, 1000) + +The default formatting is set to "iec" base size calculations on the same base as before. +The fractional part, when present, is changed to two numbers instead of only one. + +The list of labels is still supported and defaults to using binary base. It is also +possible to explicitly choose between binary or decimal base when it is used. + + +Impact +====== + +Default formatted output of file sizes changes, see example below. + +TypoScript `stdWrap` property `bytes` defaults to a different label set. +`bytes.labels = iec`, a specifically defined label string with pipe separated +label keywords is obsolete, but can still be used if required. The keyword +`iec` resolves to ` | Ki| Mi| Gi| Ti| Pi| Ei| Zi| Yi` (binary base) and `si` resolves +to ` | k| M| G| T| P| E| Z| Y` (based on ten). + + +Example +======= + +.. code-block:: php + + echo GeneralUtility::formatSize(85123); + // => Before "83.1 K" + // => Now "83.13 Ki" diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-33071-AddTheHttpHeaderContent-LanguageWhenRenderingAPage.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-33071-AddTheHttpHeaderContent-LanguageWhenRenderingAPage.rst new file mode 100644 index 000000000000..2df4c8a795b1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-33071-AddTheHttpHeaderContent-LanguageWhenRenderingAPage.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Feature: #33071 - Add the http header "Content-Language" when rendering a page +============================================================================== + +See :issue:`33071` + +Description +=========== + +By default a header "Content-language: XX" is sent where "XX" is the iso code of the sys_language_content if that is +properly defined by the sys_language record representing the sys_language_uid. +The "config.disableLanguageHeader" will disable that. + + + +Impact +====== + +By default in new and existing installations a header "Content-language: XX" is sent where "XX" is the iso code of the +sys_language_content if that is properly defined by the sys_language record representing the sys_language_uid. +You must set "config.disableLanguageHeader" to disable that and get previous behavior (no header). diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-34922-AllowTsFileExtensionForStaticTyposcriptTemplates.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-34922-AllowTsFileExtensionForStaticTyposcriptTemplates.rst new file mode 100644 index 000000000000..39a415fb958d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-34922-AllowTsFileExtensionForStaticTyposcriptTemplates.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Feature: #34922 - Allow .ts file extension for static TypoScript templates +========================================================================== + +See :issue:`34922` + +Description +=========== + +Only these TypoScript file names were allowed: + +- constants.txt +- setup.txt +- include_static.txt +- include_static_files.txt + +The ts file extension has been allowed for constants and setup and is prioritised over txt. + + +Impact +====== + +There is a little performance impact when loading the TypoScript from scratch like in the backend and frontend without +cache as the new file extension is always tested. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-43984-AddStdWrapFunctionalityToTreatIdAsReferenceTypoScript.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-43984-AddStdWrapFunctionalityToTreatIdAsReferenceTypoScript.rst new file mode 100644 index 000000000000..0c2accb84ec5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-43984-AddStdWrapFunctionalityToTreatIdAsReferenceTypoScript.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Feature: #43984 - Add stdWrap functionality to TreatIdAsReference TypoScript +============================================================================ + +See :issue:`43984` + +Description +=========== + +The new TypoScript property "treatIdAsReference" for the getImgResource object +can now be used with stdWrap properties. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-45725-AddedRecursiveOptionToFolderBasedFileCollections.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-45725-AddedRecursiveOptionToFolderBasedFileCollections.rst new file mode 100644 index 000000000000..6c5ef807d09c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-45725-AddedRecursiveOptionToFolderBasedFileCollections.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Feature: #45725 - Added recursive option to folder based file collections +========================================================================= + +See :issue:`45725` + +Description +=========== + +Folder based file collections have now an option to fetch all files recursively for +the given folder. The option is also available in the TypoScript Object `FILES`. + +Usage: + +.. code-block:: typoscript + + filecollection = FILES + filecollection { + folders = 1:images/ + folders.recursive = 1 + + renderObj = IMAGE + renderObj { + file.import.data = file:current:uid + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-48947-AvatarsForBackendUsers.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-48947-AvatarsForBackendUsers.rst new file mode 100644 index 000000000000..004a4d7aa610 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-48947-AvatarsForBackendUsers.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +=========================================== +Feature: #48947 - Avatars for backend users +=========================================== + +See :issue:`48947` + +Description +=========== + +To improve the user experience in collaborative content editing, avatars for backend users have been introduced. +Avatars will be either user defined by uploading a custom image or generated by the system. + + +Impact +====== + +The avatars will be shown in the topbar, users list and other places. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56133-ReplaceFileFeatureForFalFileList.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56133-ReplaceFileFeatureForFalFileList.rst new file mode 100644 index 000000000000..dfcaaaab1ee7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56133-ReplaceFileFeatureForFalFileList.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #56133 - Replace file feature for fal file list +======================================================== + +See :issue:`56133` + +Description +=========== + +Now its possible to replace files for a specific record at the extended view in the FAL record list. + +Impact +====== + +Provides a new button "replace" at the extended view in FAL equal to DAM. It's possible to replace a file +* with a new one -> old file will be overwritten; identifier of the file object will be kept +* with a new one -> old file will be deleted; identifier of the file object will be changed to the new filename + +The file replacing also respects unique file names. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56644-AddHookToInlineRecordContainerCheckAccess.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56644-AddHookToInlineRecordContainerCheckAccess.rst new file mode 100644 index 000000000000..71bd6cb0c1f7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-56644-AddHookToInlineRecordContainerCheckAccess.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #56644 - Hook for InlineRecordContainer::checkAccess() +=============================================================== + +See :issue:`56644` + +Description +=========== + +Hook to post-process `InlineRecordContainer::checkAccess` result. +`InlineRecordContainer::checkAccess` is used to check the access to related inline records. It's implemented in the +same way as the hook $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/alt_doc.php']['makeEditForm_accessCheck'] +in the EditDocumentController. + +Register it like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms_inline.php']['checkAccess'][] = 'My\\Package\\HookClass->hookMethod'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59231-AddHookToAbstractUserAuthenticationCheckAuthentication.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59231-AddHookToAbstractUserAuthenticationCheckAuthentication.rst new file mode 100644 index 000000000000..1bae62192f2f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59231-AddHookToAbstractUserAuthenticationCheckAuthentication.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Feature: #59231 - Hook for AbstractUserAuthentication::checkAuthentication() +============================================================================ + +See :issue:`59231` + +Description +=========== + +Hook to post-process login failures in `AbstractUserAuthentication::checkAuthentication`. +By default the process sleeps for five seconds in case of failing. By using this hook, different solutions for +brute force protection can be implemented. + +Register like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['postLoginFailureProcessing'][] = 'My\\Package\\HookClass->hookMethod'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59384-XMLParserOptionsForXml2tree.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59384-XMLParserOptionsForXml2tree.rst new file mode 100644 index 000000000000..c0fc706f752a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59384-XMLParserOptionsForXml2tree.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #59384 - XML parser options for xml2tree() +=================================================== + +See :issue:`59384` + +Description +=========== + +`GeneralUtility::xml2tree()` gets an optional parameter: an array that can hold options for the parser. +Those will simply be passed through to the PHP-function xml_parser_set_option(). + +.. code-block:: php + + GeneralUtility::xml2tree($xmlData, 999, array(XML_OPTION_SKIP_WHITE => 1)); + + +Impact +====== + +It's just an optional parameter. If you don't specify it, simply no additional initialisation of the XML-parser will be done. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59570-AddDescriptionFieldForFilemounts.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59570-AddDescriptionFieldForFilemounts.rst new file mode 100644 index 000000000000..461f36c9adca --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-59570-AddDescriptionFieldForFilemounts.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #59570 - Add description-field for filemounts +====================================================== + +See :issue:`59570` + +Description +=========== + +A new field "description" has been added to the table sys_filemounts. +With the new field it is possible to give a short description what a +certain filemount should be used for or which documents it contains, etc. + + +Impact +====== + +The new field is optional and can be used in all projects. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61308-AllowPlaceholderAttribute.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61308-AllowPlaceholderAttribute.rst new file mode 100644 index 000000000000..463c125a1f07 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61308-AllowPlaceholderAttribute.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +============================================= +Feature: #61308 - Allow Placeholder attribute +============================================= + +See :issue:`61308` + +Description +=========== + +System extension `form` allows a placeholder attribute in textfields +by adding it in a form configuration. However, there is no option to add +placeholder using the form wizard, yet. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61903-PageTSDataproviderForBackendLayouts.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61903-PageTSDataproviderForBackendLayouts.rst new file mode 100644 index 000000000000..785a8aa88488 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-61903-PageTSDataproviderForBackendLayouts.rst @@ -0,0 +1,66 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #61903 - PageTS dataprovider for backend layouts +========================================================= + +See :issue:`61903` + +Description +=========== + +Over the last year, several extensions appeared on TER that implemented the very same basic feature: +Deploying backend layouts without database records by providing them via PageTS. + +Implement a generic PageTS provider for backend layouts to unify those approaches and to make backend layouts reusable +across installations. + + +Impact +====== + +It is now possible to define backend layouts via PageTSConfig on every page. + + +Example +------- + +.. code-block:: typoscript + + mod { + web_layout { + BackendLayouts { + exampleKey { + title = Example + config { + backend_layout { + colCount = 1 + rowCount = 2 + rows { + 1 { + columns { + 1 { + name = LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:colPos.I.3 + colPos = 3 + colspan = 1 + } + } + } + 2 { + columns { + 1 { + name = Main + colPos = 0 + colspan = 1 + } + } + } + } + } + } + icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif + } + } + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-64200-AllowIndividualContentCaching.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-64200-AllowIndividualContentCaching.rst new file mode 100644 index 000000000000..ab4cfe494cb6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-64200-AllowIndividualContentCaching.rst @@ -0,0 +1,66 @@ + +.. include:: ../../Includes.txt + +================================================== +Feature: #64200 - Allow individual content caching +================================================== + +See :issue:`64200` + +Description +=========== + +The `stdWrap.cache.` property is now available as first-class function to all +content objects. This skips the rendering even for content objects that evaluate +`stdWrap` after rendering (e.g. `COA`). + +Usage: + +.. code-block:: typoscript + + page = PAGE + page.10 = COA + page.10 { + cache.key = coaout + cache.lifetime = 60 + #stdWrap.cache.key = coastdWrap + #stdWrap.cache.lifetime = 60 + 10 = TEXT + 10 { + cache.key = mycurrenttimestamp + cache.lifetime = 60 + data = date : U + strftime = %H:%M:%S + noTrimWrap = |10: | | + } + 20 = TEXT + 20 { + data = date : U + strftime = %H:%M:%S + noTrimWrap = |20: | | + } + } + +The commented part is `stdWrap.cache.` property available since 4.7, +that does not stop the rendering of `COA` including all sub-cObjects. + +Additionally, stdWrap support is added to key, lifetime and tags. + + +Impact +====== + +If you've previously used the `cache.` property in your custom cObject, +this will now fail, because `cache.` is unset to avoid double caching. +You are encouraged to rely on the core methods for caching cObjects or +rename your property. + +`stdWrap.cache` continues to exists and can be used as before. However +the top level `stdWrap` of certain cObjects (e.g. `TEXT` cObject) +will not evaluate `cache.` as part of `stdWrap`, but before starting +the rendering of the cObject. In conjunction the storing will happen +after the `stdWrap` processing right before the content is returned. + +Top level `cache.` will not evaluate the hook +`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']` +any more. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65550-MakeTableDisplayOrderConfigurableInListModule.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65550-MakeTableDisplayOrderConfigurableInListModule.rst new file mode 100644 index 000000000000..69964fc5b5b3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65550-MakeTableDisplayOrderConfigurableInListModule.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Feature: #65550 - Make table display order configurable in List module +====================================================================== + +See :issue:`65550` + +Description +=========== + +The new `PageTSconfig` configuration option `mod.web_list.tableDisplayOrder` has been added +for the List module to allow flexible configuration of the order in which tables are displayed. +The keywords `before` and `after` can be used to specify an order relative to other table names. + +Example: + +.. code-block:: typoscript + + mod.web_list.tableDisplayOrder.<tableName> { + before = <tableA>, <tableB>, ... + after = <tableA>, <tableB>, ... + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65698-AdditionalResourceServiceLocalization.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65698-AdditionalResourceServiceLocalization.rst new file mode 100644 index 000000000000..75cd52cc91a4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-65698-AdditionalResourceServiceLocalization.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +=========================================================================== +Feature: #65698 - Additional localization files in backend workspace module +=========================================================================== + +See :issue:`65698` + +Description +=========== + +The AdditionalResourceService of the workspace module in the backend is extended +by the functionality to register custom localization files that are forwarded to +the PageRenderer in the end. This way, labels can be accessed in JavaScript using +the TYPO3.l10n.localize() function for instance. + +.. code-block:: php + + \TYPO3\CMS\Workspaces\Service\AdditionalResourceService::getInstance()->addLocalizationResource( + 'EXT:my_extension/Resources/Private/Language/locallang.xlf' + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-66070-ConfigureSectionForPaginationWidget.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-66070-ConfigureSectionForPaginationWidget.rst new file mode 100644 index 000000000000..855ebf133db2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-66070-ConfigureSectionForPaginationWidget.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #66070 - Configure anchor for pagination widget +======================================================== + +See :issue:`66070` + +Description +=========== + +This feature allows to add a key "section" to the configuration of a fluid pagination widget. The anchor gets appended +to every link of the pagination widget. The "widget.link" viewHelper used by the pagination widget already supports this. + +Examples +-------- + +The following example will render the page browser having a section parameter "#archive" appended to every link + +.. code-block:: html + + <f:widget.paginate objects="{plantpestWarnings}" as="paginatedWarnings" configuration="{section: 'archive', itemsPerPage: 10, insertAbove: 0, insertBelow: 1, maximumNumberOfLinks: 10}"> + [...] + </f:widget.paginate> + + +Impact +====== + +If the "section" attribute does not get specified or no configuration is supplied at all then no section parameter +(#section) will get appended to the links and the pagination widget behaves as usual. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67228-EmitSignalWhenAnIndexRecordIsMarkedAsMissing.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67228-EmitSignalWhenAnIndexRecordIsMarkedAsMissing.rst new file mode 100644 index 000000000000..f5183246519f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67228-EmitSignalWhenAnIndexRecordIsMarkedAsMissing.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Feature: #67228 - Emit Signal when an IndexRecord is marked as missing +====================================================================== + +See :issue:`67228` + +Description +=========== + +The new signal `recordMarkedAsMissing` is emitted when the FAL indexer encounters a sys_file record +which does not have a corresponding filesystem entry and marks it as missing. +It passes the sys_file record uid. + + +Impact +====== + +This can be used by extensions that provide or extend file management capabilities +(versioning, synchronizations, recovery etc). diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67290-DBALDBMSSpecificConversionBetweenMetaMySQLFieldTypes.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67290-DBALDBMSSpecificConversionBetweenMetaMySQLFieldTypes.rst new file mode 100644 index 000000000000..8cad21dba813 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67290-DBALDBMSSpecificConversionBetweenMetaMySQLFieldTypes.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Feature: #67290 - DBAL: DBMS specific conversion between Meta/MySQL field types +=============================================================================== + +See :issue:`67290` + +Description +=========== + +DBAL did a generic translation between MySQL native and DBMS specific field types. + +The translation of field types has been enhanced to allow more specific conversions per DBMS driver. +Overrides for PostgreSQL have been added with optimized mappings for BLOB, SERIAL, DOUBLE and INTEGER columns. + + +Impact +====== + +Running PostgreSQL, the Upgrade Wizard in the Install Tool will show a lot of field alterations as the optimized mappings will be used. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67293-DependencyOrderingService.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67293-DependencyOrderingService.rst new file mode 100644 index 000000000000..df6e92210237 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67293-DependencyOrderingService.rst @@ -0,0 +1,50 @@ + +.. include:: ../../Includes.txt + +============================================= +Feature: #67293 - Dependency ordering service +============================================= + +See :issue:`67293` + +Description +=========== + +In many cases it is necessary to establish a sorted list of items from a set of "dependencies". +The ordered list is then used to execute actions in the given order. + +Some examples from the Core are: +- Hook execution order +- Extension loading order +- Listing of menu items + +The dependencies are therefore specified in a relative manner, outlining that an item has to be executed/loaded/listed +"before" or "after" some other item. + +Typical use case: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['someExt']['someHook'][<some id>] = [ + 'handler' => someClass::class, + 'runBefore' => [ <some other ID> ], + 'runAfter' => [ ... ], + ... + ]; + +In order to evaluate such relative dependencies to finally have a sorted list for `['someHook']`, we introduced a new +helper class `\TYPO3\CMS\Core\Service\DependencyOrderingService`, which does the evaluation work for you. + +Example usage: + +.. code-block:: php + + $hooks = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['someExt']['someHook']; + $sortedHooks = GeneralUtility:makeInstance(DependencyOrderingService::class)->orderByDependencies($hooks , 'runBefore', 'runAfter'); + +`$sortedHooks` will then contain the content of `$hooks`, but sorted according to the dependencies. + +The `DependencyOrderingService` class also detects cycles in the dependencies and will throw an Exception in case +conflicting dependencies have been defined. + +In case the initial list does not specify a dependency for an item, those items will be put last in the final sorted list. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67360-CustomAttributeNameAndMultipleValuesForMetaTags.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67360-CustomAttributeNameAndMultipleValuesForMetaTags.rst new file mode 100644 index 000000000000..864572d24739 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67360-CustomAttributeNameAndMultipleValuesForMetaTags.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Feature: #67360 - Custom attribute name and multiple values for meta tags +========================================================================= + +See :issue:`67360` + +Description +=========== + +`page.meta` is extented to support different attribute names like `property` used for OG tags. You may also supply +multiple values for one name, which results in multiple meta tags with the same name to be rendered. + +See http://ogp.me/ for more information about the Open Graph protocol and its properties. + +.. code-block:: typoscript + + page { + meta { + X-UA-Compatible = IE=edge,chrome=1 + X-UA-Compatible.attribute = http-equiv + + keywords = TYPO3 + + og:site_name = TYPO3 + og:site_name.attribute = property + + description = Inspiring people to share Normal + + dc\.description = Inspiring people to share [DC tags] + + og:description = Inspiring people to share [OpenGraph] + og:description.attribute = property + + og:locale = en_GB + og:locale.attribute = property + + og:locale:alternate { + attribute = property + value { + 1 = fr_FR + 2 = de_DE + } + } + + refresh = 5; url=http://example.com/ + refresh.attribute = http-equiv + + } + } + + +Impact +====== + +Meta tags with a different attribute name are supported now like the Open Graph meta tags. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67545-AJAXMethodToCheckIfFileExists.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67545-AJAXMethodToCheckIfFileExists.rst new file mode 100644 index 000000000000..f04b9031e527 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67545-AJAXMethodToCheckIfFileExists.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #67545 - AJAX call to check whether file exists +======================================================== + +See :issue:`67545` + +Description +=========== + +A Backend AJAX call to check whether a file exists has been added. The call needs two parameters to work properly. + + +Impact +====== + +The method can be called with `TYPO3.settings.ajaxUrls['file_exists']`. +The parameters `fileName` and `fileTarget` are required: + +* fileName: Name of the file +* fileTarget: Combined identifier of target directory for the file diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67574-DisplayOnlineStatusInBackendUserList.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67574-DisplayOnlineStatusInBackendUserList.rst new file mode 100644 index 000000000000..e17d79d686c1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67574-DisplayOnlineStatusInBackendUserList.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #67574 - Display online status in backend user list +============================================================ + +See :issue:`67574` + +Description +=========== + +A badge that shows the online status of a backend user has been integrated. + + +Impact +====== + +The badge will be shown next to the username in the backend user list. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67578-AddDescriptionFieldForBeUsers.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67578-AddDescriptionFieldForBeUsers.rst new file mode 100644 index 000000000000..af9931f19256 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67578-AddDescriptionFieldForBeUsers.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #67578 - Add description-field for backend-users +========================================================= + +See :issue:`67578` + +Description +=========== + +A new field "description" has been added to the table be_users. +With the new field it is possible to give a short description +about a user, like there is already for be_groups. + + +Impact +====== + +The new field is optional and can be used in all projects. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67603-IntroduceTcaDescriptionColumn.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67603-IntroduceTcaDescriptionColumn.rst new file mode 100644 index 000000000000..07a9d1b071d7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67603-IntroduceTcaDescriptionColumn.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #67603 - Introduce TCA > ctrl > descriptionColumn +========================================================== + +See :issue:`67603` + +Description +=========== + +To annotate database table column fields as internal description for editors and admins a new setting +for TCA is introduced. Setting is called `['TCA']['ctrl']['descriptionColumn']` and holds column name. + +This description should only displayed in the backend to guide editors and admins. + +Usage of descriptionColumn is added under different issues. + +Impact +====== + +None, since annotation itself is added only. Does not impact. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67658-IntroduceDataProcessorsForSplittingValues.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67658-IntroduceDataProcessorsForSplittingValues.rst new file mode 100644 index 000000000000..cc4a9cf0c5bd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67658-IntroduceDataProcessorsForSplittingValues.rst @@ -0,0 +1,78 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #67658 - Introduce DataProcessors for splitting values +=============================================================== + +See :issue:`67658` + +Description +=========== + +Two new DataProcessors are added to allow flexible processing for comma-separated +values. To use e.g. with the FLUIDTEMPLATE content object. + +The SplitProcessor allows to split values separated with a delimiter inside a single database field +into an array to loop over it. + +The CommaSeparatedValueProcessor allows to split values into a two-dimensional array used for +CSV files or tt_content records of CType "table". + +Using the SplitProcessor the following scenario is possible: + +.. code-block:: typoscript + + page.10 = FLUIDTEMPLATE + page.10.file = EXT:site_default/Resources/Private/Template/Default.html + page.10.dataProcessing.2 = TYPO3\CMS\Frontend\DataProcessing\SplitProcessor + page.10.dataProcessing.2 { + if.isTrue.field = bodytext + delimiter = , + fieldName = bodytext + removeEmptyEntries = 1 + filterIntegers = 1 + filterUnique = 1 + as = keywords + } + + +In the Fluid template then iterate over the split data: + +.. code-block:: html + + <f:for each="{keywords}" as="keyword"> + <li>Keyword: {keyword}</li> + </f:for> + + +Using the CommaSeparatedValueProcessor the following scenario is possible: + +.. code-block:: typoscript + + page.10 = FLUIDTEMPLATE + page.10.file = EXT:site_default/Resources/Private/Template/Default.html + page.10.dataProcessing.4 = TYPO3\CMS\Frontend\DataProcessing\CommaSeparatedValueProcessor + page.10.dataProcessing.4 { + if.isTrue.field = bodytext + fieldName = bodytext + fieldDelimiter = | + fieldEnclosure = + maximumColumns = 2 + as = table + } + + +In the Fluid template then iterate over the processed data: + +.. code-block:: html + + <table> + <f:for each="{table}" as="columns"> + <tr> + <f:for each="{columns}" as="column"> + <td>{column}</td> + </f:for> + <tr> + </f:for> + </table> diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67662-DataProcessorForFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67662-DataProcessorForFiles.rst new file mode 100644 index 000000000000..e8cbef6d2c31 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67662-DataProcessorForFiles.rst @@ -0,0 +1,72 @@ + +.. include:: ../../Includes.txt + +========================================= +Feature: #67662 - DataProcessor for files +========================================= + +See :issue:`67662` + +Description +=========== + +A new Files DataProcessor has been introduced, which can be used to prepare data to be handled by a ContentObject +implementing the processors, e.g. the FLUIDTEMPLATE ContentObject. The FilesProcessor resolves File References, Files, +or Files inside a folder or collection to be used for output in the Frontend. A FLUIDTEMPLATE can then simply iterate +over processed data automatically. + + +.. code-block:: typoscript + + tt_content.image.20 = FLUIDTEMPLATE + tt_content.image.20 { + file = EXT:myextension/Resources/Private/Templates/ContentObjects/Image.html + + dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + dataProcessing.10 { + # the field name where relations are set + # + stdWrap + references.fieldName = image + + # the table name where relations are put, defaults to the currently selected record from $cObj->getTable() + # + stdWrap + references.table = tt_content + + # A list of sys_file UID records + # + stdWrap + files = 21,42 + + # A list of File Collection UID records + # + stdWrap + collections = 13,14 + + # A list of FAL Folder identifiers and files fetched recursive from all folders + # + stdWrap + folders = 1:introduction/images/,1:introduction/posters/ + folders.recursive = 1 + + # Property of which the files should be sorted after they have been accumulated + # can be any property of sys_file, sys_file_metadata + # + stdWrap + sorting = description + + # Can be "ascending", "descending" or "random", defaults to "ascending" if none given + # + stdWrap + sorting.direction = descending + + # The target variable to be handed to the ContentObject again, can be used + # in Fluid e.g. to iterate over the objects. defaults to "files" when not defined + # + stdWrap + as = myfiles + } + } + +In the Fluid template then iterate over the files: + +.. code-block:: html + + <ul> + <f:for each="{myfiles}" as="file"> + <li><a href="{file.publicUrl}">{file.name}</a></li> + </f:for> + </ul> diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67663-IntroduceDataProcessorForMediaGalleries.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67663-IntroduceDataProcessorForMediaGalleries.rst new file mode 100644 index 000000000000..92dbcea8a235 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67663-IntroduceDataProcessorForMediaGalleries.rst @@ -0,0 +1,68 @@ + +.. include:: ../../Includes.txt + +============================================================= +Feature: #67663 - Introduce DataProcessor for media galleries +============================================================= + +See :issue:`67663` + +Description +=========== + +The logic for working with galleries and calculating the maximum asset size is done in a separate GalleryProcessor. +The GalleryProcessor uses the files already present in the processedData array for his calculations. The FilesProcessor can be used to fetch the files. + +.. code-block:: typoscript + + tt_content.textmedia.20 = FLUIDTEMPLATE + tt_content.textmedia.20 { + file = EXT:myextension/Resources/Private/Templates/ContentObjects/Image.html + + dataProcessing { + + # Process files + 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + + # Calculate gallery info + 20 = TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor + 20 { + + # filesProcessedDataKey :: Key in processedData array that holds the files (default: files) + stdWrap + filesProcessedDataKey = files + + # mediaOrientation :: Media orientation, see: TCA[tt_content][column][imageorient] (default: data.imageorient) + stdWrap + mediaOrientation.field = imageorient + + # numberOfColumns :: Number of columns (default: data.imagecols) + stdWrap + numberOfColumns.field = imagecols + + # equalMediaHeight :: Equal media height in pixels (default: data.imageheight) + stdWrap + equalMediaHeight.field = imageheight + + # equalMediaWidth :: Equal media width in pixels (default: data.imagewidth) + stdWrap + equalMediaWidth.field = imagewidth + + # maxGalleryWidth :: Max gallery width in pixels (default: 600) + stdWrap + maxGalleryWidth = 1000 + + # maxGalleryWidthInText :: Max gallery width in pixels when orientation intext (default: 300) + stdWrap + maxGalleryWidthInText = 1000 + + # columnSpacing :: Column spacing width in pixels (default: 0) + stdWrap + columnSpacing = 0 + + # borderEnabled :: Border enabled (default: data.imageborder) + stdWrap + borderEnabled.field = imageborder + + # borderWidth :: Border width in pixels (default: 0) + stdWrap + borderWidth = 0 + + # borderPadding :: Border padding in pixels (default: 0) + stdWrap + borderPadding = 10 + + # as :: Name of key in processedData array where result is placed (default: gallery) + stdWrap + as = gallery + } + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67765-IntroduceTypoLinkCodecService.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67765-IntroduceTypoLinkCodecService.rst new file mode 100644 index 000000000000..42a23c5ac8de --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67765-IntroduceTypoLinkCodecService.rst @@ -0,0 +1,18 @@ + +.. include:: ../../Includes.txt + +================================================ +Feature: #67765 - Introduce TypoLinkCodecService +================================================ + +See :issue:`67765` + +Description +=========== + +The new `TypoLinkCodecService` class helps to simplify encoding and decoding of TypoLink strings. + +A given TypoLink string can be passed to the `decode` method, which will return an associative array with the decoded parts. +The `encode` method takes care of assembling a valid TypoLink string for an array of TypoLink parts. + +The encoding uses proper quoting and escaping, which allows safe usage of characters like `"\<space>`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67808-IntroduceApplicationClassesForEntryPointsAndEquivalentRequestHandlers.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67808-IntroduceApplicationClassesForEntryPointsAndEquivalentRequestHandlers.rst new file mode 100644 index 000000000000..bc2843b0100b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67808-IntroduceApplicationClassesForEntryPointsAndEquivalentRequestHandlers.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +=============================================================================================== +Feature: #67808 - Introduce Application classes for entry points and equivalent RequestHandlers +=============================================================================================== + +See :issue:`67808` + +Description +=========== + +All entry points are encapsulating all previous initialization code in an Application class depending on the TYPO3_MODE +and several context-dependant constraints. Each Application class registers Request Handlers to the TYPO3 Bootstrap to +run a certain request type (e.g. eID or TSFE-logic, or AJAX requests in the Backend). Each Application is handed +over the Class Loader provided by Composer. + +There are four types of Applications provided by the TYPO3 Core: + +TYPO3\CMS\Frontend\Http\Application +----------------------------------- +All incoming web requests coming to index.php in the main directory, handling all TSFE and eID requests. +The Application sets TYPO3_MODE=FE very early. +The Application checks if all configuration is given, otherwise redirects to the TYPO3 Install Tool. + +TYPO3\CMS\Backend\Http\Application +---------------------------------- +All incoming web requests for any regular Backend call inside typo3/\*. This handles three types of Request Handlers: + +- The AJAX Request Handler, which is triggered on requests with an "ajaxID" GET Parameter given. +- The Backend Module Request Handler, which handles all types of modules triggered on requests with an "M" GET Parameter +- The regular Request handler for typical other backend calls on index.php. + +The Application checks if all configuration is given, otherwise redirects to the TYPO3 Install Tool. + +\TYPO3\CMS\Backend\Console\Application +-------------------------------------- +All CLI Requests handled by cli_dispatch.php. Only executes the parts that are necessary for Backend CLI Scripts used +with the cliKey syntax. The typical CliRequestHandler is used for handling requests set up by this Application. + +\TYPO3\CMS\Install\Http\Application +----------------------------------- +The install tool Application only runs with a very limited bootstrap set up with a Failsafe Package Manager not taking +the ext_localconf.php scripts of installed extensions into account. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67880-AddedCountToListNum.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67880-AddedCountToListNum.rst new file mode 100644 index 000000000000..b1e9b16491c0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67880-AddedCountToListNum.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +======================================== +Feature: #67880 - Added count to listNum +======================================== + +See :issue:`67880` + +Description +=========== + +A new property `returnCount` is added to the stdWrap property `split`. + +When dealing with comma separated values like the content of field:records or similar, +in some cases we need to know, how many items are present inside the csv. + +Example: + +.. code-block:: typoscript + + # should return 9 + 1 = TEXT + 1 { + value = x,y,z,1,2,3,a,b,c + split.token = , + split.returnCount = 1 + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67932-RsaauthApiRewrite.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67932-RsaauthApiRewrite.rst new file mode 100644 index 000000000000..474154c42a3b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67932-RsaauthApiRewrite.rst @@ -0,0 +1,77 @@ + +.. include:: ../../Includes.txt + +================================= +Feature: #67932 - New rsaauth API +================================= + +See :issue:`67932` + +Description +=========== + +The rsaauth API has been rewritten to be more generic and can now be used easily in more parts of the core as well as +in third party extensions. + + +Impact +====== + +Form fields (e.g. password fields) can be encrypted before transmission. This helps to improve the security of your and +your user's data. + + +Examples +======== + +Encode +------ + +Encoding is done automatically via a JavaScript function which gets a public key and encrypts the data. + +1) Include JavaScript to parse form fields for encryption. You can either choose to include a RequireJS module or a +plain Javascript file. + +.. code-block:: php + + $rsaEncryptionEncoder = GeneralUtility::makeInstance(\TYPO3\CMS\Rsaauth\RsaEncryptionEncoder::class); + $rsaEncryptionEncoder->enableRsaEncryption(); // Adds plain JavaScript + $rsaEncryptionEncoder->enableRsaEncryption(TRUE); // Adds RequireJS module + +2) Activate encryption for your from fields with the data attribute `data-rsa-encryption`. + +.. code-block:: html + + <input type="password" id="pass" name="pass" value="" data-rsa-encryption="" /> + +If you want the encrypted value to be stored in another field, you have to use the RequiredJS module and you can +pass the id of that form field as value to the data attribute. + +.. code-block:: html + + <input type="password" id="t3-password" name="p_field" value="" data-rsa-encryption="t3-field-userident" /> + <input type="hidden" name="userident" id="t3-field-userident" /> + +Decode +------ + +To decode your data you can use the method `TYPO3\CMS\Rsaauth\RsaEncryptionDecoder::decrypt` which can +either handle a string or an array as parameter. Data that is handled by \TYPO3\CMS\Core\DataHandling\DataHandler will +be decoded automatically before processing. + +Notice: A RSA public key can only be used once to decrypt data. If you encrypt multiple fields in your form +you have to pass an array to the decrypt function with all data you want to decrypt. The function parses the +values for a `rsa:` prefix so you can be sure that non-matching data will not be changed. + +.. code-block:: php + + $rsaEncryptionDecoder = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Rsaauth\RsaEncryptionDecoder::class); + + // Decrypt a single string + $password = $loginData['uident']; + $decryptedPassword = $rsaEncryptionDecoder->decrypt($password); + + // Decrypt an array + if ($this->isRsaAvailable()) { + $parameters['be_user_data'] = $this->getRsaEncryptionDecoder()->decrypt($parameters['be_user_data']); + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67950-MoveCETableOptionsFromFlexformToTt_content.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67950-MoveCETableOptionsFromFlexformToTt_content.rst new file mode 100644 index 000000000000..95990187d2d0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-67950-MoveCETableOptionsFromFlexformToTt_content.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #67950 - Move CE table options from flexform to tt_content +=================================================================== + +See :issue:`67950` + +Description +=========== + +The CE table (processing) configuration + +* `Table caption` +* `Field delimiter` +* `Text enclosure` +* `Table header position` +* `Use table footer` + +were in EXT:css_styled_content configured/saved in a flexform. This has now been moved to regular database fields. + + +Impact +====== + +When EXT:css_styled_content isn't installed a Migration wizard is shown in the install tool to move the flexform values +to regular database fields in the tt_content table. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68022-AddedBaseDateAttributeToDateViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68022-AddedBaseDateAttributeToDateViewHelper.rst new file mode 100644 index 000000000000..b29b4b1887db --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68022-AddedBaseDateAttributeToDateViewHelper.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +============================================================= +Feature: #68022 - Added base date attribute to DateViewHelper +============================================================= + +See :issue:`68022` + +Description +=========== + +The DateViewHelper has been improved with an optional attribute named `base`. +The attribute can be used to define a base-date when using a relative time specification for `date`. +If `date` is a `DateTime` object, `base` is ignored. + +The possible relative date format specification can be found in: +http://www.php.net/manual/en/datetime.formats.relative.php + +.. code-block:: html + + <f:format.date format="Y" base="{dateObject}">-1 year</f:format.date> + +This will result in the output `2016` assuming the `dateObject` is some date in 2017. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68047-EmitASignalForEachMappedObject.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68047-EmitASignalForEachMappedObject.rst new file mode 100644 index 000000000000..cad4950481d2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68047-EmitASignalForEachMappedObject.rst @@ -0,0 +1,13 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #68047 - Emit a signal for each mapped object +====================================================== + +See :issue:`68047` + +Description +=========== + +The signal `afterMappingSingleRow` is emitted whenever the DataMapper creates an object. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68094-DatabaseQueryDataProcessor.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68094-DatabaseQueryDataProcessor.rst new file mode 100644 index 000000000000..0d997e9bf37d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68094-DatabaseQueryDataProcessor.rst @@ -0,0 +1,66 @@ + +.. include:: ../../Includes.txt + +============================================== +Feature: #68094 - Database Query DataProcessor +============================================== + +See :issue:`68094` + +Description +=========== + +A new Database Query DataProcessor has been introduced, which can be used to fetch data from the Database +to be handled by a ContentObject implementing the processors, e.g. the FLUIDTEMPLATE ContentObject. + +The Database Query Processor works like the code from the Content Object CONTENT, except for just handing +over the result as array. A FLUIDTEMPLATE can then simply iterate over processed data automatically. + +.. code-block:: typoscript + + tt_content.mycontent.20 = FLUIDTEMPLATE + tt_content.mycontent.20 { + file = EXT:myextension/Resources/Private/Templates/ContentObjects/MyContent.html + + dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor + dataProcessing.10 { + # regular if syntax + if.isTrue.field = records + + # the table name from which the data is fetched from + # + stdWrap + table = tt_address + + # All properties from .select can be used directly + # + stdWrap + colPos = 1 + pidInList = 13,14 + + # The target variable to be handed to the ContentObject again, can be used + # in Fluid e.g. to iterate over the objects. defaults to "records" when not defined + # + stdWrap + as = myrecords + + # The fetched records can also be processed by DataProcessors. + # All configured processors are applied to every row of the result. + dataProcessing { + 10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor + 10 { + references.fieldName = image + } + } + } + } + +In the Fluid template then iterate over the files: + +.. code-block:: html + + <ul> + <f:for each="{myrecords}" as="record"> + <li> + <f:image image="{record.files.0}" /> + <a href="{record.data.www}">{record.data.first_name} {record.data.last_name}</a> + </li> + </f:for> + </ul> diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68184-PathsToTypo3cmsPackageAndDocumentRootCanBeSpecifiedInComposerjson.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68184-PathsToTypo3cmsPackageAndDocumentRootCanBeSpecifiedInComposerjson.rst new file mode 100644 index 000000000000..477051c8a39f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68184-PathsToTypo3cmsPackageAndDocumentRootCanBeSpecifiedInComposerjson.rst @@ -0,0 +1,52 @@ + +.. include:: ../../Includes.txt + +================================================================================================ +Feature: #68184 - Paths to typo3/cms package and document root can be specified in composer.json +================================================================================================ + +See :issue:`68184` + +Description +=========== + +With the new composer installer it is possible to specify the path of the document root +and also the path of the typo3/cms package. + +It can be specified in the extra section of your composer root package like that: + +.. code-block:: javascript + + { + "repositories": [ + { "type": "composer", "url": "http://composer.typo3.org/" } + ], + "name": "typo3/cms-base-distribution", + "description" : "TYPO3 CMS Base Distribution", + "license": "GPL-2.0+", + "config": { + "vendor-dir": "Packages/Libraries", + "bin-dir": "bin" + }, + "require": { + "typo3/cms": "dev-master" + }, + "require-dev": { + "mikey179/vfsStream": "1.3.*@dev", + "phpunit/phpunit": "~4.4.0", + "twbs/bootstrap": "3.3.*", + "fortawesome/font-awesome": "4.2.*" + }, + "extra": { + "typo3/cms": { + "cms-package-dir": "{$vendor-dir}/typo3/cms", + "web-dir": "web" + } + } + } + + +Impact +====== + +When specifying the configuration like mentioned above, the directory structure of a `composer install` will change. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68186-PSR-7SupportForEIDAdded.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68186-PSR-7SupportForEIDAdded.rst new file mode 100644 index 000000000000..50aba26ea63a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68186-PSR-7SupportForEIDAdded.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +============================================= +Feature: #68186 - PSR-7 support for eID added +============================================= + +See :issue:`68186` + +Description +=========== + +The eID dispatcher now supports eID scripts using the `TYPO3\CMS\Core\Http\ControllerInterface`. This allows to handle +the request using the Request and Response objects. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68191-TypoScriptSelectOptionLanguageFieldIsActiveByDefault.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68191-TypoScriptSelectOptionLanguageFieldIsActiveByDefault.rst new file mode 100644 index 000000000000..ed281169e05c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68191-TypoScriptSelectOptionLanguageFieldIsActiveByDefault.rst @@ -0,0 +1,63 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Feature: #68191 - TypoScript .select option languageField is active by default +============================================================================== + +See :issue:`68191` + +Description +=========== + +The TypoScript .select option which is used for Content Objects like "CONTENT", has the property "languageField". This option allows to set the name of the database field that has the information about the sys_language_uid value in order to have only records shown that are translated or set to "-1" (show in all langauges) when showing translated pages. + +Previously this functionality had to be set explicitly: + +.. code-block:: typoscript + + config.sys_language_uid = 2 + page.10 = CONTENT + page.10 { + table = tt_content + select.where = colPos=0 + select.languageField = sys_language_uid + renderObj = TEXT + renderObj.field = header + renderObj.htmlSpecialChars = 1 + } + +The languageField line is not necessary anymore, as the information is now fetched automatically from the TCA information structure: + +.. code-block:: typoscript + + config.sys_language_uid = 2 + page.10 = CONTENT + page.10 { + table = tt_content + select.where = colPos=0 + renderObj = TEXT + renderObj.field = header + renderObj.htmlSpecialChars = 1 + } + +If the functionality should be disabled, this can be achieved like this: + +.. code-block:: typoscript + + config.sys_language_uid = 2 + page.10 = CONTENT + page.10 { + table = tt_content + select.where = colPos=0 + select.languageField = 0 + renderObj = TEXT + renderObj.field = header + renderObj.htmlSpecialChars = 1 + } + + +Impact +====== + +All records that have language-relevant information in the TCA "ctrl"-section displayed via .select in the frontend on translated pages are now translated by default. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68197-ShowADialogForExistingFilesOnUpload.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68197-ShowADialogForExistingFilesOnUpload.rst new file mode 100644 index 000000000000..4f1117c27ce1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68197-ShowADialogForExistingFilesOnUpload.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #68197 - Show a dialog for existing files on upload +============================================================ + +See :issue:`68197` + +Description +=========== + +The "Shall existing files be overwritten?" confirm dialog when uploading files in the "Files" backend module has been +replaced by a modal window that appears when there are really file conflicts. + + +Impact +====== + +The user is able to define an action for each conflicted image. A file can be replaced, renamed or skipped. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68218-LockEditForTt_content.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68218-LockEditForTt_content.rst new file mode 100644 index 000000000000..fa96879a6178 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68218-LockEditForTt_content.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +========================================== +Feature: #68218 - Lock edit for tt_content +========================================== + +See :issue:`68218` + +Description +=========== + +Content elements can now be restricted to be editable by admins only on a per record base. This has already been +possible for pages with the checkbox "Restrict editing by non-Admins". + + +Impact +====== + +This is useful to generally allow editors to edit content but be able to assure that important elements like the +imprint or specific plugins are not changed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68282-MakeDatabaseRecordListConfigurableToBeEditable.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68282-MakeDatabaseRecordListConfigurableToBeEditable.rst new file mode 100644 index 000000000000..90c9b053f171 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68282-MakeDatabaseRecordListConfigurableToBeEditable.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #68282 - Make DatabaseRecordList configurable to be editable +===================================================================== + +See :issue:`68282` + +Description +=========== + +A new property `editable` is added to `\TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList` which is set to TRUE +by default. If set to FALSE, the records can't be edited. + + +Impact +====== + +The record list in the Element Browser benefits from the new setting as the localization view is now enabled. This will +show editors translated records properly intended below the record with the default language. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst new file mode 100644 index 000000000000..3fb8876c15f8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68315-IncludeAPageTSconfigFileInPagePropertiesLikeTSStaticTemplates.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================================================= +Feature: #68315 - Include a pageTSconfig file in page properties like TS static templates +========================================================================================= + +See :issue:`68315` + +Description +=========== + +In the Page properties an option is added to include a page TSconfig file (the same way as TypoScript static templates are included). +The included files from the pages in the rootline are included after the default page TSconfig and before the normal TSconfig +from the pages in the rootline. +To add files to the selector in the Page properties a new function `registerPageTSConfigFile` is added to +`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility` to register a pageTSconfig file. + + +Impact +====== + +No effect on existing installations. + +Usage +===== + +In `Configuration/TCA/Overrides/pages.php` of any extension, register PageTS config files, which will be shown afterwards at the newly introduced field. + +.. code-block:: php + + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile('extension_name', 'Configuration/PageTS/myPageTSconfigFile.txt', 'My special config'); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68395-AllowRealCopiesOfContentElementsIntoForeignLanguages.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68395-AllowRealCopiesOfContentElementsIntoForeignLanguages.rst new file mode 100644 index 000000000000..439a175b1f41 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68395-AllowRealCopiesOfContentElementsIntoForeignLanguages.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Feature: #68395 - Allow real copies of content elements into foreign languages +============================================================================== + +See :issue:`68395` + +Description +=========== + +A new button has been added to each column in the "Page" module which allows "real" copies of content element into a language. +This allows to create copies from any language into the destination. +References, like FAL records, become independent records and are not related to the original record, as there is no parent anymore. + + +Impact +====== + +The button will be either displayed as as standalone button if a page has no records in the default language or as a +split button if there are records in the default language. + +Creating real copies will cause the loss of any functionality between the copy and the default language (e.g. diff), +as the copy is not defined as child of the element where it was copied from. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68589-AddCLICommandToDumpClassLoadingInformation.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68589-AddCLICommandToDumpClassLoadingInformation.rst new file mode 100644 index 000000000000..b37d43766208 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68589-AddCLICommandToDumpClassLoadingInformation.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #68589 - Add CLI command to dump class loading information +=================================================================== + +See :issue:`68589` + +Description +=========== + +In rare cases it is useful to update the additional class loading information TYPO3 writes in non composer mode. +We now provide a CLI command which does that. + + +Impact +====== + +By executing `typo3/cli_dispatch.phpsh extbase extension:dumpclassloadinginformation` on the command line, +the class loading information of all active extensions is updated. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst new file mode 100644 index 000000000000..99dba0a6d452 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Feature-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #68600 - Introduced ResourceStorage SanitizeFileName signal +==================================================================== + +See :issue:`68600` + +Description +=========== + +In order to check whether an uploaded/newly added file already exists before uploading it or to ask for +user preferences about already existing files only when needed, the final name for the uploaded file is needed. + +In order to let extensions do custom sanitizing of a file name the signal `sanitizeFileName` is introduced in +`TYPO3\CMS\Core\Resource\ResourceStorage`. +The signal is emitted when `ResourceStorage::sanitizeFileName` or `ResourceStorage::addFile` are called. + + +Impact +====== + +All installations with extensions that use the PreFileAdd signal to change/sanitize a file name. +This logic should be moved to the new sanitizeFileName signal. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Important-67216-DefaultMinimumLoglevelSetToWarning.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67216-DefaultMinimumLoglevelSetToWarning.rst new file mode 100644 index 000000000000..deb8fa5af23b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67216-DefaultMinimumLoglevelSetToWarning.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Important: #67216 - Default minimum log level is set to warning +=============================================================== + +See :issue:`67216` + +Description +=========== + +The minimum logging severity for TYPO3 has been raised from DEBUG to WARNING in order to ship strong defaults for production. +Log messages of the severities DEBUG, NOTICE and INFO will be suppressed in the default setup. + +The previous behavior from TYPO3 <= 7.3 can be achieved with the following configuration: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = array( + \TYPO3\CMS\Core\Log\LogLevel::DEBUG => array( + \TYPO3\CMS\Core\Log\Writer\FileWriter::class => array( + 'logFile' => 'typo3temp/logs/typo3.log' + ), + ), + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Important-67445-DBALSupportForALTERTABLEADDDROPKEYAdded.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67445-DBALSupportForALTERTABLEADDDROPKEYAdded.rst new file mode 100644 index 000000000000..c46016e0f8ed --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67445-DBALSupportForALTERTABLEADDDROPKEYAdded.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Important: #67445 - DBAL support for ALTER TABLE ADD/DROP KEY added +=================================================================== + +See :issue:`67445` + +Description +=========== + +The prefix used to build the name of indexes in a database schema has +been changed. The prefix is used to ensure that an index name is unique +within a database schema. + +Formerly the requested index name was prepended with the table name to +which the index was added. In some cases this results in index names that +exceeded the valid identifier length on all DBMS except MS SQL Server. +The silent truncation of these identifiers results in non-unique names or +index names that can not be matched to the original name. + +With TYPO3 7.4 the prefix used for index names has been changed to +a unique constant length prefix. Due to this all non-primary indexes need +to be dropped and re-created with a new name. The changes to the database +will be performed by the Upgrade Wizard in the Install Tool. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Important-67852-RemoveJsfuncevalfieldjsFromFormEngine.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67852-RemoveJsfuncevalfieldjsFromFormEngine.rst new file mode 100644 index 000000000000..0218fdf36a2f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Important-67852-RemoveJsfuncevalfieldjsFromFormEngine.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +============================================================== +Important: #67852 - Remove jsfunc.evalfield.js from FormEngine +============================================================== + +See :issue:`67852` + +Description +=========== + +After 12 years, the usage of `jsfunc.evalfield.js` has been removed from `FormEngine`. +The JavaScript has been moved into FormEngineValidation AMD module. +Processor and Validator have been split up in two different functions. + +Including the `jsfunc.evalfield.js` still works, but will be removed on short notice. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Important-68290-DefaultBehaviorForTCASuggestWizardChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Important-68290-DefaultBehaviorForTCASuggestWizardChanged.rst new file mode 100644 index 000000000000..106bd86535a5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Important-68290-DefaultBehaviorForTCASuggestWizardChanged.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Important: #68290 - Default behavior for TCA suggest wizard changed +=================================================================== + +See :issue:`68290` + +Description +=========== + +The suggest wizard by default searches in the whole word instead only the beginning now. This might have performance +implications for large sites with a lot of records and/or sites that have a lot of tables that are searched, as the +search is done with a `LIKE "%searchterm%"`. + +To switch back to the old behavior add `searchWholePhrase = FALSE` to the config of the suggest wizard. + +Example to reset it for `page.shortcut`: + +.. code-block:: php + + 'shortcut' => array( + 'config' => array( + 'type' => 'group', + 'internal_type' => 'db', + 'allowed' => 'pages', + 'size' => '1', + 'maxitems' => '1', + 'minitems' => '0', + 'show_thumbs' => '1', + 'wizards' => array( + 'suggest' => array( + 'type' => 'suggest', + 'default' => array( + 'additionalSearchFields' => 'nav_title, alias, url', + 'searchWholePhrase' => FALSE + ) + ) + ) + ) + ), diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Important-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Important-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst new file mode 100644 index 000000000000..ed85905c4516 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Important-68600-IntroducedResourceStorageSanitizeFileNameSignal.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Important: #68600 - Introduced ResourceStorage SanitizeFileName signal +====================================================================== + +See :issue:`68600` + +Description +=========== + +In order to check whether an uploaded/newly added file already exists before uploading it or to ask for +user preferences about already existing files only when needed, the final name for the uploaded file is needed. + +Before #68600 the PreFileAdd signal was documented to have the ability to change the `$targetFileName`, +but the signal expects the local file path of the file. Since this information isn't available when checking +only by a file name if a file already exists, a new signal has been added to `TYPO3\CMS\Core\Resource\ResourceStorage`, +which is emitted when the ResourceStorage is asked to sanitize a file name. + + +Affected Installations +====================== + +All installations with extensions that use the PreFileAdd signal to change/sanitize a file name. +This logic should be moved to the new sanitizeFileName signal. diff --git a/typo3/sysext/core/Documentation/Changelog/7.4/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.4/Index.rst new file mode 100644 index 000000000000..fd0e1463c022 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.4/Index.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +7.4 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* + +Important +^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Important-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-24186-HTMLparser-FixAttribclasslistDoesNotAssignFirstElementWhenAttributeValueNotInList.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-24186-HTMLparser-FixAttribclasslistDoesNotAssignFirstElementWhenAttributeValueNotInList.rst new file mode 100644 index 000000000000..6c5f466c7fbd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-24186-HTMLparser-FixAttribclasslistDoesNotAssignFirstElementWhenAttributeValueNotInList.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +======================================================================================================================== +Breaking: #24186 - HTMLparser - fixAttrib.['class'].list does not assign first element, when attribute value not in list +======================================================================================================================== + +See :issue:`24186` + + +Description +=========== + +The HTMLparser now assigns the first class of `fixAttrib.class.list` when none of the given class name values +are found in the configured list. Until now the class attribute of the rendered HTML tag was just empty in that case. + + +Impact +====== + +A HTML element that had no class before could now have been assigned a class. + + +Migration +========= + +Add a class from the configured list to the HTML element or add a class at the first position of `fixAttrib.class.list`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-30863-StreamlineParameterOfInlineLanguageFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-30863-StreamlineParameterOfInlineLanguageFiles.rst new file mode 100644 index 000000000000..6c45d74aaa15 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-30863-StreamlineParameterOfInlineLanguageFiles.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Breaking: #30863 - Streamlined parameters for adding inline language files +========================================================================== + +See :issue:`30863` + +Description +=========== + +The method `addInlineLanguageLabelFile` of the `PageRenderer` handles the optional parameter `$stripFromSelectionName`, a string +that should be removed from any label key in the given file. This did not work until now, so the label keys were never stripped. As this +functionality is now working it could end up with different label keys in the output. + + +Impact +====== + +Inline Javascript label keys could have changed. + + +Affected Installations +====================== + +Any third party code using `PageRenderer->addInlineLanguageLabelFile()` with the parameter `$stripFromSelectionName` set to anything but +an empty string. + + +Migration +========= + +Change the call to `PageRenderer->addInlineLanguageLabelFile()` with `$stripFromSelectionName = ''` or adjust your Javascript to handle +the now correctly rendered label keys. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-52156-ReplaceJumpUrlWithHooks.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-52156-ReplaceJumpUrlWithHooks.rst new file mode 100644 index 000000000000..4327a592616d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-52156-ReplaceJumpUrlWithHooks.rst @@ -0,0 +1,114 @@ + +.. include:: ../../Includes.txt + +======================================================= +Breaking: #52156 - Replaced JumpURL features with hooks +======================================================= + +See :issue:`52156` + +Description +=========== + +JumpURL handling +^^^^^^^^^^^^^^^^ + +The generation and handling of JumpURLs has been removed from the frontend extension and +has been moved to a new core extension called "jumpurl". + +URL handler hooks +^^^^^^^^^^^^^^^^^ + +New hooks were introduced in :code:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer` +and :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` that allow +custom URL generation and handling. + +This is how you can register a hook for manipulating URLs during link generation: + +.. code-block:: php + + // Place this in your ext_localconf.php file + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['urlProcessing']['urlHandlers']['myext_myidentifier']['handler'] = + \Company\MyExt\MyUrlHandler::class; + + // The class needs to implement the UrlHandlerInterface: + class MyUrlHandler implements \TYPO3\CMS\Frontend\Http\UrlHandlerInterface {} + +This is how you can handle URLs in a custom way: + +.. code-block:: php + + // Place this in your ext_localconf.php file + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['urlProcessing']['urlProcessors']['myext_myidentifier']['processor'] + = \Company\MyExt\MyUrlProcessor::class; + + // The class needs to implement the UrlProcessorInterface: + class MyUrlProcessor implements \TYPO3\CMS\Frontend\Http\UrlProcessorInterface {} + + +External URL page handling +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The core functionality for redirecting the user to an external URL when he hits a page with doktype "external" +is moved from the :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController` to the +:code:`\TYPO3\CMS\Frontend\Page\ExternalPageUrlHandler` class. + + +ResourceStorage adjustment +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The method :code:`\TYPO3\CMS\Core\Resource\ResourceStorage::dumpFileContents()` accepts an additional +parameter for overriding the mime type that is sent in the `Content-Type` header when delivering a file. + +Impact +====== + +Unless the jumpurl extension is installed, no JumpURL related feature will work anymore. + +If an extension tightly integrates into the JumpURL process it might break, because some of the related +methods have been removed, disabled or changed. + +These methods have been removed and their functionality has been moved to the new jumpurl extension: + +:code:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::locDataJU()` + +:code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::locDataCheck()` + +The :code:`$initP` parameter of the method :code:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getMailTo()` has been removed. + +The method :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::setExternalJumpUrl()` has been marked as deprecated +and is an alias for the new :code:`initializeRedirectUrlHandlers()` method that does no jumpurl handling any more. The +new method only checks if the current page is a link to an external URL and sets the :code:`redirectUrl` property. + +The method :code:`\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::jumpUrl()` has also been marked as deprecated +and is an alias for the new :code:`redirectToExternalUrl()` method. The jumpurl handling has been removed from +this method. It loops over all registered URL handlers and handles the redirection to the :code:`redirectUrl`. + + +Affected installations +====================== + +All CMS 7.4 installations that use the JumpURL features or that use Extensions that rely on these features +or one of the removed methods. + + +Migration +========= + +If you want to use the JumpURL features you need to install the jumpurl extension. Your configuration should +work as before. + +Please note that the configuration of the :ref:`filelink <t3tsref:filelink>` TypoScript function has changed. +Passing the :code:`jumpurl` parameter in the configuration has been marked as deprecated and will be removed in future versions. + +You can now pass arbitrary configuration options for the typolink call that is used to generate +the file link in the :code:`typolinkConfiguration` parameter: + +.. code-block:: typoscript + + lib.myfilelink = TEXT + lib.myfilelink.value = fileadmin/myfile.txt + lib.myfilelink.filelink { + typolinkConfiguration.jumpurl = 1 + typolinkConfiguration.jumpurl.secure = 1 + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-63000-MigrateCshmanualToExtbase.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-63000-MigrateCshmanualToExtbase.rst new file mode 100644 index 000000000000..848739c18d85 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-63000-MigrateCshmanualToExtbase.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #63000 - Migrate EXT:cshmanual to Extbase +=================================================== + +See :issue:`63000` + +Description +=========== + +The extension "cshmanual" has been migrated to a newer code base by using Extbase and Fluid. + + +Impact +====== + +Any call to the previous public methods of the old controller HelpModuleController will fail as the code base changed. + + +Affected installations +====================== + +Any installation using an extension which calls the previously available methods directly. + + +Migration +========= + +Use the Extbase controller or Repository class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-65317-TypoScriptParserSortListSanitizesInputOnNumericalSort.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-65317-TypoScriptParserSortListSanitizesInputOnNumericalSort.rst new file mode 100644 index 000000000000..43810e0ad988 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-65317-TypoScriptParserSortListSanitizesInputOnNumericalSort.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Breaking: #65317 - TypoScriptParser sortList sanitizes input on numerical sort +============================================================================== + +See :issue:`65317` + +Description +=========== + +When calling the `:= sortList()` with a "numeric" modifier of the TypoScript parser with a string, the `sort()` method +differs between PHP versions. In order to make this behavior more strict, a check is done before the elements are +sorted to only have numeric values in the list, otherwise an Exception is thrown. + + +Impact +====== + +An exception is thrown if non-numerical values are given for a numeric sort in TypoScripts `sortList`. + + +Affected Installations +====================== + +All installations using `sortList` numeric with non-numerical values. + + +Migration +========= + +Either remove the non-numerical values from the list or change the sort order to be non-numerical (ascending / descending). diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-66190-RemoveFlashAndChartFromExtJS.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-66190-RemoveFlashAndChartFromExtJS.rst new file mode 100644 index 000000000000..a8be85ca11e1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-66190-RemoveFlashAndChartFromExtJS.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #66190 - Remove flash and chart from ExtJS +==================================================== + +See :issue:`66190` + +Description +=========== + +The flash and chart module is removed from ExtJS. In order to reduce ExtJS components this is a first step. + + +Impact +====== + +Extensions which use the flash and chart module from ExtJS will not work anymore. + + +Affected Installations +====================== + +Installations that use flash or chart module of ExtJS. + + +Migration +========= + +Don't use cores ExtJS anymore, as we migrate away from it. Use other JS frameworks which implement such functionality for you. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-67098-CorrectRequired-parameterInTextfieldViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-67098-CorrectRequired-parameterInTextfieldViewHelper.rst new file mode 100644 index 000000000000..a3da640f0714 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-67098-CorrectRequired-parameterInTextfieldViewHelper.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #67098 - Correct required-parameter in TextfieldViewHelper +==================================================================== + +See :issue:`67098` + +Description +=========== + +The value comparison of the required parameter has been corrected. Prior to this +change, a textfield was required as soon as it had a parameter "required" set to +any value even if this value was set to FALSE, the textfield was still required. + + +Impact +====== + +Textfields with required="FALSE" are not required any longer. + + +Affected Installations +====================== + +Every installation that uses the textfield viewhelper with the required attribute. + + +Migration +========= + +No migration is necessary. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68354-UniformExtensionDirectoryStructureOfExtIndexedSearch.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68354-UniformExtensionDirectoryStructureOfExtIndexedSearch.rst new file mode 100644 index 000000000000..161ebf2e7421 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68354-UniformExtensionDirectoryStructureOfExtIndexedSearch.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Breaking: #68354 - Uniform extension directory structure of EXT:indexed_search +============================================================================== + +See :issue:`68354` + +Description +=========== + +The directory structure of the extension "Indexed Search" has been streamlined. + + +Impact +====== + +All language files are now located in directory Resources/Private/Language, the template files in Resources/Private/Templates. +Icons from pi/res directory have been moved to Resources/Public/Icons, images to Resources/Public/Images. + + +Affected Installations +====================== + +Installations that use EXT:indexed_search that depend on paths that have been moved. + + +Migration +========= + +Make sure your configuration matches with new directory structure. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68401-SqlParserMovedIntoEXTdbal.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68401-SqlParserMovedIntoEXTdbal.rst new file mode 100644 index 000000000000..6d963e17a114 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68401-SqlParserMovedIntoEXTdbal.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #68401 - SqlParser moved into EXT:dbal +================================================ + +See :issue:`68401` + +Description +=========== + +The SQL Parser included with the core has not been in use by anything +except EXT:dbal for some time. The SQL parser has been merged with the +version in EXT:dbal which now provides parsing and compiling of SQL +statements for MySQL as well as other DBMS. + + +Impact +====== + +There is no impact for the core as EXT:dbal was the sole user of the SQL +parser and it has been migrated into EXT:dbal. + +As the parsing and the compiling of SQL statements has been separated into +multiple classes the non-public interface of `SqlParser` has changed. +Classes extending SqlParser need to be adjusted to the new interface. + + +Affected Installations +====================== + +Installations with 3rd party extensions that use `\TYPO3\CMS\Core\Database\SqlParser`. + + +Migration +========= + +Update the code to use `\TYPO3\CMS\Dbal\Database\SqlParser` instead of +`\TYPO3\CMS\Core\Database\SqlParser` or install EXT:compatibility6 which +maps the old class names to the new ones in EXT:dbal. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68562-BoolValuesNeedToBeCastToIntegerForMySQLStrictMode.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68562-BoolValuesNeedToBeCastToIntegerForMySQLStrictMode.rst new file mode 100644 index 000000000000..e46752329207 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68562-BoolValuesNeedToBeCastToIntegerForMySQLStrictMode.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Breaking: #68562 - Bool values need to be cast to integer for MySQL strict mode +=============================================================================== + +See :issue:`68562` + +Description +=========== + +MySQL strict mode doesn't accept '' as a valid value to store in an integer +column if the MySQL server is running in strict mode. + +mysqli_real_escape() casts boolean values to string using '1' (for `TRUE`) +and '' (for `FALSE`). Due to this special handling is required for boolean +values to result in '0' and '1' for FALSE/TRUE. + + +Impact +====== + +All TYPO3 CMS installations using MySQL as DBMS. + + +Affected Installations +====================== + +Installations where 3rd party extension are relying on `FALSE` being cast to '' +when they are storing boolean values in character type columns. In this case new +values will get stored as '0' + + +Migration +========= + +Adjust the code to either store boolean values in integer type columns or +manually cast the boolean value to string before storing it in the database. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68571-RemoveElementBrowser-getMsgBox.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68571-RemoveElementBrowser-getMsgBox.rst new file mode 100644 index 000000000000..1eb0f9fbf11e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68571-RemoveElementBrowser-getMsgBox.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #68571 - Removed method ElementBrowser->getMsgBox +=========================================================== + +See :issue:`68571` + +Description +=========== + +The removed method `getMsgBox` in `ElementBrowser` used table based styling. +The method has been removed since we have better means to display this kind of messages: FlashMessages or Callouts. + + +Impact +====== + +A fatal error will be thrown if the method `getMsgBox` is used. + + +Affected Installations +====================== + +Third party code using the removed method. + + +Migration +========= + +Remove the call to the method and replace the message with a FlashMessage. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68812-DeprecatedBackendEntrypointsMoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68812-DeprecatedBackendEntrypointsMoved.rst new file mode 100644 index 000000000000..dd06c7d779f3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68812-DeprecatedBackendEntrypointsMoved.rst @@ -0,0 +1,63 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #68812 - Old Backend Entrypoints moved to deprecation layer +===================================================================== + +See :issue:`68812` + +Description +=========== + +The backend entry points within the typo3/ directory which have been marked as deprecated in favor of using typo3/index.php +directly as Entry Point via Request Handling, have been moved to a deprecation.php file. + +The following files have therefore been removed from the typo3/ directory directly: + +.. code-block:: shell + + typo3/ajax.php + typo3/alt_clickmenu.php + typo3/alt_db_navframe.php + typo3/alt_doc.php + typo3/alt_file_navframe.php + typo3/browser.php + typo3/db_new.php + typo3/dummy.php + typo3/init.php + typo3/login_frameset.php + typo3/logout.php + typo3/mod.php + typo3/move_el.php + typo3/show_item.php + typo3/tce_db.php + typo3/tce_file.php + typo3/thumbs.php + + +The typo3/install/ entrypoint is now also redirected with a rewrite rule. + +Impact +====== + +All references / links to these entry points directly without using the proper API calls will result +in a 404 error. + +If an Apache webserver is used with the enabled mod_rewrite module, a .htaccess file placed inside typo3/ will +rewrite the URLs to the deprecated.php and throw a deprecation warning. + +For Nginx and IIS an alternative for the rewrite rules in the shipped typo3/.htaccess within needs to be added. + + +Affected Installations +====================== + +Installations with third-party extensions that link directly to these files. + + +Migration +========= + +Move all existing code in extensions that link to the deprecated entry points to use methods +like `BackendUtility::getModuleUrl()` and `BackendUtility::getAjaxUrl()` or the UriBuilder class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68814-RemoveOfBaseConstantTYPO3_URL_ORG.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68814-RemoveOfBaseConstantTYPO3_URL_ORG.rst new file mode 100644 index 000000000000..a2d0b3d9f7be --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-68814-RemoveOfBaseConstantTYPO3_URL_ORG.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +======================================================== +Breaking: #68814 - Remove of base constant TYPO3_URL_ORG +======================================================== + +See :issue:`68814` + +Description +=========== + +Base constant TYPO3_URL_ORG defined in SystemEnvironmentBuilder::defineBaseConstants() has been removed. +It was for internal usage only and defined at 2 places in the core. + + +Impact +====== + +Constant TYPO3_URL_ORG no longer exists. + + +Migration +========= + +Use TYPO3_URL_GENERAL instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69028-DropNegForeignTable.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69028-DropNegForeignTable.rst new file mode 100644 index 000000000000..ec89be338590 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69028-DropNegForeignTable.rst @@ -0,0 +1,49 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Breaking: #69028 - TCA type select - Drop neg_foreign_table +=========================================================== + +See :issue:`69028` + + +Description +=========== + +The following `TCA` keys for `type` `select` have been dropped and are no longer handled by the core: + + * neg_foreign_table + * neg_foreign_table_where + * neg_foreign_table_prefix + * neg_foreign_table_loadIcons + * neg_foreign_table_imposeValueField + +These setting were used in `select` for comma separated value relations in addition to `foreign_table` +to allow a second connected table. Relations for `neg_foreign_table` were stored as negative uids in the +field to distinguish them from relations to the table defined in `foreign_table`. + +The functionality has been dropped without substitution and is no longer handled by the TYPO3 core. + + +Impact +====== + +Existing relations to the table defined in `neg_foreign_table` will be discarded when a record +with such a `TCA` configuration is saved to the database. The display of existing connected +records may be misleading. + + +Affected Installations +====================== + +This old school feature was never documented well and used by a very small amount of extensions. +Searching an instance for the keyword `neg_foreign_table` will reveal usages. + + +Migration +========= + +In case records from multiple different tables must still be supported, the `TCA` configuration +should be adapted to use a `MM` intermediate table. For existing migrations a database migration +is required. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst new file mode 100644 index 000000000000..f378c67c73d2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Breaking: #69057 - Deprecate IconUtility and move methods into IconFactory +========================================================================== + +See :issue:`69057` + +Description +=========== + +While refactoring the `IconUtility` to the new `IconFactory` class, several methods have been marked as deprecated. +In some cases parameters of the old `IconUtility` methods are not used anymore. +The following list describes the possible breaking changes. + +The second parameter `$options` of method `IconUtility::getSpriteIconForFile()` is not used anymore. +The third parameter `$options` of method `IconUtility::getSpriteIconForRecord()` is not used anymore. + +The `IconUtility` signals `buildSpriteIconClasses` and `buildSpriteHtmlIconTag` have been dropped and will not be emitted anymore. +The `IconUtility` hook `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_iconworks.php']['overrideIconOverlay']` has been dropped and will not be called anymore. + + +Impact +====== + +Extensions could break if the methods, signals or hooks above are used. + + +Affected Installations +====================== + +Extensions that call the methods with the `$options` parameter or make use of the signals and hook. + + +Migration +========= + +Make use of the new `IconFactory` class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69083-RenamedIdentifierForFilenameModule.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69083-RenamedIdentifierForFilenameModule.rst new file mode 100644 index 000000000000..9d11aa9626ca --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69083-RenamedIdentifierForFilenameModule.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #69083 - Renamed identifier for filelist module +========================================================= + +See :issue:`69083` + +Description +=========== + +The filelist module was rewritten to use Extbase. Therefore the module identifier has been changed +from `file_list` to `file_FilelistList`. + + +Impact +====== + +All links pointing to the filelist module using the old identifier will break. + + +Affected Installations +====================== + +All installations that reference the filelist module by its old name. + + +Migration +========= + +There is a upgrade wizard to change the backend user settings of users whose start module is the filelist module. +All other links to the module have to be changed manually to use `file_FilelistList` as module identifier. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69148-BackendModuleDispatchingRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69148-BackendModuleDispatchingRemoved.rst new file mode 100644 index 000000000000..238392bd8f4e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69148-BackendModuleDispatchingRemoved.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #69148 - Backend Module Dispatching removed +===================================================== + +See :issue:`69148` + +Description +=========== + +Dispatching Backend modules through custom dispatchers have been removed. The corresponding Extbase functionality +called "ModuleRunner" and its Interface have been removed as well. + + +Impact +====== + +Any dispatcher registered via `$TBE_MODULES['_dispatcher']` is not evaluated anymore. + + +Affected Installations +====================== + +All TYPO3 Instances with an extension that registers a custom backend module dispatcher. + + +Migration +========= + +Use a custom RequestHandler. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69161-RemoveIncludeCshFromContainerViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69161-RemoveIncludeCshFromContainerViewHelper.rst new file mode 100644 index 000000000000..60804076e841 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69161-RemoveIncludeCshFromContainerViewHelper.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Breaking: #69161 - Removed includeCsh setting from ContainerViewHelper +====================================================================== + +See :issue:`69161` + +Description +=========== + +Include CSH setting in `<f:be.container>` is not needed anymore and has therefore been removed. +The JavaScript will be loaded automatically when ext:cshmanual is enabled. + + +Impact +====== + +Using `<f:be.container>` ViewHelpers in a custom Backend module, setting the includeCsh property, will result in a fatal error. + + +Affected Installations +====================== + +Extensions that use `<f:be.container>` which set the setting `includeCsh` + +Migration +========= + +Remove the property from the template. When ext:cshmanual is enabled the JavaScript is loaded automatically. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69168-Non-tabbedViewOfContentElementWizardRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69168-Non-tabbedViewOfContentElementWizardRemoved.rst new file mode 100644 index 000000000000..6bee4d1933dd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69168-Non-tabbedViewOfContentElementWizardRemoved.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #69168 - Removed non-tabbed view of Content Element Wizard +==================================================================== + +See :issue:`69168` + +Description +=========== + +The "New Content Element Wizard" view to show possible content elements to create now only shows the elements in a tabbed view. +The non-tabbed view variant has been removed without substitution. + +The TSconfig option `mod.wizards.newContentElement.renderMode` has been removed. + + +Migration +========= + +Remove the TSconfig option `mod.wizards.newContentElement.renderMode` from any configuration settings. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69224-FixWrongUsageOfEnumerationsInInformationStatusmapStatusToInt.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69224-FixWrongUsageOfEnumerationsInInformationStatusmapStatusToInt.rst new file mode 100644 index 000000000000..830a6600ba6f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69224-FixWrongUsageOfEnumerationsInInformationStatusmapStatusToInt.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +========================================================================================= +Breaking: #69224 - Fix wrong usage of enumerations in InformationStatus::mapStatusToInt() +========================================================================================= + +See :issue:`69224` + +Description +=========== + +The `InformationStatus` enumeration provides a `mapStatusToInt()` method. +* The method expects a string but should expect an enum of itself. +* The method logic is not what is expected from an enumeration method as it does not do any logic comparison. +Therefore it has been replaced by `isGreaterThan()` as this was the logic that has been checked +everywhere `mapStatusToInt()` has been used. + + +Impact +====== + +The method `InformationStatus::mapStatusToInt()` has been replaced by `InformationStatus::isGreaterThan()` and all +usages have been replaced by the new method / logic. +As the `InformationStatus` Enum has been introduced in 7.4 it should not be used by any public API and +therefore the change should not have much impact. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69276-ElementBrowserControllerbrowserRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69276-ElementBrowserControllerbrowserRemoved.rst new file mode 100644 index 000000000000..c1dce12e4cd4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69276-ElementBrowserControllerbrowserRemoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #69276 - ElementBrowserController::$browser removed +============================================================= + +See :issue:`69276` + +Description +=========== + +The `$browser` member variable of `\TYPO3\CMS\Recordlist\Controller\ElementBrowserController` has been removed. + + +Impact +====== + +Any third party code accessing `$GLOBAL['SOBE']->browser` will break. + + +Affected Installations +====================== + +Installations using third party code, which accesses `$GLOBAL['SOBE']->browser`. + + +Migration +========= + +If the code is extending one of the ElementBrowser tree classes, the protected member variable `$elementBrowser` can be used to access the underlying ElementBrowser instance. + +If your code is using the ElementBrowser tree classes, an instance of `ElementBrowser` has to be injected using the setter. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69291-ChangedRegistrationOfBackendModuleIcons.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69291-ChangedRegistrationOfBackendModuleIcons.rst new file mode 100644 index 000000000000..e6f834abceb0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69291-ChangedRegistrationOfBackendModuleIcons.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Breaking: #69291 - Changed registration of backend module icons +=============================================================== + +See :issue:`69291` + +Description +=========== + +The sprite icon support for backend modules introduced with CMS 7.3 has been adjusted again. The configuration has been streamlined. + + +Impact +====== + +The specified icon will not be recognized. + + +Affected Installations +====================== + +Any installation running TYPO3 CMS 7.3+ having third party extensions which use sprite icons for backend modules. + + +Migration +========= + +Change the configuration from + +.. code-block:: php + + 'configuration' => array( + 'icon' => 'module-web', + ), + +to + +.. code-block:: php + + 'iconIdentifier' => 'module-web', + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69315-ElementBrowsermain_Protected.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69315-ElementBrowsermain_Protected.rst new file mode 100644 index 000000000000..6c9828b867dd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69315-ElementBrowsermain_Protected.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +=================================================== +Breaking: #69315 - ElementBrowser::main_* protected +=================================================== + +See :issue:`69315` + +Description +=========== + +The `ElementBrowser::main_*` methods have been marked protected as the new `render` method is the main entry point to the class. +Additionally the public member `ElementBrowserController::mode` has been protected as well. + +The `ElementBrowserController::content` member and the `ElementBrowserController::printContent()` method have been removed. + +Impact +====== + +Any code calling the protected or removed methods or using the protected member will fail with a fatal error. +Any code using the removed member will receive only an empty value. (PHP fallback for non-existing class members) + +Affected Installations +====================== + +Any installation using third party code calling the mentioned methods or member. + + +Migration +========= + +Ensure the intended mode is passed in via the `mode` GET-parameter and call the new `ElementBrowser::render` method. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst new file mode 100644 index 000000000000..b2db9fa57737 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #69401 - Adopt form to support the Extbase/ Fluid MVC stack +===================================================================== + +See :issue:`69401` + +Description +=========== + +The `postProcessor` interface and the mail postProcessor have changed. + +Validators and filters have been moved to other folders and both class +names and algorithms have changed. + + +Impact +====== + +Own postProcessors, validators and filters will possibly fail with an error. + + +Affected Installations +====================== + +Installations with own postProcessors, validators and filters. + + +Migration +========= + +Adopt own postProcessors, validators and filters to comply with the current implementation. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst new file mode 100644 index 000000000000..d2a3255b5cb2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst @@ -0,0 +1,61 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Breaking: #69561 - Replace sprite icons with IconFactory in ContextMenu +======================================================================= + +See :issue:`69561` + +Description +=========== + +SpriteIcon and standalone image support have been replaced with `IconFactory` in +the context menu. All menu icons now need to be registered through the `IconRegistry`. + + +Impact +====== + +The `UserTsConfig` options for items `icon` and `spriteIcon` have no effect anymore, +and will deliver a blank placeholder image if `iconName` is not set. + + +Affected Installations +====================== + +All installations that add or modify items in the ContextMenu. + + +Migration +========= + +Register the icon through the `IconRegistry` and set the `iconName` in the +item configuration. + +.. code-block:: php + + // Register Icon + $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); + $iconRegistry->registerIcon( + 'contextmenu-example', + \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, + array( + 'source' => 'EXT:example/Resources/Public/Icons/contextmenu-example.svg' + )) + ); + + +.. code-block:: typoscript + + options.contextMenu.table { + virtual_root.items { + 9999 = ITEM + 9999 { + name = contextmenuExample + label = LLL:EXT:example/Resources/Private/Language/locallang.xlf:contextmenu-example + iconName = contextmenu-example + callbackAction = exampleCallback + } + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69568-FormEngine.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69568-FormEngine.rst new file mode 100644 index 000000000000..ee71d6d1cb37 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69568-FormEngine.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #69568 - FormEngine related classes +============================================= + +See :issue:`69568` + +Description +=========== + +The following classes have been removed: + +* `\TYPO3\CMS\Backend\Form\DataPreprocessor` +* `\TYPO3\CMS\Backend\Form\FormEngine` +* `\TYPO3\CMS\Backend\Form\FlexFormsHelper` + +The following hook has been removed: + +* `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms.php']['getMainFieldsClass']` + + +Impact +====== + +Code trying to instantiate these classes will fatal. + + +Affected Installations +====================== + +A rather low number of extensions should be affected by this change. Searching for the +above class names should reveal them. + + +Migration +========= + +The methods and classes have been moved to different classes and solutions. +Extensions needs adaption. + +The hook `getMainFieldsClass` has been substituted with a much more fine grained and flexible API. +Use `FormDataProvider` to change data given to the render engine of FormEngine from now on. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69699-TcaCtrlTypeicons.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69699-TcaCtrlTypeicons.rst new file mode 100644 index 000000000000..58d89a702ddd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69699-TcaCtrlTypeicons.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================= +Breaking: #69699 - TCA ctrl typeicons removed +============================================= + +See :issue:`69699` + +Description +=========== + +The `TCA['ctrl']['typeicons']` key has been removed. + + +Impact +====== + +If still used, a fallback default icon may be displayed instead. + + +Affected Installations +====================== + +Searching for `typeicons` keyword should reveal extensions using this functionality. + + +Migration +========= + +Until further works on the icon API have been finished, `TCA['ctrl']['typeicon_classes']` +should be used as documented in the TCA reference. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69795-UnusedDTMTabmenuCodeRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69795-UnusedDTMTabmenuCodeRemoved.rst new file mode 100644 index 000000000000..f8b61bbd2d32 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69795-UnusedDTMTabmenuCodeRemoved.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +================================================== +Breaking: #69795 - Unused DTM Tabmenu code removed +================================================== + +See :issue:`69795` + +Description +=========== + +All DynTabMenu JavaScript and CSS code which was previously used to render Tab +Menus in the TYPO3 Backend has been removed without substitution. + + +Impact +====== + +All logic that requires EXT:backend/Resources/Public/JavaScript/tabmenu.js +directly and/or use the JavaScript code of `DTM_activate()` or `DTM_toggle()` +directly have been removed. + + +Affected Installations +====================== + +TYPO3 Installations with custom extensions that use the logic mentioned above. + + +Migration +========= + +Use ModuleTemplate::getDynamicTabMenu() directly to use the Bootstrap-based API +shipped with the TYPO3 Core. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69904-RemoveSettingDiff_pathFromDefaultConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69904-RemoveSettingDiff_pathFromDefaultConfiguration.rst new file mode 100644 index 000000000000..1fccac37ec33 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69904-RemoveSettingDiff_pathFromDefaultConfiguration.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #69904 - Remove Setting diff_path from DefaultConfiguration +===================================================================== + +See :issue:`69904` + +Description +=========== + +Creating a diff view of text has been replaced with a PHP library instead of using `diff` on the command line. +Thus we no longer need to be able to configure the path. + + +Impact +====== + +The setting `[BE][diff_path]` will no longer have any effect. + + +Affected Installations +====================== + +Any Installation that had to define a path different than `diff` + + +Migration +========= + +Delete the line from LocalConfiguration.php if the UpgradeWizard should fail to do so. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69930-RemoveOptionServerTimeZone.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69930-RemoveOptionServerTimeZone.rst new file mode 100644 index 000000000000..1d502c21c029 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Breaking-69930-RemoveOptionServerTimeZone.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #69930 - Remove option "serverTimeZone" +================================================= + +See :issue:`69930` + +Description +=========== + +The option `$TYPO3_CONF_VARS['SYS']['serverTimeZone']` which was introduced when +there was no clean way to fetch the timezone option in the PHP4 environment, has +been removed. It was solved in PHP 5.1.0 which introduced `date_default_timezone_get()` +which is used by the TYPO3 Core by default. + + +Impact +====== + +Accessing the option will result in a PHP notice, as it has been removed in TYPO3 CMS 7. +Extensions making use of this option will result in an unexpected behaviour as +possible calculations are wrong. + + +Affected Installations +====================== + +Any TYPO3 installation which uses a third-party extensions that uses this option. + + +Migration +========= + +Use native timezone support by PHP directly. See `date_default_timezone_get()` +for more information. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-55419-StreamlineFileConflictModeHandling.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-55419-StreamlineFileConflictModeHandling.rst new file mode 100644 index 000000000000..85b2a6407b09 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-55419-StreamlineFileConflictModeHandling.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #55419 - Streamline file conflict mode handling +============================================================ + +See :issue:`55419` + + +Description +=========== + +Conflicts in file names and folder names when uploading new files or creating new folders are now handled +uniformly with constants within the core. Therefore a new enumeration has been introduced to provide the available +values: `\TYPO3\CMS\Core\Resource\DuplicationBehavior`. + +Provided constants are: + * `DuplicationBehavior::CANCEL` + * `DuplicationBehavior::REPLACE` + * `DuplicationBehavior::RENAME` + +Before this change there were two sets of strings used to define the behavior upon conflicts. + * Set1: `cancel`, `replace` and `changeName` + * Set2: `cancel`, `overrideExistingFile` and `renameNewFile` + +As they are redundant they are now represented by a new set of constants: + + * `CANCEL`, `REPLACE` and `RENAME` + +All usages of strings of the former sets have been replaced with their counterparts from the new set. In the enumeration +the former values have been mapped to the new values and marked for deprecation. + + +Impact +====== + +Using `changeName`, `overrideExistingFile` or `renameNewFile` for file conflict handling will result in a deprecation log entry. + + +Affected Installations +====================== + +All third party code that calls one of the listed methods with `$conflictMode` either set to `changeName`, `overrideExistingFile` or `renameNewFile`. + + +Migration +========= + +Use the provided enumeration `\TYPO3\CMS\Core\Resource\DuplicationBehavior` instead. + + +Example +======= + +.. code-block:: php + + $resourceStorage->copyFile($file, $targetFolder, 'target-file-name', DuplicationBehavior::RENAME); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-66588-POSTDataInSelectviewhelperShouldHaveHigherPriorityThanValueValue.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-66588-POSTDataInSelectviewhelperShouldHaveHigherPriorityThanValueValue.rst new file mode 100644 index 000000000000..85f3527741f1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-66588-POSTDataInSelectviewhelperShouldHaveHigherPriorityThanValueValue.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +================================================================================================== +Deprecation: #66588 - POST Data in selectviewhelper should have higher priority than "value" value +================================================================================================== + +See :issue:`66588` + +Description +=========== + +Submitted form data has precedence over value arguments. + +This adjusts the behavior of all Form ViewHelpers so that any +submitted value is redisplayed even if a "value" argument has been +specified. + +The issue with this, however, was that upon re-display of the form due +to property-mapping or validation errors the value argument had +precedence over the previously submitted value. + + +Impact +====== + +This is a breaking change if you expect the previous behavior of form +ViewHelpers always being pre-populated with the specified value +attribute / bound object property even when re-displaying the form upon +validation errors. + +Besides this the change marks `AbstractFormFieldViewHelper::getValue()` as +deprecated. If you call that method in your custom ViewHelpers you should use +`AbstractFormFieldViewHelper::getValueAttribute()` instead and call +`AbstractFormFieldViewHelper::addAdditionalIdentityPropertiesIfNeeded()` +explicitly if the ViewHelper might be bound to (sub)entities. + +The default usage of getValueAttribute() did not respect the submitted form data, +because not every viewhelper needs this feature. But you can enable the usage of +the form data by setting `AbstractFormFieldViewHelper::respectSubmittedDataValue` to TRUE. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68128-GeneralUtilitySlash-relatedMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68128-GeneralUtilitySlash-relatedMethods.rst new file mode 100644 index 000000000000..c6f1b2b8bde7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68128-GeneralUtilitySlash-relatedMethods.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +========================================================== +Deprecation: #68128 - GeneralUtility slash-related methods +========================================================== + +See :issue:`68128` + +Description +=========== + +The following methods within `GeneralUtility` used to add or remove slashes +have been marked as deprecated. + +.. code-block:: php + + GeneralUtility::addSlashesOnArray() + GeneralUtility::stripSlashesOnArray() + GeneralUtility::slashArray() + + +Impact +====== + +Any usage of these methods will trigger a deprecation log entry. + + +Affected Installations +====================== + +Extensions that call these PHP methods directly. + +Migration +========= + +Remove usage of these methods from custom extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68760-ModuleSettings.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68760-ModuleSettings.rst new file mode 100644 index 000000000000..74d0d1da4af0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68760-ModuleSettings.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================================== +Deprecation: #68760 - Deprecate class ModuleSettings +==================================================== + +See :issue:`68760` + +Description +=========== + +In older TYPO3 versions `t3lib_modSettings` (as ModuleSettings class was called before) was used to save the current +settings of backend modules. This kind of settings is nowadays stored in backend users uc array. +For that reason ModuleSettings is now marked for removal in TYPO3 CMS 8. + +Impact +====== + +Using `ModuleSettings` will trigger a deprecation log entry. + + +Affected Installations +====================== + +Any TYPO3 installation with custom extensions using this class and its methods. + + +Migration +========= + +Remove usage of this class from custom extensions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68804-CLI-relatedConstantsAndMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68804-CLI-relatedConstantsAndMethods.rst new file mode 100644 index 000000000000..cbc68e93a1db --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68804-CLI-relatedConstantsAndMethods.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +======================================================= +Deprecation: #68804 - CLI-related constants and methods +======================================================= + +See :issue:`68804` + +Description +=========== + +Logic regarding regular CLI-based scripts with the CLIkey option has been moved +into the CliRequestHandler. + +Therefore, the following method has been marked as deprecated: + +.. code-block:: php + + BackendUserAuthentication->checkCLIuser() + +Additionally, the following constants and global parameters have been marked for deprecation in CLI context. + +.. code-block:: php + + const TYPO3_cliKey + const TYPO3_cliInclude + $GLOBALS['MCONF']['name'] + $GLOBALS['temp_cliScriptPath'] + $GLOBALS['temp_cliKey'] + +The method, constants and variables will be removed in TYPO3 CMS 8. + + +Impact +====== + +Calling `BackendUserAuthentication->checkCLIuser()` directly will now trigger a deprecation log entry. + + +Affected Installations +====================== + +Installations with custom entry points in a CLI environment that make use of the method, constants or variables above. + + +Migration +========= + +Use the native `$_SERVER['argv']` or the given `Input` object directly in your code to detect the +current CLI-relevant data. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68860-DeprecateSelectImageinitEventHandler.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68860-DeprecateSelectImageinitEventHandler.rst new file mode 100644 index 000000000000..be36835805aa --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-68860-DeprecateSelectImageinitEventHandler.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #68860 - Deprecate SelectImage.initEventHandler +============================================================ + +See :issue:`68860` + +Description +=========== + +Removes the calls of `SelectImage.initEventHandler` method. +This was limited to WebKit UserAgents and the provided implementation of +`require` was wrong, so that the EventListener was not registered at all. +Nevertheless the functionality of drag and drop is not broken without the +initEventHandler. + +Impact +====== + +Throws console log with deprecation message. + + +Affected Installations +====================== + +All installations calling `SelectImage.initEventHandler`. + + +Migration +========= + +Remove the call of `SelectImage.initEventHandler`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69028-RelationHandlerConvertPosNeg.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69028-RelationHandlerConvertPosNeg.rst new file mode 100644 index 000000000000..348d5c55095b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69028-RelationHandlerConvertPosNeg.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +===================================================== +Deprecation: #69028 - RelationHandler convertPosNeg() +===================================================== + +See :issue:`69028` + + +Description +=========== + +Method `convertPosNeg()` of class `TYPO3\CMS\Core\Database\RelationHandler` has been marked as deprecated. + + +Impact +====== + +The method should not be used any longer and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +The method is rather internal and relatively unlikely to be used by third party modules. +Searching for the string `convertPosNeg` may reveal possible usages. + + +Migration +========= + +The method was used together with the dropped `neg_foreign_table` setting for `TCA` `select` +fields. If this functionality is still needed, the method could be copied over to the third party +application that uses it. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst new file mode 100644 index 000000000000..a25c0c1aa27c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69057-DeprecateIconUtilityAndMoveMethodsIntoIconFactory.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Deprecation: #69057 - Deprecate IconUtility and move methods into IconFactory +============================================================================= + +See :issue:`69057` + +Description +=========== + +The `IconUtility` class will be removed with TYPO3 CMS 8. All public methods of this class have been marked as deprecated: + +* `IconUtility::skinImg()` +* `IconUtility::getIcon()` +* `IconUtility::getSpriteIcon()` +* `IconUtility::getSpriteIconForFile()` +* `IconUtility::getSpriteIconForRecord()` +* `IconUtility::getSpriteIconForResource()` +* `IconUtility::getSpriteIconClasses()` + +The PageTSConfig setting `mod.wizards.newContentElement.wizardItems.*.elements.*.icon` also has been marked as deprecated. + +The `IconUtilityOverrideResourceIconHookInterface` interface will be removed with TYPO3 CMS 8. + + +Impact +====== + +Any usage of these methods will trigger a deprecation log entry. + + +Affected Installations +====================== + +Extensions that call these PHP methods directly. +Extensions that register own content elements with an icon for the new content element wizard. + + +Migration +========= + +Use the new `IconFactory` class instead of `IconUtility`. + +For content element wizard register your icon in `IconRegistry::registerIcon()` and use the new setting: +`mod.wizards.newContentElement.wizardItems.*.elements.*.iconIdentifier` diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69078-TemplateService-tempPath.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69078-TemplateService-tempPath.rst new file mode 100644 index 000000000000..83acef5b9844 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69078-TemplateService-tempPath.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +================================================ +Deprecation: #69078 - TemplateService::$tempPath +================================================ + +See :issue:`69078` + +Description +=========== + +The `\TYPO3\CMS\Core\TypoScript\TemplateService::$tempPath` member variable is not used anymore inside the core, +therefore it has been marked as deprecated and will be removed with CMS 8. + + +Affected Installations +====================== + +Any installation using third party code, which accesses `TemplateService::$tempPath`. + + +Migration +========= + +Remove any reference to `TemplateService::$tempPath`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69262-MoveMarkerSubstitutionFunctionalityToOwnClass.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69262-MoveMarkerSubstitutionFunctionalityToOwnClass.rst new file mode 100644 index 000000000000..343d5f4ace54 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69262-MoveMarkerSubstitutionFunctionalityToOwnClass.rst @@ -0,0 +1,53 @@ + +.. include:: ../../Includes.txt + +========================================================================= +Deprecation: #69262 - Move marker substitution functionality to own class +========================================================================= + +See :issue:`69262` + +Description +=========== + +The marker substitution functionality has been moved from `core/Classes/Html/HtmlParser.php` to it's own class `core/Classes/Service/MarkerBasedTemplateService.php` + +The following methods within HtmlParser have been marked as deprecated. + +.. code-block:: php + + HtmlParser::getSubpart() + HtmlParser::substituteSubpart() + HtmlParser::substituteSubpartArray() + HtmlParser::substituteMarker() + HtmlParser::substituteMarkerArray() + HtmlParser::substituteMarkerAndSubpartArrayRecursive() + + +Impact +====== + +Any usage of these methods will trigger a deprecation log entry. + + +Affected Installations +====================== + +Extensions that call these PHP methods directly. + + +Migration +========= + +Change the use statement from `TYPO3\CMS\Core\Html\HtmlParser` to `TYPO3\CMS\Core\Service\MarkerBasedTemplateService` and create an instance of this service class. +The methods are not static anymore, but named as before. + +.. code-block:: php + + $templateService = GeneralUtility::makeInstance(MarkerBasedTemplateService::class); + $templateService->getSubpart() + $templateService->substituteSubpart() + $templateService->substituteSubpartArray() + $templateService->substituteMarker() + $templateService->substituteMarkerArray() + $templateService->substituteMarkerAndSubpartArrayRecursive() diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69269-DeprecateBackendUtilitygetPathType_web_nonweb.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69269-DeprecateBackendUtilitygetPathType_web_nonweb.rst new file mode 100644 index 000000000000..4b62061a64cb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69269-DeprecateBackendUtilitygetPathType_web_nonweb.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Deprecation: #69269 - Deprecate BackendUtility::getPathType_web_nonweb +====================================================================== + +See :issue:`69269` + +Description +=========== + +Method `getPathType_web_nonweb()` of class `TYPO3\CMS\Backend\Utility\BackendUtility` has been marked as deprecated. + + +Impact +====== + +The method should not be used any longer and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +The method is unused in the core since at least TYPO3 CMS 6.2. +Searching for the string `getPathType_web_nonweb` may reveal possible usages. + + +Migration +========= + +Use path functions from `TYPO3\CMS\Core\Utility\PathUtility`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69371-DeprecateFormElementImagebutton.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69371-DeprecateFormElementImagebutton.rst new file mode 100644 index 000000000000..08110c3292eb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69371-DeprecateFormElementImagebutton.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +============================================== +Deprecation: #69371 - Form element IMAGEBUTTON +============================================== + +See :issue:`69371` + +Description +=========== + +Form element `IMAGEBUTTON` of class `TYPO3\CMS\Form\Domain\Model\Element\ImagebuttonElement` has been marked as deprecated. +The related attribute `scr` of class `TYPO3\CMS\Form\Domain\Model\Attribute\SrcAttribute` has been marked as deprecated. + +Impact +====== + +The element `IMAGEBUTTON` should not be used any longer because it is outdated and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +All installations which use the form element `IMAGEBUTTON`. +All installations which use a form typoscript like this: + +.. code-block:: typoscript + + 10 = IMAGEBUTTON + 10 { + label = Image button + src = /typo3conf/ext/someExt/some/picture.png + value = value + } + +Migration +========= + +No Migration is planned. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst new file mode 100644 index 000000000000..1500dd5d1a8a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Deprecation: #69401 - Adopt form to support the Extbase/ Fluid MVC stack +======================================================================== + +See :issue:`69401` + +Description +=========== + +Form is now based on Extbase/ Fluid for frontend rendering. Therefore +all TypoScript based layout settings have been marked as deprecated. Using the +following code is not recommended anymore: + +.. code-block:: typoscript + + 10 = FORM + 10 { + layout { + containerWrap = <div><elements /></div> + elementWrap = <div><element /></div> + } + } + +Impact +====== + +All `.layout` TypoScript properties should not be used anymore. Backward +compatibility algorithms will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +All installations using `.layout` TypoScript properties. + + +Migration +========= + +Move away from `.layout` TypoScript properties and move to Fluid based +templating. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69535-DeprecateTYPO3CMSFluidViewHelpersBeButtonsIconViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69535-DeprecateTYPO3CMSFluidViewHelpersBeButtonsIconViewHelper.rst new file mode 100644 index 000000000000..ff1e4f6d9801 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69535-DeprecateTYPO3CMSFluidViewHelpersBeButtonsIconViewHelper.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Deprecation: #69535 - Deprecate \TYPO3\CMS\Fluid\ViewHelpers\Be\Buttons\IconViewHelper +====================================================================================== + +See :issue:`69535` + +Description +=========== + +`\TYPO3\CMS\Fluid\ViewHelpers\Be\Buttons\IconViewHelper` has been marked as deprecated. + + +Impact +====== + +The viewhelper should not be used any longer and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +Extensions which use the viewhelper. + + +Migration +========= + +Use the core icon viewhelper `\TYPO3\CMS\Core\ViewHelpers\IconViewHelper` instead. + +Example: Instead of `<f:be.buttons.icon icon="apps-pagetree-collapse" />` use `<core:icon identifier="apps-pagetree-collapse" />` diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst new file mode 100644 index 000000000000..d4947eb9c528 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69561-ReplaceSpriteIconsWithIconFactoryInContextMenu.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Deprecation: #69561 - Replace sprite icons with IconFactory in ContextMenu +========================================================================== + +See :issue:`69561` + +Description +=========== + +The `\TYPO3\CMS\Backend\ContextMenu\ContextMenuAction::$class` member variable is not +used anymore inside Core, therefore it has been marked as deprecated and will be removed with CMS 8. + + +Affected Installations +====================== + +Any installation using third party code, which accesses `ContextMenuAction::$class`. + + +Migration +========= + +Remove any reference to `ContextMenuAction::$class`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69562-DeprecateHelperMethodsForRedundantCSRFProtection.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69562-DeprecateHelperMethodsForRedundantCSRFProtection.rst new file mode 100644 index 000000000000..cf7588c58be6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69562-DeprecateHelperMethodsForRedundantCSRFProtection.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Deprecation: #69562 - Deprecate helper methods for redundant CSRF protection +============================================================================ + +See :issue:`69562` + +Description +=========== + +The method `BackendUtility::getUrlToken` has been introduced as shortcut to +protect data manipulating entry points `tce_db.php` `tce_file.php` and +`alt_doc.php` from CSRF attacks. These entry points have been replaced with +proper modules or routing, which are CSRF protected by default. With this +`BackendUtility::getUrlToken` is not needed anymore and therefore has been +marked as deprecated. + + +Impact +====== + +Third party code using `BackendUtility::getUrlToken` will trigger deprecation +log entries. + + +Affected Installations +====================== + +Extensions using the above code. + + +Migration +========= + +These method calls can safely be removed, when generating links to former entry +points `tce_db.php` `tce_file.php` and `alt_doc.php` with the API method +calls : `BackendUtility::getModuleUrl('tce_db')`, `BackendUtility::getModuleUrl('tce_file')` +or `BackendUtility::getModuleUrl('record_edit')`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69568-VariousFormEngineRelatedMethods.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69568-VariousFormEngineRelatedMethods.rst new file mode 100644 index 000000000000..edb1167ac2cd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69568-VariousFormEngineRelatedMethods.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +======================================================== +Deprecation: #69568 - Various FormEngine related methods +======================================================== + +See :issue:`69568` + +Description +=========== + +The following methods have been marked as deprecated and should not no longer be used: + +* `BackendUtility::getExcludeFields()` +* `BackendUtility::getExplicitAuthFieldValues()` +* `BackendUtility::getSystemLanguages()` +* `BackendUtility::getRegisteredFlexForms()` +* `BackendUtility::exec_foreign_table_where_query()` +* `BackendUtility::replaceMarkersInWhereClause()` + + +Impact +====== + +Using those methods will trigger a deprecation log entry. + + +Affected Installations +====================== + +The impact is rather low in general since those methods were mostly internal in +the first place and only used within FormEngine scope. It is unlikely extensions +are affected by this change. + + +Migration +========= + +If still used, extensions should switch to own solutions for those methods. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69705-AddUnifiedRefreshIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69705-AddUnifiedRefreshIcon.rst new file mode 100644 index 000000000000..dc9907093463 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69705-AddUnifiedRefreshIcon.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +============================================== +Deprecation: #69705 - Add unified refresh icon +============================================== + +See :issue:`69705` + +Description +=========== + +The icon `actions-system-refresh` has been marked as deprecated in `TYPO3\CMS\Core\Imaging\IconRegistry` and will be removed with TYPO3 CMS 8. +All requests for `actions-system-refresh` will now show `actions-refresh`. + + +Impact +====== + +Using `IconUtility` or `IconFactory` to fetch the icon `actions-system-refresh` will trigger a deprecation log entry. + + +Affected Installations +====================== + +Installations with third party extensions that use the icon `actions-system-refresh`. + + +Migration +========= + +Use the icon `actions-refresh` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69736-SelectOptionIconsInOptionTagsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69736-SelectOptionIconsInOptionTagsRemoved.rst new file mode 100644 index 000000000000..7f0a12a28d75 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69736-SelectOptionIconsInOptionTagsRemoved.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #69736 - Select option iconsInOptionTags removed +============================================================= + +See :issue:`69736` + +Description +=========== + +The option `iconsInOptionTags` of TCA `select` fields has been removed due +to little support in browsers. + + +Impact +====== + +The usage of this option triggers a deprecation log entry and is automatically +removed in TCA tables during bootstrap. + + +Affected Installations +====================== + +Any `TCA` configuration using `iconsInOptionTags`. + + +Migration +========= + +Remove usage of this option. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69754-TcaCtrlIconfileUsingRelativePathToExtAndFilenameOnly.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69754-TcaCtrlIconfileUsingRelativePathToExtAndFilenameOnly.rst new file mode 100644 index 000000000000..edfbd352dc41 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69754-TcaCtrlIconfileUsingRelativePathToExtAndFilenameOnly.rst @@ -0,0 +1,80 @@ + +.. include:: ../../Includes.txt + +================================================================================================================= +Deprecation: #69754 - Deprecate relative path to extension directory and using filename only in TCA ctrl iconfile +================================================================================================================= + +See :issue:`69754` + +Description +=========== + +* Using relative paths to refer to the extension directory for iconfiles in `TCA['ctrl']['iconfile']` has been marked as deprecated. +* Using filenames only to refer to an iconfile in TCA['ctrl'] has been marked as deprecated. + + +Impact +====== + +* TCA definitions in `TCA['ctrl']['iconfile']` containing `'../typo3conf/ext/'` or calls to `\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()` will trigger a deprecation log entry. +* TCA definitions in `TCA['ctrl']['iconfile']` containing a filename only will trigger a deprecation log entry. + + +Affected Installations +====================== + +Any installation with extensions defining `TCA['ctrl']['iconfile']` by using `../typo3conf/ext/` or only a filename. + + +Migration +========= + +Relative paths +-------------- + +Use `EXT:` instead of relative path `'../typo3conf/ext/'` or `\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()`, e.g. + +.. code-block:: php + + 'ctrl' => array( + 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('my_extension') . 'Resources/Public/Icons/image.png' + ), + +has to be migrated to + +.. code-block:: php + + 'ctrl' => array( + 'iconfile' => 'EXT:my_extension/Resources/Public/Icons/image.png' + ), + +Filename only +------------- + +Use a full absolute path or an `EXT:` definition instead of a filename only: + +.. code-block:: php + + 'ctrl' => array( + 'iconfile' => '_icon_ftp.gif' + ), + +has to be migrated to + +.. code-block:: php + + 'ctrl' => array( + 'iconfile' => 'EXT:t3skin/icons/gfx/i/_icon_ftp.gif' + ), + +or + +.. code-block:: php + + 'ctrl' => array( + // You can use absolute paths (to your web root folder) to the icons but + // it is discouraged to do so as these icons belong to an extension they + // should also be stored in this extension + 'iconfile' => '/fileadmin/icons/_icon_ftp.gif' + ), diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69938-HIDE_L10N_SIBLINGSFlexFormdisplayCond.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69938-HIDE_L10N_SIBLINGSFlexFormdisplayCond.rst new file mode 100644 index 000000000000..7765829f2bcc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Deprecation-69938-HIDE_L10N_SIBLINGSFlexFormdisplayCond.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +============================================================ +Deprecation: #69938 - HIDE_L10N_SIBLINGS FlexFormdisplayCond +============================================================ + +See :issue:`69938` + +Description +=========== + +The flexform `HIDE_L10N_SIBLINGS display` condition has been marked as deprecated and will be removed with CMS 8. +The condition could only be used with translation mode `langChildren=1` to only show the field for the default language. + + +Impact +====== + +FlexForms using this condition will show the field separately for each language again. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-16525-AddConditionsToINCLUDE_TYPOSCRIPT.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-16525-AddConditionsToINCLUDE_TYPOSCRIPT.rst new file mode 100644 index 000000000000..8998f566266a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-16525-AddConditionsToINCLUDE_TYPOSCRIPT.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #16525 - Add conditions to INCLUDE_TYPOSCRIPT +====================================================== + +See :issue:`16525` + +Description +=========== + +The INCLUDE_TYPOSCRIPT tag now has an extra (optional) property "condition" which causes the file/directory to be included only +if the condition is met. + +As usual a condition is enclosed in square brackets, but if these are not present they will be added. Any double quotes must be +escaped by adding backslashes and any backslash must be doubled. + +Example +------- + +.. code-block:: typoscript + + <INCLUDE_TYPOSCRIPT: source="FILE:EXT:my_extension/Configuration/TypoScript/firefox.ts" condition="[loginUser = *]"> + +Condition with square brackets. File will only be included if a frontend user is logged in. + +.. code-block:: typoscript + + <INCLUDE_TYPOSCRIPT: source="FILE:EXT:my_extension/Configuration/TypoScript/staging.ts" condition="applicationContext = /^Production\\/Staging\\/Server\\d+$/"> + +Condition without square brackets, backslashes doubled inside the condition. File will only be included in application context +Production/Staging/Server followed by at least one digit. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-19494-AddSELECTmmQueryMethodToDatabaseConnection.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-19494-AddSELECTmmQueryMethodToDatabaseConnection.rst new file mode 100644 index 000000000000..cecc89b71c3a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-19494-AddSELECTmmQueryMethodToDatabaseConnection.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #19494 - Add SELECTmmQuery method to DatabaseConnection +================================================================ + +See :issue:`19494` + +Description +=========== + +A new method `SELECT_mm_query` has been added to the `DatabaseConnection` class. +This method has been extracted from `exec_SELECT_mm_query` to separate the building +and execution of M:M queries. + +This enables the use of the query building in the database abstraction layer. + +Example: + +.. code-block:: php + + $query = SELECT_mm_query('*', 'table1', 'table1_table2_mm', 'table2', 'AND table1.uid = 1', '', 'table1.title DESC'); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-25341-SchedulerTaskToOptimizeDatabaseTables.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-25341-SchedulerTaskToOptimizeDatabaseTables.rst new file mode 100644 index 000000000000..ea472af782e8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-25341-SchedulerTaskToOptimizeDatabaseTables.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +============================================================ +Feature: #25341 - Scheduler task to optimize database tables +============================================================ + +See :issue:`25341` + +Description +=========== + +A scheduler task to run the `OPTIMIZE TABLE` command on selected +database tables has been added. The `OPTIMIZE TABLE` command +reorganizes the physical storage of table data and associated index +data to reduce storage space and improve I/O efficiency when +accessing the table. The exact changes made to each table depend +on the storage engine used by that table. For more information see +the `MySQL manual`_. + +The scheduler task is meant for the MySQL database system and only +shows tables matching the MySQL storage engines MyISAM, InnoDB and +ARCHIVE. Using this task with DBAL and other DBMS is not supported +as the commands used are MySQL specific. + + +Impact +====== + +Optimizing tables is I/O intensive. On MySQL < 5.6.17 it also locks +the tables for the whole time, which can severely impact the website +while it is running. When considering whether or not to run optimize, +consider the workload of transactions that your server will process +as InnoDB tables do not suffer from fragmentation in the same way +that MyISAM tables do. + +.. _MySQL manual: https://dev.mysql.com/doc/refman/5.6/en/optimize-table.html diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-28243-IntroduceTcaOptionToDisableAgeDisplay.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-28243-IntroduceTcaOptionToDisableAgeDisplay.rst new file mode 100644 index 000000000000..a940f2f3206d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-28243-IntroduceTcaOptionToDisableAgeDisplay.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Feature: #28243 - Introduce TCA option to disable age display of dates per field +================================================================================ + +See :issue:`28243` + +Description +=========== + +It is now possible to disable the display of the age (p.e. "2015-08-30 (-27 days)") of date fields in record +listings by a new TCA option. +The option is called `disableAgeDisplay` and can be set in the config section of a field. +It will be respected if the field has the type `input` and its eval is set to `date`. + +Example +------- + +.. code-block:: php + + // disables the display of " (-27 days)" p.e. + $GLOBALS['TCA']['tt_content']['columns']['date']['config']['disableAgeDisplay'] = true; diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-31100-IntegrateMultilineSupportForTEXTBLOCKInFormWizard.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-31100-IntegrateMultilineSupportForTEXTBLOCKInFormWizard.rst new file mode 100644 index 000000000000..27f1593846c2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-31100-IntegrateMultilineSupportForTEXTBLOCKInFormWizard.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Feature: #31100 - Integrate multiline support for TEXTBLOCK in form wizard +========================================================================== + +See :issue:`31100` + +Description +=========== + +The form object `TEXTBLOCK` is now rendered as multiline input field in the +form wizard. Line breaks are automatically converted to `<br>` tags in the +wizard preview and the frontend. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-38732-Fluid-basedContentElementsIntroduced.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-38732-Fluid-basedContentElementsIntroduced.rst new file mode 100644 index 000000000000..1e400d10145c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-38732-Fluid-basedContentElementsIntroduced.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #38732 - Fluid-based Content Elements Introduced +========================================================= + +See :issue:`38732` + +Description +=========== + +A new system extension called "Fluid Styled Content" has been added to the core, +which ships with a trimmed down and simplified set of Content Elements which are +rendered by Fluid Templates. This extension is installed by default on new +installations. + +In order to have Fluid Styled Content running, add the TypoScript file inside the +Template module. +The Page TSconfig is loaded automatically when the extension is installed. The autoloading +of this file can be disabled by deactivating the `loadContentElementWizardTsConfig` option +in the extension configuration of the extension manager. You have then to load the Page +TSConfig by yourself on the page properties. + +It is possible to overwrite the templates by adding your own paths in the TypoScript setup: + +.. code-block:: typoscript + + lib.fluidContent.templateRootPaths.50 = EXT:site_example/Resources/Private/Templates/ + lib.fluidContent.partialRootPaths.50 = EXT:site_example/Resources/Private/Partials/ + lib.fluidContent.layoutRootPaths.50 = EXT:site_example/Resources/Private/Layouts/ + +The new CType `textmedia` adds support for rendering media elements and image elements side by side. + +Impact +====== + +Please note that this extension is still in an early stage and breaking changes are +still possible until TYPO3 CMS 7 LTS, so be aware of changes to TCA, Templates, +Behaviour and Feature set. + +Some conflicts regarding CSS Styled Content and Fluid Styled Content might still exist. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-47812-QuerySupportForBETWEENAdded.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-47812-QuerySupportForBETWEENAdded.rst new file mode 100644 index 000000000000..25aa26b26960 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-47812-QuerySupportForBETWEENAdded.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +================================================= +Feature: #47812 - Query support for BETWEEN added +================================================= + +See :issue:`47812` + +Description +=========== + +Support for `between` has been added to the Extbase `Query` object. As there is no performance +advantage to using BETWEEN on the DBMS side (the optimizer converts it to `(min <= expr AND expr <= max)` +this function replicates the DBMS behaviour by building a logical AND condition that has the advantage +of working on all DBMS. + +Example: + +.. code-block:: php + + $query->matching( + $query->between('uid', 3, 5) + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-52217-SignalForPreProcessingLinkvalidatorRecords.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-52217-SignalForPreProcessingLinkvalidatorRecords.rst new file mode 100644 index 000000000000..89c0bbde0b6d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-52217-SignalForPreProcessingLinkvalidatorRecords.rst @@ -0,0 +1,64 @@ + +.. include:: ../../Includes.txt + +================================================================= +Feature - #52217: Signal for pre processing linkvalidator records +================================================================= + +See :issue:`52217` + +Description +=========== + +This signal allows for additional processing upon initialization of a specific record, +e.g. getting content data from plugin configuration in record. + +Registering the signal: (in ext_localconf.php) + +.. code-block:: php + + $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class); + $signalSlotDispatcher->connect( + \TYPO3\CMS\Linkvalidator\LinkAnalyzer::class, + 'beforeAnalyzeRecord', + \Vendor\Package\Slots\RecordAnalyzerSlot::class, + 'beforeAnalyzeRecord' + ); + +.. + +The slot class: + +.. code-block:: php + + namespace Vendor\Package\Slots; + + use TYPO3\CMS\Linkvalidator\LinkAnalyzer; + + class RecordAnalyzerSlot { + + /** + * Receives a signal before the record is analyzed + * + * @param array $results Array of broken links + * @param array $record Record to analyse + * @param string $table Table name of the record + * @param array $fields Array of fields to analyze + * @param LinkAnalyzer $parentObject Parent object + * @return array + */ + public function beforeAnalyzeRecord($results, $record, $table, $fields, LinkAnalyzer $parentObject) { + // Processing here + return array( + $results, + $record + ); + } + } + +.. + +Impact +====== + +Extensions may now perform any kind of processing for every record when validating content links. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-53406-AddPlaceholderAttributeToSomeTextfieldsInWizard.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-53406-AddPlaceholderAttributeToSomeTextfieldsInWizard.rst new file mode 100644 index 000000000000..abae63dd3491 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-53406-AddPlaceholderAttributeToSomeTextfieldsInWizard.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Feature: #53406 - Add placeholder attribute to some textfields in wizard +======================================================================== + +See :issue:`53406` + +Description +=========== + +The form wizard is now able to add a placeholder attribute to the +following elements: TEXTLINE, TEXTAREA, PASSWORD and the preset +"email". TypoScript config is properly read and written. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56282-LanguageSelectorForPageviewModule.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56282-LanguageSelectorForPageviewModule.rst new file mode 100644 index 000000000000..6fcc763d205b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56282-LanguageSelectorForPageviewModule.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +======================================================= +Feature: #56282 - Language selector for pageview module +======================================================= + +See :issue:`56282` + +Description +=========== + +The pageview module now has a dropdown to select a language for the page preview. + +In case you switch languages based on something different than a parameter called `L` you can disable the selector by using the following PageTSConfig: + +`mod.SHARED.view.disableLanguageSelector = 1` diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56726-TriggerMetadataExtractionAfterFileUpload.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56726-TriggerMetadataExtractionAfterFileUpload.rst new file mode 100644 index 000000000000..31cfa1a69028 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-56726-TriggerMetadataExtractionAfterFileUpload.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #56726 - Trigger metadata extraction after file upload +=============================================================== + +See :issue:`56726` + +Description +=========== + +Before #56726 the metadata extraction was only called through the extract metadata +scheduler task. +So when a editor uploaded a new file he had to wait until the scheduler task had +been triggered again and extracted the metadata. + +Now the metadata extraction is by default triggered after adding/uploading a file +in the BE or when the FAL API is used `ResourceStorage::addFile()`, +`ResourceStorage::replaceFile()` and `ResourceStorage::addUploadedFile()`. + +In some special situations it isn't desired to have metadata extraction direct +after file upload/adding a file to the storage. +For these cases the automatic extraction can be disabled in File Storage configuration. + + +Impact +====== + +The flag is by default set for all existing and a new storage. When you have some +special use-case where automatic extraction of metadata is not desired the flag +can be disabled in File Storage configuration. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-57632-AddInlineLanguageLabelFilesWithTypoScript.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-57632-AddInlineLanguageLabelFilesWithTypoScript.rst new file mode 100644 index 000000000000..e5b78358fbf3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-57632-AddInlineLanguageLabelFilesWithTypoScript.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #57632 - Include inline language label files with TypoScript +===================================================================== + +See :issue:`57632` + +Description +=========== + +It is now possible to add inline language label files with TypoScript. + +Usage +----- +If you want to include inline labels from a XLF file, you have to specify that +file in your TypoScript with a custom key in the new `inlineLanguageLabelFiles` +section. In addition to the file you can configure three optional parameters: + +* `selectionPrefix`: Only label keys that start with this prefix will be included (default: '') +* `stripFromSelectionName`: A string that will be removed from any included label key (default: '') +* `errorMode`: Error mode if the file could not be found: 0 - syslog entry, 1 - do nothing, 2 - throw an exception (default: 0) + +Example +------- + +.. code-block:: typoscript + + page = PAGE + page.inlineLanguageLabelFiles { + someLabels = EXT:myExt/Resources/Private/Language/locallang.xlf + someLabels.selectionPrefix = idPrefix + someLabels.stripFromSelectionName = strip_me + someLabels.errorMode = 2 + } + +Output in the HTML head: + +.. code-block:: javascript + + var TYPO3 = TYPO3 || {}; + TYPO3.lang = {"firstLabel":[{"source":"first Label","target":"erstes Label"}],"secondLabel":[{"source":"second Label","target":"zweites Label"}]}; diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59144-PageTSconfigWorkspacePreview.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59144-PageTSconfigWorkspacePreview.rst new file mode 100644 index 000000000000..c6b2e92fdfc8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59144-PageTSconfigWorkspacePreview.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #59144 - Previewing workspace records using Page TSconfig +================================================================== + +See :issue:`59144` + +Description +=========== + +Per default TYPO3 only creates preview links for the tables tt_content, pages +and pages_language_overlay. To avoid utilizing a hook for each table, creating +preview links can be triggered using Page TSconfig. + +.. code-block:: TypoScript + + # Using page 123 for previewing workspaces records (in general) + options.workspaces.previewPageId = 123 + + # Using the pid field of each record for previewing (in general) + options.workspaces.previewPageId = field:pid + + # Using page 123 for previewing workspaces records (for table tx_myext_table) + options.workspaces.previewPageId.tx_myext_table = 123 + + # Using the pid field of each record for previewing (or table tx_myext_table) + options.workspaces.previewPageId.tx_myext_table = field:pid diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59591-ImageQualityDefinablePerSourceCollection.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59591-ImageQualityDefinablePerSourceCollection.rst new file mode 100644 index 000000000000..c978f7b27d84 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-59591-ImageQualityDefinablePerSourceCollection.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +============================================================== +Feature: #59591 - Image quality definable per sourceCollection +============================================================== + +See :issue:`59591` + +Description +=========== + +The image quality of each `sourceCollection` entry can be configured. +Integrators can already render images with the predefined quality set by LocalConfiguration.php. +To decrease the quality of larger images (e.g. double density) in order to lower the file size, +integrators can configure the parameter `quality` of the matching `sourceCollection` now. + +The TypoScript setup can be configured as followed (e.g.): + +.. code-block:: typoscript + + # for small retina images + tt_content.image.20.1.sourceCollection.smallRetina.quality = 80 + + # for large retina images + tt_content.image.20.1.sourceCollection.largeRetina.quality = 65 + +If the new parameter is not set, TYPO3 will use to the default quality of LocalConfiguration. + + +Impact +====== + +The rendering of `sourceCollection` stays as it is. Users can additionally selectively control the quality of jpeg by TypoScript setup. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61799-ImprovedHandlingOfOnlineMedia.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61799-ImprovedHandlingOfOnlineMedia.rst new file mode 100644 index 000000000000..f40c710706ce --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61799-ImprovedHandlingOfOnlineMedia.rst @@ -0,0 +1,120 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #61799 - Improved handling of online media +=================================================== + +See :issue:`61799` + +Description +=========== + +Editors can now use YouTube and Vimeo videos (online media) just like a any other file, organising them just like any +other file in the file list and selecting them in element browser to use in a CE or any other record. +Adding new online media files is done providing the URL to online media. The matching helper class will fetch the +needed metadata and supply an image that will be used as preview if available. + + +YouTube and Vimeo support +------------------------- + +The core provides an `OnlineMediaHelper` and a `FileRenderer` class for YouTube and Vimeo. + +Adding YouTube videos can be done by providing a URL in one of the following formats (with and without http(s)://): + +- youtu.be/<code> # Share URL +- www.youtube.com/watch?v=<code> # Normal web link +- www.youtube.com/v/<code> +- www.youtube-nocookie.com/v/<code> # youtube-nocookie.com web link +- www.youtube.com/embed/<code> # URL form iframe embed code, can also get code from full iframe snippet + +Adding Vimeo videos can be done by providing a URL in one of the following formats (with and without http(s)://): + +- vimeo.com/<code> # Share URL +- player.vimeo.com/video/<code> # URL form iframe embed code, can also get code from full iframe snippet + + +Each renderer has some custom configuration options: + + +YouTubeRenderer +^^^^^^^^^^^^^^^ + +* `bool autoplay` default = FALSE; when set video starts immediately after loading of the page +* `int controls` default = 2; see `<https://developers.google.com/youtube/player_parameters#controls>`_ +* `bool loop` default = FALSE; if set video starts over again from te beginning when finished +* `bool enablejsapi` default = TRUE; see `<https://developers.google.com/youtube/player_parameters#enablejsapi>`_ +* `bool showinfo` default = FALSE; show video title and uploader before video starts playing +* `bool no-cookie` default = FALSE; use domain youtube-nocookie.com instead of youtube.com when embedding a video + +Example of setting the YouTubeRenderer options with the MediaViewHelper: + +.. code-block:: html + + <!-- enable js api and set no-cookie support for YouTube videos --> + <f:media file="{file}" additionalConfig="{enablejsapi:1, 'no-cookie': true}" /> + + +VimeoRenderer +^^^^^^^^^^^^^ + +* `bool autoplay` default = FALSE; when set video starts immediately after loading of the page +* `bool loop` default = FALSE; if set video starts over again from te beginning when finished +* `bool showinfo` default = FALSE; show video title and uploader before video starts playing + +Example of setting the YouTubeRenderer options with the MediaViewHelper: + +.. code-block:: html + + <!-- show title and uploader for YouTube and Vimeo before video starts playing --> + <f:media file="{file}" additionalConfig="{showinfo:1}" /> + + +Register your own online media service +-------------------------------------- + +For every service you need an `OnlineMediaHelper` class that implements `OnlineMediaHelperInterface` and a +`FileRenderer` class (see #61800) that implements `FileRendererInterface`. The online media helper is responsible +for translating the input given by the editor to a `onlineMediaId` that is known to the service. The renderer is +responsible for turning the `onlineMediaId` to the correct HTML output to show the media item. + +The `onlineMediaId` is stored in a plain text file that only holds this ID. By giving this file a custom file extension +TYPO3 knows which `OnlineMediaHelper` and `FileRenderer` belong to it. To further tell TYPO3 what kind of +"file" (text, image, audio, video, application, other) this online media holds we also need to bind a custom mime-type to +this file extension. + +With adding this custom file extension to `$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']` (see `#69543 <Feature-69543-IntroducedGLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst>`_) your custom +online media file can be used throughout the backend every where all media files are allowed. + +**Example of registering your own online media file/service:** + +.. code-block:: php + + // Register your own online video service (the used key is also the bind file extension name) + $GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers']['myvideo'] = \MyCompany\Myextension\Helpers\MyVideoHelper::class; + + $rendererRegistry = \TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance(); + $rendererRegistry->registerRendererClass( + \MyCompany\Myextension\Rendering\MyVideoRenderer::class + ); + + // Register an custom mime-type for your videos + $GLOBALS['TYPO3_CONF_VARS']['SYS']['FileInfo']['fileExtensionToMimeType']['myvideo'] = 'video/myvideo'; + + // Register your custom file extension as allowed media file + $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'] .= ',myvideo'; + + +Override core Helper class with your own helper class +----------------------------------------------------- + +The helper classed provided by the core use the `oEmbed` web service provided by YouTube and Vimeo to gather some basic +metadata for the provided video urls. The upside is that you do not need an API user/key to use their webservice as these +services are publicly available. But the downside is that the gathered info is kind of scarce. So if you have an API user/key +for these services, you could create an own helper class which provides more meta data. + +.. code-block:: php + + // Register your own online custom youtube helper class + $GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['onlineMediaHelpers']['youtube'] = \MyCompany\Myextension\Helpers\YouTubeHelper::class; diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61993-CssPageStyleNowPageSpecific.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61993-CssPageStyleNowPageSpecific.rst new file mode 100644 index 000000000000..3ee14dba3875 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-61993-CssPageStyleNowPageSpecific.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +=========================================================================== +Feature: #61993 - _CSS_PAGE_STYLE is now only included on the affected page +=========================================================================== + +See :issue:`61993` + +Description +=========== + +CSS set via the TypoScript property `_CSS_PAGE_STYLE` was concatenated and +compressed with the non-page-specific CSS and therefore loaded on pages it did +not affect at all. + +Impact +====== + +The behaviour from now on is that `_CSS_PAGE_STYLE` is included only on the +affected page. Depending on your configuration it will be written in an external +file and included on the page or directly added as inline CSS block. Compression +for page specific CSS also depends on the global `config.compressCss` setting. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-63395-Html5VideoPosterPreviewImage.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-63395-Html5VideoPosterPreviewImage.rst new file mode 100644 index 000000000000..be94a3d414e0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-63395-Html5VideoPosterPreviewImage.rst @@ -0,0 +1,18 @@ + +.. include:: ../../Includes.txt + +================================================== +Feature: #63395 - HTML5 video poster preview image +================================================== + +See :issue:`63395` + +Description +=========== + +Enable Video preview image "poster" in media in the old fashion way. + +If there is a jpg, jpeg or png image in the same folder with the same +name as the video file it will be shown with the HTML5 poster attribute. + +The file extensions are checked exactly in the order mentioned above. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64535-IrreSuppressAndOverrideUseCombinationWarningViaTcaSettings.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64535-IrreSuppressAndOverrideUseCombinationWarningViaTcaSettings.rst new file mode 100644 index 000000000000..cf36c00d7de6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64535-IrreSuppressAndOverrideUseCombinationWarningViaTcaSettings.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +===================================================================================== +Feature: #64535 - IRRE: Suppress and override useCombination warning via TCA settings +===================================================================================== + +See :issue:`64535` + +Description +=========== + +When using `useCombination=TRUE` there is always a FlashMessage warning displayed. +It is now possible to override the default warning message with a custom message or +to suppress the FlashMessage completely via TCA setting. + +Example to suppress `useCombination` warning message: + +.. code-block:: php + + $GLOBALS['TCA']['tx_demo_domain_model_demoinline']['columns']['irre_records']['config'] = array( + 'foreign_types_combination' => array( + '1' => array( + 'showitem' => 'title' + ) + ) + 'appearance' => array( + 'suppressCombinationWarning' => TRUE + 'useCombination' => TRUE + ) + ) + +Example to override `useCombination` warning message: + +.. code-block:: php + + $GLOBALS['TCA']['tx_demo_domain_model_demoinline']['columns']['irre_records']['config'] = array( + 'foreign_types_combination' => array( + '1' => array( + 'showitem' => 'title' + ) + ) + 'appearance' => array( + 'overwriteCombinationWarningMessage' => 'LLL:EXT:demo/Resources/Private/Language/locallang_db.xlf:tx_demo_domain_model_demoinline.irre_records.useCombinationWarning' + 'useCombination' => TRUE + ) + ) diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64726-UsingArbitraryFlashmessageQueues.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64726-UsingArbitraryFlashmessageQueues.rst new file mode 100644 index 000000000000..101e2aec1d74 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-64726-UsingArbitraryFlashmessageQueues.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #64726 - Added support for multiple FlashMessage queues +================================================================ + +See :issue:`64726` + +Description +=========== + +In Extbase ControllerContext the method `getFlashMessageQueue()` now optionally +allows to specify which queue to fetch. If none is specified the `default- +messagequeue` for the current controller/plugin will be used. + +.. code-block:: php + + $this->controllerContext->getFlashMessageQueue($queueIdentifier); + +In Fluid the flashMessages-ViewHelper also allows to specify a queue to +use. + +.. code-block:: html + + <f:flashMessages queueIdentifier="myQueue" /> + + +Impact +====== + +Extensions may now render foreign flash message queues and add messages +to them. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65493-BackendRouting.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65493-BackendRouting.rst new file mode 100644 index 000000000000..aeb6a82c8ed0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65493-BackendRouting.rst @@ -0,0 +1,55 @@ + +.. include:: ../../Includes.txt + +========================================= +Feature: #58621 - Unified Backend Routing +========================================= + +See :issue:`58621` + +Description +=========== + +A new Routing component has been added to the TYPO3 Backend which handles addressing different calls / modules inside TYPO3. + +A **Route** is the smallest entity consisting of a path (e.g. "/records/edit/") as well as an identifier for addressing +the route, and the information about how to dispatch the route to a PHP controller. + +A **Route** can be a module, wizard or any page inside the TYPO3 Backend. The Router contains the public API for matching +paths to fetch a Route and is resolved inside the RequestHandler of the Backend. + +The entry point for Routes is `typo3/index.php?route=myroute&token=....`. The main RequestHandler for all Backend requests +detects if a route parameter from the server is given and uses this as the route identifier and then resolves to a +controller defined inside the Route. + +Routes are defined inside the file "Configuration/Backend/Routes.php" of any extension. + +Example of a Configuration/Backend/Routes.php file: + +.. code-block:: php + + return [ + 'myRouteIdentifier' => [ + 'path' => '/document/edit', + 'controller' => Acme\MyExtension\Controller\MyExampleController::class . '::methodToCall' + ] + ]; + +The called method in the controller to be called receives a PSR-7 compliant Request object and a PSR-7 Response object, and has to return a PSR-7 Response object. +The UriBuilder generates any kind of URL for the Backend, may it be a module, a typical route or an AJAX call. The +UriBuilder returns a PSR-7-conform Uri object that can be casted to string when needed. + +Usage: + +.. code-block:: php + + $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class); + $uri = $uriBuilder->buildUriFromRoute('myRouteIdentifier', array('foo' => 'bar')); + +See http://wiki.typo3.org/Blueprints/BackendRouting for more details. + +Impact +====== + +Handling of existing modules works the same as before and fully transparent. Any existing registration of entrypoints +can be moved to the new registration file in Configuration/Backend/Routes.php. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65791-UsePHPConfiguredSendmailPathIfMAILtransportSendmailIsActive.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65791-UsePHPConfiguredSendmailPathIfMAILtransportSendmailIsActive.rst new file mode 100644 index 000000000000..af19553f7308 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-65791-UsePHPConfiguredSendmailPathIfMAILtransportSendmailIsActive.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +============================================================================================= +Feature: #65791 - Use PHP configured sendmail path, if [MAIL][transport] = sendmail is active +============================================================================================= + +See :issue:`65791` + +Description +=========== + +The install tool setting `[MAIL][transport_sendmail_command]` is now retrieved automatically from +PHP runtime configuration `sendmail_path` during installation (instead of '/usr/sbin/sendmail -bs'). + +Impact +====== + +There are no impacts on current installations. + +New installations will have `[MAIL][transport_sendmail_command]` automatically set during installation +using `sendmail_path` from PHP runtime configuration. It can still be changed manually. + +As this setting is only used if `[MAIL][transport]` is set to `sendmail`, it doesn't have impact on +other transport schemes. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66366-IntroducedMediaViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66366-IntroducedMediaViewHelper.rst new file mode 100644 index 000000000000..53382c953b10 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66366-IntroducedMediaViewHelper.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +============================================ +Feature: #66366 - Introduced MediaViewHelper +============================================ + +See :issue:`66366` + +Description +=========== + +In order to comfortably render video, audio and all other file types with a registered Renderer class (`RenderingRegistry` +introduced with #61800) in FE, the `MediaViewHelper` has been added. + +The `MediaViewHelper` first checks if there is a Renderer present for the given file. If not, it will as fallback +render a image tag. This way it is a replacement for the `ImageViewHelper` in most cases when rendering video and +audio tags. + +Examples: +--------- + +.. code-block:: html + + <code title="Image Object"> + <f:media file="{file}" width="400" height="375" /> + </code> + <output> + <img alt="alt set in image record" src="fileadmin/_processed_/323223424.png" width="396" height="375" /> + </output> + + <code title="MP4 Video Object"> + <f:media file="{file}" width="400" height="375" /> + </code> + <output> + <video width="400" height="375" controls><source src="fileadmin/user_upload/my-video.mp4" type="video/mp4"></video> + </output> + + <code title="MP4 Video Object with loop and autoplay option set"> + <f:media file="{file}" width="400" height="375" additionalConfig="{loop: '1', autoplay: '1'}" /> + </code> + <output> + <video width="400" height="375" controls loop><source src="fileadmin/user_upload/my-video.mp4" type="video/mp4"></video> + </output> diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66371-IntroduceAutoplayOptionForVideoAndAudioFiles.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66371-IntroduceAutoplayOptionForVideoAndAudioFiles.rst new file mode 100644 index 000000000000..34e4b1ad01c3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-66371-IntroduceAutoplayOptionForVideoAndAudioFiles.rst @@ -0,0 +1,70 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Feature: #66371 - Introduce autoplay option for video and audio files +===================================================================== + +See :issue:`66371` + +Description +=========== + +The `RenderingRegistry` added with #61800 introduced the option to render video +and audio tags with the new `MediaViewHelper` added with #66366. +To improve the usability of this feature an autoplay checkbox has been added to +the `sys_file_reference` records to enable the editor to configure this option +on a per file basis. + +To make the autoplay option available in sys_file_reference records, make use of +the new palettes `videoOverlayPalette` and `audioOverlayPalette` in your TCA. + +However, the autoplay property of the `sys_file_reference` is only taken into +account if the view helper does not explicitly specify an autoplay option. + +Examples: +--------- + +Example config of an sys_file_reference field in TCA: + +.. code-block:: php + + 'media' => array( + 'exclude' => 1, + 'label' => 'Media', + 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( + 'media', + array( + 'foreign_types' => array( + \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array( + 'showitem' => ' + --palette--;;audioOverlayPalette, + --palette--;;filePalette', + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array( + 'showitem' => ' + --palette--;;videoOverlayPalette, + --palette--;;filePalette', + ) + ) + ), + 'wav,mpeg,mp4,ogg' + ) + ) + + +.. code-block:: html + + <code title="MP4 Video Object with autoplay option set regardless of sys_file_reference checkbox"> + <f:media file="{file}" width="400" height="375" additionalConfig="{autoplay: '1'}" /> + </code> + <output> + <video width="400" height="375" controls autoplay><source src="fileadmin/user_upload/my-video.mp4" type="video/mp4"></video> + </output> + + <code title="MP4 Video Object without autoplay option set will respect the configuration of the sys_file_reference record"> + <f:media file="{file}" width="400" height="375" /> + </code> + <output> + <video width="400" height="375" controls><source src="fileadmin/user_upload/my-video.mp4" type="video/mp4"></video> + </output> diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67056-AddOptionToDisableMoveButtonsTCAGroupType.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67056-AddOptionToDisableMoveButtonsTCAGroupType.rst new file mode 100644 index 000000000000..672706f5d56d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67056-AddOptionToDisableMoveButtonsTCAGroupType.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #67056 - Add option to disable move buttons TCA group type +=================================================================== + +See :issue:`67056` + +Description +=========== + +The move buttons of the TCA type `group` can now be explicitly disabled with the +`hideMoveIcons` option. Before these icons where only automatically removed if +`maxitems` was set to 1. + +.. code-block:: php + + 'options' => array( + 'label' => 'Options', + 'config' => array( + 'type' => 'group', + 'internal_type' => 'db', + 'allowed' => 'pages', + 'maxitems' => 9999, + 'hideMoveIcons' => TRUE, + ), + ), + + +Impact +====== + +Move buttons can now always be hidden for `group` fields diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67875-OverrideCategoryRegistryEntry.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67875-OverrideCategoryRegistryEntry.rst new file mode 100644 index 000000000000..23d301616dfb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67875-OverrideCategoryRegistryEntry.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #67875 - Override CategoryRegistry entries +=================================================== + +See :issue:`67875` + +Description +=========== + +The `makeCategorizable` method of the `\TYPO3\CMS\Core\Utility\ExtensionManagementUtility` +class has been extended with a new parameter `override` to set a new category configuration for +an already registered table / field combination. + +If the parameter is set to `TRUE`, previously defined registry entries are cleared for the +current table / field combination before adding the new configuration. + +The intended usecase for this method is to add additional TCA types for a previously registered table. + +A good example is the `tt_content` table: + +1. The basic TCA is defined in the `frontend` Extension. +2. After the processing of the normal TCA definition, the default categorized tables (from the install + tool setting `SYS/defaultCategorizedTables`) are initialized and the categories tab is added to the + `showitem` configuration for all TCA types that exist so far. +3. Now the TCA overrides are processed. The `css_styled_content` Extension defines additional TCA + types. After the types are defined the `addOrOverride()` method is called to add the category + tab to them. + + +Impact +====== + +The current behavior of the existing functionality is not changed. Only new functionality is added. + + +Example +======= + +.. code-block:: php + + // This example is from the tt_content TCA overrides file from the css_styled_content Extension. + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable('css_styled_content', 'tt_content', 'categories', array(), TRUE); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67880-AddedCountToSplit.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67880-AddedCountToSplit.rst new file mode 100644 index 000000000000..e687b779336e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-67880-AddedCountToSplit.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +====================================== +Feature: #67880 - Added count to split +====================================== + +See :issue:`67880` + +Description +=========== + +A new property `returnCount` is added to the stdWrap property `split`. + +When dealing with comma separated values like the content of `field:records` or similar, +we might need to know how many items are present inside the csv. + +Example: + +.. code-block:: typoscript + + # should return 9 + 1 = TEXT + 1 { + value = x,y,z,1,2,3,a,b,c + split.token = , + split.returnCount = 1 + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68166-RenderTypeForRsaEncryptedInputFields.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68166-RenderTypeForRsaEncryptedInputFields.rst new file mode 100644 index 000000000000..c8f438e09cd9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68166-RenderTypeForRsaEncryptedInputFields.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #67932 - RenderType for rsa encrypted input fields +=========================================================== + +See :issue:`67932` + +Description +=========== + +EXT:rsaauth defines an own render type for TCA input fields. Those fields will +be encrypted before submitting the form. + + +Impact +====== + +In the Backend password fields for backend and frontend users are automatically +encoded before the form is submitted. + +Usage +===== + +To encrypt your own TCA fields you can add define the render type `rsaInput`. + +.. code-block:: php + +$GLOBALS['TCA']['be_users']['columns']['password']['config']['renderType'] = 'rsaInput'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68429-IntroducedAvatarProviderAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68429-IntroducedAvatarProviderAPI.rst new file mode 100644 index 000000000000..504f5dcf7464 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68429-IntroducedAvatarProviderAPI.rst @@ -0,0 +1,69 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #68429 - Introduced AvatarProvider API +=============================================== + +See :issue:`68429` + +Description +=========== + +To make providing an avatar image for BE users more flexible an API has been +introduced so you can register AvatarProviders. +The core provides the `DefaultAvatarProvider` by default to handle the image +defined in the user settings. + +When an avatar is rendered in the BE the available `AvatarProviders` are asked +if they can provide an `TYPO3\CMS\Backend\Backend\Avatar\Image` for the given +`be_users` record in the requested size. The first `TYPO3\CMS\Backend\Backend\Avatar\Image` +that gets returned is used. + +Registering an avatar provider +------------------------------ + +An avatar provider can be registered within your `ext_localconf.php` file like this: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']['myCustomProvider'] = [ + 'provider' => \MyVendor\MyExtension\AvatarProvider\CompanyAvatarProvider::class, + 'before' => ['defaultAvatarProvider'] + ]; + +The settings are defined as: + +* `provider`: The avatar provider class name, which must implement `TYPO3\CMS\Backend\Backend\Avatar\AvatarProviderInterface`. +* `before`/`after`: You can define the ordering how providers are executed. This is used to get the order in which the providers are executed. + + +For a new avatar provider you have to register a **new key** in `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']`. +If your avatar provider extends another one, you may only overwrite necessary settings. An example would be to +extend an existing provider and replace its registered 'provider' class with your new class name. + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['avatarProviders']['defaultAvatarProvider']['provider'] = \MyVendor\MyExtension\AvatarProvider\CustomAvatarProvider::class; + + +AvatarProviderInterface +----------------------- + +The AvatarProviderInterface contains only one method: + +`public function getImage(array $backendUser, $size);` + +The parameters are defined as: + +* `$backendUser`: The record from `be_users` database table. +* `$size`: The requested size of the avatar image. + +The return value of the method is expected to be an instance of `TYPO3\CMS\Backend\Backend\Avatar\Image` or NULL +when the provider can not provide an image. + +An `TYPO3\CMS\Backend\Backend\Image` object has 3 properties: + +* `$url`: Url of avatar image. Needs to be relative to the website root or an absolute URL. +* `$width`: The width of the image. +* `$height`: The height of the image. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68700-AutoloadDefinitionCanBeProvidedInExt_emconfphp.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68700-AutoloadDefinitionCanBeProvidedInExt_emconfphp.rst new file mode 100644 index 000000000000..887cfb21ca54 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68700-AutoloadDefinitionCanBeProvidedInExt_emconfphp.rst @@ -0,0 +1,75 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #68700 - Autoload definition can be provided in ext_emconf.php +======================================================================= + +See :issue:`68700` + +Description +=========== + +It is now possible for extensions to provide one or more PSR-4 definitions, +in the ext_emconf.php file. + +While it was possible to define a psr-4 section in a composer.json before already, now it is also +possible to define an autoload/psr-4 section in the ext_emconf.php file as well, so that extension authors +do not need to provide a composer.json just for that any more. + +This is the new recommended way to register classes for TYPO3. + +Example ext_emconf.php: + +.. code-block:: php + + <?php + $EM_CONF[$_EXTKEY] = array ( + 'title' => 'Extension skeleton for TYPO3 7', + 'description' => 'Description for ext', + 'category' => 'Example Extensions', + 'author' => 'Helmut Hummel', + 'author_email' => 'info@helhum.io', + 'author_company' => 'helhum.io', + 'shy' => '', + 'priority' => '', + 'module' => '', + 'state' => 'stable', + 'internal' => '', + 'uploadfolder' => '0', + 'createDirs' => '', + 'modify_tables' => '', + 'clearCacheOnLoad' => 0, + 'lockType' => '', + 'version' => '0.0.1', + 'constraints' => + array ( + 'depends' => + array ( + 'typo3' => '7.5.0-7.99.99', + ), + 'conflicts' => + array ( + ), + 'suggests' => + array ( + ), + ), + 'autoload' => + array( + 'psr-4' => + array( + 'Helhum\\ExtScaffold\\' => 'Classes' + ) + ) + ); + + +Impact +====== + +Without providing an autoload section, TYPO3 scans the complete extension directory for PHP class files and registers them all. +This includes test classes or classes of third party libraries, which might lead to unexpected results. + +Therefore it is recommended to provide such an autoload section in an extension. It will be ignored in older TYPO3 versions, so +there will be no issue with backwards compatibility. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68724-EMShowsOnlyDistributionsThatSuiteTheCurrentTYPO3Version.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68724-EMShowsOnlyDistributionsThatSuiteTheCurrentTYPO3Version.rst new file mode 100644 index 000000000000..d00d9c3c5202 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68724-EMShowsOnlyDistributionsThatSuiteTheCurrentTYPO3Version.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +==================================================================================================================== +Feature: #68724 - EM: "Get preconfigured distribution" shows only distributions that suite the current TYPO3 version +==================================================================================================================== + +See :issue:`68724` + +Description +=========== + +As the list of distributions gets longer, it is filtered now to those distributions that suite the current TYPO3 version. + + +Impact +====== + +Distributions that require different TYPO3 versions are not shown anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68741-IntroduceNewIconFactoryAsBaseForReplaceTheIconSkinningAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68741-IntroduceNewIconFactoryAsBaseForReplaceTheIconSkinningAPI.rst new file mode 100644 index 000000000000..2db46b45fb1b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68741-IntroduceNewIconFactoryAsBaseForReplaceTheIconSkinningAPI.rst @@ -0,0 +1,114 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Feature: #68741 - Introduce new IconFactory as base to replace the icon skinning API +==================================================================================== + +See :issue:`68741` + +Description +=========== + +The logic for working with icons, icon sizes and icon overlays is now bundled into the new `IconFactory` class. +The new icon factory will replace the old icon skinning API step by step. + +All core icons will be registered directly in the `IconRegistry` class, third party extensions must use +`IconRegistry::registerIcon()` to override existing icons or add additional icons to the icon factory. + +The `IconFactory` takes care of the correct icon and overlay size and the markup. + + +IconProvider +------------ + +The core implements three icon provider classes, which all implement the `IconProviderInterface`. + +* `BitmapIconProvider` for all kind of bitmap icons for gif, png and jpg files +* `FontawesomeIconProvider` for font icons from fontawesome.io +* `SvgIconProvider` for svg icons + +Third party extensions can provide own icon provider classes, each class must implement the `IconProviderInterface`. + + +BitmapIconProvider +------------------ + +The `BitmapIconProvider` has the following option + +* `source` The path to the bitmap file, this may also contain the EXT: prefix + + +FontawesomeIconProvider +----------------------- + +The `FontawesomeIconProvider` has the following option + +* `name` The name of the icon without the icon prefix e.g. `check` instead of `fa-check` + + +SvgIconProvider +--------------- + +The `SvgIconProvider` has the following option + +* `source` The path to the svg file, this may also contains the EXT: prefix + + +Register an icon +---------------- + +.. code-block:: php + + /* + * Put the following code into your ext_localconf.php file of your extension. + * + * @param string $identifier the icon identifier + * @param string $iconProviderClassName the icon provider class name + * @param array $options provider specific options, please reference the icon provider class + */ + $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); + $iconRegistry->registerIcon($identifier, $iconProviderClassName, array $options = array()); + + +Use an icon +----------- + +To use an icon, you need at least the icon identifier. The default size is currently 32x32 px. +The third parameter can be used to add an additional icon as overlay, which can be any registered icon. + +The `Icon` class provides only the following constants for Icon sizes: + +* `Icon::SIZE_SMALL` which currently means 16x16 px +* `Icon::SIZE_DEFAULT` which currently means 32x32 px +* `Icon::SIZE_LARGE` which currently means 48x48 px + +All the sizes can change in future, so please make use of the constants for an unified layout. + +.. code-block:: php + + $iconFactory = GeneralUtility::makeInstance(IconFactory::class); + $iconFactory->getIcon($identifier, Icon::SIZE_SMALL, $overlay)->render(); + + +ViewHelper +---------- + +The core provides a fluid ViewHelper which makes it really easy to use icons within a fluid view. + +.. code-block:: html + + {namespace core = TYPO3\CMS\Core\ViewHelpers} + <core:icon identifier="my-icon-identifier" /> + <!-- use the "small" size if none given -> + <core:icon identifier="my-icon-identifier" /> + <core:icon identifier="my-icon-identifier" size="large" /> + <core:icon identifier="my-icon-identifier" overlay="overlay-identifier" /> + <core:icon identifier="my-icon-identifier" size="default" overlay="overlay-identifier" /> + <core:icon identifier="my-icon-identifier" size="large" overlay="overlay-identifier" /> + + +Impact +====== + +No impact diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68746-AddAnnotationForCLIOnlyCommands.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68746-AddAnnotationForCLIOnlyCommands.rst new file mode 100644 index 000000000000..7973f355d1f7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68746-AddAnnotationForCLIOnlyCommands.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #68746 - Add annotation for CLI only commands +====================================================== + +See :issue:`68746` + +Description +=========== + +The PHPDoc annotation `@cli` was added to indicate Extbase CommandController +commands to be usable on CLI only. +In general each defined CommandController can be selected within the Extbase +CommandController Task in the scheduler. +For some commands like `extbase:help:help` running in a scheduler task is not +wanted or needed. Now those commands can be excluded from the scheduler command selection. + + +Impact +====== + +Extbase `CommandController` commands annotated with `@cli` are not shown as +command in the scheduler task. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68756-AddConfigBaseToStdWrap.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68756-AddConfigBaseToStdWrap.rst new file mode 100644 index 000000000000..bedb79dcaeb9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68756-AddConfigBaseToStdWrap.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +============================================== +Feature: #68756 - Add config "base" to stdWrap +============================================== + +See :issue:`68756` + +Description +=========== + +The following function was updated and added with a new optional parameter $base: +`TYPO3\CMS\Core\Utility\GeneralUtility::formatSize($sizeInBytes, $labels = '', $base = 0)` + +This affects the function: +`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->stdWrap_bytes` + +Until now it was not possible to set the base parameter via TypoScript if you add custom labels. + + +Impact +====== + +The ability to set the base (1000 or 1024) via TypoScript configuration has been added. + +With the `base` property it can be defined whether to use a base of 1000 or 1024 to calculate with + +Thus:: + bytes.labels = " | K| M| G" + bytes.base = 1000 diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68757-ProvideUntouchedNewPasswordInFeloginPasswordChangedHook.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68757-ProvideUntouchedNewPasswordInFeloginPasswordChangedHook.rst new file mode 100644 index 000000000000..f9052a3d9215 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68757-ProvideUntouchedNewPasswordInFeloginPasswordChangedHook.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Feature: #68757 - Provide untouched newPassword in felogin password_changed hook +================================================================================ + +See :issue:`68757` + +Description +=========== + +The new parameter `newPasswordUnencrypted` in the EXT:felogin password_changed +hook won't be salted if EXT:saltedpaswords is enabled. It is now possible to +work with the real new password. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68773-ShowASpecialImageForOfficialDistributionsInExtensionManager.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68773-ShowASpecialImageForOfficialDistributionsInExtensionManager.rst new file mode 100644 index 000000000000..c073a30fe3a5 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68773-ShowASpecialImageForOfficialDistributionsInExtensionManager.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Feature: #68773 - Show a special image for official distributions in Extension Manager +====================================================================================== + +See :issue:`68773` + +Description +=========== + +For official distributions a special image is displayed in the "Get preconfigured +distribution" list. So it is easier now to distinguish the official distributions +from others. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68804-ColoredOutputForCLI-relevantErrorMessages.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68804-ColoredOutputForCLI-relevantErrorMessages.rst new file mode 100644 index 000000000000..b7a420f9104f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68804-ColoredOutputForCLI-relevantErrorMessages.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #68804 - Colored output for CLI-relevant error messages +================================================================ + +See :issue:`68804` + +Description +=========== + +Calling `typo3/cli_dispatch.phpsh` via the command line will now show a +colored error message when an invalid or no CLI key as first parameter is given. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68837-ClosuresForCommandLineScripts.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68837-ClosuresForCommandLineScripts.rst new file mode 100644 index 000000000000..1f0bdd2876c8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-68837-ClosuresForCommandLineScripts.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #68837 - Closures for Command Line Scripts +=================================================== + +See :issue:`68837` + +Description +=========== + +For registering new command line scripts through the CLI API ("cliKey"), it is +now possible to use PHP closures instead of reference to PHP scripts. + +Example usage inside ext_localconf.php: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['cliKeys']['myclikey'] = array( + function() { + $controller = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Acme\MyExtension\CommandLineTool::class); + $controller->main(); + }, + '_CLI_lowlevel' + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69095-IntroduceIconStateForIconFactory.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69095-IntroduceIconStateForIconFactory.rst new file mode 100644 index 000000000000..1c1a9a97e464 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69095-IntroduceIconStateForIconFactory.rst @@ -0,0 +1,44 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #69095 - Introduce icon state for IconFactory +====================================================== + +See :issue:`69095` + +Description +=========== + +A state (default or disabled) for icons has been added. The state "disabled" marks an icon as disabled and shows the icon with 50% opacity. + + +Use an icon +----------- + +The method `IconFactory::getIcon()` has now a fourth parameter for the state. + +The `\TYPO3\CMS\Core\Type\Icon\IconState` class provides only the following constants for icon states: + +* `State::STATE_DEFAULT` which currently means 100% opacity +* `State::STATE_DISABLED` which currently means 50% opacity + +The states may change in future, so please make use of the constants for an unified layout. + +.. code-block:: php + + $iconFactory = GeneralUtility::makeInstance(IconFactory::class); + $iconFactory->getIcon($identifier, Icon::SIZE_SMALL, $overlay, IconState::cast(IconState::STATE_DEFAULT))->render(); + + +ViewHelper +---------- + +The core provides a Fluid ViewHelper which makes it really easy to use icons within a Fluid view. +This ViewHelper has an argument for the new state parameter. + +.. code-block:: html + + {namespace core = TYPO3\CMS\Core\ViewHelpers} + <core:icon identifier="my-icon-identifier" state="disabled" /> + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69119-AddABasicSearchToTheFilelistModule.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69119-AddABasicSearchToTheFilelistModule.rst new file mode 100644 index 000000000000..85e26fcd678f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69119-AddABasicSearchToTheFilelistModule.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Feature: #69119 - Add a basic search to the filelist module +=========================================================== + +See :issue:`69119` + +Description +=========== + +A basic recursive file search by file name has been added to be able to search +for files in the file list module like it was possible with EXT:dam. + +The search happens recursively from the currently chosen folder in the folder +tree. This way it is possible to search whole mount points or just single folders +with a lot of files. + +The search results will be displayed similar to the regular file list although +some features of the regular list view are missing. There is no possibility to +order the search results yet. Also the buttons for localization and clipboard +commands are missing in this first implementation. Regular file command links +like editing, renaming and deleting are already implemented. By default the +search results are ordered by the file identifier, i.e. the file path ascending +from A-Z. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69389-AddSpinningFeatureForIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69389-AddSpinningFeatureForIcon.rst new file mode 100644 index 000000000000..45b10f143cb4 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69389-AddSpinningFeatureForIcon.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #69389 - Add spinning feature for icon +=============================================== + +See :issue:`69389` + +Description +=========== + +The Icon API has now a support for spinning icons. While registering an icon a new property `spinning` is available: + + +.. code-block:: php + + $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); + $iconRegistry->registerIcon( + 'my-spinning-icon', + \TYPO3\CMS\Core\Imaging\IconProvider\FontawesomeIconProvider::class, + array( + 'name' => 'times', + 'spinning' => TRUE + ) + ); + + +Impact +====== + +Icons can now be animated. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst new file mode 100644 index 000000000000..6261ae7e4f0f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69401-AdoptFormToSupportTheExtbaseFluidMVCStack.rst @@ -0,0 +1,111 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Feature: #69401 - Adopt form to support the Extbase/ Fluid MVC stack +==================================================================== + +See :issue:`69401` + +Description +=========== + +Short summery +------------- + +The form extension - including the custom data model, controller logic, +property validation, views and templating - has been adopted to support +the Extbase/ Fluid MVC stack. This allows better customization and +control of the generated behavior and markup by simply modifying Fluid +templates or utilizing own custom view helper logic. At the same time +the rewrite must not break current setups, i.e. the frontend rendering +must be as compatible as possible. + +Details +------- + +Fluid Rendering +^^^^^^^^^^^^^^^ + +The rendering of the frontend output is based on Fluid. Form relies on +the native Fluid viewhelpers of the core and ships 2 new viewhelpers +for optimal rendering of the SELECT object including the support of +OPTGROUP objects. Furthermore a viewhelper is included to optimize the +output of text mails. + +To support existing setups a compatibility mode is introduced. The mode +is activated by default. This has no impact on the rendering as long as +no "old" TypoScript settings (like .layout =) are present. If old +rendering settings are used a compatibility theme is loaded which +guarantees maximum backwards compatibility including all the different +wrap-abilities like `containerWrap` and `elementWrap`. + +For new installations it is recommended to switch off the compatibility +mode and use own Fluid templates to customize the output. + +For each form object and view a Fluid partial is available. There are 3 +views: the form itself (show), the confirmation page (confirmation) and +the email (postProcessor/ mail). The patch allows to customize the +frontend output for every single view, e.g. one can have a custom Fluid +partial for the BUTTON object of the confirmation view. + +The `partialRootPath` can be overridden or extended to customize the form +objects on a global scope. Furthermore it is possible to set a partial +path for each form element on a local scope. + +.. code-block:: typoscript + + 10 = BUTTON + 10 { + label = My button + name = myButton + partialPath = FlatElements/MyButton + } + +The Fluid rendering would look for a MyButton.html located in the +defined `partialRootPath`. + +In addition it is now possible to decide if an element should be +rendered for a specific view. The visualisation can be adopted by using +the TypoScript settings `visibleInShowAction`, `visibleInConfirmationAction` +and `visibleInMail`. As an example, this is utilized to hide the FIELDSET +object on the confirmation page which was the default behaviour in +earlier versions of form. + +Extensibility +^^^^^^^^^^^^^ + +It is now possible to register custom form objects and attributes +easily only by using TypoScript and Fluid. Form attributes can now be +cObjects and use stdWrap. This is only possible if the form was not +designed within the form wizard. + +Furthermore 2 new signal slots are implemented to allow the +manipulation of the form objects and the submitted data. + +Validation +^^^^^^^^^^ + +The validators are now using the extbase property mapping validation +process. + +Additional information +^^^^^^^^^^^^^^^^^^^^^^ + +The session handling was dropped since it was unstable (see #58765). Now +form relies on the concepts of Extbase. + +The unit tests have been adopted to reflect the code changes. + +Future +^^^^^^ + +Further patches are needed to adopt the form wizard. The wizard still +works as it used to after applying this patch but it is not able to +reflect the new features like choosing a partial path for a single +element. + +Another patch will take care of the documentation. + +A few more patches will come which will fix some issues regarding the +validators and filters. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69409-AllowValueAttributeForOPTIONObjectInWizard.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69409-AllowValueAttributeForOPTIONObjectInWizard.rst new file mode 100644 index 000000000000..7db1e4ff1448 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69409-AllowValueAttributeForOPTIONObjectInWizard.rst @@ -0,0 +1,16 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Feature: #69409 - Allow value attribute for OPTION object in wizard +=================================================================== + +See :issue:`69409` + +Description +=========== + +Now it is possible to add a value to the OPTION object using the +wizard. Furthermore the table within the field options of the +SELECT configuration has been improved. There were no labels shown +which has been fixed now. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69416-MakeAbstractPluginpi_loadLLLoadLabelsFromCustomFile.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69416-MakeAbstractPluginpi_loadLLLoadLabelsFromCustomFile.rst new file mode 100644 index 000000000000..6334347d8347 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69416-MakeAbstractPluginpi_loadLLLoadLabelsFromCustomFile.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Feature: #69416 - Plugins (AbstractPlugin) can load custom language file +======================================================================== + +See :issue:`69416` + +Description +=========== + +`AbstractPlugin::pi_loadLL` takes an optional argument specifying path to a +language file. It allows placing language files in other paths like in Extbase +structure "Resources/Private/Language". Previously language file had to be +located in the directory set in the `scriptRelPath` property. + + +Impact +====== + +Possibility to put language label files in other paths. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69459-ShowTt_contentPreviewInPageModuleViaFluid.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69459-ShowTt_contentPreviewInPageModuleViaFluid.rst new file mode 100644 index 000000000000..ee404317c1d1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69459-ShowTt_contentPreviewInPageModuleViaFluid.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #69459 - Show tt_content preview in page module via Fluid +================================================================== + +See :issue:`69459` + +Description +=========== + +A new PageTSconfig option allows to render a preview of a single content element in the Backend via Fluid. + +The following option allows to override the default output of a content element via PageTSconfig: + +.. code-block:: typoscript + + mod.web_layout.tt_content.preview.media = EXT:site_mysite/Resources/Private/Templates/Preview/Media.html + +All content elements with CType "media" will then be rendered by the Fluid Template which can be rendered like: + +.. code-block:: html + + <h4>{header}</h4> + <f:format.crop length="200">{bodytext}</f:format.crop> + +All properties of the tt_content record are available in the template directly. +Any data of the flexform field `pi_flexform` is available with the property `pi_flexform_transformed` as an array. + +.. note:: + + If a PHP hook already is set to render the element, it will take precedence over the Fluid-based preview. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69496-ExtractTitleFromPDFWhenIndexing.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69496-ExtractTitleFromPDFWhenIndexing.rst new file mode 100644 index 000000000000..8cc2b131d52f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69496-ExtractTitleFromPDFWhenIndexing.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #69496 - Extract title from PDF when indexing +====================================================== + +See :issue:`69496` + +Description +=========== + +Indexed search is now able to natively extract the title when indexing PDF documents. + + +Impact +====== + +The title of indexed PDF documents is now extracted. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69512-SupportTyposcriptFilesAsTextFileType.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69512-SupportTyposcriptFilesAsTextFileType.rst new file mode 100644 index 000000000000..fd802fded192 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69512-SupportTyposcriptFilesAsTextFileType.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #69512 - Support \*.typoscript files as text file type +=============================================================== + +See :issue:`69512` + +Description +=========== + +The file type **typoscript** has been added to the list of text file types. + + +Impact +====== + +Files with the type **typoscript** can now be edited through the file list module. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69543-IntroducedGLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69543-IntroducedGLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst new file mode 100644 index 000000000000..3fac22e21e5a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69543-IntroducedGLOBALSTYPO3_CONF_VARSSYSmediafile_ext.rst @@ -0,0 +1,75 @@ + +.. include:: ../../Includes.txt + +================================================================================ +Feature: #69543 - Introduced $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'] +================================================================================ + +See :issue:`69543` + +Description +=========== + +Now we got the `RendererRegistry` with the `VideoTagRenderer`, `AudioTagRenderer` and `MediaViewHelper` in the +core we needed also a way to define a list of file extensions of the files that can be handled by these. This list +can then be used in the TCA for allowing sys_file_references to these files. + +.. code-block:: php + + // Comma list of file extensions perceived as media files by TYPO3. + // Lowercase and no spaces between + $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'] = 'gif,jpg,jpeg,bmp,png,pdf,svg,ai,mov,avi'; + + +TCA example: +------------ + +.. code-block:: php + + 'media' => array( + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.media', + 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('media', array( + 'foreign_types' => array( + '0' => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ), + \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => array( + 'showitem' => ' + --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette, + --palette--;;filePalette' + ) + ) + ), $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']) + ), + + +Extending this list: +-------------------- + +If you want to extend this list you can add the desired extension name to list in the `ext_localconf.php` of your extension. + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext'] .= ',myext'; diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69568-FormEngineDataProcessing.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69568-FormEngineDataProcessing.rst new file mode 100644 index 000000000000..a4518f6f7009 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69568-FormEngineDataProcessing.rst @@ -0,0 +1,30 @@ + +.. include:: ../../Includes.txt + +============================================ +Feature: #69568 - FormEngine data processing +============================================ + +See :issue:`69568` + +Description +=========== + +Warning: The `FormEngine` data structure will change in the future and extensions must +not rely on array or class structures at the moment. + +The FormEngine construct to render records has been split to two main parts where the first +data processing part takes care of gathering and processing all data needed for the second part +to render final form data. + +The data processing is done via `FormDataCompiler` that returns a data array that can be given +to the outer most render container. The array contains all main data required by the +render part like final `TCA` as well as the processed database row. + +Extensions can change the data processing by registering additional items in the data processing +chain. For casual `TCA` based database records, the `FormDataGroup` `TcaDatabaseRecord` is +used to define relevant data provider within +`$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaDatabaseRecord']`. Additional +data provider can be added at specific positions using the `depends` and `before` keywords +relative to other providers. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69602-SimplifyHandlingOfBackendLayoutsInFrontend.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69602-SimplifyHandlingOfBackendLayoutsInFrontend.rst new file mode 100644 index 000000000000..c766e94180b0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69602-SimplifyHandlingOfBackendLayoutsInFrontend.rst @@ -0,0 +1,43 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #69602 - Simplify handling of backend layouts in frontend +================================================================== + +See :issue:`69602` + +Description +=========== + +To avoid complex TypoScript for integrators, the handling of backend layouts has +been simplified for the frontend. + +To get the correct backend layout, the following TypoScript code can be used: + +.. code-block:: typoscript + + page.10 = FLUIDTEMPLATE + page.10 { + file.stdWrap.cObject = CASE + file.stdWrap.cObject { + key.data = pagelayout + + default = TEXT + default.value = EXT:sitepackage/Resources/Private/Templates/Home.html + + 3 = TEXT + 3.value = EXT:sitepackage/Resources/Private/Templates/1-col.html + + 4 = TEXT + 4.value = EXT:sitepackage/Resources/Private/Templates/2-col.html + } + } + +Using `data = pagelayout` is the same as using as + +.. code-block:: typoscript + + field = backend_layout + ifEmpty.data = levelfield:-2,backend_layout_next_level,slide + ifEmpty.ifEmpty = default diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69730-IntroduceUniqueIdGenerator.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69730-IntroduceUniqueIdGenerator.rst new file mode 100644 index 000000000000..5175b72d12de --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69730-IntroduceUniqueIdGenerator.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +============================================== +Feature: #69730 - Introduce uniqueId generator +============================================== + +See :issue:`69730` + +Description +=========== + +A new method `getUniqueId()` has been added to the StringUtility class. +Now there is a common way to generate an unique identifier which can be +used even in HTML tag attributes as it removes the invalid dot character. + + +.. code-block:: php + + $uniqueId = \TYPO3\CMS\Core\Utility\StringUtility::getUniqueId('Prefix'); + + +Impact +====== + +No need to remove the dot manually anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69855-DispatcherForBackendRoutingAdded.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69855-DispatcherForBackendRoutingAdded.rst new file mode 100644 index 000000000000..e5af33234851 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69855-DispatcherForBackendRoutingAdded.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +====================================================== +Feature: #69855 - Dispatcher for Backend Routing added +====================================================== + +See :issue:`69855` + +Description +=========== + +The previously introduced Backend Routing is updated so that Routes must be +defined with a class name and method name, or a Closure / callable. The +controller/action or closure is now named as "target". + +Example from `EXT:backend/Configuration/Backend/Routes.php` + +.. code-block:: php + + // Logout script for the TYPO3 Backend + 'logout' => [ + 'path' => '/logout', + 'target' => Controller\LogoutController::class . '::logoutAction' + ] + + +Impact +====== + +Each method that is registered will receive both the Request object and the +Response object which can be manipulated for output. + +The fixed `ControllerInterface` is not needed anymore and will be removed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69918-AddPSR-7-basedDispatchingForBackendModules.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69918-AddPSR-7-basedDispatchingForBackendModules.rst new file mode 100644 index 000000000000..14f80603bb87 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-69918-AddPSR-7-basedDispatchingForBackendModules.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +================================================================= +Feature: #69918 - Add PSR-7-based dispatching for Backend Modules +================================================================= + +See :issue:`69918` + +Description +=========== + +Built on the PSR-7 principle and the routing concepts, it is now possible to +register backend modules which are dispatched to a callable string instead of +pointing to an index.php file in `EXT:myextension/Modules/MyModule/index.php`. + +The method which is called, receives a PSR-compatible request and response object +and must return a response object which is outputted to the browser. + +An example registration uses the option `routeTarget` to resolve the method to +be called when rendering the module: + +.. code-block:: php + + \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule( + 'web', + 'layout', + 'top', + '', + array( + 'routeTarget' => \TYPO3\CMS\Backend\Controller\PageLayoutController::class . '::mainAction', + 'access' => 'user,group', + 'name' => 'web_layout', + 'labels' => array( + 'tabs_images' => array( + 'tab' => 'EXT:backend/Resources/Public/Icons/module-page.svg', + ), + 'll_ref' => 'LLL:EXT:backend/Resources/Private/Language/locallang_mod.xlf', + ), + ) + ); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70002-MakeItPossibleToRegisterOwnIconsForFileExtensions.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70002-MakeItPossibleToRegisterOwnIconsForFileExtensions.rst new file mode 100644 index 000000000000..e5cb620dd6b9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70002-MakeItPossibleToRegisterOwnIconsForFileExtensions.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Feature: #70002 - Make it possible to register own icons for file extensions +============================================================================ + +See :issue:`70002` + +Description +=========== + +The IconRegistry has been extended with a mapping of file extensions. + + +Impact +====== + +It is now possible to register or overwrite the iconIdentifier for a file extension. + +.. code-block:: php + + $iconRegistry = GeneralUtility::makeInstance(IconRegistry::class); + $iconRegistry->registerFileExtension('log', 'icon-identiifer-for-log-files'); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70078-ExtensionsCanProvideAClassMapForClassLoading.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70078-ExtensionsCanProvideAClassMapForClassLoading.rst new file mode 100644 index 000000000000..f59d97f581e7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-70078-ExtensionsCanProvideAClassMapForClassLoading.rst @@ -0,0 +1,80 @@ + +.. include:: ../../Includes.txt + +====================================================================== +Feature: #70078 - Extensions can provide a class map for class loading +====================================================================== + +See :issue:`70078` + +Description +=========== + +With the old class loader it was possible for extension authors +to register several classes in an ext_autoload.php file. + +This possibility was completely removed with introduction of composer class loading. +In composer mode, one can fully benefit from composer and its class loading options. +However TYPO3 installations in non composer mode (extracted and symlinked +archive of sources), lack this functionality completely. + +Now it is possible to provide a class map section in either the composer.json file +or the ext_emconf.php file. This section will be evaluated and used also in non composer mode. + +Example ext_emconf.php file: + +.. code-block:: php + + <?php + $EM_CONF[$_EXTKEY] = array ( + 'title' => 'Extension skeleton for TYPO3 7', + 'description' => 'Description for ext', + 'category' => 'Example Extensions', + 'author' => 'Helmut Hummel', + 'author_email' => 'info@helhum.io', + 'author_company' => 'helhum.io', + 'shy' => '', + 'priority' => '', + 'module' => '', + 'state' => 'stable', + 'internal' => '', + 'uploadfolder' => '0', + 'createDirs' => '', + 'modify_tables' => '', + 'clearCacheOnLoad' => 0, + 'lockType' => '', + 'version' => '0.0.1', + 'constraints' => + array ( + 'depends' => + array ( + 'typo3' => '7.5.0-7.99.99', + ), + 'conflicts' => + array ( + ), + 'suggests' => + array ( + ), + ), + 'autoload' => + array( + 'psr-4' => + array( + 'Helhum\\ExtScaffold\\' => 'Classes' + ), + 'classmap' => + array( + 'Resources/PHP/Libs' + ) + ) + ); + +In the example configuration the path `Resources/PHP/Libs` is parsed for PHP files which are automatically added +to the class loader. + +Impact +====== + +Extensions that target TYPO3 6.2 LTS and 7 LTS can now provide a class map in ext_emconf.php which is only evaluated in +TYPO3 7 LTS and an ext_autoload.php which is only evaluated in 6.2 LTS for maximum flexibility and compatibility. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Feature-7098-SeverityFilteringForFlashMessageQueue.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-7098-SeverityFilteringForFlashMessageQueue.rst new file mode 100644 index 000000000000..90306f16b6c8 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Feature-7098-SeverityFilteringForFlashMessageQueue.rst @@ -0,0 +1,24 @@ + +.. include:: ../../Includes.txt + +========================================================= +Feature: #7098 - Severity-filtering for FlashMessageQueue +========================================================= + +See :issue:`7098` + +Description +=========== + +So far only all messages of the FlashMessageQueue could be fetched and/or +removed. With this addition it's possible to do that for a given +severity only. The existing functions get an optional $severity-parameter. + +Usage: + +.. code-block:: php + + FlashMessageQueue::getAllMessages($severity); + FlashMessageQueue::getAllMessagesAndFlush($severity); + FlashMessageQueue::removeAllFlashMessagesFromSession($severity); + FlashMessageQueue::clear($severity); diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-67954-MigrateCTypesTextImageAndTextpicToTextmedia.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-67954-MigrateCTypesTextImageAndTextpicToTextmedia.rst new file mode 100644 index 000000000000..d0fa1c5ceddf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-67954-MigrateCTypesTextImageAndTextpicToTextmedia.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Important: #67954 - Migrate CTypes text, image and textpic to textmedia +======================================================================= + +See :issue:`67954` + +Description +=========== + +EXT:fluid_styled_content simplifies the available CTypes which results in types `text`, `image` and `textpic` +being dropped in favor of type `textmedia`. The relation field is changed from `image` to `media_references`. + + +Impact +====== + +When EXT:fluid_styled_content is installed and EXT:css_styled_content isn't installed an "Upgrade Wizard" is available in the +Install Tool to migrate all CE of type `text`, `image` or `textpic` to type `textmedia`. +Furthermore the relations to field `image` will be adjusted to `media_references` for the migrated CE's. + +The frontend rendering has to be adjusted so the new type is rendered after the migration is done. +Migration will not happen automatically but has to be triggered manually. + + +Affected Installations +====================== + +All installations where EXT:fluid_styled_content is installed and EXT:css_styled_content isn't installed. + + +Migration +========= + +First un-install EXT:css_styled_content and install EXT:fluid_styled_content. After that an "Upgrade Wizard" will be +available in the install tool to migrate all existing CE elements of type `text`, `image` or `textpic` to type `textmedia`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-68128-PHPMagicQuoteHandlingRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68128-PHPMagicQuoteHandlingRemoved.rst new file mode 100644 index 000000000000..9e9693bb47bb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68128-PHPMagicQuoteHandlingRemoved.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +==================================================== +Important: #68128 - PHP Magic Quote Handling removed +==================================================== + +See :issue:`68128` + +Description +=========== + +In PHP versions prior to PHP 5.4 the option of adding slashes (magic quotes) to +the superglobals `$_GET` and `$_POST` was causing inconsistent data handling. +TYPO3 therefore always added slashes to these variables on every request to +streamline the handling of the superglobals. The corresponding methods +`GeneralUtility::_GET()`, `GeneralUtility::_GP()` and `GeneralUtility::_POST()` +have been changed to not strip off slashes anymore. + +Since the PHP option was completely removed, TYPO3 is not adding slashes anymore, +and also does not strip the slashes anymore when using the methods within GeneralUtility. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-68758-CommandControllersAllowedInSubfolders.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68758-CommandControllersAllowedInSubfolders.rst new file mode 100644 index 000000000000..ed164988c69e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68758-CommandControllersAllowedInSubfolders.rst @@ -0,0 +1,21 @@ + +.. include:: ../../Includes.txt + +============================================================= +Important: #68758 - Command controllers allowed in subfolders +============================================================= + +See :issue:`68758` + +Description +=========== + +Extbase command controllers can now reside in arbitary subfolders within the +`Command` folder. This allows for better grouping and namespacing of commands. + +Given a command controller resides in `my_ext/Classes/Command/Hello/WorldCommandController.php`, +it can now be invoked like this: + +.. code-block:: shell + + typo3/cli_dispatch.sh extbase my_ext:hello:world <arguments> diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-68917-UpdateJQueryTo2x.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68917-UpdateJQueryTo2x.rst new file mode 100644 index 000000000000..ec6f1d418493 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-68917-UpdateJQueryTo2x.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +========================================= +Important: #68917 - Updated jQuery to 2.x +========================================= + +See :issue:`68917` + +Description +=========== + +With the step from jQuery 1.x to 2.x support for older browsers and "dirty workarounds" +have been dropped. Since TYPO3 CMS doesn't support "older" browsers (IE < 9) anymore, jQuery +was updated from 1.x to 2.x. For extensions that ran fine with an up-to-date 1.x-version +that shouldn't really make much difference. There might however be edge-cases where +extension-authors might need to adapt their jQuery scripts for 2.x. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-69084-AddingExtbaseObjectsWithNOTNULLColumnsHasChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69084-AddingExtbaseObjectsWithNOTNULLColumnsHasChanged.rst new file mode 100644 index 000000000000..a94be6251d53 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69084-AddingExtbaseObjectsWithNOTNULLColumnsHasChanged.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +============================================================================ +Important: #69084 - Adding Extbase Objects with NOT NULL columns has changed +============================================================================ + +See :issue:`69084` + +Description +=========== + +To better support databases that don't silently convert `NULL` values to +an empty default value for database columns defined as `NOT NULL` the +`insertObject()` method tries to determine the appropriate value for a column. + +Extbase object properties that have a value of `NULL` will be skipped when +preparing the record to enable the DBMS default value to be used. This behavior +has not changed compared to TYPO3 CMS 7.4 but allows proper support for DBMS that +are strict about `NOT NULL` columns by defining appropriate default values for +properties in the models. + + +Example database schema: + +.. code-block:: sql + + CREATE TABLE tx_blogexample_domain_model_blog ( + title varchar(255) DEFAULT '' NOT NULL + ); + +Example model definition: + +.. code-block:: php + + class Blog extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { + + /** + * The blog's title. + * + * @var string + */ + protected $title = ''; + + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-69137-LinkWizardPopupWidthAndHeightFieldsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69137-LinkWizardPopupWidthAndHeightFieldsRemoved.rst new file mode 100644 index 000000000000..dc87cf0c21ad --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69137-LinkWizardPopupWidthAndHeightFieldsRemoved.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Important: #69137 - Link Wizard popup width and height fields removed +===================================================================== + +See :issue:`69137` + +Description +=========== + +Opening links in popups with width/height definition is a very rare usecase nowadays. + +For user convenience and to have less clutter in the UI, the width and height +fields have been removed. +The editor is not able to select a width and height anymore, it can still be entered manually though. + +The RTE option `buttons.link.popupSelector.disabled` has no effect anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-69531-RemoveSpriteManagerIconViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69531-RemoveSpriteManagerIconViewHelper.rst new file mode 100644 index 000000000000..b5ebbdcbe95b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69531-RemoveSpriteManagerIconViewHelper.rst @@ -0,0 +1,14 @@ + +.. include:: ../../Includes.txt + +====================================================== +Important: #69531 - Remove SpriteManagerIconViewHelper +====================================================== + +See :issue:`69531` + +Description +=========== + +The `\TYPO3\CMS\Backend\ViewHelpers\SpriteManagerIconViewHelper` is not used anymore and has been removed. +Use `\TYPO3\CMS\Core\ViewHelpers\IconViewHelper` instead diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-69846-HaveEIDsWithPSR-7WithoutControllerInterface.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69846-HaveEIDsWithPSR-7WithoutControllerInterface.rst new file mode 100644 index 000000000000..732cf1855a44 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69846-HaveEIDsWithPSR-7WithoutControllerInterface.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Important: #69846 - Have eIDs with PSR-7 without ControllerInterface +==================================================================== + +See :issue:`69846` + +Description +=========== + +In order to allow the same logic as with the routing and the direct information +which method to call, implementing `ControllerInterface` is not mandatory anymore. + +Remove the `implements ControllerInterface` instruction in the affected class. The former `processRequest` +method may (and should) be changed to: + +.. code-block:: php + + public function anyMethodNameYouLike(ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response) { + } + +Please note that the `$response` object is now passed into the method directly, thus you must not create a new object +by `$response = GeneralUtility::makeInstance(Response::class);` any more. + +The eID_include registration in :file:`ext_localconf.php` must be changed in such case to + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include']['identifier'] = \Foo\Bar::class . '::anyMethodNameYouLike'; + diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Important-69909-FAL-basedDatabaseFieldsMovedToInteger.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69909-FAL-basedDatabaseFieldsMovedToInteger.rst new file mode 100644 index 000000000000..155609139bd6 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Important-69909-FAL-basedDatabaseFieldsMovedToInteger.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +============================================================== +Important: #69909 - FAL-based Database Fields moved to integer +============================================================== + +See :issue:`69909` + +Description +=========== + +The FAL-related fields in the database tables `pages`, `pages_language_overlay` and `tt_content` that contained +a comma-separated list of paths to files were migrated at 6.2 with the shipped update wizards to IRRE fields. +The database fields `pages.media`, `pages_language_overlay.media`, `tt_content.image` and `tt_content.media` +now only contain numeric values, which are handled by the DataHandler and the Reference Index, holding +the number of references. The database fields are now changed to be only int fields, instead fields of type `text`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.5/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.5/Index.rst new file mode 100644 index 000000000000..762cf03bdb88 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.5/Index.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +7.5 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* + +Important +^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Important-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-72931-SearchFormControllerpi_list_browseresultsHasBeenRenamed.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-72931-SearchFormControllerpi_list_browseresultsHasBeenRenamed.rst new file mode 100644 index 000000000000..7ac932e1d435 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-72931-SearchFormControllerpi_list_browseresultsHasBeenRenamed.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +================================================================================= +Breaking: #72931 - SearchFormController::pi_list_browseresults() has been renamed +================================================================================= + +See :issue:`72931` + +Description +=========== + +In order to make Indexed Search pi-based plugin PHP7 compatible, the `SearchFormController::pi_list_browseresults()` method has been renamed to `SearchFormController::renderPagination()`. +Parameter types, order and count has been preserved. However the methods visibility has been changed to protected. + + +Impact +====== + +Call to old method name will result in fatal error "Call to undefined method". + + +Affected Installations +====================== + +Any installation of TYPO3 7.6 or TYPO3 8 where SearchFormController is overloaded (XCLASSed) and new class contains call to old method name and +any code that called the public method from outside the class. + + +Migration +========= + +Rename `pi_list_browseresults()` to `renderPagination()`. + +Calling the method from outside the class is no longer possible. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-73461-ImportModuleDisabledForNonAdminUsers.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-73461-ImportModuleDisabledForNonAdminUsers.rst new file mode 100644 index 000000000000..cace1ffa33d9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Breaking-73461-ImportModuleDisabledForNonAdminUsers.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +============================================================= +Breaking: #73461 - Import module disabled for non admin users +============================================================= + +See :issue:`73461` + +Description +=========== + +The import module of extension "impexp" has been disabled for non-admin users by default. + + +Impact +====== + +For non-admin users who need that functionality, the userTsConfig option :ts:`options.impexp.enableImportForNonAdminUser = 1` must be set. This can have a negative security impact to the TYPO3 instance in core versions 7.6 and 6.2 and should only be enabled for "trustworthy" backend users in general. + + +Affected Installations +====================== + +Installations with non-admin users making active use of the import / export module + + +Migration +========= + +Set userTsConfig option :ts:`options.impexp.enableImportForNonAdminUser = 1` to restore the old behavior. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Feature-73461-EnableImportModuleForNonAdminUsers.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Feature-73461-EnableImportModuleForNonAdminUsers.rst new file mode 100644 index 000000000000..649959b9536d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Feature-73461-EnableImportModuleForNonAdminUsers.rst @@ -0,0 +1,20 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #73461 - Enable import module for non admin users +========================================================== + +See :issue:`73461` + +Description +=========== + +The new userTsConfig option :ts:`options.impexp.enableImportForNonAdminUser` can be used to enable +the import module of EXT:impexp for non admin users. + + +Impact +====== + +This option should be enabled for "trustworthy" backend users only. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-17904-ShowAccessRestrictedPagesDoesNotWorkWithSpecialMenus.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-17904-ShowAccessRestrictedPagesDoesNotWorkWithSpecialMenus.rst new file mode 100644 index 000000000000..1102f6839bdd --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-17904-ShowAccessRestrictedPagesDoesNotWorkWithSpecialMenus.rst @@ -0,0 +1,20 @@ +.. include:: ../../Includes.txt + +============================================================================== +Important: #17904 - showAccessRestrictedPages does not work with special menus +============================================================================== + +See :issue:`17904` + +Description +=========== + +HMENU setting `showAccessRestrictedPages=NONE` now acts as documented in +:ref:`t3tsref:menu-common-properties`. + +Before: using the option renders `<a>Page title</a>` when page is inaccessible. + +After: using the option renders `<a href="index.php?id=123">Page title</a>` +when page is not accessible. + +.. index:: Frontend, TypoScript \ No newline at end of file diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-75400-NewDataHandlerCommandCopyToLanguage.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-75400-NewDataHandlerCommandCopyToLanguage.rst new file mode 100644 index 000000000000..f7cdaf2e87bb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-75400-NewDataHandlerCommandCopyToLanguage.rst @@ -0,0 +1,21 @@ +.. include:: ../../Includes.txt + +============================================================ +Important: #75400 - New DataHandler command 'copyToLanguage' +============================================================ + +See :issue:`75400` + +Description +=========== + +A new DataHandler command 'copyToLanguage' has been introduced. It behaves like 'localize' command +(both record and child records are copied to given language), but does not set transOrigPointerField fields (e.g. l10n_parent). + +The 'copyToLanguage' command should be used when localizing records in the "Free Mode". This command is used when localizing +content elements using translation wizard's "Copy" strategy. + +The 'localize' DataHandler command should be used when translating records in "Connected Mode" (strict translation of records from the default language). +This command is used when selecting "Translate" strategy in content elements translation wizard. + +.. index:: PHP-API \ No newline at end of file diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77411-RemovedExtbaseTableColumnCache.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77411-RemovedExtbaseTableColumnCache.rst new file mode 100644 index 000000000000..ea7aa59b5cb9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77411-RemovedExtbaseTableColumnCache.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +====================================================== +Important: #77411 - Removed extbase table column cache +====================================================== + +See :issue:`77411` + +Description +=========== + +The extbase table column cache "extbase_typo3dbbackend_tablecolumns", +which was used to store all database fields of all database tables, +was removed. + +The associated configuration variable `$TYPO3_CONF_VARS[SYS][caching][cacheConfigurations][extbase_typo3dbbackend_tablecolumns]` can be removed. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77830-CSC-HeaderLinkRespectsGlobalPageTarget.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77830-CSC-HeaderLinkRespectsGlobalPageTarget.rst new file mode 100644 index 000000000000..85633b8ee331 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Important-77830-CSC-HeaderLinkRespectsGlobalPageTarget.rst @@ -0,0 +1,22 @@ +.. include:: ../../Includes.txt + +========================================================== +Important: #77830 - CSC-HeaderLinkRespectsGlobalPageTarget +========================================================== + +See :issue:`77830` + +Description +=========== + +Setting the global configuration :typoscript:`lib.parseTarget` was not respected by the header_link field. +Now the configuration is properly applied and might change the output in the frontend. + +Impact +====== + +If the global setting :typoscript:`lib.parseTarget` is set, the field header_link will now respect it. +If in addition the target of header_link is set in a content element, it will take precedence over +:typoscript:`lib.parseTarget`. + +.. index:: Frontend, TypoScript diff --git a/typo3/sysext/core/Documentation/Changelog/7.6.x/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.6.x/Index.rst new file mode 100644 index 000000000000..71e8f4c8a2b0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6.x/Index.rst @@ -0,0 +1,43 @@ +.. include:: ../../Includes.txt + +7.6.x Changes +============= + +Changes after 7.6.0 LTS release. + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Important +^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Important-* diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-24449-UseMovePlaceholdersAsDefaultInWorkspaces.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-24449-UseMovePlaceholdersAsDefaultInWorkspaces.rst new file mode 100644 index 000000000000..185374e95e1b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-24449-UseMovePlaceholdersAsDefaultInWorkspaces.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +================================================================= +Breaking: #24449 - Use move placeholders as default in workspaces +================================================================= + +See :issue:`24449` + +Description +=========== + +The ctrl section of each TCA table has the property "versioningWS" which might be set to "1" (enabled) or to "2" +which enables "move placeholders" functionality. + +The "move placeholders" are now active by default, removing the possibility to have a "simple workspace" concept +which does not consider sorting records inside a workspace. + + +Impact +====== + +All checks in TYPO3 consider all TCA tables that have workspaces enabled ("versioningWS") to be +move-placeholder-aware. All TCA tables that only have non-moveable-records in workspace now need the DB +table field "t3ver_moveid" to be added. + +All existing TCA configurations with "versioningWS" can now simply be set to TRUE instead of "2". + + +Affected Installations +====================== + +Any installation with third-party extensions that use workspace functionality but do not have move-placeholder-enabled records. + + +Migration +========= + +Make all TCA tables "move-placeholders" aware by adding the necessary database field "t3ver_moveid". diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-45899-SplitClassImportExportIntoClassesImportAndExport.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-45899-SplitClassImportExportIntoClassesImportAndExport.rst new file mode 100644 index 000000000000..4f08fd8bc7c9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-45899-SplitClassImportExportIntoClassesImportAndExport.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +========================================================================== +Breaking: #45899 - Split class ImportExport into classes Import and Export +========================================================================== + +See :issue:`45899` + +Description +=========== + +Class TYPO3\CMS\Impexp\ImportExport (typo3/sysext/impexp/Classes/ImportExport.php) is split into a class dedicated for import and another one for export. + + +Impact +====== + +Using and extending the class is not possible any more. + + +Affected Installations +====================== + +Those which use the class and its methods directly or extend the class. + + +Migration +========= + +Use or extend one or both of the new classes (TYPO3\CMS\Impexp\Import and TYPO3\CMS\Impexp\Export). diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-51099-StreamlineSettingsConditions.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-51099-StreamlineSettingsConditions.rst new file mode 100644 index 000000000000..075cedd46c37 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-51099-StreamlineSettingsConditions.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +================================================= +Breaking: #51099 - Streamline settings/conditions +================================================= + +See :issue:`51099` + +Description +=========== + +The default TypoScript for the `pi2` (extbase) plugin of EXT:indexed_search sets a TypoScript +variable `plugin.tx_indexedsearch.settings.displayRules = 1`, while the default fluid template +uses the TypoScript setting `plugin.tx_indexedsearch.settings.showRules`. This change makes the +default fluid template for the extbase plugin of EXT:indexed_search use the correct TypoScript +setting. + + +Impact +====== + +Instances of the extbase plugin (`pi2`) of EXT:indexed_search using the default fluid template and +explicitly configured to *hide* the search rules deliberately using the wrong TypoScript setting +`plugin.tx_indexedsearch.settings.showRules = 0` *will show* the search rules after this update. + + +Affected Installations +====================== + +Installations using the extbase plugin (`pi2`) of EXT:indexed_search with default template and relying +on the undocumented TypoScript setting `plugin.tx_indexedsearch.settings.showRules = 0`. + + +Migration +========= + +Change all occurrences of the TypoScript setting `plugin.tx_indexedsearch.settings.showRules = 0` +to `plugin.tx_indexedsearch.settings.displayRules = 1`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-62812-ResolveMenuUrlsToLinkToExternalPagesDirectly.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-62812-ResolveMenuUrlsToLinkToExternalPagesDirectly.rst new file mode 100644 index 000000000000..c98e1fb7e251 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-62812-ResolveMenuUrlsToLinkToExternalPagesDirectly.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #62812 - Resolve URLs to "Link to external URL"-pages directly +======================================================================== + +See :issue:`62812` + +Description +=========== + +The behaviour of pages with the type "Link to External URL" has changed for menus. +Those pages link now directly to the provided url instead of linking the internal +page with a redirect afterwards. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-63406-RespectRootlevelConfigurationinExtbaseQueries.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-63406-RespectRootlevelConfigurationinExtbaseQueries.rst new file mode 100644 index 000000000000..8d59d724f244 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-63406-RespectRootlevelConfigurationinExtbaseQueries.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #63406 - Respect rootLevel configuration in extbase queries +===================================================================== + +See :issue:`63406` + +Description +=========== + +The rootLevel of a table can be configured to 0, 1 or -1 in TCA, to define where records of a table can be found in the system: + +* 0: In the page tree only +* 1: Only on the root page (pid 0) +* -1: Both, on the root page and in the page tree + +Currently only 0 and 1 are respected by the `Typo3DbQueryParser` when building the pageId statement. This means that a rootLevel of -1 +does not get any pageId statement at all and therefore ignores any `storagePid` configuration for extbase plugins. + + +Impact +====== + +Custom records that have a configuration like this `$GLOBALS['TCA']['tx_myext_domain_model_record']['ctrl']['rootLevel'] = -1` and +are used in extbase plugins might have trouble finding the records if `plugin.tx_myext.persistence.storagePid` is not configured properly. + + +Affected Installations +====================== + +Third party code using `$GLOBALS['TCA']['tx_myext_domain_model_record']['ctrl']['rootLevel'] = -1` with records within the +page tree and without a proper `storagePid` configuration. + + +Migration +========= + +Set `plugin.tx_myext.persistence.storagePid` to the page ids you want to find records from. 0 does not need to be included as +it is added to the statement automatically. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-66369-RemovedElementBrowserRelatedClasses.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-66369-RemovedElementBrowserRelatedClasses.rst new file mode 100644 index 000000000000..70deeb25aa73 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-66369-RemovedElementBrowserRelatedClasses.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +========================================================= +Breaking: #66369 - Removed ElementBrowser related classes +========================================================= + +See :issue:`66369` + +Description +=========== + +The following classes have been removed without replacement + + * TYPO3\CMS\Core\ElementBrowser\ElementBrowserHookInterface + * TYPO3\CMS\Recordlist\Browser\ElementBrowser + * TYPO3\CMS\Rtehtmlarea\BrowseLinks + * TYPO3\CMS\Rtehtmlarea\FolderTree + * TYPO3\CMS\Rtehtmlarea\PageTree + + +Impact +====== + +Any code still using the aforementioned classes will cause a fatal error. + + +Affected Installations +====================== + +Any code still using the aforementioned classes. + + +Migration +========= + +Use the new API for adding element browsers or link handlers. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69227-StringsForLikeAreNotProperlyEscaped.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69227-StringsForLikeAreNotProperlyEscaped.rst new file mode 100644 index 000000000000..2fe277ff286d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69227-StringsForLikeAreNotProperlyEscaped.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +============================================================ +Breaking: #69227 - Strings for like are not properly escaped +============================================================ + +See :issue:`69227` + +Description +=========== + +The following constants have been removed: + +* `\TYPO3\CMS\IndexedSearch\Controller\SearchFormController::WILDCARD_LEFT` +* `\TYPO3\CMS\IndexedSearch\Controller\SearchFormController::WILDCARD_RIGHT` +* `\TYPO3\CMS\IndexedSearch\Domain\Repository\IndexSearchRepository::WILDCARD_LEFT` +* `\TYPO3\CMS\IndexedSearch\Domain\Repository\IndexSearchRepository::WILDCARD_RIGHT` + + +Impact +====== + +The mentioned constants don't exist anymore. + + +Affected Installations +====================== + +Third party code using the mentioned constants. + + +Migration +========= + +Use the new constants: + +* `\TYPO3\CMS\IndexedSearch\Utility\LikeWildcard::LEFT` +* `\TYPO3\CMS\IndexedSearch\Utility\LikeWildcard::RIGHT` diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-HookAjaxSaveCodeOfT3editorChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-HookAjaxSaveCodeOfT3editorChanged.rst new file mode 100644 index 000000000000..9c9797140f7a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-HookAjaxSaveCodeOfT3editorChanged.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +======================================================== +Breaking: #69916 - Hook ajaxSaveCode of t3editor changed +======================================================== + +See :issue:`69916` + +Description +=========== + +The `$ajaxObj` parameter has been replaced by PSR-7-compliant `$request` and `$response` objects. + + +Impact +====== + +Using the `$ajaxObj` parameter will result in a fatal error. + + +Affected Installations +====================== + +All 3rd party extensions using the `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/t3editor/classes/class.tx_t3editor.php']['ajaxSaveCode']` +hook are affected. + + +Migration +========= + +Make use of ServerRequestInterface and ResponseInterface, see :file:`typo3/sysext/t3editor/Classes/Hook/FileEditHook.php` for reference. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst new file mode 100644 index 000000000000..49cc7dca93b1 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst @@ -0,0 +1,161 @@ + +.. include:: ../../Includes.txt + +============================================================== +Breaking: #69916 - Registered AJAX handlers replaced by routes +============================================================== + +See :issue:`69916` + +Description +=========== + +AJAX handlers registered in the core by `ExtensionManagementUtility::registerAjaxHandler()` have been replaced +by AJAX routes, which are registered inside any extension under Configuration/Backend/AjaxRoutes.php. + +The routes registered in AjaxRoutes.php are available via JavaScript via `TYPO3.settings.ajaxUrls[routeIdentifier]`. + +Impact +====== + +Calling removed AJAX identifiers will result in an error. Please see the table below for migration. + + +Affected Installations +====================== + +All 3rd party extensions using one of the removed handlers is affected. + + +Migration +========= + +Please see the table to get the new AJAX identifier. + +EXT:backend +^^^^^^^^^^^ + +========================================================== ================================= ======================================= +Old identifier New identifier New AJAX ID +========================================================== ================================= ======================================= +SC_alt_db_navframe::expandCollapse sc_alt_db_navframe_expandtoggle /ajax/sc-alt-db-navframe/expandtoggle +SC_alt_file_navframe::expandCollapse sc_alt_file_navframe_expandtoggle /ajax/sc-alt-file-navframe/expandtoggle +TYPO3_tcefile::process file_process /ajax/file/process +TYPO3_tcefile::fileExists file_exists /ajax/file/exists +t3lib_TCEforms_inline::createNewRecord record_inline_create /ajax/inline/create +t3lib_TCEforms_inline::getRecordDetails record_inline_details /ajax/inline/record-details +t3lib_TCEforms_inline::synchronizeLocalizeRecords record_inline_synchronizelocalize /ajax/inline/synchronizelocalize +t3lib_TCEforms_inline::setExpandedCollapsedState record_inline_expandcollapse /ajax/inline/expandcollapse +t3lib_TCEforms_suggest::searchRecord record_suggest /ajax/wizard/suggest/search +ShortcutMenu::getShortcutEditForm shortcut_editform /ajax/shortcut/editform +ShortcutMenu::saveShortcut shortcut_saveform /ajax/shortcut/saveform +ShortcutMenu::render shortcut_list /ajax/shortcut/list +ShortcutMenu::delete shortcut_remove /ajax/shortcut/remove +ShortcutMenu::create shortcut_create /ajax/shortcut/create +SystemInformationMenu::load systeminformation_render /ajax/system-information/render +ModuleMenu::reload modulemenu /ajax/module-menu +BackendLogin::login login /ajax/login +BackendLogin::logout logout /ajax/logout +BackendLogin::refreshLogin login_refresh /ajax/login/refresh +BackendLogin::isTimedOut login_timedout /ajax/login/timedout +ExtDirect::getAPI ext_direct_api /ajax/ext-direct/api +ExtDirect::route ext_direct_route /ajax/ext-direct/route +DocumentTemplate::getFlashMessages flashmessages_render /ajax/flashmessages/render +ContextMenu::load contextmenu /ajax/context-menu +DataHandler::process record_process /ajax/record/process +UserSettings::process usersettings_process /ajax/user-settings/process +ImageManipulationWizard::getHtmlForImageManipulationWizard wizard_image_manipulation /ajax/wizard/image-manipulation +LiveSearch livesearch /ajax/livesearch +OnlineMedia::add online_media_create /ajax/online-media/create +========================================================== ================================= ======================================= + +EXT:beuser +^^^^^^^^^^ + +================================== ======================= ========================= +Old identifier New identifier New AJAX ID +================================== ======================= ========================= +PermissionAjaxController::dispatch user_access_permissions /users/access/permissions +================================== ======================= ========================= + +EXT:context_help +^^^^^^^^^^^^^^^^ + +=================================== ===================== ====================== +Old identifier New identifier New AJAX ID +=================================== ===================== ====================== +ContextHelpAjaxController::dispatch context_help /context-help +=================================== ===================== ====================== + +EXT:opendocs +^^^^^^^^^^^^ + +=================================== ===================== ====================== +Old identifier New identifier New AJAX ID +=================================== ===================== ====================== +TxOpendocs::renderMenu opendocs_menu /opendocs/menu +TxOpendocs::closeDocument opendocs_close /opendocs/close +=================================== ===================== ====================== + +EXT:recycler +^^^^^^^^^^^^ + +=================================== ===================== ====================== +Old identifier New identifier New AJAX ID +=================================== ===================== ====================== +RecyclerAjaxController::dispatch recycler /recycler +=================================== ===================== ====================== + +EXT:rsaauth +^^^^^^^^^^^ + +=================================== ===================== ====================== +Old identifier New identifier New AJAX ID +=================================== ===================== ====================== +BackendLogin::getRsaPublicKey rsa_publickey /rsa/publickey +RsaEncryption::getRsaPublicKey rsa_publickey /rsa/publickey +=================================== ===================== ====================== + +EXT:rtehtmlarea +^^^^^^^^^^^^^^^ + +=================================== ======================== ====================== +Old identifier New identifier New AJAX ID +=================================== ======================== ====================== +rtehtmlarea::spellchecker rtehtmlarea_spellchecker /rte/spellchecker +=================================== ======================== ====================== + +EXT:t3editor +^^^^^^^^^^^^ + +==================================== ===================================== ======================================= +Old identifier New identifier New AJAX ID +==================================== ===================================== ======================================= +T3Editor::saveCode t3editor_save /t3editor/save +T3Editor::getPlugins t3editor_get_plugins /t3editor/get-plugins +T3Editor_TSrefLoader::getTypes t3editor_tsref /t3editor/tsref +T3Editor_TSrefLoader::getDescription t3editor_tsref /t3editor/tsref +CodeCompletion::loadTemplates t3editor_codecompletion_loadtemplates /t3editor/codecompletion/load-templates +==================================== ===================================== ======================================= + +* T3Editor_TSrefLoader::getTypes and T3Editor_TSrefLoader::getDescription have been combined. The separation is done by + the new parameter `fetch` being either "types" or "description". + +EXT:taskcenter +^^^^^^^^^^^^^^ + +=================================== ======================== ====================== +Old identifier New identifier New AJAX ID +=================================== ======================== ====================== +Taskcenter::saveCollapseState taskcenter_collapse /taskcenter/collapse +Taskcenter::saveSortingState taskcenter_sort /taskcenter/sort +=================================== ======================== ====================== + +EXT:workspaces +^^^^^^^^^^^^^^ + +=================================== ======================== ====================== +Old identifier New identifier New AJAX ID +=================================== ======================== ====================== +Workspaces::setWorkspace workspace_switch /workspaces/switch +=================================== ======================== ====================== diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RemovedBackendLogingetRsaPublicKeyAJAXHandler.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RemovedBackendLogingetRsaPublicKeyAJAXHandler.rst new file mode 100644 index 000000000000..776630b027d3 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-69916-RemovedBackendLogingetRsaPublicKeyAJAXHandler.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +===================================================================== +Breaking: #69916 - Removed BackendLogin::getRsaPublicKey AJAX handler +===================================================================== + +See :issue:`69916` + +Description +=========== + +The deprecated AJAX handler `BackendLogin::getRsaPublicKey` has been removed in favor of `rsa_publickey`. As +`getRsaPublicKey` was the only method in this class, the file +:file:`typo3/sysext/rsaauth/Classes/Backend/AjaxLoginHandler.php` has been removed without substitution. + + +Impact +====== + +Calling the removed handler will result in an error. + + +Affected Installations +====================== + +All 3rd party extensions using the removed handler are affected. + + +Migration +========= + +Use the AJAX handler `rsa_publickey` instead of `BackendLogin::getRsaPublicKey`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70033-TcaIconOptionsForSelectFields.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70033-TcaIconOptionsForSelectFields.rst new file mode 100644 index 000000000000..721571fac474 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70033-TcaIconOptionsForSelectFields.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +===================================================== +Breaking: #70033 - TCA icon options have been removed +===================================================== + +See :issue:`70033` + +Description +=========== + +The `TCA` configurations `noIconsBelowSelect`, `foreign_table_loadIcons` and `suppress_icons` for select fields with +the render type `selectSingle` have been removed. + + +Impact +====== + +The old TCA settings `noIconsBelowSelect`, `foreign_table_loadIcons` and `suppress_icons` are ignored and +deprecation log entries will be triggered. A migration handles the update of the settings. + + +Affected Installations +====================== + +All installations with extensions that configure the icon table visibility of TCA select fields with one of the old settings. + + +Migration +========= + +Extension authors need to use the new option `showIconTable` to define the visibility of the icon table for their select fields. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70055-OverrideNewContentElementWizardViaPageTSconfig.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70055-OverrideNewContentElementWizardViaPageTSconfig.rst new file mode 100644 index 000000000000..1b8d02aab707 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70055-OverrideNewContentElementWizardViaPageTSconfig.rst @@ -0,0 +1,47 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #70055 - Override New Content Element Wizard via page TSconfig +======================================================================== + +See :issue:`70055` + +Description +=========== + +In the past it was possible to override the "New Content Element Wizard" via custom scripts +when using page TSconfig via `mod.web_list.newContentWiz.overrideWithExtension = myextension` to define an extension, +which then needed a file placed under `mod1/db_new_content_el.php`. The script was then called with certain parameters instead +of the wizard. + +The new way of handling entry-points and custom scripts is now built via modules and routes. The former option +`mod.web_list.newContentWiz.overrideWithExtension` has been removed and a new option +`mod.newContentElementWizard.override` has been introduced instead. Instead of setting the option to a certain extension key, +a custom module or route has to be specified. + +Example: + +.. code-block:: typoscript + + mod.newContentElementWizard.override = my_custom_module + + +Impact +====== + +Using the old TSconfig option `mod.web_list.newContentWiz.overrideWithExtension` has no effect anymore and +will fallback to the regular new content element wizard provided by the TYPO3 Core. + + +Affected Installations +====================== + +Any installation using this option with extensions providing custom New Content Element Wizards, e.g. templavoila. + + +Migration +========= + +The extension providing the script must be changed to register a route or module and set the TSconfig option to the route identifier, +instead of a raw PHP script. Any usages in TSconfig need to be adapted to use the new TSconfig option. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70132-FormEngineCustomFunctions.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70132-FormEngineCustomFunctions.rst new file mode 100644 index 000000000000..87e3a3a2756b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70132-FormEngineCustomFunctions.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +============================================== +Breaking: #70132 - FormEngine custom functions +============================================== + +See :issue:`70132` + +Description +=========== + +Due to the refactoring of the backend FormEngine code the "low end" extension API to manipulate data has +changed. Affected are especially the `type=user` `TCA` element, any `userFunc` configured in +`TCA` as well as the `itemsProcFunc` to manipulate single items in select, group and other types. + +In general data given to those custom functions has changed and extensions that rely on this data may +fail. For instance, if a `itemsProcFunc` was defined for a field within a flex form, the `row` +array argument contained the full parent database row in the past. This is no longer the case and +the parent database row is now transferred as `flexParentDatabaseRow`. In other cases data previously +handed over to custom functions may no longer be available at all. + + +Impact +====== + +Custom functions receive less or different options than before and may stop working. + + +Affected Installations +====================== + +Extensions using the `TCA` with `type=user` fields, extensions using `TCA` with `userFunc` and +extensions using `itemsProcFunc`. + + +Migration +========= + +Developers using this API have to debug the data given to custom functions and adapt accordingly. + +If the data given is not sufficient it is possible to register own element classes with the +`NodeFactory` or to manipulate data by adding a custom `FormDataProvider`. While the current +API will be mostly stable throughout further TYPO3 CMS 7 LTS patch releases, it may however happen +that the given API and data breaks again with the development of the TYPO3 CMS 8 path to make the +FormEngine code more powerful and reliable in the end. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70229-BE-lockSSL3OptionRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70229-BE-lockSSL3OptionRemoved.rst new file mode 100644 index 000000000000..6f41b852a058 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70229-BE-lockSSL3OptionRemoved.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +================================================ +Breaking: #70229 - BE-lockSSL = 3 option removed +================================================ + +See :issue:`70229` + +Description +=========== + +The global option `$TYPO3_CONF_VARS[BE][lockSSL]` allows to lock the backend usage to be worked completely over SSL. +Setting this option to "3" allowed to have only the backend login transmitted via SSL, but the rest forced to work +via plain HTTP. Option "3" has been removed in favor of having a full SSL session for all communication between the +server and the client / browser. + + +Impact +====== + +Installations having `lockSSL` set to "3" will now behave just as it would be lockSSL=1. + + +Affected Installations +====================== + +Any installation that has `$TYPO3_CONF_VARS[BE][lockSSL]` set to 3, only having SSL for the Backend login page. + + +Migration +========= + +It is recommended to set the `$TYPO3_CONF_VARS[BE][lockSSL]` option to 1 or 2, depending on the environment and the +possibilities of having SSL available. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70444-EXTform-FormAttributesAreNotRenderedInFE.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70444-EXTform-FormAttributesAreNotRenderedInFE.rst new file mode 100644 index 000000000000..f5195f638f1e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70444-EXTform-FormAttributesAreNotRenderedInFE.rst @@ -0,0 +1,45 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #70444 - EXT:form - Form attributes are not rendered in FE +==================================================================== + +See :issue:`70444` + +Description +=========== + +The TypoScript configuration of EXT:form has been streamlined. Useless +attributes for the specific form elements have been removed. +Additionally, missing attributes have been added. +Furthermore, the array notation of `htmlAttributes` and +`htmlAttributesUsedByTheViewHelperDirectly` has changed. +The whole cleanup was done to provide a solid configuration for the LTS +version. + + +Impact +====== + +The removed attributes will not be available anymore out of the box for +the specific form element. +Custom TypoScript which copied, referenced or removed certain attribute +configurations will not work anymore. + + +Affected Installations +====================== + +Any installation that relies on the structure of `htmlAttributes` and +`htmlAttributesUsedByTheViewHelperDirectly`. +Since the whole configuration has not been documented yet and the +functionality has been introduced with 7.5 the possibility that a lot of +installations customize the configuration is very low. + + +Migration +========= + +Affected installations have to re-add the missing attributes manually +and adopt the new array notation. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70503-EXTform-RemoveBreakOnErrorOptionFromWizard.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70503-EXTform-RemoveBreakOnErrorOptionFromWizard.rst new file mode 100644 index 000000000000..c3863a0e7f73 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70503-EXTform-RemoveBreakOnErrorOptionFromWizard.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #70503 - EXT:form - Remove breakOnError option from wizard +==================================================================== + +See :issue:`70503` + +Description +=========== + +The validation option `breakOnError` is not supported anymore. The option +has been removed completely. + + +Impact +====== + +The validation process cannot be interrupted anymore, i.e. the whole form +will be validated and all error messages will be shown. + + +Affected Installations +====================== + +Any installation that implements the `breakOnError` functionality. + + +Migration +========= + +The function has been removed without any substitution. Therefore there is +no migration possible. The attribute can be manually removed from the form +configuration. The wizard ignores the existence of `breakOnError`. +Since TYPO3 7.5 it is possible to utilize HTML5 attributes to validate +form elements on the fly. This could be used to emulate the behaviour. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70574-FormWizardSaveHandlingChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70574-FormWizardSaveHandlingChanged.rst new file mode 100644 index 000000000000..0498eaddccfe --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70574-FormWizardSaveHandlingChanged.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +==================================================== +Breaking: #70574 - Form Wizard Save Handling Changed +==================================================== + +See :issue:`70574` + +Description +=========== + +The ExtJS wizard of EXT:form in the backend has been using an old "module" to load and to save the data from the wizard, but has been misusing this functionality as AJAX responses. +All AJAX requests for the wizard are now built with AJAX Routes and PSR-7-based Request/Response objects. + +All obsolete WizardView PHP classes have been removed without substitution: + + * \TYPO3\CMS\Form\View\Wizard\AbstractWizardView + * \TYPO3\CMS\Form\View\Wizard\LoadWizardView + * \TYPO3\CMS\Form\View\Wizard\SaveWizardView + + +Impact +====== + +Using these now non-existent PHP classes will result in fatal errors or wrong results when calling them directly. + + +Affected Installations +====================== + +Any installations with extensions that hook into the wizard views of EXT:form. + + +Migration +========= + +Use the AJAX routes available via `TYPO3.settings.ajaxUrls['formwizard_load']` and `TYPO3.settings.ajaxUrls['formwizard_save']`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70578-JumpURLFunctionalityRemovedFromTheTYPO3Core.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70578-JumpURLFunctionalityRemovedFromTheTYPO3Core.rst new file mode 100644 index 000000000000..f9883c3bd612 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-70578-JumpURLFunctionalityRemovedFromTheTYPO3Core.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +==================================================================== +Breaking: #70578 - JumpURL functionality removed from the TYPO3 Core +==================================================================== + +See :issue:`70578` + +Description +=========== + +The handling and generation of so-called Jump URLs has been moved into its own extension called "jumpurl" +and is now available in the TYPO3 Extension Repository (TER), and available via composer as the package name +"friendsoftypo3/jumpurl". + + +Impact +====== + +If the functionality was used in an installation before (e.g. with Direct Mail or via TypoScript), this functionality is +not working anymore. + + +Affected Installations +====================== + +All installations where Jump URLs were used. + + +Migration +========= + +Download and install the extension "jumpurl" from the TER. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-71110-TYPO3-specificUploadLimitRemoved.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-71110-TYPO3-specificUploadLimitRemoved.rst new file mode 100644 index 000000000000..04d772b08217 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-71110-TYPO3-specificUploadLimitRemoved.rst @@ -0,0 +1,39 @@ + +.. include:: ../../Includes.txt + +====================================================== +Breaking: #71110 - TYPO3-specific Upload Limit removed +====================================================== + +See :issue:`71110` + +Description +=========== + +TYPO3 has a specific upload limit setting, that is set to 10MB by default, to manually limit down the PHP-specific +setting `max_upload_limit`. If not configured properly the PHP limit was lower than the TYPO3-specific limit. + +The TYPO3 setting `$TYPO3_CONF_VARS['BE']['maxFileSize']` has been removed and the PHP-internal limit is now the +upper barrier. + + +Impact +====== + +Setting the option mentioned above has no effect anymore. The PHP limit is used instead. + +The TCA setting `max_size` for `fe_users.image` has been removed, allowing editors to upload images with a size +up to the PHP-specific limit. + + +Affected Installations +====================== + +Extensions that use `$GLOBALS['TYPO3_CONF_VARS']['BE']['maxFileSize']` as default for the TCA setting `max_size` +need adjustment, if the PHP-specific upload limit is higher than `$TYPO3_CONF_VARS['BE']['maxFileSize']`. + + +Migration +========= + +Explicitly set a value for `max_size` or drop those lines from your TCA configuration. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-72117-APIChangeInExceptionHandlerInterface.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-72117-APIChangeInExceptionHandlerInterface.rst new file mode 100644 index 000000000000..632373ca2d76 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-72117-APIChangeInExceptionHandlerInterface.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================== +Breaking: #72117 - API change in ExceptionHandlerInterface +========================================================== + +See :issue:`72117` + +Description +=========== + +The class \Throwable was added in PHP7 as new parent of \Exceptions. This leads to the issue that ExceptionHandlers need to change the API of their exception handling method. To support PHP 5.5, 5.6 and 7.0 we need to remove the type hint. It will later be set to \Throwable if we only support PHP 7.0 and newer. +See http://php.net/manual/en/migration70.incompatible.php + + +Impact +====== + +A fatal error will be thrown if you use own ExceptionHandlers implementing TYPO3\CMS\Core\Error\ExceptionHandlerInterface "Fatal error: Declaration of ... must be compatible with ..." + + +Affected Installations +====================== + +Installations which use an own ExceptionHandler implementing TYPO3s ExceptionHandlerInterface. + + +Migration +========= + +Remove the type hinting in your implementation of ExceptionHandlerInterface. If you switch to PHP 7 you may also get instances from \Throwable, so check the API/type hinting of the function were you process the exception. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-77344-EXTform-RenameConfigurationForConfirmationView.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-77344-EXTform-RenameConfigurationForConfirmationView.rst new file mode 100644 index 000000000000..5e5aa1611512 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Breaking-77344-EXTform-RenameConfigurationForConfirmationView.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +======================================================================== +Breaking: #77344 - EXT:form - Rename configuration for confirmation view +======================================================================== + +See :issue:`77344` + +Description +=========== + +The typoscript key :ts:`configuration` for the confirmation configuration has been renamed. + +Up until now the layout settings of the confirmation view could be addressed via :ts:`tt_content.mailform.20.confirmation.layout`. This setting was introduced with patch 28526 but never documented. + +Besides this, the confirmation view enable setting can be set via :ts:`tt_content.mailform.20.confirmation = 1`. + +To keep the meaning of the settings clear, it was decided to rename the configuration of the confirmation view. + + +Impact +====== + +Having the confirmation view enabled and the confirmation configuration customized, a naming collision occurs. As a result, the confirmation step has been disabled. +Since the configuration was never documented, only few people know about this setting. + + +Affected Installations +====================== + +All installations enabling the confirmation view and customizing the layout of this view. + + +Migration +========= + +All occurences of :ts:`tt_content.mailform.20.confirmation.layout` have to be migrated to :ts:`tt_content.mailform.20.confirmationView.layout`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-51482-ScriptBasedModules.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-51482-ScriptBasedModules.rst new file mode 100644 index 000000000000..979697472cff --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-51482-ScriptBasedModules.rst @@ -0,0 +1,41 @@ + +.. include:: ../../Includes.txt + +========================================== +Deprecation: #51482 - Script-based modules +========================================== + +See :issue:`51482` + +Description +=========== + +Pseudo-modules that are registered via `ExtensionManagementUtility::addModulePath()` and +modules that are registered via `ExtensionManagementUtility::addModule()` using the fourth parameter +as a custom script-path have been marked as deprecated. + +The method `ExtensionManagementUtility::addModulePath()` itself has been marked as deprecated. + + +Impact +====== + +All existing modules which are not registered via Routing will trigger a deprecation entry on registration +of the module and when calling the module directly. + + +Affected Installations +====================== + +All third-party extensions registering a wizard, module or route without using routeTarget or Routes.php, +which have been introduced with TYPO3 CMS 7. + + +Migration +========= + +Use Configuration/Backend/Routes.php to register wizards and use +`ExtensionManagementUtility::addModule()` when registering a routePath option in the fifth parameter to +use the proper PSR-7 compatible way of registering and calling modules. +Make sure to use UriBuilder and `BackendUtility::getModuleUrl()` to link to these modules instead of +hard-linking to the script names. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-60712-GetDynamicTabMenu.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-60712-GetDynamicTabMenu.rst new file mode 100644 index 000000000000..bb3f0f834b30 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-60712-GetDynamicTabMenu.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=========================================================== +Deprecation: #60712 - DocumentTemplate->getDynamicTabMenu() +=========================================================== + +See :issue:`60712` + +Description +=========== + +Methods `TYPO3\CMS\Backend\Template\DocumentTemplate::getDynamicTabMenu()` and +`TYPO3\CMS\Backend\Template\DocumentTemplate::getDynTabMenuId()` have been marked as deprecated. + + +Affected Installations +====================== + +Instances with custom backend modules that use these methods. + + +Migration +========= + +Use `TYPO3\CMS\Backend\Utility\ModuleTemplate::getDynamicTabMenu()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-65728-DocumentTemplate-issueCommand.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-65728-DocumentTemplate-issueCommand.rst new file mode 100644 index 000000000000..d054d95ba68d --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-65728-DocumentTemplate-issueCommand.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +====================================================== +Deprecation: #65728 - DocumentTemplate->issueCommand() +====================================================== + +See :issue:`65728` + +Description +=========== + +Method `TYPO3\CMS\Backend\Template\DocumentTemplate::issueCommand()` has been marked as deprecated. + + +Affected Installations +====================== + +Instances with custom backend modules that use this method. + + +Migration +========= + +Use `TYPO3\CMS\Backend\Utility\BackendUtility::getLinkToDataHandlerAction()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69369-UsePropertyTextInsteadOfDataForTEXTAREATEXTBLOCKOPTION.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69369-UsePropertyTextInsteadOfDataForTEXTAREATEXTBLOCKOPTION.rst new file mode 100644 index 000000000000..5cfeb282c3d7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69369-UsePropertyTextInsteadOfDataForTEXTAREATEXTBLOCKOPTION.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +======================================================= +Deprecation: #69369 - Use property text instead of data +======================================================= + +See :issue:`69369` + +Description +=========== + +The FORM elements `TEXTAREA` and `OPTION` currently use "data" as property +name to define default "values" which are used as human readable +"labels" inside the specific tag. Furthermore, the `TEXTBLOCK` element uses +the "content" property to define custom text. All other `FORM` elements +use "value". Since "data" implies the possibility to use computed +values, this patch deprecates "data" and adds a new property +called "text". + + +Impact +====== + +Using the property "data" will trigger a deprecation log entry. + + +Affected Installations +====================== + +Any TYPO3 installation using `TEXTAREA`, `OPTION` and `TEXTBLOCK` elements +which use the property "data". + + +Migration +========= + +Remove usage of the "data" property and use "text" instead. Opening a +specific form with the form wizard and storing the form again will also +migrate from "data" to "text". diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69822-DeprecateSelectFieldTca.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69822-DeprecateSelectFieldTca.rst new file mode 100644 index 000000000000..02ec9b4a3a63 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69822-DeprecateSelectFieldTca.rst @@ -0,0 +1,71 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #69822 - Deprecate TCA settings of select fields +============================================================= + +See :issue:`69822` + +Description +=========== + +Using the TCA field type `select` without specifying a valid `renderType` has been marked as deprecated. + +Additionally the usage of `renderMode` for select fields has been marked as deprecated. + +These `renderType` settings are available: + + +.. container:: table-row + + Key + renderType + + Datatype + string + + Description + This setting specifies how the select field should be displayed. Available options are: + + - `selectSingle` - Normal select field for selecting a single value. + - `selectSingleBox` - Normal select field for selecting multiple values. + - `selectCheckBox` - List of checkboxes for selecting muliple values. + - `selectMultipleSideBySide` - Two select fields, items can be selected from the right + field, selected items are displayed in the left select. + - `selectTree` - A tree for selecting hierarchical data. + + Scope + Display + + +'renderType' => 'selectMultipleSideBySide', +'renderType' => 'selectCheckBox', +'renderType' => 'selectSingle', +'renderType' => 'selectSingleBox', +'renderType' => 'selectTree', + +.. note:: + + If a field has no `renderType` set but `maxitems` is set, the migration will set + `renderType` to `selectSingle` in case of `maxitems` is <= 1 otherwise `renderType` + is set to `selectMultipleSideBySide` + + +Impact +====== + +The old TCA settings can still be used. A migration handles the update of the settings. + + +Affected Installations +====================== + +All installations with extensions that configure TCA select fields in the old format. + + +Migration +========= + +Extension authors need to add the correct `renderType` setting to their select +field definitions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69877-UseModuleTemplateAPIForExtfilelist.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69877-UseModuleTemplateAPIForExtfilelist.rst new file mode 100644 index 000000000000..e9559f5f870e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-69877-UseModuleTemplateAPIForExtfilelist.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #69877 - Use ModuleTemplate API for ext:filelist +============================================================= + +See :issue:`69877` + +Description +=========== + +Method `getButtonsAndOtherMarkers` of class `\TYPO3\CMS\Filelist\FileList` has been marked as deprecated. + + +Impact +====== + +The method should not be used any longer and will be removed with TYPO3 CMS 8. + + +Affected Installations +====================== + +All third party extensions using the mentioned method. + + +Migration +========= + +Use the ModuleTemplate API instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70052-ExtLoadedDisplayCondition.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70052-ExtLoadedDisplayCondition.rst new file mode 100644 index 000000000000..20b1fb4f8da2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70052-ExtLoadedDisplayCondition.rst @@ -0,0 +1,42 @@ + +.. include:: ../../Includes.txt + +====================================================== +Deprecation: #70052 - TCA Display condition EXT LOADED +====================================================== + +See :issue:`70052` + +Description +=========== + +In `TCA` the `EXT:anExtension:LOADED` display condition has been marked as deprecated. + + +Affected Installations +====================== + +Extensions that use `LOADED` display conditions. Those can be located by +searching for `LOADED` in the backend module `Configuration` `TCA` section, +example match from rtehtmlarea: + +.. code-block:: php + + 'static_lang_isocode' => array( + 'displayCond' => 'EXT:static_info_tables:LOADED:true', + 'config' => ... + ... + ), + + +Migration +========= + +Do not use any longer. `TCA` works additive, so the extension that is referenced in +`EXT:LOADED:extensionName` should instead add columns definition instead of the +referring extension defining the `TCA` conditional. In the example above, the +column definition of `static_lang_isocode` was removed from extension `rtehtmlarea` +and moved to extension `static_info_tables`, adding the field in an +`Configuration/TCA/Overrides` file to the affected table. To ensure the load order +of extensions is correct, `static_info_tables` could set a `suggest` dependency +`rtehtmlarea`. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70138-FlexFormLanguageHandling.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70138-FlexFormLanguageHandling.rst new file mode 100644 index 000000000000..6026e37bff4f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70138-FlexFormLanguageHandling.rst @@ -0,0 +1,88 @@ + +.. include:: ../../Includes.txt + +================================================= +Deprecation: #70138 - Flex form language handling +================================================= + +See :issue:`70138` + +Description +=========== + +`TCA` flex fields had an own language handling that allowed to store field localization within +the flex data itself and not within the usual database driven overlay records. This was mainly +introduced for `TemplaVoila` and usually only used in this context. + +The whole flex form specific language handling has been moved from core extensions to extension +`compatibility6` and will not be delivered with `TYPO3 CMS 7 LTS` anymore. + +The following flex XML data structure keys have been marked as deprecated and are supported by `compatiblity6` only: + +* `<meta><langDisable>` +* `<meta><langChildren>` +* `<meta><currentLangId>` + + +The following `PageTSConfig` options have been dropped and are ignored if `compatibility6` is not loaded: + +* `TCEFORM.[tableName].[field].[dataStructureKey].langDisable` +* `TCEFORM.[tableName].[field].[dataStructureKey].langChildren` + + +The following `UserTSConfig` options have been dropped and are ignored if `compatibility6` is not loaded: + +* `options.checkPageLanguageOverlay` + + +The following `LocalConfiguration` value has been marked as deprecated, will be removed by the install tool and +is set by `compatibility6` to `TRUE`: + +* `$GLOBALS['TYPO3_CONF_VARS']['BE']['flexFormXMLincludeDiffBase']` + + +The following method has been marked as deprecated and is cloned by `compatibility6` in an `XCLASS`: + +* `TYPO3\CMS\Core\Configaration\FlexForm\FlexFormTools->getAvailableLanguages()` + + +The following property has been marked as deprecated: + +* `TYPO3\CMS\Core\DataHandling\DataHandler->clear_flexFormData_vDEFbase` + + +Impact +====== + +If this feature is needed, the `compatibility6` extension must be loaded to keep compatibility +with older versions after upgrading from `TYPO3 CMS 6.2`. If the extension is not loaded, +flex form fields can no longer be localized on flex data level. + + +Affected Installations +====================== + +All multi language installations that use flex form with meta field `langDisable` not set to 1 +in their data structure definition and that make active use of the flex localization feature. +This is the case if records with flex form fields show flex forms multiple times with different +language flags. + + +Migration +========= + +Load extension `compatibility6` for a compatibility layer in `TYPO3 CMS 7`, or migrate affected +features to use the record based localization feature. The flex field based language handling +will most likely vanish with `TYPO3 CMS 8` altogether. In case the feature is needed for a +longer time the code from `compatibility6` could be used as a kick start for an implementation +within an own extension. + +In case `compatibility6` is loaded, some core content elements may start showing flex field +language overlays since the `langDisable` meta definition has been removed from their data +structure XML. This can be suppressed with this `PageTSConfig` snippet: + +.. code-block:: typoscript + + TCEFORM.tt_content.pi_flexform.table.langDisable = 1 + TCEFORM.tt_content.pi_flexform.login.langDisable = 1 + TCEFORM.tt_content.pi_flexform.media.langDisable = 1 diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70477-DeprecateSpriteIconClasses.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70477-DeprecateSpriteIconClasses.rst new file mode 100644 index 000000000000..0da9dc3a0833 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70477-DeprecateSpriteIconClasses.rst @@ -0,0 +1,37 @@ + +.. include:: ../../Includes.txt + +================================================== +Deprecation: #70477 - Deprecate SpriteIcon classes +================================================== + +See :issue:`70477` + +Description +=========== + +The following classes have been marked as deprecated. + +.. code-block:: php + + \TYPO3\CMS\Backend\Sprite\AbstractSpriteHandler + \TYPO3\CMS\Backend\Sprite\SimpleSpriteHandler + \TYPO3\CMS\Backend\Sprite\SpriteBuildingHandler + + +Impact +====== + +Any usage of these classes will trigger a deprecation log entry. + + +Affected Installations +====================== + +Extensions that use these PHP classes. + + +Migration +========= + +Use the `IconRegistry` to register icons. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70494-WrapClickMenuOnIcon.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70494-WrapClickMenuOnIcon.rst new file mode 100644 index 000000000000..97de4f7e8785 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70494-WrapClickMenuOnIcon.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +============================================================= +Deprecation: #70494 - DocumentTemplate->wrapClickMenuOnIcon() +============================================================= + +See :issue:`70494` + +Description +=========== + +Method `TYPO3\CMS\Backend\Template\DocumentTemplate::wrapClickMenuOnIcon()` has been marked as deprecated. + + +Affected Installations +====================== + +Instances with custom backend modules that use this method. + + +Migration +========= + +Use `TYPO3\CMS\Backend\Utility\BackendUtility::wrapClickMenuOnIcon()` instead. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70514-DynamicConfigFile.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70514-DynamicConfigFile.rst new file mode 100644 index 000000000000..9ca3b4201125 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-70514-DynamicConfigFile.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +===================================================== +Deprecation: #70514 - dynamicConfigFile is deprecated +===================================================== + +See :issue:`70514` + +Description +=========== + +The `TCA` configuration `dynamicConfigFile` within the `ctrl` section of a table has been marked as +deprecated and must not be used any longer. + + +Impact +====== + +Using `dynamicConfigFile` within the `ctrl` section of a table will trigger a deprecation log entry. + + +Migration +========= + +The setting is typically used in `ext_tables.php` files of extensions. The table configuration (`TCA`) must be moved to an own +file in `Configuration/TCA/<table_name>.php`. The `dynamicConfigFile` setting isn't needed anymore since the whole `TCA` array +definition is in this file. + +Furthermore, any other `TCA` manipulation of third party tables must be moved to `Configuration/TCA/Overrides` and no `TCA` +setting must remain in `ext_tables.php`. This is highly encouraged since TYPO3 CMS 6.2 already for performance reasons. If +this change is not applied to extensions, extension `compatibility6` must be loaded or further migration may not be applied +to this portion of `TCA` leading to all sorts of possible issues. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71153-DocumentTemplateSpacer.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71153-DocumentTemplateSpacer.rst new file mode 100644 index 000000000000..6ee18a847f4e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71153-DocumentTemplateSpacer.rst @@ -0,0 +1,25 @@ + +.. include:: ../../Includes.txt + +================================================ +Deprecation: #71153 - DocumentTemplate->spacer() +================================================ + +See :issue:`71153` + +Description +=========== + +Method `TYPO3\CMS\Backend\Template\DocumentTemplate::spacer()` has been marked as deprecated. + + +Affected Installations +====================== + +Instances with custom backend modules that use this method. + + +Migration +========= + +Add the needed margin as HTML / CSS. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71249-DeprecateRenderMethodOfFlashMessageClass.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71249-DeprecateRenderMethodOfFlashMessageClass.rst new file mode 100644 index 000000000000..e4048318abad --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Deprecation-71249-DeprecateRenderMethodOfFlashMessageClass.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +=================================================================== +Deprecation: #71249 - Deprecate render method of FlashMessage class +=================================================================== + +See :issue:`71249` + +Description +=========== + +Method `TYPO3\CMS\Core\Messaging\FlashMessage::render()` has been marked as deprecated. + + +Affected Installations +====================== + +Instances with custom backend modules that use this method. + + +Migration +========= + +Use custom render code, the `<f:flashMessage />` ViewHelper or the `ModuleTemplate` for backend modules to render FlashMessages. +It is suggested not to include HTML in flash messages. Flash messages should be short notifications on user interactions. +If you need more elaborate or persistent messages, use `<f:be.infobox />` view helper or HTML similar to that. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-20875-MakeHardcodedIndexedSearchParametersConfigurableViaTS.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-20875-MakeHardcodedIndexedSearchParametersConfigurableViaTS.rst new file mode 100644 index 000000000000..cee9f27e2388 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-20875-MakeHardcodedIndexedSearchParametersConfigurableViaTS.rst @@ -0,0 +1,35 @@ + +.. include:: ../../Includes.txt + +============================================================================== +Feature: #20875 - Make hardcoded indexed_search parameters configurable via TS +============================================================================== + +See :issue:`20875` + +Description +=========== + +The following TS properties can now be configured for indexed search + +.. code-block:: typoscript + + [plugin.tx_indexedsearch.results. || plugin.tx_indexedsearch.settings.results.] + titleCropAfter = 50 + titleCropSignifier = ... + summaryCropAfter = 180 + summaryCropSignifier = + hrefInSummaryCropAfter = 60 + hrefInSummaryCropSignifier = ... + markupSW_summaryMax = 300 + markupSW_postPreLgd = 60 + markupSW_postPreLgd_offset = 5 + markupSW_divider = ... + +Every TS property has the stdWrap property, too. + + +Impact +====== + +Default settings do not change old behaviour. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-23156-IndexedSearchMakePathSeparatorOfSearchResultConfigurable.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-23156-IndexedSearchMakePathSeparatorOfSearchResultConfigurable.rst new file mode 100644 index 000000000000..418d4472c6e7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-23156-IndexedSearchMakePathSeparatorOfSearchResultConfigurable.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +=================================================================================== +Feature: #23156 - Indexed search: Make path separator of search result configurable +=================================================================================== + +See :issue:`23156` + +Description +=========== + +A new TypoScript configuration option :ts:`breadcrumbWrap` has been added. It allows to configure +the page path separator used in breadcrumbs in Indexed Search results. This option supports TypoScript +option split syntax. + + +Impact +====== + +By default Indexed Search is configured to use "/" as a path separator, so it's backward compatible. +Use following configuration for Indexed Search Extbase plugin: + +.. code-block:: ts + + plugin.tx_indexedsearch.settings.breadcrumbWrap = / || / + +For plugin based on AbstractPlugin use: + +.. code-block:: ts + + plugin.tx_indexedsearch.breadcrumbWrap = / || / diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-27057-RelationsToTheSameTableInExtbase.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-27057-RelationsToTheSameTableInExtbase.rst new file mode 100644 index 000000000000..32021443526a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-27057-RelationsToTheSameTableInExtbase.rst @@ -0,0 +1,69 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #27057 - Relations to the same table in Extbase +======================================================== + +See :issue:`27057` + +Description +=========== + +It is now possible to use a domain model where an object is connected to another object of the same class directly + +.. code-block:: php + + namespace \Vendor\Extension\Domain\Model; + class A { + /** + * @var \Vendor\Extension\Domain\Model\A + */ + protected $parent; + +as well as using a domain model where an object has multiple relations to objects of the same class + +.. code-block:: php + + namespace \Vendor\Extension\Domain\Model; + class A { + /** + * @var \Vendor\Extension\Domain\Model\B + */ + protected $x; + + /** + * @var \Vendor\Extension\Domain\Model\B + */ + protected $y; + +as well as indirectly + +.. code-block:: php + + namespace \Vendor\Extension\Domain\Model; + class A { + /** + * @var \Vendor\Extension\Domain\Model\B + */ + protected $b; + + /** + * @var \Vendor\Extension\Domain\Model\C + */ + protected $c; + + namespace \Vendor\Extension\Domain\Model; + class B { + /** + * @var \Vendor\Extension\Domain\Model\C + */ + protected $c; + +Using this kind of relations before was only possible by overriding the Extbase query builder and doing manual queries because the Extbase query builder created wrong SQL statements. Now Extbase properly supports these cases. + + +Impact +====== + +Extbase now correctly handles relations to objects of the same class. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-35245-ReworkWorkspaceNotificationSettings.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-35245-ReworkWorkspaceNotificationSettings.rst new file mode 100644 index 000000000000..4ca0709b70e9 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-35245-ReworkWorkspaceNotificationSettings.rst @@ -0,0 +1,75 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #35245 - Rework workspace notification settings +======================================================== + +See :issue:`35245` + +Description +=========== + +The current notification settings have some drawbacks and are not easy to +understand if it comes the the expected behavior in the workspace module. +The settings are defined in each sys_workspace and sys_workspace_stage +record and are evaluated in the workspace module if sending a particular +element to be reviewed to the previous or next stage. + +Currently there are the following notification settings: + +* on stages + + * "edit stage": takes recipients from "adminusers" field + (workspace owners) + + * "ready to publish" stage: takes recipients from "members" field + (workspace members) + +* on preselection of recipients + + * "all (non-strict)": if users from workspace setting (field "adminusers" + or "members") are also in the specific "default_users" setting for the + stage, the checkbox is enabled by default and cannot be changed, + otherwise it's not checked + + * "all (strict)": all users from workspace setting (field "adminusers" + or "members") are checked and cannot be changed + + * "some (strict)": all users from workspace setting (field "adminusers" + or "members") are checked, but still can be changed + +* behavior + + * sending to "edit" stage: members are notified per default + + * sending to "ready to publish" stage: owners are notified per default + +The changes extends the possibilities to define notification settings: + +* on stages + + * add settings for "publish-execute" stage (actual publishing process) + +* on preselection of recipients + + * remove modes + + * replace settings for showing the dialog and whether modifying the + preselection is allowed at all (getting rid of the "strict" modes) + + * add possibilities to defined notification recipients + + * owner & members as defined in the accordant fields + + * editors that have been working on a particular element + + * responsible persons (on custom stages only) + +Impact +====== + +The meaning and behavior of the workspaces notification settings concerning +preselected recipients and the possibility to modify the selection on moving +an element to a particular change is different now. However, an upgrade wizard +helps to upgrade the settings to the new definitions. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-44127-HooksForOpenIdToAutomaticallyCreateUserAccounts.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-44127-HooksForOpenIdToAutomaticallyCreateUserAccounts.rst new file mode 100644 index 000000000000..4b36b083b305 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-44127-HooksForOpenIdToAutomaticallyCreateUserAccounts.rst @@ -0,0 +1,31 @@ + +.. include:: ../../Includes.txt + +===================================================== +Feature: #44127 - Introduced two new Hooks for OpenID +===================================================== + +See :issue:`44127` + +Description +=========== + +Two hooks were added to the OpenIdService. They make it possible to modify the request sent to the OpenID Server, +or to modify/create backend users on the fly during OpenID login. + + +Hooks +===== + +The following hooks were introduced: + +- `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['openid']['getUserRecord']` + Modifies the userRecord after it has been fetched (or none was found). + Can be used to e.g. create a new record if none was found or update an existing one. + The following parameters are passed to the hook: `record`, `response`, `authInfo`. + +- `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['openid']['authRequest']` + Modifies the Authentication Request, before it's sent. + Can be used to e.g. request additional attributes like a nickname from the OpenID Server. + The following parameters are passed to the hook: `authRequest`, `authInfo`. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-47613-IndexedSearchMakeNo_cacheParameterForForwardSearchWordsInResultLinkConfigurable.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-47613-IndexedSearchMakeNo_cacheParameterForForwardSearchWordsInResultLinkConfigurable.rst new file mode 100644 index 000000000000..38e3f59c9b8f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-47613-IndexedSearchMakeNo_cacheParameterForForwardSearchWordsInResultLinkConfigurable.rst @@ -0,0 +1,32 @@ + +.. include:: ../../Includes.txt + +========================================================================================================= +Feature: #47613 - Indexed Search: make no_cache parameter for forwardSearchWordsInResultLink configurable +========================================================================================================= + +See :issue:`47613` + +Description +=========== + +A new TypoScript configuration option `forwardSearchWordsInResultLink.no_cache` has been added. +It controls whether the `no_cache` parameter should be added to page links together with search words. + +Use following configuration for Indexed Search Extbase plugin: + +.. code-block:: ts + + plugin.tx_indexedsearch.settings.forwardSearchWordsInResultLink.no_cache = 1 + +For plugin based on AbstractPlugin use: + +.. code-block:: ts + + plugin.tx_indexedsearch.forwardSearchWordsInResultLink.no_cache = 1 + + +Impact +====== + +The default value is set to 1, so it's backward compatible. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-56633-FormProtectionAPIForFrontEndUsage.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-56633-FormProtectionAPIForFrontEndUsage.rst new file mode 100644 index 000000000000..686a0febff0a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-56633-FormProtectionAPIForFrontEndUsage.rst @@ -0,0 +1,40 @@ + +.. include:: ../../Includes.txt + +======================================================== +Feature: #56633 - Form protection API for frontend usage +======================================================== + +See :issue:`56633` + +Description +=========== + +As of now frontend plugins needed to implement CSRF protection on their own. This change introduces a new +class to allow usage of the FormProtection (CSRF protection) API in the frontend. + +Usage is the same as in backend context: + +.. code-block:: php + + $formToken = \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get() + ->getFormProtection()->generateToken('news', 'edit', $uid); + + + if ($dataHasBeenSubmitted + && \TYPO3\CMS\Core\FormProtection\FormProtectionFactory::get()->validateToken( + \TYPO3\CMS\Core\Utility\GeneralUtility::_POST('formToken'), + 'User setup', + 'edit' + ) + ) { + // Processes the data. + } else { + // Create a flash message for the invalid token or just discard this request. + } + + +Impact +====== + +FormProtection API can now also be used in frontend context. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-64286-AddedAbsoluteUrlOptionToUriimageAndImageViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-64286-AddedAbsoluteUrlOptionToUriimageAndImageViewHelper.rst new file mode 100644 index 000000000000..58ed90d5b2b2 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-64286-AddedAbsoluteUrlOptionToUriimageAndImageViewHelper.rst @@ -0,0 +1,33 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Feature: #64286 - Added absolute url option to uri.image and image viewHelper +============================================================================= + +See :issue:`64286` + +Description +=========== + +The ImageViewhelper and Uri/ImageViewHelper got a new option `absolute`. With this option you are able to force +the ViewHelpers to output an absolute url. + +Examples: +--------- + +.. code-block:: html + + <code title="ImageViewHelper"> + <f:image image="{file}" width="400" height="375" absolute="1" /> + </code> + <output> + <img alt="alt set in image record" src="http://www.mydomain.com/fileadmin/_processed_/323223424.png" width="400" height="375" /> + </output> + + <code title="Uri/ImageViewHelper"> + <f:uri.image image="{file}" width="400" height="375" absolute="1" /> + </code> + <output> + http://www.mydomain.com/fileadmin/_processed_/323223424.png + </output> diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedLinkBrowserAPIs.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedLinkBrowserAPIs.rst new file mode 100644 index 000000000000..e142b8a95bcc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedLinkBrowserAPIs.rst @@ -0,0 +1,109 @@ + +.. include:: ../../Includes.txt + +======================================== +Feature: #66369 - Added LinkBrowser APIs +======================================== + +See :issue:`66369` + +Description +=========== + +This new feature allows to extend the link browser with new tabs, which allow to implement custom link functionality +in a generic way in a so called LinkHandler. +Since the LinkBrowser is used by FormEngine and RTE, the new API ensures that your custom LinkHandler works with those +two, and possible future, usages flawlessly. + +Each tab rendered in the link browser has an associated link handler, responsible for rendering the tab and for creating +and editing of links belonging to this tab. + + +Tab registration +---------------- + +Link browser tabs are registered in page TSconfig like this: + +.. code:: typoscript + + TCEMAIN.linkHandler.<tabIdentifier> { + handler = TYPO3\CMS\Recordlist\LinkHandler\FileLinkHandler + label = LLL:EXT:lang/locallang_browse_links.xlf:file + displayAfter = page + scanAfter = page + configuration { + customConfig = passed to the handler + } + } + +The options `displayBefore` and `displayAfter` define the order how the various tabs are displayed in the link browser. + +The options `scanBefore` and `scanAfter` define the order in which handlers are queried when determining the responsible +tab for an existing link. +Most likely your links will start with a specific prefix to identify them. Therefore you should register your tab at least before +the 'url' handler, so your handler can advertise itself as responsible for the given link. +The 'url' handler should be treated as last resort as it will work with any link. + + +Handler implementation +---------------------- + +A link handler has to implement the `\TYPO3\CMS\Recordlist\LinkHandler\LinkHandlerInterface` interface, which defines +all necessary methods for communication with the link browser. + +Additionally, each link handler should also provide a Javascript module (requireJS), which takes care of passing a link +to the link browser. +A minimal implementation of such a module looks like this: + +.. code:: javascript + + define(['jquery', 'TYPO3/CMS/Recordlist/LinkBrowser'], function($, LinkBrowser) { + + var myModule = {}; + + myModule.createMyLink = function() { + var val = $('.myElmeent').val(); + + // optional: If your link points to some external resource you should set this attribute + LinkBrowser.setAdditionalLinkAttribute('data-htmlarea-external', '1'); + + LinkBrowser.finalizeFunction('mylink:' + val); + }; + + myModule.initialize = function() { + // todo add necessary event handlers, which will propably call myModule.createMyLink + }; + + $(myModule.initialize); + + return myModule; + } + +Notice the call to `LinkBrowser.finalizeFunction`, which is the point where the link is handed over to the link browser +for further processing and storage. + + +Hooks +----- + +You may have the need to modify the list of available link handlers based on some dynamic value. +For this purpose you can register hooks. + +The registration of a link browser hook generally happens in your `ext_tables.php` and looks like: + +.. code:: php + + if (TYPO3_MODE === 'BE') { + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['LinkBrowser']['hooks'][1444048118] = [ + 'handler' => \Vendor\Ext\MyClass::class, + 'before' => [], // optional + 'after' => [] // optional + ]; + } + +The `before` and `after` elements allow to control the execution order of all registered hooks. + +Currently the following list of hooks is implemented: + + - modifyLinkHandlers(linkHandlers, currentLinkParts): May modify the list of available link handlers and has to return the final list. + - modifyAllowedItems(allowedTabs, currentLinkParts): May modify the list of available tabs and has to return the final list. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedNewElementBrowserAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedNewElementBrowserAPI.rst new file mode 100644 index 000000000000..49ebc9f38c98 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-66369-AddedNewElementBrowserAPI.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +=============================================== +Feature: #66369 - Added new element browser API +=============================================== + +See :issue:`66369` + +Description +=========== + +The former code monster class `ElementBrowser` has been split into dedicated parts of functionality. +Specifically the functionality of selecting elements for the FormEngine and the code parts for creating +links, used in FormEngine and RTE, have been moved into separate APIs. + +Each type of element, which can be selected in FormEngine, has its own element browser class. +You may add your own special type by registering your own element browser in your `ext_tables.php` as follows: + +.. code:: php + + if (TYPO3_MODE === 'BE') { + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ElementBrowsers'][<identifier>] = \Vendor\Ext\TheClass::class; + } + +The registered class is expected to implement the `\TYPO3\CMS\Recordlist\Browser\ElementBrowserInterface` interface. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68771-AddContentObjectFunctionalityToFormMailPostProcessorAndIntroduceReplyToEmail.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68771-AddContentObjectFunctionalityToFormMailPostProcessorAndIntroduceReplyToEmail.rst new file mode 100644 index 000000000000..230f1b340d02 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68771-AddContentObjectFunctionalityToFormMailPostProcessorAndIntroduceReplyToEmail.rst @@ -0,0 +1,46 @@ + +.. include:: ../../Includes.txt + +====================================================================================================== +Feature: #68771 - Add contentObject functionality to form MailPostProcessor and introduce replyToEmail +====================================================================================================== + +See :issue:`68771` + +Description +=========== + +If the form configuration is defined by TypoScript the following items for the MailPostProcessor +in ext:form have contentObject functionality now: +- subject +- senderEmail +- senderName +- recipientEmail +- ccEmail +- replyToEmail (newly introduced, replyToEmailField as fallback) +- priority +- organization + +This feature is not available when building the form with the help of +the wizard. The functionality can only be used be setting up the form +via TypoScript. + +Usage +===== + +In the mail postProcessor configuration you could do something like this +(depending on the names of the form elements): + +.. code-block:: typoscript + + replyToEmail = TEXT + replyToEmail { + data = GP:tx_form_form|tx_form|e-mail + htmlSpecialChars = 1 + } + subject = TEXT + subject { + data = GP:tx_form_form|tx_form|subject + htmlSpecialChars = 1 + noTrimWrap = |Mail from Form: || + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68895-IntroducedHookInBackendUserAuthenticationgetDefaultUploadFolder.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68895-IntroducedHookInBackendUserAuthenticationgetDefaultUploadFolder.rst new file mode 100644 index 000000000000..cdb7cec8b584 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-68895-IntroducedHookInBackendUserAuthenticationgetDefaultUploadFolder.rst @@ -0,0 +1,72 @@ + +.. include:: ../../Includes.txt + +====================================================================================== +Feature: #68895 - Introduced hook in BackendUserAuthentication::getDefaultUploadFolder +====================================================================================== + +See :issue:`68895` + +Description +=========== + +It is now possible to change the upload folder returned by `BackendUserAuthentication::getDefaultUploadFolder()` by +registering a hook. This makes it possible to set a different upload folder for fields with direct upload enabled in the +backend. + + +Register own getDefaultUploadFolder hook +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To use your own hook to manipulate the upload folder you need to register the function in `ext_localconf.php` of +your extension. + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['getDefaultUploadFolder'][] = + \Vendor\MyExtension\Hooks\DefaultUploadFolder::class . '->getDefaultUploadFolder'; + + +Example getDefaultUploadFolder hook +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: php + + <?php + namespace Vendor\MyExtension\Hooks; + + use TYPO3\CMS\Core\Authentication\BackendUserAuthentication; + use TYPO3\CMS\Core\Resource\Folder; + + /** + * Class DefaultUploadFolder + */ + class DefaultUploadFolder { + + /** + * Get default upload folder + * + * If there is a folder present with the same name as the last part of the table name use that folder. + * + * @param array $params + * @param BackendUserAuthentication $backendUserAuthentication + * @return Folder + */ + public function getDefaultUploadFolder($params, BackendUserAuthentication $backendUserAuthentication) { + + /** @var Folder $uploadFolder */ + $uploadFolder = $params['uploadFolder']; + $pid = $params['pid']; + $table = $params['table']; + $field = $params['field']; + + $matches = []; + if (!empty($uploadFolder) && preg_match('/_([a-z]+)$/', $table, $matches)) { + $folderName = $matches[1]; + if ($uploadFolder->hasFolder($folderName)) { + $uploadFolder = $uploadFolder->getSubfolder($folderName); + } + } + return $uploadFolder; + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69120-AddBasicFileSearchInElementBrowser.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69120-AddBasicFileSearchInElementBrowser.rst new file mode 100644 index 000000000000..d68e9a85f732 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69120-AddBasicFileSearchInElementBrowser.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +========================================================== +Feature: #69120 - Add basic file search in element browser +========================================================== + +See :issue:`69120` + +Description +=========== + +A file search has been added to the TYPO3 Element Browser. + +The search happens recursively from the currently selected folder in the folder tree. +This way it is possible to search whole mount points or just single folders with a lot of files. + diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69706-AddInlineSupportForSvgIconProvider.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69706-AddInlineSupportForSvgIconProvider.rst new file mode 100644 index 000000000000..66c6bc2b74e0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69706-AddInlineSupportForSvgIconProvider.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #69706 - Add support for alternative (inline) icon markup +================================================================== + +See :issue:`69706` + +Description +=========== + +It is now possible to set alternative markups for an `Icon`. +By default icon is rendered as `<img src="..."/>` tag with path to the icon file in the src +attribute. With this change it's possible to render svg icon inline in the html e.g. +`<svg>...</svg>`. + +Placing SVG images inline allows to manipulate them using CSS or JS. + +.. code-block:: php + + $icon->setAlternativeMarkup(SvgIconProvider::MARKUP_IDENTIFIER_INLINE, '<svg>...</svg>'); + +Impact +====== + +An IconProvider can now add multiple markup variants for an icon. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69764-IntroducedFileIconDetectionByMimeType.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69764-IntroducedFileIconDetectionByMimeType.rst new file mode 100644 index 000000000000..22261b448121 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69764-IntroducedFileIconDetectionByMimeType.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +============================================================= +Feature: #69764 - Introduced file icon detection by mime-type +============================================================= + +See :issue:`69764` + +Description +=========== + +The IconRegistry has been extended with a mapping of file icons by mime-type. +It is possible to register full mime-types `main-type/sub-type` but also a +fallback for only the main part of the mime-type `main-type/*`. +The core provides these fallbacks for `audio/*`, `video/*`, `image/*` and `text/*`. + + +Impact +====== + +It is now possible to register or overwrite the iconIdentifier for a file mime-type. + +.. code-block:: php + + $iconRegistry = GeneralUtility::makeInstance(IconRegistry::class); + $iconRegistry->registerMimeTypeIcon('video/my-custom-type', 'icon-identifier-for-my-custom-type'); diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69814-ModuleTemplateAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69814-ModuleTemplateAPI.rst new file mode 100644 index 000000000000..7844f210343b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69814-ModuleTemplateAPI.rst @@ -0,0 +1,147 @@ + +.. include:: ../../Includes.txt + +==================================== +Feature: #69814 - ModuleTemplate API +==================================== + +See :issue:`69814` + +Challenge +========= + + +Currently all DocHeaders are implemented on their own. + +This means we have about 80 DocHeaders which are equal but not the same. + +The main challenge is to provide extension developers with all tools they need to build decent backend modules while maintaining control of the docHeader itself. + + +Solution +======== + +We will provide a replacement for DocumentTemplate which provides an easy-to-use API which is on the other hand flexible enough to tackle all tasks we currently think of. + +At the same time we will remove the amount of duplicate marker based templates. + +The API uses the Fluent-API approach and has been built to supply maximum IDE code completion support. + +Parts of a docHeader Currently a typical docHeader is split up into the following sections: + +* Top Bar + + * Context Sensitive Help Icon + * Select Menu(s) + * Path + * RecordInformation incl. Clickmenu + +* Bottom Bar + + * Left Button Bar + * Right Button Bar + + +API Components +============== + +Buttons +------- + +**InputButton** + Used to generate a <button> element. + +**LinkButton** + Used to generate links + +**SplitButton** + A mixed component accepting multiple button objects and renders them into a condensed form. + +**FullyRenderedButton** + Displays arbitrary HTML code and we highly recommend to use these. + +Menus +----- + +Creating menus is pretty simple. +Ask the `DocHeaderComponent` for the `MenuRegistry` and ask the `MenuRegistry` to create a `Menu` for you. + +The `Menu` in return can create `MenuItems` for you. + +A `Menu` can have several **Types** which are represented by their respective Fluid Partials in EXT:backend/Resources/Private/Partials/Menu/. + + +Examples of usages +================== + +**Adding a button** + +.. code-block:: php + + $openInNewWindowButton = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar() + ->makeLinkButton() + ->setHref('#') + ->setTitle($this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.openInNewWindow', TRUE)) + ->setIcon($this->iconFactory->getIcon('actions-window-open', Icon::SIZE_SMALL)) + ->setOnClick($aOnClick); + + $this->moduleTemplate->getDocHeaderComponent()->getButtonBar() + ->addButton($openInNewWindowButton, ButtonBar::BUTTON_POSITION_RIGHT); + +**Adding a menu with menu items** + +.. code-block:: php + + $languageMenu = $this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->makeMenu() + ->setIdentifier('_langSelector') + ->setLabel($this->getLanguageService()->sL('LLL:EXT:lang/locallang_general.xlf:LGL.language', TRUE)); + $menuItem = $languageMenu->makeMenuItem() + ->setTitle($lang['title'] . $newTranslation) + ->setHref($href); + if((int)$lang['uid'] === $currentLanguage) { + $menuItem->setActive(TRUE); + } + $languageMenu->addMenuItem($menuItem); + $this->moduleTemplate->getDocHeaderComponent()->getModuleMenuRegistry()->addMenu($languageMenu); + + +ButtonBar Hook +============== + +The old module rendering knew a `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/template.php']['docHeaderButtonsHook']` hook +to manipulate buttons. A similar hook is available in ModuleTemplate API as `$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Backend\Template\Components\ButtonBar']['getButtonsHook']`. + +**Registering your own hook** + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['Backend\Template\Components\ButtonBar']['getButtonsHook']['MyExt'] = + \MyVendor\MyExt\Hooks\ButtonBarHook::class . '->getButtons'; + +**Example usage of the hook** + +.. code-block:: php + + class ButtonBarHook { + + /** + * Get buttons + * + * @param array $params + * @param ButtonBar $buttonBar + * @return array + */ + public function getButtons(array $params, ButtonBar $buttonBar) { + $buttons = $params['buttons']; + + $iconFactory = GeneralUtility::makeInstance(IconFactory::class); + $button = $buttonBar->makeLinkButton(); + $button->setIcon($iconFactory->getIcon('my-custom-icon', Icon::SIZE_SMALL)); + $button->setTitle('My custom docHeader button'); + $button->setOnClick('alert("Hook works");return false;'); + + $buttons[ButtonBar::BUTTON_POSITION_LEFT][1][] = $button; + + return $buttons; + } + } diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69916-PSR-7-basedRoutingForBackendAJAXRequests.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69916-PSR-7-basedRoutingForBackendAJAXRequests.rst new file mode 100644 index 000000000000..0444e496ccbc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-69916-PSR-7-basedRoutingForBackendAJAXRequests.rst @@ -0,0 +1,38 @@ + +.. include:: ../../Includes.txt + +=============================================================== +Feature: #69916 - PSR-7-based Routing for Backend AJAX Requests +=============================================================== + +See :issue:`69916` + +Description +=========== + +Support for PSR-7-based Routing for Backend AJAX requests has been added. + + +Impact +====== + +To add a route for an AJAX request, create the :file:`Configuration/Backend/AjaxRoutes.php` of your extension: + +.. code-block:: php + + return [ + // Does something + 'unique_route_name' => [ + 'path' => '/toolcollection/some-action', + 'target' => \ACME\Controller\SomeController::class . '::myAction', + ] + ]; + +The unique_route_name (route identifier) parameter acts as the previously known key to +call `BackendUtility::getAjaxUrl()` passed as parameter to the action refers to the route path, +**not** to the route identifier itself. AJAX handlers configured in :file:`AjaxRoutes.php` are **not** compatible +with definitions in :file:`ext_localconf.php` registered by `ExtensionManagementUtility::registerAjaxHandler()` +due to different method signatures in the target actions, using PSR-7. + +The route identifier is used in `BackendUtility::getAjaxUrl()` as `$ajaxIdentifier` and as key in the global +`TYPO3.settings.ajaxUrls` JavaScript object. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70033-IntroducedTcaOptionShowIconTableForSelectSingleFields.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70033-IntroducedTcaOptionShowIconTableForSelectSingleFields.rst new file mode 100644 index 000000000000..56d43dc9be36 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70033-IntroducedTcaOptionShowIconTableForSelectSingleFields.rst @@ -0,0 +1,23 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Feature: #70033 - Introduced TCA option showIconTable for selectSingle fields +============================================================================= + +See :issue:`70033` + +Description +=========== + +A new option `showIconTable` has been introduced for select fields with render type `selectSingle` to enforce or prevent the +icon table underneath the field. By default the icon table is not shown. + +Example +------- + +.. code-block:: php + + // Enforce icon table showing flags + $GLOBALS['TCA']['tt_content']['columns']['sys_language_uid']['config']['showIconTable'] = true; + diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70126-IntroduceTcaOptionToAddAutocompleteAttributeToInputFields.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70126-IntroduceTcaOptionToAddAutocompleteAttributeToInputFields.rst new file mode 100644 index 000000000000..d3f09bd5831f --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70126-IntroduceTcaOptionToAddAutocompleteAttributeToInputFields.rst @@ -0,0 +1,22 @@ + +.. include:: ../../Includes.txt + +==================================================================================== +Feature: #70126 - Introduce TCA option to add autocomplete attribute to input fields +==================================================================================== + +See :issue:`70126` + +Description +=========== + +It is now possible to enforce or disable the auto completion for input fields in edit mode. +The option is called `autocomplete` and can be set to TRUE or FALSE in the config section of a field. + +Example +------- + +.. code-block:: php + + // Prevent auto completion of username field for be_users records + $GLOBALS['TCA']['be_users']['columns']['username']['config']['autocomplete'] = FALSE; diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70170-ViewHelperToStripWhitespaceBetweenHTMLTags.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70170-ViewHelperToStripWhitespaceBetweenHTMLTags.rst new file mode 100644 index 000000000000..e942c7f215e7 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70170-ViewHelperToStripWhitespaceBetweenHTMLTags.rst @@ -0,0 +1,34 @@ + +.. include:: ../../Includes.txt + +================================================================== +Feature: #70170 - ViewHelper to strip whitespace between HTML tags +================================================================== + +See :issue:`70170` + +Description +=========== + +Removes redundant spaces between HTML tags while preserving the whitespace that may be inside HTML tags. Trims the final result before output. + +Heavily inspired by Twig's corresponding node type. + +.. code-block:: html + + <code title="Usage of f:spaceless"> + <f:spaceless> + <div> + <div> + <div>text + + text</div> + </div> + </div> + </f:spaceless> + </code> + <output> + <div><div><div>text + + text</div></div></div> + </output> diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70332-EXTform-AddHTML4HTML5AttributesToTheWizard.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70332-EXTform-AddHTML4HTML5AttributesToTheWizard.rst new file mode 100644 index 000000000000..7a69bfceaedb --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70332-EXTform-AddHTML4HTML5AttributesToTheWizard.rst @@ -0,0 +1,225 @@ + +.. include:: ../../Includes.txt + +======================================================================= +Feature: #70332 - EXT:form - Add HTML4 / HTML5 attributes to the wizard +======================================================================= + +See :issue:`70332` + +Description +=========== + +The form wizard should support a wide set of attributes. +At the moment the wizard is able to set some attributes, but this +attribute-set is not complete and does not include HTML5 attributes. + +The patch extends the wizard to set all universal HTML and HTML5 +attributes based on selfhtml documentation version 8.1.2. + +Currently supported attributes +------------------------------ + +`accept, acceptcharset, accesskey, action, alt, checked, class, cols, +dir, disabled, enctype, id, label, lang, maxlength, method, multiple, +name, placeholder, readonly, rows, selected, size, src, style, tabindex, +title, type, value` + +New attributes +-------------- + +`autocomplete, autofocus, contenteditable, contextmenu, draggable, +dropzone, height, hidden, inputmode, list, max, min, minlength, +novalidate, pattern, required, selectionDirection, selectionEnd, +selectionStart, spellcheck, step, translate, width, wrap` + +The **type attribute** will be extended with the following HTML5 types: + +`color, date, datetime, datetime-local, email, month, number, range, +search, tel, time, url, week` + +Each element is now able to set the HTML universal attributes and +element specific attributes. + +Universal attributes are: + +`accesskey, class, contenteditable, contextmenu, dir, draggable, +dropzone, hidden, id, lang, spellcheck, style, tabindex, title, +translate` + +FORM +---- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accept, accept-charset, action, class, dir, enctype, id, lang, method, +style, title` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `accept, accept-charset, action, autocomplete, +enctype, method, novalidate` + +BUTTON +------ + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, style, tabindex, +title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, disabled, name, type, value` + +SELECT +------ + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`class, disabled, id, lang, multiple, name, size, style, tabindex, +title` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, disabled, multiple, name, +required, size` + +TEXTAREA +-------- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, class, cols, dir, disabled, id, lang, name, placeholder, +readonly, rows, style, tabindex, title` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, cols, disabled, inputmode, +maxlength, minlength, name, placeholder, readonly, required, rows, +selectionDirection, selectionEnd, selectionStart, wrap` + +SUBMIT +------ + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, style, tabindex, +title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, disabled, name, type, value` + +RADIO +----- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, style, tabindex, +title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, checked, disabled, name, readonly, +required, type, value` + +PASSWORD +-------- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, maxlength, name, +placeholder, readonly, size, style, tabindex, title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autocomplete, autofocus, disabled, maxlength, +minlength, name, pattern, placeholder, readonly, required, size, type, +value` + +HIDDEN +------ + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`class, id, lang, name, style, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `name, type, value` + +FILEUPLOAD +---------- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, size, style, +tabindex, title, type` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `accept, autofocus, disabled, multiple name, +readonly, required, type, value` + +RESET +----- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, style, tabindex, +title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, disabled, name, type, value` + +TEXTLINE +-------- + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, maxlength, name, +placeholder, readonly, size, style, tabindex, title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autocomplete, autofocus, disabled, inputmode, +list, maxlength, minlength, name, pattern, placeholder, readonly, +required, size, type, value` + +CHECKBOX + +Currently supported attributes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`accesskey, alt, class, dir, disabled, id, lang, name, style, +tabindex, title, type, value` + +New attributes +^^^^^^^^^^^^^^ + +Universal attributes + `autofocus, checked, disabled, name, readonly, +required, type, value` diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70531-RequireJSModuleForSplitButtons.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70531-RequireJSModuleForSplitButtons.rst new file mode 100644 index 000000000000..cbc74d3a374b --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70531-RequireJSModuleForSplitButtons.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +==================================================== +Feature: #70531 - RequireJS module for split buttons +==================================================== + +See :issue:`70531` + +Description +=========== + +A RequireJS module for split buttons has been added. The module can be used in another RequireJS modules to +add callbacks being executed before the submit takes place. As the callback receives the click event, +the submit can be modified, e.g aborting the submit. + + +Impact +====== + +To use the `SplitButtons` module, include it in your own RequireJS module: + +.. code-block:: javascript + + define('Vendor/Ext/Module', ['TYPO3/CMS/Backend/SplitButtons'], function(SplitButtons) { + // Your code... + }); + + +Callbacks will be added by calling `SplitButtons.addPreSubmitCallback`: + +.. code-block:: javascript + + SplitButtons.addPreSubmitCallback(function(e) { + // Code being executed as callback before submit + }); diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70583-IntroducedIconAPIInJavaScript.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70583-IntroducedIconAPIInJavaScript.rst new file mode 100644 index 000000000000..059fcf103254 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-70583-IntroducedIconAPIInJavaScript.rst @@ -0,0 +1,58 @@ + +.. include:: ../../Includes.txt + +=================================================== +Feature: #70583 - Introduced Icon API in JavaScript +=================================================== + +See :issue:`70583` + +Description +=========== + +A JavaScript-based icon API based on the PHP API has been introduced. The methods `getIcon()` +and `getIcons()` can be called in a RequireJS module. + +When imported in a RequireJS module, a developer can fetch icons via JavaScript with the same parameters as in PHP. +The methods `getIcon()` and `getIcons()` return `Promise` objects. + +Importing +========= + +.. code-block:: javascript + + define(['jquery', 'TYPO3/CMS/Backend/Icons'], function($, Icons) { + }); + + +Get icons +========= + +A single icon can be fetched by `getIcon()` which takes four parameters: + +.. container:: table-row + + identifier + The icon identifier. + + size + The size of the icon. Please use the properties of the `Icons.sizes` object. + + overlayIdentifier + An overlay identifier rendered on the icon. + + state + The state of the icon. Please use the properties of the `Icons.states` object. + + +To use the fetched icons, chain the `done()` method to the promise. + +Examples +-------- + +.. code-block:: javascript + + // Get a single icon + Icons.getIcon('spinner-circle-light', Icons.sizes.small).done(function(spinner) { + $toolbarItemIcon.replaceWith(spinner); + }); diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71196-DisallowLocalizationMixtures.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71196-DisallowLocalizationMixtures.rst new file mode 100644 index 000000000000..81f88200ea2a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71196-DisallowLocalizationMixtures.rst @@ -0,0 +1,26 @@ + +.. include:: ../../Includes.txt + +================================================ +Feature: #71196 - Disallow localization mixtures +================================================ + +See :issue:`71196` + +Description +=========== + +The PageLayout UI will now inform users if a mixture of translated content and standalone content is used in +the page module since this is a major source of confusion for both administrators and editors. + +In case an integrator knows what he/she is doing, we introduce a `PageTSConfig` setting to turn these warnings off to +allow further usage of inconsistent translation handling. + +`mod.web_layout.allowInconsistentLanguageHandling = 1` + + +Impact +====== + +Upon setting `mod.web_layout.allowInconsistentLanguageHandling` to `1` the page module will behave +as before and allow inconsistent mixups of languages in a certain language. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71251-AddFlashMessageSupportInModuleTemplateAPI.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71251-AddFlashMessageSupportInModuleTemplateAPI.rst new file mode 100644 index 000000000000..a50548f6aa77 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-71251-AddFlashMessageSupportInModuleTemplateAPI.rst @@ -0,0 +1,29 @@ + +.. include:: ../../Includes.txt + +================================================================ +Feature: #71251 - Add FlashMessage support in ModuleTemplate API +================================================================ + +See :issue:`71251` + +Description +=========== + +Flash messages have different queues, depending on in which context they are +enqueued. The FlashMessageService defaults the queue to `core.template.flashMessages`, +Extbase defaults the queue to `extbase.flashmessages .$randomPluginQueue`. + +Support for flash messages in ModuleTemplate has been added to enqueue flash messages automatically +in the correct queue identifier. + + +Impact +====== + +Flash messages can be enqueued by the following code: + + +.. code-block:: php + + $this->moduleTemplate->addFlashMessage('I am a message body', 'Title', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK, true); diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Feature-72505-IntroduceHookToOverrideARecordOverlay.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-72505-IntroduceHookToOverrideARecordOverlay.rst new file mode 100644 index 000000000000..91b8b4a26dbc --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Feature-72505-IntroduceHookToOverrideARecordOverlay.rst @@ -0,0 +1,36 @@ + +.. include:: ../../Includes.txt + +============================================================= +Feature: #72505 - Introduce hook to override a record overlay +============================================================= + +See :issue:`72505` + +Description +=========== + +Prior to TYPO3 7 LTS, it was possible to override a record overlay in Web > List. +This patch introduces a new hook with the old functionality. + +The hook is called with the following signature: + +.. code-block:: php + + /** + * @param string $table + * @param array $row + * @param array $status + * @param string $iconName + * @return string the new (or given) $iconName + */ + function postOverlayPriorityLookup($table, array $row, array $status, $iconName) + +Register the hook +----------------- + +Register the hook class which implements the method with the name `postOverlayPriorityLookup`: + +.. code-block:: php + + $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][IconFactory::class]['overrideIconOverlay'][] = \VENDOR\MyExt\Hooks\IconFactoryHook::class; diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-36166-MoveAccessRightParametersFromBEToSYSConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-36166-MoveAccessRightParametersFromBEToSYSConfiguration.rst new file mode 100644 index 000000000000..146a07b7e67c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-36166-MoveAccessRightParametersFromBEToSYSConfiguration.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +============================================================================= +Important: #36166 - Move access right parameters from BE to SYS configuration +============================================================================= + +See :issue:`36166` + +Description +=========== + +The access permission parameters (fileCreateMask, folderCreateMask, createGroup) have been moved from +`$GLOBALS['TYPO3_CONF_VARS']['BE']` to `$GLOBALS['TYPO3_CONF_VARS']['SYS']`. +An Upgrade Wizard ensures the correct migrations of the settings. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-53681-ChangeWordingForUserSettingsResetConfigurationAndClearTemporaryData.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-53681-ChangeWordingForUserSettingsResetConfigurationAndClearTemporaryData.rst new file mode 100644 index 000000000000..381a6a51748a --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-53681-ChangeWordingForUserSettingsResetConfigurationAndClearTemporaryData.rst @@ -0,0 +1,15 @@ + +.. include:: ../../Includes.txt + +=================================================================================================== +Important: #53681 - Change wording for User Settings "Reset Configuration and Clear Temporary Data" +=================================================================================================== + +See :issue:`53681` + +Description +=========== + +To simplify the user settings form, the button "Clear Temporary Data" has been removed. +The button to reset the configuration and clear the temporary data has been renamed to +"Reset user settings to default state". diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-68079-ExtensionMediaceMovedToTER.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-68079-ExtensionMediaceMovedToTER.rst new file mode 100644 index 000000000000..2e95c5bc777e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-68079-ExtensionMediaceMovedToTER.rst @@ -0,0 +1,17 @@ + +.. include:: ../../Includes.txt + +==================================================== +Important: #68079 - Extension "mediace" moved to TER +==================================================== + +See :issue:`68079` + +Description +=========== + +The previously available "mediace" extension has been moved to the TYPO3 Extension Repository +(TER) and will be managed on GitHub (https://github.com/FriendsOfTYPO3/mediace). + +An upgrade wizard in the Install Tool will check if the extension is needed. If so, it is downloaded +from the TER and installed if necessary. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-70956-BehaviorOfPageTCconfigOptionsKeepItemsAddItemsAndRemoveItemsChanged.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-70956-BehaviorOfPageTCconfigOptionsKeepItemsAddItemsAndRemoveItemsChanged.rst new file mode 100644 index 000000000000..c3c310eebc4e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-70956-BehaviorOfPageTCconfigOptionsKeepItemsAddItemsAndRemoveItemsChanged.rst @@ -0,0 +1,19 @@ + +.. include:: ../../Includes.txt + +================================================================================================= +Important: #70956 - Behavior of Page TCconfig options keepItems, addItems and removeItems changed +================================================================================================= + +See :issue:`70956` + +Description +=========== + +The behavior of Page TSconfig options `keepItems`, `addItems` and `removeItems` +has been restored to state of TYPO3 CMS 6.2-7.4 and the execution order of these +options has been formalized. + +The first option to be evaluated is `keepItems`, followed in turn by `addItems` +and `removeItems`. All three options are evaluated after items have been added to +the configuration by sources like folders or foreign tables. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-71126-AllowToDefineMultipleInlineLocalizeSynchronizeCommands.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-71126-AllowToDefineMultipleInlineLocalizeSynchronizeCommands.rst new file mode 100644 index 000000000000..abd1b4fe4edf --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-71126-AllowToDefineMultipleInlineLocalizeSynchronizeCommands.rst @@ -0,0 +1,28 @@ + +.. include:: ../../Includes.txt + +=============================================================================== +Important: #71126 - Allow to define multiple inlineLocalizeSynchronize commands +=============================================================================== + +See :issue:`71126` + +Description +=========== + +The inlineLocalizeSynchronize command in DataHandler currently supports these formats: + +* [parent][13][inlineLocalizeSynchronize] = field,14 +* [parent][13][inlineLocalizeSynchronize] = field,localize +* [parent][13][inlineLocalizeSynchronize] = field,synchronize + +The current string configuration format is changed to be an array, legacy configurations are converted to the new format:: + + [parent][13][inlineLocalizeSynchronize] = [ + field: name of the parent field, + language: id of the target language, + action: either "localize" or "synchronize", + ids: array of child-ids to be localized [1, 2, 3] + ] + +Either "action" or "ids" must be defined. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-72697-RemoveThumbnailFunctionalityOfImpexp.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-72697-RemoveThumbnailFunctionalityOfImpexp.rst new file mode 100644 index 000000000000..2a6335ce5cb0 --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-72697-RemoveThumbnailFunctionalityOfImpexp.rst @@ -0,0 +1,13 @@ + +.. include:: ../../Includes.txt + +============================================================ +Important: #72697 - Remove thumbnail functionality of impexp +============================================================ + +See :issue:`72697` + +Description +=========== + +Previously it was possible to add additional thumbnails to exports of the EXT:impexp. This functionality is completely outdated and not needed anymore. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Important-73565-AbstractConditionViewHelperNoLongerAutomaticallyCompilable.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Important-73565-AbstractConditionViewHelperNoLongerAutomaticallyCompilable.rst new file mode 100644 index 000000000000..6c22dd8738ab --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Important-73565-AbstractConditionViewHelperNoLongerAutomaticallyCompilable.rst @@ -0,0 +1,27 @@ + +.. include:: ../../Includes.txt + +================================================================================== +Important: #73565 - AbstractConditionViewHelper no longer automatically compilable +================================================================================== + +See :issue:`73565` + +Description +=========== + +CompilableInterface is removed from the abstract AbstractConditionViewHelper and +is now implemented by each of the condition ViewHelpers. The base class still provides +every method it did before but third-party ViewHelpers must now indicate that they are +compilable by implementing the required interface. + +The change is related to a previous change which made `evaluateCondition` the API +to evaluate the input argument conditions in any condition ViewHelper. The change +is done as a preventative measure, preventing issues when third-party condition +ViewHelpers were compiled but did not implement the `evaluateCondition` method. +Now, such ViewHelpers will prevent compiling entirely until the author of the class +has implemented CompilableInterface and the `evaluateCondition` method. + +Making such third-party ViewHelpers no longer compilable (and thus decreasing performance +when they are used) is chosen in favor of preserving the current behavior where such +ViewHelpers would be completely unable to correctly evaluate the condition at all. diff --git a/typo3/sysext/core/Documentation/Changelog/7.6/Index.rst b/typo3/sysext/core/Documentation/Changelog/7.6/Index.rst new file mode 100644 index 000000000000..16867a9762ee --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/7.6/Index.rst @@ -0,0 +1,51 @@ + +.. include:: ../../Includes.txt + +7.6 Changes +=========== + +**Table of contents** + +.. contents:: + :local: + :depth: 1 + +Breaking Changes +^^^^^^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Breaking-* + +Features +^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Feature-* + +Deprecation +^^^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Deprecation-* + +Important +^^^^^^^^^ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + :glob: + + Important-* diff --git a/typo3/sysext/core/Documentation/Index.rst b/typo3/sysext/core/Documentation/Index.rst index 040170e3bec9..1351baef22f5 100644 --- a/typo3/sysext/core/Documentation/Index.rst +++ b/typo3/sysext/core/Documentation/Index.rst @@ -16,4 +16,5 @@ Every change to the TYPO3 Core which might affect your site is documented here. Master Changelog-9 Changelog-8 + Changelog-7 Changelog/Howto diff --git a/typo3/sysext/core/Documentation/Settings.cfg b/typo3/sysext/core/Documentation/Settings.cfg index d994b233f715..558449dd592e 100644 --- a/typo3/sysext/core/Documentation/Settings.cfg +++ b/typo3/sysext/core/Documentation/Settings.cfg @@ -19,7 +19,7 @@ description = This documentation contains the changelog # t3api = https://typo3.org/api/typo3cms/ # t3cgl = https://docs.typo3.org/typo3cms/CodingGuidelinesReference/ -# t3coreapi = https://docs.typo3.org/typo3cms/CoreApiReference/ +t3coreapi = https://docs.typo3.org/typo3cms/CoreApiReference/ # t3editors = https://docs.typo3.org/typo3cms/EditorsTutorial/ # t3extbasebook = https://docs.typo3.org/typo3cms/ExtbaseFluidBook/ # t3fal = https://docs.typo3.org/typo3cms/FileAbstractionLayerReference/ -- GitLab