From 8c6e4b5b15045fef68b6651cfd8374d26f604fe2 Mon Sep 17 00:00:00 2001
From: linawolf <112@linawolf.de>
Date: Sun, 2 Oct 2022 10:24:57 +0000
Subject: [PATCH] [DOCS] Improve changelog for v12 release
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Add cross references for changelog files
- Remove additional empty lines
- Rename core -> Core
- Rename composer -> Composer
- Fix grammar: extensions' -> extension's
- Indent lists with 4 spaces (including the asterisk character)
- Indent code-blocks with 4 spaces (including the two dots)
- Simplify code examples
- Fix some typos and simplify sentences along the way

Releases: main
Resolves: #98498
Change-Id: I70f0b68ba9bcf69f6ac70d8aef95f70a0cb10923
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75938
Tested-by: Nikita Hovratov <nikita.h@live.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Chris Müller <typo3@krue.ml>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Nikita Hovratov <nikita.h@live.de>
Reviewed-by: Chris Müller <typo3@krue.ml>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 ...92-RegisteringIconsViaServiceContainer.rst |   2 +-
 ...-87616-RemovedHookForAlteringPageLinks.rst |   4 +-
 ...ctEmailAddressesWithOptionAsciiRemoved.rst |   5 +-
 ...2508-RemovedHookForFilteringHMENUItems.rst |   4 +-
 ...gedFileExtensionForGzipCompressedFiles.rst |   3 -
 ...egisterExtbaseTypeConvertersAsServices.rst |   5 +-
 ...rdForgotHashBasedOnUserUidInExtfelogin.rst |   1 -
 ...eaking-96041-ToolbarItemsRegisterByTag.rst |   8 +-
 ...ethodSignatureOfLogicalAndAndLogicalOr.rst |  32 +--
 .../Breaking-96094-ModuleIconsRemoved.rst     |   2 +
 ...g-96107-DeprecatedFunctionalityRemoved.rst |   8 +-
 ...TformEmailFinisherAlwaysUsesFluidEmail.rst |   3 +-
 ...recatedShortcutAPIFunctionalityRemoved.rst |   2 +
 ...rtForInlineJavaScriptInFieldChangeFunc.rst |  12 +-
 ...alOfLastRelativeToCurrentScriptRemains.rst |   2 +
 ...2-AltTextIsEnforcedForCustomLoginLogos.rst |   4 +-
 ...avaScriptInFormEnginesRequireJsModules.rst |  10 +-
 ...g-96222-AddGetOptionsToWidgetInterface.rst |   5 +-
 ...oveJQueryPromiseSupportForAJAXRequests.rst |  42 ++-
 .../12.0/Breaking-96287-DoctrineDBALv3.rst    |   8 +-
 ...-DisallowDBConnectionBeforeTCAIsLoaded.rst |   7 +-
 ...onfigurationOfContextMenuItemProviders.rst |   8 +-
 ...ervice-updateRootlineDataMethodRemoved.rst |   5 +-
 ...xLocalAnchorsOptionInHTMLParserRemoved.rst |   5 +-
 ...g-96517-HMENUcollapseTyposcriptRemoved.rst |   5 +-
 ..._typoscript_txtFilesNotIncludedAnymore.rst |   6 +-
 ...eNon-emptyConfigurationInCObjparseFunc.rst |  41 ++-
 ...22-ConfigdisablePageExternalUrlRemoved.rst |   5 +-
 ...ovedHooksForModifyingPageModuleContent.rst |   2 +
 ...-TYPO3_CONF_VARSSYSUSdateFormatRemoved.rst |   2 +
 ...aking-96553-TYPO3V12SystemRequirements.rst |   7 +-
 .../Breaking-96575-UpdateToCodeMirror6.rst    |  36 ++-
 ...emovedModuleTemplate-addJavaScriptCode.rst |   5 +-
 ...-96616-RemoveFrontendLoginModeForPages.rst |   3 +-
 ...king-96641-TypoLinkRelatedHooksRemoved.rst |   5 +-
 ...gistrationOfCObjectsViaTYPO3_CONF_VARS.rst |   7 +-
 ...708-RemovedSupportForAccesskeysInHMENU.rst |   5 +-
 ...stHandlerFunctionalityOfExtbaseRemoved.rst |   4 +-
 ...ortForModuleHandlingBasedOnTBE_MODULES.rst |   7 +-
 ...96806-RemovedHookForModifyingButtonBar.rst |   4 +-
 ...riptBasedTemplateOverridesInTheBackend.rst |  37 +--
 ...829-RemovedBackendUtility-getFuncInput.rst |   7 +-
 ...ceHTMLSanitizerDuringFrontendRendering.rst |   5 +-
 ...96835-HttpsAsDefaultSchemeInPageRouter.rst |   5 +-
 ...KEditor-relatedPluginsAndConfiguration.rst |   7 +-
 ...aking-96879-RemovedHookGetCacheTimeout.rst |   5 +-
 ...eaking-96889-RequirePHPMbstringAndIntl.rst |   7 +-
 ...6899-DisplayWarningMessagesHookRemoved.rst |   2 +
 ...reportsReportsDoNotReceiveParentObject.rst |   9 +-
 ...idatorLinktypesViaServiceConfiguration.rst |   5 +-
 ...reaking-96968-HookHeaderNoCacheRemoved.rst |   7 +-
 ...6982-RemovedSupportForGlobalExtensions.rst |   5 +-
 .../Breaking-96983-TableColumnSubType.rst     |   5 +-
 ...8-GlobalOptionAllowLocalInstallRemoved.rst |   5 +-
 ...ing-96996-HookCheckEnableFieldsRemoved.rst |   4 +-
 ...96998-ExtbaseValidatorInterfaceChanged.rst |  14 +-
 ...065-TYPO3FrontendAlwaysRenderedInUTF-8.rst |   5 +-
 ...97091-TSFE-clear_previewHasBeenRemoved.rst |  33 ++-
 ...97126-RemoveTCEformsArrayKeyInFlexForm.rst |   9 +-
 ...ICommandsRelatedToFilesInUploadsFolder.rst |   3 -
 ...orModuleHandlingBasedOnTBE_MODULES_EXT.rst |  12 +-
 ...ookForModifyingInfoModuleFooterContent.rst |   2 +
 ...RemovedHookForModifyingLinkExplanation.rst |   2 +
 ...ElementBrowsersViaServiceConfiguration.rst |   5 +-
 ...-RemovedHookForNewContentElementWizard.rst |   2 +
 ...dedToMethodSignaturesOrClassProperties.rst |   3 +-
 ...-UseUploadedFileObjectsInsteadOf_FILES.rst |   7 +-
 ...orModifyingImageManipulationPreviewUrl.rst |   2 +
 ...okForManipulatingInlineElementControls.rst |   2 +
 ...7243-RemoveGlobalJQueryAccessViaWindow.rst |   5 +-
 ...aking-97265-SimplifiedAccessModeSystem.rst |  14 +-
 ...ing-97305-IntroduceCSRF-likeLoginToken.rst |   6 +-
 ...aking-97312-RemoveContextSensitiveHelp.rst |   8 +-
 ...ReportAndStatusViaServiceConfiguration.rst |  16 +-
 ...7358-RemovedEvalintFromTCATypeDatetime.rst |   6 +-
 ...RemovedHookForModifyingFlexFormParsing.rst |   2 +
 ...ovedHookForModifyingVersionDifferences.rst |   2 +
 ...97451-RemoveBackendControllerPageHooks.rst |   2 +
 ...g-97452-RemovedEditFileControllerHooks.rst |   5 +-
 ...rchSkipExtendToSubpagesCheckingRemoved.rst |   3 -
 ...ptionConfigdisableCharsetHeaderRemoved.rst |   3 -
 ...izeTextareas_MaxHeightFromUserSettings.rst |   3 -
 ...igOptionDisableNewContentElementWizard.rst |   3 -
 ...729-SupportAttributeApprovedInXlfFiles.rst |   5 +-
 ...g-97737-Page-relatedHooksInTSFERemoved.rst |   2 -
 ...ng-97752-MailerAdapterInterfaceRemoved.rst |   2 +-
 ...erityReturnsContextualFeedbackSeverity.rst |   7 +-
 ...97-GFXSettingProcessor_path_lzwRemoved.rst |   3 -
 ...Breaking-97816-TypoScriptSyntaxChanges.rst |  55 ++--
 ...sRelatedToGeneratingPageContentRemoved.rst |   3 +-
 ...926-ExtbaseQuerySettingsMethodsRemoved.rst |   3 -
 ...vedTypoScriptOptionConfigdoctypeSwitch.rst |   3 -
 ...ing-97945-RemovedWorkspaceServiceHooks.rst |   2 +
 ...ng-98016-RemovedTypoScriptFunctionHook.rst |   8 +-
 ...king-98024-TCA-option-cruserid-removed.rst |   5 +-
 ...8032-SerializableInterfaceFullyRemoved.rst |  12 +-
 .../Breaking-98069-DebugConsoleRemoved.rst    |   3 -
 .../Breaking-98089-RemovedFontAwesome.rst     |   2 -
 ...JavaScriptAndCSSFilesForBackendRemoved.rst |  18 +-
 .../12.0/Breaking-98158-UpdateToSymfony6.rst  |   8 +-
 ...terfaceSelectorAndConfigurableRedirect.rst |   3 -
 ...PersistentStorageModuleReturnsPromises.rst |   3 -
 ...8195-RemoveTODAYS_SPECIALErrorConstant.rst |   7 +-
 ...ing-98261-RemovedJQueryInPopoverModule.rst |   5 +-
 ...nedLinkTitleAttributesInRTELinkBrowser.rst |   3 -
 ...aking-98281-MakeAbstractPluginInternal.rst |  43 +--
 .../Breaking-98288-UpdatedBackendModalAPI.rst |  90 +++----
 ...oksForLanguageOverlaysInPageRepository.rst |   3 +-
 ...ovedHookForModifyingEditFormUserAccess.rst |   5 +-
 ...ndLongdescRemovedFromFrontendRendering.rst |   5 +-
 ...criptSettingPageCSS_inlineStyleRemoved.rst |   5 +-
 ...rationphpAndAdditionalConfigurationphp.rst |  22 +-
 ...8370-ExtbaseRequestCleanupAndHardening.rst |  10 +-
 ...reaking-98375-RemovedHooksInPageModule.rst |   2 -
 ...ewDoesNotCreateAnExtbaseRequestAnymore.rst |   4 -
 ...onfigSwapModeAndChangeStageModeRemoved.rst |   6 +-
 ...king-98441-HookRecStatInfoHooksRemoved.rst |   5 +-
 ...3-ExtensionRecordlistMergedIntoBackend.rst |  16 +-
 ...angedDefinitionOfFormEngineSuggestItem.rst |   5 +-
 ...ng-98455-RemovedDevbridge-autocomplete.rst |   3 -
 ...movedFileReferenceRelatedFunctionality.rst |   2 +-
 ...leSys_templateIsNoLongerWorkspaceAware.rst |   9 +-
 ...eaking-98487-GLOBALSPAGES_TYPESRemoved.rst |   3 -
 ...ringOnlyIncludesResolvedQueryArguments.rst |   7 +-
 ...ng-98489-RemovalOfSleepTaskAndTestTask.rst |   6 +-
 ...sAndMethodsChangedInDatabaseRecordList.rst |  15 +-
 ...polinkModifyLinkConfigForPageLinksHook.rst |   5 +-
 ...-UnusedInterfaceForFilterMenuPagesHook.rst |   4 +-
 ...egisterExtbaseTypeConvertersAsServices.rst |   2 +
 ...strap5CompatibleAndAccessibleTemplates.rst |   8 +-
 ...InlineJavaScriptInBackendUpdateSignals.rst |  14 +-
 ...thModeSelectItemsKeywordsMovedToIndex5.rst |  12 +-
 ...-96500-ContentObjectRenderer-getMailTo.rst |   2 +
 ...4-DeprecateInlineJavaScriptInDashboard.rst |  10 +-
 ...-96568-RequireJSModulesInFormFramework.rst |  44 ++-
 ...edFunctionalityInContentObjectRenderer.rst |   5 +-
 ...UnusedHookRelatedUrlProcessorInterface.rst |   5 +-
 ...recatedTBE_MODULESRelatedFunctionality.rst |   5 +-
 ...on-96903-DeprecateOldModuleTemplateAPI.rst |   6 +-
 ...ion-96972-DeprecateQueryBuilderexecute.rst |  14 +-
 .../Deprecation-96983-TCAInternal_type.rst    |  13 +-
 ...ptFrontendController-checkEnableFields.rst |   2 +
 ...RegularExpressionValidatorInFormEditor.rst |   9 +-
 ...7019-DeprecateOrderOfValidationMessage.rst |  10 +-
 ...7027-ContentObjectRenderer-getTreeList.rst |   5 +-
 ...tion-97035-RequiredOptionInEvalKeyword.rst |  47 ++--
 ...eprecation-97109-TCATypeNoneColsOption.rst |   9 +-
 ...cation-97126-TCEformsRemovedInFlexForm.rst |  14 +-
 ...nterfaceForNewContentElementWizardHook.rst |   2 +
 ...217-MovedTypoLinkCodecServiceToEXTcore.rst |   2 +
 ...31-UnusedInterfaceForInlineElementHook.rst |   2 +
 ...siteExpressionMethodsAddAndAddMultiple.rst |   7 +-
 ...rectInstantiationOfCompositeExpression.rst |  10 +-
 ...-97271-GlobalColorPickerInitialization.rst |   2 +
 ...tion-97312-DeprecateCSH-relatedMethods.rst |   5 +-
 ...354-ExpressionBuilderMethodsAndXAndOrX.rst |   7 +-
 .../Deprecation-97384-TCAOptionNullable.rst   |   7 +-
 ...wareTraitToDenoteSiteLanguageAwareness.rst |   6 +-
 ...-97531-ContextRelatedMethodsWithinTSFE.rst |   7 +-
 ...onRelatedFunctionalityInBackendUtility.rst |   4 +-
 ...576-TYPO3CMSCoreUtilityResourceUtility.rst |   5 +-
 ...iesOfFlashMessagesAndReportsDeprecated.rst |   3 -
 ...tion-97866-VariousPublicTSFEProperties.rst |   3 -
 ...ion-98168-BindingContextMenuItemToThis.rst |   5 +-
 ...ecation-98283-PHPConstantTYPO3_mainDir.rst |   3 -
 ...sForPageRepositoryLanguageOverlayHooks.rst |   2 -
 ...precation-98371-DeprecatedFluidGetters.rst |   6 +-
 ...equireJsModulesInFormEngineResultArray.rst |   6 +-
 ...catedFileReferenceRelatedFunctionality.rst |   2 +-
 ...gementUtilityallowTableOnStandardPages.rst |   7 +-
 ...ontentObjectRenderer-getQueryArguments.rst |  13 +-
 ...isterPluginMethodReturnPluginSignature.rst |   6 +-
 ...e-83912-SpecifySectionRedirectFinisher.rst |   4 +-
 ...-14EventForModifyingPageLinkGeneration.rst |  16 +-
 .../12.0/Feature-89917-InheritPageAccess.rst  |  26 +-
 ...slationOfOverriddenFormFinisherOptions.rst |  31 +--
 ...luid_styled_contentMenuContentElements.rst |  32 +--
 ...ementBrowserEntryPointsForTCATypeGroup.rst |  16 +-
 ...OptionShowScheduledRecordsToAdminPanel.rst |   3 +-
 ...ethodsToTYPO3CMSCorePageAssetCollector.rst |   5 +-
 ...92508-PSR-14EventForModifyingMenuItems.rst |   2 +
 ...ntObjectInitializationInHtmlViewHelper.rst |  15 +-
 .../Feature-92861-IntroduceTCAOptionMin.rst   |   2 +
 ...NewPSR-14ModifyQueryForLiveSearchEvent.rst |  16 +-
 ...SR-14EventsOnSendingMessagesWithMailer.rst |  22 +-
 ...mproveExtbaseTypeConverterRegistration.rst |  20 +-
 ...-94544-AddNewSMTPConfigurationSettings.rst |   5 +-
 ...94625-IntroduceSlidingWindowPagination.rst |  55 ++--
 .../12.0/Feature-95486-AddAcceptArgument.rst  |   6 +-
 ...6041-ImproveBackendToolbarRegistration.rst |   2 +
 ...ure-96147-NewPSR-14RedirectWasHitEvent.rst |  20 +-
 ...lbarItemsOverviewInConfigurationModule.rst |   2 +
 ...oveContextMenuItemProviderRegistration.rst |   2 +
 .../Feature-96465-NewLinkvalidatorModule.rst  |   2 +
 ...ctureForJavaScriptModulesAndImportmaps.rst |  34 ++-
 ...iasesForBackendRoutesAndBackendModules.rst |   4 +-
 ...R-14EventForModifyingPageModuleContent.rst |  18 +-
 ...ticInclusionOfPageTsConfigOfExtensions.rst |   5 +-
 ...-96641-NewPSR-14EventForModifyingLinks.rst |   8 +-
 ...ectRegistrationViaServiceConfiguration.rst |   9 +-
 ...-96688-AttributesForExtbaseAnnotations.rst |   5 +-
 ...-SimplifiedExtbackendModuleTemplateAPI.rst |   9 +-
 ...-96733-NewBackendModuleRegistrationAPI.rst |  26 +-
 ...Feature-96800-AddSiteLanguageProcessor.rst |  27 +-
 ...96806-PSR-14EventForModifyingButtonBar.rst |  16 +-
 ...2-OverrideBackendTemplatesWithTSconfig.rst |  34 ++-
 .../12.0/Feature-96874-CKEditor5.rst          | 250 +++++++++---------
 ...14EventModifyCacheLifetimeForPageEvent.rst |  15 +-
 ...eature-96895-IntroduceModuleDataObject.rst |   9 +-
 ...EventModifyGenericBackendMessagesEvent.rst |  18 +-
 ...904-BackendToolbarItemsAreRequestAware.rst |   8 +-
 ...ewRegistrationForLinkvalidatorLinktype.rst |   2 +
 ...ackendRoutesContainComposerPackageName.rst |  10 +-
 ...tForAvoidLoadingFrontendPagesFromCache.rst |  15 +-
 ...75-NewPSR-14EventsForSiteConfiguration.rst |   5 +-
 .../12.0/Feature-96983-TCATypeFolder.rst      |   5 +-
 ...ventForModifyingRecordAccessEvaluation.rst |  21 +-
 .../12.0/Feature-97013-NewTCATypeEmail.rst    |   4 +-
 ...equiredDirectlyInTCAFieldConfiguration.rst |  26 +-
 ...ture-97051-FilterLogsByPageInLogModule.rst |   3 +-
 ...spacedArgumentsInExtbaseBackendModules.rst |   4 +-
 .../12.0/Feature-97104-NewTCATypePassword.rst |   4 +-
 ...7135-NewRegistrationForModuleFunctions.rst |  12 +-
 .../12.0/Feature-97159-NewTCATypeLink.rst     |  64 +++--
 ...AutoCreationOfDatabaseFieldsForTCASlug.rst |   7 +-
 ...R-14EventForModifyingInfoModuleContent.rst |  19 +-
 ...PSR-14EventForModifyingLinkExplanation.rst |  32 ++-
 ...7188-NewRegistrationForElementBrowsers.rst |   2 +
 .../12.0/Feature-97193-NewTCATypeNumber.rst   |   7 +-
 ...rModifyingNewContentElementWizardItems.rst |  23 +-
 ...orModifyingImageManipulationPreviewUrl.rst |  16 +-
 ...ventsForModifyingInlineElementControls.rst |  51 ++--
 .../12.0/Feature-97232-NewTCATypeDatetime.rst |   8 +-
 ...54-AddLuxembourgishAsSupportedLanguage.rst |  16 +-
 .../12.0/Feature-97271-NewTCATypeColor.rst    |   7 +-
 ...ntroduceCSRF-likeRequest-tokenHandling.rst |  32 ++-
 ...ature-97306-RefreshTheLookOfPagemodule.rst |  25 +-
 ...320-NewRegistrationForReportsAndStatus.rst |   6 +-
 ...re-97326-OpenBackendPageFromAdminPanel.rst |   5 +-
 ...ure-97347-LiveSearchKeyboardNavigation.rst |   2 +
 .../12.0/Feature-97384-TCAOptionNullable.rst  |   5 +-
 ...SR-14EventsForModifyingFlexFormParsing.rst |  40 +--
 ...-14EventForModifyingVersionDifferences.rst |  22 +-
 ...1-PSR-14EventsForBackendPageController.rst |   7 +-
 ...454-PSR14EventsForLinkBrowserLifecycle.rst |   7 +-
 ...rovidersAvailableInConfigurationModule.rst |   4 +-
 ...44-PSR-14EventsForModifyingPreviewURIs.rst |  24 +-
 ...95-ProvideDefaultQueueForNotifications.rst |   7 +-
 ...8-SupportOfLanguageDirectionInCkeditor.rst |   1 -
 ...ture-97787-EnumForSeveritiesIntroduced.rst |   7 +-
 ...ure-97816-TypoScriptSyntaxImprovements.rst |  79 +++---
 ...ionToConfigurePrimaryActionsInFileList.rst |   1 -
 ...rontendPageGenerationAndCacheBehaviour.rst |  14 +-
 ...sePersistenceLanguageViaLanguageAspect.rst |  13 +-
 ...941-ImprovedTypoScriptTemplateAnalyzer.rst |   2 +-
 ...5-PSR14AfterPageTreeItemsPreparedEvent.rst |  18 +-
 ...16-PSR-14EvaluateModifierFunctionEvent.rst |  13 +-
 ...30-AllowDeprecationOfIconsInExtensions.rst |   3 +-
 .../12.0/Feature-98158-Symfony6Components.rst |   3 +-
 ...-98171-AddExtbaseTypeConverterForEnums.rst |   9 +-
 ...R-14EventsForModifyingLanguageOverlays.rst |   2 +-
 ...-14EventForModifyingEditFormUserAccess.rst |  33 +--
 ...Feature-98375-PSR-14EventsInPageModule.rst |   3 +-
 ...AfterRecordSummaryForLocalizationEvent.rst |   6 +-
 ...vaScriptModulesInFormEngineResultArray.rst |   4 +-
 .../12.0/Feature-98479-NewTCATypeFile.rst     |  67 +++--
 ...nCtrlsecurityignorePageTypeRestriction.rst |   2 -
 ...SettingForTypolinkOptionAddQueryString.rst |   8 +-
 ...lterTheRecordsRenderedInRecordListings.rst |  13 +-
 ...tryPointAvailableAtHttpsgettypo3orgapi.rst |   4 +-
 ...trictExportFunctionalityToAllowedUsers.rst |   2 +-
 ...7031-RemovedLogSubmoduleFromInfoModule.rst |   2 +
 .../12.0/Important-97111-DefaultURIScheme.rst |   2 +-
 ...ataInSys_logMigratedToJSON-encodedData.rst |   2 +
 ...59-MailLinkHandlerKeyInTSconfigRenamed.rst |   2 +
 ...EnvironmentChecksToChangedRequirements.rst |   2 +
 ...rtant-97462-RemovedMSSQLSupportiveCode.rst |   6 +-
 ...ousNamespaceWithinTheFormConfiguration.rst |   6 +-
 ...mportant-98475-UnsignedPidTableColumns.rst |   5 +-
 ...ootForComposer-basedTYPO3Installations.rst |  12 +-
 .../Documentation/Changelog/12.0/Index.rst    |   2 -
 281 files changed, 1572 insertions(+), 1544 deletions(-)

diff --git a/typo3/sysext/core/Documentation/Changelog/11.4/Feature-94692-RegisteringIconsViaServiceContainer.rst b/typo3/sysext/core/Documentation/Changelog/11.4/Feature-94692-RegisteringIconsViaServiceContainer.rst
index f173dd29a3b0..5e76ec58e9b0 100644
--- a/typo3/sysext/core/Documentation/Changelog/11.4/Feature-94692-RegisteringIconsViaServiceContainer.rst
+++ b/typo3/sysext/core/Documentation/Changelog/11.4/Feature-94692-RegisteringIconsViaServiceContainer.rst
@@ -1,6 +1,6 @@
 .. include:: /Includes.rst.txt
 
-.. _feature-94692-1657826754
+.. _feature-94692-1657826754:
 
 =========================================================
 Feature: #94692 - Registering Icons via Service Container
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-87616-RemovedHookForAlteringPageLinks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-87616-RemovedHookForAlteringPageLinks.rst
index 2991d54826b0..d7dc4a125a0d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-87616-RemovedHookForAlteringPageLinks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-87616-RemovedHookForAlteringPageLinks.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-87616:
+
 =======================================================
 Breaking: #87616 - Removed hook for altering page links
 =======================================================
@@ -22,13 +24,11 @@ Impact
 Any hook implementation registered is not executed anymore
 in TYPO3 v12.0+.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with custom extensions using this hook.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-90044-ConfigspamProtectEmailAddressesWithOptionAsciiRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-90044-ConfigspamProtectEmailAddressesWithOptionAsciiRemoved.rst
index 5605ecacd74f..f6c83f0bbbc9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-90044-ConfigspamProtectEmailAddressesWithOptionAsciiRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-90044-ConfigspamProtectEmailAddressesWithOptionAsciiRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-90044:
+
 ===============================================================================
 Breaking: #90044 - config.spamProtectEmailAddresses with option "ascii" removed
 ===============================================================================
@@ -17,7 +19,6 @@ to point to the ASCII-encoded equivalent. Since all browsers (and most bots/craw
 do this automatically and instantly this feature has no spam-protection
 relevance anymore.
 
-
 Impact
 ======
 
@@ -25,13 +26,11 @@ Setting the option to `ascii` has no effect anymore, which is the same as not
 setting the option at all. However, in case the option is set to `ascii` a
 PHP :php:`E_USER_DEPRECATED` error is raised.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations having this option set in their TypoScript setup.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-92508-RemovedHookForFilteringHMENUItems.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-92508-RemovedHookForFilteringHMENUItems.rst
index ee8cbcf779c2..846cb68157ab 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-92508-RemovedHookForFilteringHMENUItems.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-92508-RemovedHookForFilteringHMENUItems.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-92508:
+
 =========================================================
 Breaking: #92508 - Removed hook for filtering HMENU items
 =========================================================
@@ -21,13 +23,11 @@ Impact
 Any hook implementation registered is not executed anymore
 in TYPO3 v12.0+.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with custom menus using this hook.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-93182-ChangedFileExtensionForGzipCompressedFiles.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-93182-ChangedFileExtensionForGzipCompressedFiles.rst
index ca72028a2a41..2ffd89077532 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-93182-ChangedFileExtensionForGzipCompressedFiles.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-93182-ChangedFileExtensionForGzipCompressedFiles.rst
@@ -20,19 +20,16 @@ TYPO3 follows the de-facto standard for compressed assets,
 as ".gz" is much more widespread than ".gzip" file extensions
 (see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).
 
-
 Impact
 ======
 
 Compressed resources are now generated and served via ".gz".
 
-
 Affected installations
 ======================
 
 TYPO3 installations setting the global configuration option.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-94117-RegisterExtbaseTypeConvertersAsServices.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-94117-RegisterExtbaseTypeConvertersAsServices.rst
index cb9834aa2329..87b47586673e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-94117-RegisterExtbaseTypeConvertersAsServices.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-94117-RegisterExtbaseTypeConvertersAsServices.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-94117:
+
 ===============================================================
 Breaking: #94117 - Register Extbase type converters as services
 ===============================================================
@@ -12,7 +14,7 @@ Description
 Extbase type converters are used to convert from a simple type to an
 object or another simple type. The registration of those type converters
 is no longer done via :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter()`,
-but via container services in the extensions' :file:`Services.yaml` file.
+but via container services in the extension's :file:`Services.yaml` file.
 
 As a side effect, the type converter configuration such as `sourceType` or
 `targetType` has been moved from the :php:`TypeConverterInterface` to the
@@ -32,7 +34,6 @@ related methods:
 - :php:`getPriority()`
 - :php:`canConvertFrom()`
 
-
 Affected Installations
 ======================
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-95132-SetPasswordForgotHashBasedOnUserUidInExtfelogin.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-95132-SetPasswordForgotHashBasedOnUserUidInExtfelogin.rst
index 213f12e61100..d21a57627357 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-95132-SetPasswordForgotHashBasedOnUserUidInExtfelogin.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-95132-SetPasswordForgotHashBasedOnUserUidInExtfelogin.rst
@@ -35,7 +35,6 @@ Affected installations
 3rd party extensions implementing :php:`RecoveryService` and
 :php:`RecoveryServiceInterface`.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96041-ToolbarItemsRegisterByTag.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96041-ToolbarItemsRegisterByTag.rst
index c28d00177bb9..de85facd429d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96041-ToolbarItemsRegisterByTag.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96041-ToolbarItemsRegisterByTag.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96041:
+
 =================================================
 Breaking: #96041 - Toolbar items: Register by tag
 =================================================
@@ -13,30 +15,26 @@ Toolbar items implementing :php:`\TYPO3\CMS\Backend\Toolbar\ToolbarItemInterface
 registered by adding the tag :yaml:`backend.toolbar.item`, if :yaml:`autoconfigure`
 is enabled in :file:`Services.yaml`.
 
-
 Impact
 ======
 
 The registration via :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems']` isn't evaluated anymore.
 
-
 Affected Installations
 ======================
 
 Every extension, that adds toolbar items via :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems']`
 in its :file:`ext_localconf.php` file.
 
-
 Migration
 =========
 
 Remove :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['toolbarItems']` from your :file:`ext_localconf.php` file.
 If :yaml:`autoconfigure` is not enabled in your :file:`Configuration/Services.(yaml|php)`, add the tag :yaml:`backend.toolbar.item` to your toolbar item class.
 
-
 Example:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     VENDOR\Extension\ToolbarItem\YourAdditionalToolbarItem:
       tags:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96044-HardenMethodSignatureOfLogicalAndAndLogicalOr.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96044-HardenMethodSignatureOfLogicalAndAndLogicalOr.rst
index 06c6084bd06d..8a9a0d1b214b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96044-HardenMethodSignatureOfLogicalAndAndLogicalOr.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96044-HardenMethodSignatureOfLogicalAndAndLogicalOr.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96044:
+
 ==========================================================================
 Breaking: #96044 - Harden method signature of logicalAnd() and logicalOr()
 ==========================================================================
@@ -23,7 +25,6 @@ The :php:`logicalAnd()` method does now reliably return an instance of
 while the :php:`logicalOr()` method returns a :php:`\TYPO3\CMS\Extbase\Persistence\Generic\Qom\OrInterface`
 instance.
 
-
 Impact
 ======
 
@@ -34,7 +35,6 @@ Affected Installations
 
 All installations that passed all constraints as array.
 
-
 Migration
 =========
 
@@ -44,25 +44,25 @@ migration for a :php:`logicalAnd()` call.
 
 **Example**:
 
-.. code-block:: php
+..  code-block:: php
 
-   $query = $this->createQuery();
-   $query->matching($query->logicalAnd([
-       $query->equals('propertyName1', 'value1'),
-       $query->equals('propertyName2', 'value2'),
-       $query->equals('propertyName3', 'value3'),
-   ]));
+    $query = $this->createQuery();
+    $query->matching($query->logicalAnd([
+        $query->equals('propertyName1', 'value1'),
+        $query->equals('propertyName2', 'value2'),
+        $query->equals('propertyName3', 'value3'),
+    ]));
 
 In this case an array is used as one and only method argument. The migration is
 easy and quickly done. Simply don't use an array:
 
-.. code-block:: php
+..  code-block:: php
 
-   $query = $this->createQuery();
-   $query->matching($query->logicalAnd(
-       $query->equals('propertyName1', 'value1'),
-       $query->equals('propertyName2', 'value2'),
-       $query->equals('propertyName3', 'value3'),
-   ));
+    $query = $this->createQuery();
+    $query->matching($query->logicalAnd(
+        $query->equals('propertyName1', 'value1'),
+        $query->equals('propertyName2', 'value2'),
+        $query->equals('propertyName3', 'value3'),
+    ));
 
 .. index:: PHP-API, FullyScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96094-ModuleIconsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96094-ModuleIconsRemoved.rst
index 8d0c89993a30..fcd3ec923f71 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96094-ModuleIconsRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96094-ModuleIconsRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96094:
+
 =======================================
 Breaking: #96094 - Module icons removed
 =======================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst
index e8eda04a5316..77b4f2fc9bc9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96107-DeprecatedFunctionalityRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96107:
+
 ===================================================
 Breaking: #96107 - Deprecated functionality removed
 ===================================================
@@ -352,7 +354,7 @@ The following features are now always enabled:
 The following features have been removed:
 
 - Extbase switchable controller actions
-- Upgrade wizard "Migrate felogin plugins to use prefixed flexform keys"
+- Upgrade wizard "Migrate felogin plugins to use prefixed FlexForm keys"
 - Upgrade wizard "Migrate felogin plugins to use Extbase CType"
 - Upgrade wizard "Install extension 'feedit' from TER"
 - Upgrade wizard "Install extension 'sys_action' from TER"
@@ -364,14 +366,14 @@ The following fallbacks have been removed:
 - Usage of the :html:`t3js-toggle-new-content-element-wizard` class to trigger the new content element wizard
 - Usage of the :php:`DataHandler->inlineLocalizeSynchronize()` functionality without an array as input argument
 - The :php:`route` parameter is no longer added to backend URLs
-- Extensions, which are located in `typo3conf/ext`, but not installed by Composer, are no longer evaluated for installations in "composer mode"
+- Extensions, which are located in `typo3conf/ext`, but not installed by Composer, are no longer evaluated for installations in "Composer mode"
 - Extbase no longer accepts :php:`MyVendor.` prefixed :php:`MyExtensionName` as first argument in
   :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin()`, :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin()`
   and :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule()` and controller class names must be registered
   with their fully qualified name.
 - Extbase no longer determines types from doc block annotations for dependency injection methods and actions with validators,
   defined types in method signatures must be used.
-- Accessing core related caches with :php:`cache_` prefix has been removed.
+- Accessing Core related caches with :php:`cache_` prefix has been removed.
 - Accessing :php:`\TYPO3\CMS\Frontend\Typolink\LinkResult` properties as arrays - ArrayAccess functionality removed
 
 The following database tables have been removed:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96149-EXTformEmailFinisherAlwaysUsesFluidEmail.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96149-EXTformEmailFinisherAlwaysUsesFluidEmail.rst
index 290877f43db4..c8919bc9a50a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96149-EXTformEmailFinisherAlwaysUsesFluidEmail.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96149-EXTformEmailFinisherAlwaysUsesFluidEmail.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96149:
+
 ================================================================
 Breaking: #96149 - EXT:form EmailFinisher always uses FluidEmail
 ================================================================
@@ -28,7 +30,6 @@ Also the :yaml:`useFluidEmail` configuration option, previously used to
 allow a smooth migration path is now obsolete and can safely be removed
 from any form finisher configuration.
 
-
 Affected Installations
 ======================
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96154-DeprecatedShortcutAPIFunctionalityRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96154-DeprecatedShortcutAPIFunctionalityRemoved.rst
index 69e40da83349..8114b3cf2617 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96154-DeprecatedShortcutAPIFunctionalityRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96154-DeprecatedShortcutAPIFunctionalityRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96154:
+
 ================================================================
 Breaking: #96154 - Deprecated Shortcut API functionality removed
 ================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96158-RemoveSupportForInlineJavaScriptInFieldChangeFunc.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96158-RemoveSupportForInlineJavaScriptInFieldChangeFunc.rst
index 17c392c39510..59dfe01546ba 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96158-RemoveSupportForInlineJavaScriptInFieldChangeFunc.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96158-RemoveSupportForInlineJavaScriptInFieldChangeFunc.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96158:
+
 ==========================================================================
 Breaking: #96158 - Remove support for inline JavaScript in fieldChangeFunc
 ==========================================================================
@@ -17,7 +19,6 @@ not supported anymore - values assigned to `fieldChangeFunc` items have to
 implement :php:`\TYPO3\CMS\Backend\Form\Behavior\OnFieldChangeInterface`
 which allows to declare the behavior in a structured way.
 
-
 Impact
 ======
 
@@ -25,20 +26,18 @@ Assigning scalar values to `fieldChangeFunc` items - without using
 :php:`\TYPO3\CMS\Backend\Form\Behavior\OnFieldChangeInterface` - is not
 supported anymore and will lead to PHP type errors.
 
-
 Affected Installations
 ======================
 
 Installations implementing custom :php:`FormEngine` components (wizards, nodes,
 render-types, ...) that provide inline JavaScript using `fieldChangeFunc`.
 
-.. code-block:: php
+..  code-block:: php
 
     // examples
     $this->data['parameterArray']['fieldChangeFunc']['example'] = "alert('demo');";
     $parameterArray['fieldChangeFunc']['example'] = "alert('demo');";
 
-
 Migration
 =========
 
@@ -53,7 +52,7 @@ would inline JavaScript as a fallback in TYPO3 v11.
 
 Thus, basically scalar assignments like...
 
-.. code-block:: php
+..  code-block:: php
 
     // examples
     $this->data['parameterArray']['fieldChangeFunc']['example'] = "alert('demo');";
@@ -61,11 +60,10 @@ Thus, basically scalar assignments like...
 
 ... have to be replaced by custom :php:`OnFieldChangeInterface` instances...
 
-.. code-block:: php
+..  code-block:: php
 
     // examples
     $this->data['parameterArray']['fieldChangeFunc']['example'] = new AlertOnFieldChange('demo');
     $parameterArray['fieldChangeFunc']['example'] = new AlertOnFieldChange('demo');
 
-
 .. index:: Backend, JavaScript, TCA, NotScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96205-RemovalOfLastRelativeToCurrentScriptRemains.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96205-RemovalOfLastRelativeToCurrentScriptRemains.rst
index 3f5990a50b2e..0d3a1a11a350 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96205-RemovalOfLastRelativeToCurrentScriptRemains.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96205-RemovalOfLastRelativeToCurrentScriptRemains.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96205:
+
 ==================================================================
 Breaking: #96205 - Removal of last relativeToCurrentScript remains
 ==================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96212-AltTextIsEnforcedForCustomLoginLogos.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96212-AltTextIsEnforcedForCustomLoginLogos.rst
index 849bb97fe5bf..6f0d64eb8cac 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96212-AltTextIsEnforcedForCustomLoginLogos.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96212-AltTextIsEnforcedForCustomLoginLogos.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96212:
+
 ==============================================================
 Breaking: #96212 - Alt text is enforced for custom login logos
 ==============================================================
@@ -26,14 +28,12 @@ Impact
 
 The :html:`alt` attribute is now enforced for the login logo.
 
-
 Affected Installations
 ======================
 
 All installations using a custom login logo, while not defining a
 corresponding "alt" text.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96221-DenyInlineJavaScriptInFormEnginesRequireJsModules.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96221-DenyInlineJavaScriptInFormEnginesRequireJsModules.rst
index 945177273efb..df4426dc74ca 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96221-DenyInlineJavaScriptInFormEnginesRequireJsModules.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96221-DenyInlineJavaScriptInFormEnginesRequireJsModules.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96221:
+
 ==========================================================================
 Breaking: #96221 - Deny inline JavaScript in FormEngine's requireJsModules
 ==========================================================================
@@ -18,7 +20,6 @@ Using callback functions as inline JavaScript is not possible anymore,
 initializations have to be declared using an instance of
 :php:`TYPO3\CMS\Core\Page\JavaScriptModuleInstruction`.
 
-
 Impact
 ======
 
@@ -26,7 +27,7 @@ Using inline JavaScript to initialize RequireJS modules in `FormEngine`,
 like shown in the the example below, will throw a corresponding
 :php:`\LogicException`.
 
-.. code-block:: php
+..  code-block:: php
 
     $resultArray['requireJsModules'][] = ['TYPO3/CMS/Backend/FormEngine/Element/InputDateTimeElement' => '
         // inline JavaScript code to initialize `InputDateTimeElement`
@@ -35,14 +36,12 @@ like shown in the the example below, will throw a corresponding
         }'
     ];
 
-
 Affected Installations
 ======================
 
 All instances that are using RequireJS modules with custom initializations
 as inline JavaScript in `FormEngine`.
 
-
 Migration
 =========
 
@@ -52,7 +51,7 @@ provided migration details already.
 The following snippet shows the migrated source code of shown above - using
 :php:`TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` instead of inline JavaScript.
 
-.. code-block:: php
+..  code-block:: php
 
     // use use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
     $resultArray['requireJsModules'][] = JavaScriptModuleInstruction::forRequireJS(
@@ -63,5 +62,4 @@ The following snippet shows the migrated source code of shown above - using
 handles proper context-aware encoding implicitly (:php:`GeneralUtility::quoteJSvalue`
 and similar custom encoding can be omitted in this case).
 
-
 .. index:: Backend, JavaScript, NotScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96222-AddGetOptionsToWidgetInterface.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96222-AddGetOptionsToWidgetInterface.rst
index 05ee9c4238c3..5865e55bf377 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96222-AddGetOptionsToWidgetInterface.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96222-AddGetOptionsToWidgetInterface.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96222:
+
 ======================================================
 Breaking: #96222 - Add getOptions() to WidgetInterface
 ======================================================
@@ -29,13 +31,12 @@ Affected Installations
 
 All installations using custom dashboard widgets.
 
-
 Migration
 =========
 
 Add the :php:`getOptions()` method to all of your custom widget classes.
 
-.. code-block:: php
+..  code-block:: php
 
     public function getOptions(): array
     {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96263-RemoveJQueryPromiseSupportForAJAXRequests.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96263-RemoveJQueryPromiseSupportForAJAXRequests.rst
index 2015822c3199..406d42a63644 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96263-RemoveJQueryPromiseSupportForAJAXRequests.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96263-RemoveJQueryPromiseSupportForAJAXRequests.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96263:
+
 ==================================================================
 Breaking: #96263 - Remove jQuery promise support for AJAX requests
 ==================================================================
@@ -14,19 +16,16 @@ migration of :js:`$.ajax()` to our AJAX request API.
 
 The polyfilled methods :js:`done()` and :js:`fail()` are now removed.
 
-
 Impact
 ======
 
 Relying on the existence of the polyfill will trigger JavaScript errors.
 
-
 Affected Installations
 ======================
 
 All extensions using the polyfilled methods are affected.
 
-
 Migration
 =========
 
@@ -34,33 +33,32 @@ For success handling, replace :js:`done()` with :js:`then()`.
 
 Example:
 
-.. code-block:: js
-
-   // Polyfill
-   new AjaxRequest('/foobar/baz').get().done(function(response) {
-     // do stuff
-   });
+..  code-block:: js
 
-   // Native
-   new AjaxRequest('/foobar/baz').get().then(async function(response) {
-     // do stuff
-   });
+    // Polyfill
+    new AjaxRequest('/foobar/baz').get().done(function(response) {
+      // do stuff
+    });
 
+    // Native
+    new AjaxRequest('/foobar/baz').get().then(async function(response) {
+      // do stuff
+    });
 
 For error handling, replace :js:`fail()` with :js:`catch()`.
 
 Example:
 
-.. code-block:: js
+..  code-block:: js
 
-   // Polyfill
-   new AjaxRequest('/foobar/baz').get().fail(function() {
-     // oh noes
-   });
+    // Polyfill
+    new AjaxRequest('/foobar/baz').get().fail(function() {
+      // oh noes
+    });
 
-   // Native
-   new AjaxRequest('/foobar/baz').get().catch(function() {
-     // oh noes
-   });
+    // Native
+    new AjaxRequest('/foobar/baz').get().catch(function() {
+      // oh noes
+    });
 
 .. index:: JavaScript, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96287-DoctrineDBALv3.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96287-DoctrineDBALv3.rst
index a33d61b68fa2..91c8a7cb7d78 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96287-DoctrineDBALv3.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96287-DoctrineDBALv3.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96287:
+
 ===================================
 Breaking: #96287 - Doctrine DBAL v3
 ===================================
@@ -12,7 +14,6 @@ Description
 TYPO3 v12.0 has updated its Database Abstraction package based on Doctrine
 DBAL to the next major version Doctrine DBAL v3.
 
-
 Impact
 ======
 
@@ -27,8 +28,6 @@ In addition, most database APIs which TYPO3 provides as wrappers around
 the existing functionality is already available in TYPO3 v11 and
 continue to work in TYPO3 v12.
 
-
-
 Affected Installations
 ======================
 
@@ -36,7 +35,6 @@ TYPO3 installations with custom third-party extensions using TYPO3's
 Database Abstraction functionality, or extensions using
 the Doctrine DBAL API directly.
 
-
 Migration
 =========
 
@@ -48,7 +46,7 @@ now have more explicit APIs when querying the database.
 
 Examples:
 
-.. code-block:: php
+..  code-block:: php
 
     $result = $queryBuilder
       ->select(...)
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96291-DisallowDBConnectionBeforeTCAIsLoaded.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96291-DisallowDBConnectionBeforeTCAIsLoaded.rst
index 13b2f2397859..f9e6cdf2ec9f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96291-DisallowDBConnectionBeforeTCAIsLoaded.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96291-DisallowDBConnectionBeforeTCAIsLoaded.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96291:
+
 ==============================================================
 Breaking: #96291 - Disallow DB connection before TCA is loaded
 ==============================================================
@@ -13,7 +15,6 @@ Accessing the database API before TCA is loaded
 is considered to be a logic mistake, as TCA is required
 to generate the expected database schema.
 
-
 Impact
 ======
 
@@ -21,14 +22,12 @@ Extensions that access the TYPO3 database API in
 :file:`ext_localconf.php` files or TCA files will not work
 any more, because TYPO3 will throw an exception in this case.
 
-
 Affected Installations
 ======================
 
-TYPO3 installations with third party extensions,
+TYPO3 installations with third-party extensions,
 that access database API before TCA is loaded.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96333-AutoConfigurationOfContextMenuItemProviders.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96333-AutoConfigurationOfContextMenuItemProviders.rst
index 039e61c4ee29..19dd08e3c5a7 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96333-AutoConfigurationOfContextMenuItemProviders.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96333-AutoConfigurationOfContextMenuItemProviders.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96333:
+
 ===================================================================
 Breaking: #96333 - Auto configuration of ContextMenu item providers
 ===================================================================
@@ -15,7 +17,7 @@ tag, if :yaml:`autoconfigure` is enabled in :file:`Services.yaml`. The new
 :php:`\TYPO3\CMS\Backend\ContextMenu\ItemProviders\ItemProvidersRegistry` then
 automatically receives those services and registers them.
 
-All core item providers extend the :php:`AbstractProvider` class, which is
+All Core item providers extend the :php:`AbstractProvider` class, which is
 usually also used by extensions. Due to the auto configuration, the context
 information (table, record identifier and context) is no longer passed to the
 :php:`__construct()`, but instead to the new :php:`setContext()` method.
@@ -55,7 +57,7 @@ manually configure your item providers with the
 If your item providers extend :php:`AbstractProvider` and overwrite the
 :php:`__construct()` method, adjust the signature like shown below:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
@@ -85,7 +87,7 @@ In case you rely on the arguments, previously passed to :php:`__construct()`,
 you can override the new :php:`setContext()` method, which is executed
 prior to any other action like :php:`canHandle()`.
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96351-UnusedTemplateService-updateRootlineDataMethodRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96351-UnusedTemplateService-updateRootlineDataMethodRemoved.rst
index f0c131828334..5ba40e8d6084 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96351-UnusedTemplateService-updateRootlineDataMethodRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96351-UnusedTemplateService-updateRootlineDataMethodRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96351:
+
 ============================================================================
 Breaking: #96351 - Unused TemplateService->updateRootlineData method removed
 ============================================================================
@@ -19,13 +21,11 @@ then the page translations were loaded accordingly.
 Since TYPO3 v11 the language is resolved earlier, at the same
 time as the page ID, and the mechanism became obsolete.
 
-
 Impact
 ======
 
 Calling the method in PHP will throw a fatal PHP error, as the method does not exist anymore.
 
-
 Affected Installations
 ======================
 
@@ -33,7 +33,6 @@ TYPO3 installations, mainly legacy installations with legacy
 extensions using this method to boot up their own TypoScript
 parsing.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96501-PrefixLocalAnchorsOptionInHTMLParserRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96501-PrefixLocalAnchorsOptionInHTMLParserRemoved.rst
index d41ee8999212..9959c4f3f09a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96501-PrefixLocalAnchorsOptionInHTMLParserRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96501-PrefixLocalAnchorsOptionInHTMLParserRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96501:
+
 ==================================================================
 Breaking: #96501 - prefixLocalAnchors option in HTMLParser removed
 ==================================================================
@@ -20,20 +22,17 @@ The option has many side-effects such as relying on the request
 when parsing HTML (which behaves differently in TYPO3 Backend
 and in Frontend).
 
-
 Impact
 ======
 
 Setting this TypoScript option has no effect anymore.
 
-
 Affected Installations
 ======================
 
 TYPO3 installation having TypoScript configured with this
 option activated.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96517-HMENUcollapseTyposcriptRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96517-HMENUcollapseTyposcriptRemoved.rst
index bb1295fa4320..52c7edc39a39 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96517-HMENUcollapseTyposcriptRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96517-HMENUcollapseTyposcriptRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96517:
+
 ====================================================
 Breaking: #96517 - HMENU.collapse Typoscript removed
 ====================================================
@@ -16,20 +18,17 @@ When set, active :typoscript:`HMENU` items previously linked to their parent pag
 which was primarily a use-case for :typoscript:`GMENU_LAYERS`, which was
 removed in TYPO3 6.0.
 
-
 Impact
 ======
 
 Setting this TypoScript option has no effect anymore.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with :typoscript:`HMENU` definitions having this option
 set which is highly unlikely.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96518-Ext_typoscript_txtFilesNotIncludedAnymore.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96518-Ext_typoscript_txtFilesNotIncludedAnymore.rst
index da4c114ff0dd..b49b25b44ac6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96518-Ext_typoscript_txtFilesNotIncludedAnymore.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96518-Ext_typoscript_txtFilesNotIncludedAnymore.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96518:
+
 ==================================================================
 Breaking: #96518 - ext_typoscript_*.txt files not included anymore
 ==================================================================
@@ -10,7 +12,7 @@ Description
 ===========
 
 In previous TYPO3 versions, files named :file:`ext_typoscript_setup.txt` and
-:file:`ext_typoscript_constants.txt` which could be placed into an extensions'
+:file:`ext_typoscript_constants.txt` which could be placed into an extension's
 root folder, were automatically included for all TypoScript evaluations.
 
 This functionality stopped working, as the file ending `.typoscript`
@@ -21,13 +23,11 @@ Impact
 
 Contents of these files are not evaluated for TypoScript anymore.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with custom extensions including such files.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96520-EnforceNon-emptyConfigurationInCObjparseFunc.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96520-EnforceNon-emptyConfigurationInCObjparseFunc.rst
index 726fe322b2ba..3e2eb5eaaab1 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96520-EnforceNon-emptyConfigurationInCObjparseFunc.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96520-EnforceNon-emptyConfigurationInCObjparseFunc.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96520:
+
 =====================================================================
 Breaking: #96520 - Enforce non-empty configuration in cObj::parseFunc
 =====================================================================
@@ -23,55 +25,49 @@ This change enforces that parseFunc is only invoked with actual
 instructions. An empty configuration will throw a :php:`\LogicException` and
 requires corresponding source code or Fluid templates to be adjusted.
 
-
 Impact
 ======
 
 Still invoking :php:`ContentObjectRenderer::parseFunc` without configuration
 will throw a :php:`\LogicException` in the frontend rendering process.
 
-
 Affected Installations
 ======================
 
 All installations using one of the following examples
 
-
 PHP
 ---
 
-.. code-block:: php
-
-   /** @var \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj */
-   $cObj->parseFunc($content, []);
-   $cObj->parseFunc($content, [], '');
-   $cObj->parseFunc($content, [], '< null.this.does.not.exist');
+..  code-block:: php
 
+    /** @var \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj */
+    $cObj->parseFunc($content, []);
+    $cObj->parseFunc($content, [], '');
+    $cObj->parseFunc($content, [], '< null.this.does.not.exist');
 
 TypoScript
 ----------
 
-.. code-block:: typoscript
-
-   # `1` is considered a TypoScript reference which
-   # most probably does not exist
-   stdWrap.parseFunc = 1
+..  code-block:: typoscript
 
-   # non-existing TypoScript reference leading to empty configuration
-   stdWrap.parseFunc =< null.this.does.not.exist
+    # `1` is considered a TypoScript reference which
+    # most probably does not exist
+    stdWrap.parseFunc = 1
 
+    # non-existing TypoScript reference leading to empty configuration
+    stdWrap.parseFunc =< null.this.does.not.exist
 
 Fluid Templates
 ---------------
 
-.. code-block:: html
+..  code-block:: html
 
-   <!-- empty TypoScript reference leading to empty configuration -->
-   <f:format.html parseFuncTSPath="">{content}</f:format.html>
-
-   <!-- non-existing TypoScript reference leading to empty configuration -->
-   <f:format.html parseFuncTSPath="null.this.does.not.exist">{content}</f:format.html>
+    <!-- empty TypoScript reference leading to empty configuration -->
+    <f:format.html parseFuncTSPath="">{content}</f:format.html>
 
+    <!-- non-existing TypoScript reference leading to empty configuration -->
+    <f:format.html parseFuncTSPath="null.this.does.not.exist">{content}</f:format.html>
 
 Migration
 =========
@@ -91,5 +87,4 @@ Thus, any occurrence of the new :php:`\LogicException` mentioned above,
 is also an indicator of some missing processing that has been unseen in
 custom source code or template instructions.
 
-
 .. index:: Frontend, TypoScript, NotScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96522-ConfigdisablePageExternalUrlRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96522-ConfigdisablePageExternalUrlRemoved.rst
index 3683b440a957..d0f464856b06 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96522-ConfigdisablePageExternalUrlRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96522-ConfigdisablePageExternalUrlRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96522:
+
 ========================================================
 Breaking: #96522 - config.disablePageExternalUrl removed
 ========================================================
@@ -16,7 +18,6 @@ In previous versions, it allowed to have third-party extensions such as
 did back in 2006. TYPO3 Core did not do a redirect itself then when this
 option was activated.
 
-
 Impact
 ======
 
@@ -24,14 +25,12 @@ This option is removed, meaning that TYPO3 Core will always handle a deep link
 to a page with an external URL as a redirect, which has been the default
 behaviour for TYPO3 installations anyways.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations explicitly setting this option, which is highly unlikely,
 as modern solutions - even jumpurl - use middlewares already since TYPO3 v9.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96526-RemovedHooksForModifyingPageModuleContent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96526-RemovedHooksForModifyingPageModuleContent.rst
index f7528ea8b455..2a3d1e978863 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96526-RemovedHooksForModifyingPageModuleContent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96526-RemovedHooksForModifyingPageModuleContent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96526:
+
 ==================================================================
 Breaking: #96526 - Removed hooks for modifying page module content
 ==================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96550-TYPO3_CONF_VARSSYSUSdateFormatRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96550-TYPO3_CONF_VARSSYSUSdateFormatRemoved.rst
index 23953a3b0919..cb473c0249aa 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96550-TYPO3_CONF_VARSSYSUSdateFormatRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96550-TYPO3_CONF_VARSSYSUSdateFormatRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96550:
+
 =================================================================
 Breaking: #96550 - TYPO3_CONF_VARS['SYS']['USdateFormat'] removed
 =================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst
index d19b7ff3f772..843fb608c714 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96553-TYPO3V12SystemRequirements.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96553:
+
 ================================================
 Breaking: #96553 - TYPO3 v12 system requirements
 ================================================
@@ -19,22 +21,19 @@ TYPO3 v12 supports these database products and versions:
 * SQLite 3.8.3 or higher
 * Support for Microsoft SQL Server in any version is discontinued
 
-
 Impact
 ======
 
-The TYPO3 core codebase and extensions tailored for v12 and above can use
+The TYPO3 Core codebase and extensions tailored for v12 and above can use
 features implemented with PHP up to and including 8.1. Running TYPO3 v12 with older PHP
 versions or database engines will trigger fatal errors.
 
-
 Affected Installations
 ======================
 
 Hosting a TYPO3 instance based on version 12 may require an update of the
 PHP platform and the database engine.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96575-UpdateToCodeMirror6.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96575-UpdateToCodeMirror6.rst
index 6c6b12f3ac1d..a980d8a3f16f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96575-UpdateToCodeMirror6.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96575-UpdateToCodeMirror6.rst
@@ -15,21 +15,18 @@ TYPO3 Core now ships with CodeMirror v6.
 CodeMirror is used as editor in the TYPO3 Backend for editing
 HTML records, TypoScript templates and plaintext files in the file module.
 
-
 Impact
 ======
 
 Existing CodeMirror v5 addons and modes need to be adapted for CodeMirror v6
 which brings a completely rewritten plugin infrastructure.
 
-
 Affected installations
 ======================
 
 TYPO3 Installations with third-party extensions that register
 custom CodeMirror addons or modes.
 
-
 Migration
 =========
 
@@ -44,16 +41,16 @@ to use :php:`JavaScriptModuleInstruction` statements that pick ES6 module
 for a specific language mode. A RequireJS module like
 :js:`codemirror/mode/css/css` is now shipped in `@codemirror/lang-css`:
 
-.. code-block:: php
+..  code-block:: php
 
-   use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
+    use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
 
-   return [
-       'css' => [
-           'module' => JavaScriptModuleInstruction::create('@codemirror/lang-css', 'css')->invoke(),
-           'extensions' => ['css'],
-       ],
-   ];
+    return [
+        'css' => [
+            'module' => JavaScriptModuleInstruction::create('@codemirror/lang-css', 'css')->invoke(),
+            'extensions' => ['css'],
+        ],
+    ];
 
 Addons no longer bring :php:`cssFiles` or :php:`options`, but only consist
 of a :php:`module` and an optional :php:`keymap` statement, as the `options`
@@ -63,16 +60,15 @@ JavaScript.
 See following example for the registration of the history addon via
 :file:`Configuration/Backend/T3editor/Modes.php`:
 
-.. code-block:: php
-
-   use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
+..  code-block:: php
 
-   return [
-       'history' => [
-           'module' => JavaScriptModuleInstruction::create('@codemirror/commands', 'history')->invoke(),
-           'keymap' => JavaScriptModuleInstruction::create('@codemirror/commands', 'historyKeymap'),
-       ],
-   ];
+    use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
 
+    return [
+        'history' => [
+            'module' => JavaScriptModuleInstruction::create('@codemirror/commands', 'history')->invoke(),
+            'keymap' => JavaScriptModuleInstruction::create('@codemirror/commands', 'historyKeymap'),
+        ],
+    ];
 
 .. index:: Backend, JavaScript, NotScanned, ext:t3editor
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96604-RemovedModuleTemplate-addJavaScriptCode.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96604-RemovedModuleTemplate-addJavaScriptCode.rst
index 679da6606d2a..222c402eb394 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96604-RemovedModuleTemplate-addJavaScriptCode.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96604-RemovedModuleTemplate-addJavaScriptCode.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96604:
+
 ==============================================================
 Breaking: #96604 - Removed ModuleTemplate->addJavaScriptCode()
 ==============================================================
@@ -24,19 +26,16 @@ Impact
 
 Calling the method in an instance triggers a fatal PHP error.
 
-
 Affected Installations
 ======================
 
 The extension scanner finds usage candidates as weak match. In general,
 instances with extensions that come with own backend modules may be affected.
 
-
 Migration
 =========
 
 There are various ways to migrate away from inline JavaScript in backend modules, a modern TYPO3 v12
 solution is :doc:`JavaScript ES6 modules <Feature-96510-InfrastructureForJavaScriptModulesAndImportmaps>`.
 
-
 .. index:: Backend, PHP-API, FullyScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96616-RemoveFrontendLoginModeForPages.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96616-RemoveFrontendLoginModeForPages.rst
index 60d211bfea76..df374e11e297 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96616-RemoveFrontendLoginModeForPages.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96616-RemoveFrontendLoginModeForPages.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96616:
+
 =======================================================
 Breaking: #96616 - Remove Frontend Login Mode for pages
 =======================================================
@@ -28,7 +30,6 @@ Additionally, the following TypoScript configuration has no effect anymore:
 
 - :typoscript:`config.sendCacheHeaders_onlyWhenLoginDeniedInBranch`
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96641-TypoLinkRelatedHooksRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96641-TypoLinkRelatedHooksRemoved.rst
index 4ab2e5f3d924..168f84a9d444 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96641-TypoLinkRelatedHooksRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96641-TypoLinkRelatedHooksRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96641:
+
 =================================================
 Breaking: #96641 - TypoLink related hooks removed
 =================================================
@@ -27,13 +29,11 @@ had been used.
 This architectural design flaw had been solved by introducing
 a unified Link Generation API ("LinkFactory").
 
-
 Impact
 ======
 
 Using these hooks in extensions has no effect anymore in TYPO3 v12+.
 
-
 Affected Installations
 ======================
 
@@ -41,7 +41,6 @@ TYPO3 installations with custom extensions using these hooks for
 modifying links. The extension scanner in the Upgrade module / Install
 tool will show affected occurrences.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96659-RegistrationOfCObjectsViaTYPO3_CONF_VARS.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96659-RegistrationOfCObjectsViaTYPO3_CONF_VARS.rst
index 9b677f4d71be..9ae776e272b6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96659-RegistrationOfCObjectsViaTYPO3_CONF_VARS.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96659-RegistrationOfCObjectsViaTYPO3_CONF_VARS.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96659:
+
 ===============================================================
 Breaking: #96659 - Registration of cObjects via TYPO3_CONF_VARS
 ===============================================================
@@ -16,7 +18,6 @@ The previous way of registering custom Content Objects via
 :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']`
 added in TYPO3 v7.2 (see :issue:`64386`) has been removed.
 
-
 Impact
 ======
 
@@ -24,20 +25,18 @@ TYPO3 installations using the previous way of registering custom or overridden
 Content Objects will not return the rendered frontend output for this specific
 Content Object anymore, which is a very rare case.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with extensions registering custom Content Objects.
 
-
 Migration
 =========
 
 Extensions registering custom Content Objects should now use the service
 configuration:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyCompany\MyPackage\ContentObject\CustomContentObject:
         tags:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96708-RemovedSupportForAccesskeysInHMENU.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96708-RemovedSupportForAccesskeysInHMENU.rst
index 06e84a663a77..05da99c7f030 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96708-RemovedSupportForAccesskeysInHMENU.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96708-RemovedSupportForAccesskeysInHMENU.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96708:
+
 ==========================================================
 Breaking: #96708 - Removed support for accesskeys in HMENU
 ==========================================================
@@ -26,7 +28,6 @@ TypoScript property :typoscript:`HMENU.accessKey = 1` was set.
 Along with the accessKey functionality, the public property
 :php:`TypoScriptFrontendController->accessKey` has been removed.
 
-
 Impact
 ======
 
@@ -35,7 +36,6 @@ Setting the TypoScript option has no effect anymore.
 Accessing the removed public property will trigger a PHP warning. The
 extension scanner will detect usages as weak match.
 
-
 Affected Installations
 ======================
 
@@ -45,7 +45,6 @@ accessing the :php:`accessKey` property of :php:`TypoScriptFrontendController`.
 TYPO3 installations using the global :html:`accesskey` HTML attribute in
 their own code will still work as before.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96726-RequestHandlerFunctionalityOfExtbaseRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96726-RequestHandlerFunctionalityOfExtbaseRemoved.rst
index ea8b1a7ee18c..36a714e05f72 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96726-RequestHandlerFunctionalityOfExtbaseRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96726-RequestHandlerFunctionalityOfExtbaseRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96726:
+
 ==================================================================
 Breaking: #96726 - RequestHandler functionality of Extbase removed
 ==================================================================
@@ -39,7 +41,6 @@ Impact
 
 Registration of custom RequestHandlers will not have any effect anymore.
 
-
 Affected Installations
 ======================
 
@@ -49,7 +50,6 @@ This can be checked if an extension provides a
 extension scanner, which will report any usage of the now removed
 :php:`\TYPO3\CMS\Extbase\Mvc\RequestHandlerInterface`.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96733-RemovedSupportForModuleHandlingBasedOnTBE_MODULES.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96733-RemovedSupportForModuleHandlingBasedOnTBE_MODULES.rst
index bb68d835994e..ef8fc1bee9a1 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96733-RemovedSupportForModuleHandlingBasedOnTBE_MODULES.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96733-RemovedSupportForModuleHandlingBasedOnTBE_MODULES.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96733:
+
 ===========================================================================
 Breaking: #96733 - Removed support for module handling based on TBE_MODULES
 ===========================================================================
@@ -44,7 +46,7 @@ global array
 :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$pluginName]['controllers']`
 which has been merged with the Module Registry API and has been removed as well.
 
-Because the registration of modules is now done in extensions'
+Because the registration of modules is now done in the extension's
 :file:`Configuration/Backend/Modules.php` file, the following
 API methods do no longer have any effect and will be removed in
 TYPO3 v13.0:
@@ -54,7 +56,6 @@ TYPO3 v13.0:
 - :php:`\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addCoreNavigationComponent()`
 - :php:`\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule()`
 
-
 The User TSconfig :typoscript:`options.hideModules.[moduleGroup]` has been
 removed. All modules are registered with a unique identifier. Therefore, the
 TSconfig :typoscript:`options.hideModules` should be used for all modules
@@ -71,7 +72,6 @@ Referencing any of the removed PHP classes will result in a PHP fatal error.
 
 Using one of the mentioned API methods won't have any effect.
 
-
 Affected Installations
 ======================
 
@@ -81,7 +81,6 @@ PHP classes / methods by third-party extensions.
 
 Any occurrences can be detected via the Extension Scanner.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96806-RemovedHookForModifyingButtonBar.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96806-RemovedHookForModifyingButtonBar.rst
index 58a0e626994a..95958830092b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96806-RemovedHookForModifyingButtonBar.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96806-RemovedHookForModifyingButtonBar.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96806:
+
 ========================================================
 Breaking: #96806 - Removed hook for modifying button bar
 ========================================================
@@ -18,13 +20,11 @@ Impact
 Any hook implementation registered is not executed anymore in
 TYPO3 v12.0+. The extension scanner will report possible usages.
 
-
 Affected Installations
 ======================
 
 All TYPO3 installations using this hook in custom extension code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst
index 9ddc2effcc2d..2b1b8aca3dcb 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96812:
+
 =================================================================================
 Breaking: #96812 - No Frontend TypoScript based template overrides in the backend
 =================================================================================
@@ -9,13 +11,13 @@ See :issue:`96812`
 Description
 ===========
 
-A couple of core extensions with backend module controllers allowed overriding Fluid
+A couple of Core extensions with backend module controllers allowed overriding Fluid
 templates using frontend TypoScript. The two documented extensions are EXT:dashboard
 and the backend page module. The Extbase based backend extensions EXT:belog, EXT:beuser
 and EXT:extensionmanager allowed this implicitly too, but this detail has never
 been directly documented.
 
-This functionality has been removed: All core extensions, and in general all extensions
+This functionality has been removed: All Core extensions, and in general all extensions
 that switch to the :doc:`simplified backend templating <Feature-96730-SimplifiedExtbackendModuleTemplateAPI>`
 no longer use the frontend TypoScript based override approach. This has been superseded
 by a general override strategy based on TSconfig, as described in :doc:`this changelog
@@ -57,7 +59,6 @@ Instances with extensions that configure own EXT:dashboard widgets or override t
 of existing dashboard widgets using Frontend TypoScript are affected, as well as instances
 that override page module templates as described in :doc:`this changelog entry <../10.3/Feature-90348-NewFluid-basedReplacementForPageLayoutView>`.
 
-
 Migration
 =========
 
@@ -66,7 +67,7 @@ Page module template overrides
 
 An instance sets frontend TypoScript like this:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     module.tx_backend.view.templateRootPaths.1644483508 = EXT:myext/Resources/Private/Templates/
     module.tx_backend.view.partialRootPaths.1644483508 = EXT:myext/Resources/Private/Partials/
@@ -75,11 +76,11 @@ If extension "myext" now delivered a template file such as :file:`Resources/Priv
 that template file was used for rendering the page module instead of the default template.
 
 As described in this :doc:`changelog <Feature-96812-OverrideBackendTemplatesWithTSconfig>`,
-the new definition is now done using TSconfig. The extension "myext" with composer name "myvendor/myext" can
+the new definition is now done using TSconfig. The extension "myext" with Composer name "myvendor/myext" can
 deliver a :file:`Configuration/page.tsconfig` file (see :doc:`changelog <Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions>`)
 with the below content to substitute the old definition and keep overriding template files at the current position:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     # Pattern: templates."composer-name"."something-unique" = "overriding-extension-composer-name":"entry-path"
     templates.typo3/cms-backend.1644483508 = myvendor/myext:Resources/Private
@@ -95,7 +96,7 @@ Templating
 
 An extension delivers this TypoScript:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     module.tx_dashboard {
         view {
@@ -106,18 +107,18 @@ An extension delivers this TypoScript:
     }
 
 This instructed the dashboard widget renderer to look up widget templates in this
-path, too. The new registration for extension "myext" with composer name "myvendor/myext"
+path, too. The new registration for extension "myext" with Composer name "myvendor/myext"
 using file :file:`Configuration/page.tsconfig`
 (see :doc:`changelog <Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions>`)
 could look like this:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     # Pattern: templates.typo3/cms-dashboard."something-unique" = "overriding-extension-composer-name":"entry-path"
     templates.typo3/cms-dashboard.1644485473 = myvendor/myext:Resources/Private
 
 A widget template is then put to :file:`Resources/Private/Templates/Dashboard/Widgets/MyExtensionWidget.html`.
-Extensions that want to stay compatible with both TYPO3 core v11 and v12 should simply define both the
+Extensions that want to stay compatible with both TYPO3 Core v11 and v12 should simply define both the
 old way and the new way.
 
 Widget registration using Services.yaml
@@ -147,7 +148,7 @@ dependency injection configuration.
 
 Let's say a widget has been registered like this:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
   # This is defined in EXT:dashboard Services.yaml already, extensions
   # must not define this in their Services.yaml files again.
@@ -169,12 +170,12 @@ Let's say a widget has been registered like this:
 The important line is :yaml:`$view: '@dashboard.views.widget'`: This instructs the DI
 to inject an instance of :php:`StandaloneView` using the EXT:dashboard :php:`Factory::widgetTemplate()`
 method for argument :php:`$view`. The :yaml:`dashboard.views.widget` is deprecated since
-TYPO3 core v12 and should not be used anymore. It logs a deprecation message upon use
+TYPO3 Core v12 and should not be used anymore. It logs a deprecation message upon use
 during build-time and will be removed in v13 together with the :php:`Factory`.
 
 The new registration should be adapted to this, simply removing the :php:`$view` argument:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
   # This is your custom widget registration in your extensions Services.yaml
   dashboard.widget.sysLogErrors:
@@ -188,7 +189,7 @@ The new registration should be adapted to this, simply removing the :php:`$view`
 Now the PHP implementation. The above example references the :php:`BarChartWidget` class
 to take care of rendering. The class looked like this before (shortened):
 
-.. code-block:: php
+..  code-block:: php
 
     class BarChartWidget implements WidgetInterface
     {
@@ -216,7 +217,7 @@ object. To get this, widgets should now implement :php:`RequestAwareWidgetInterf
 the EXT:dashboard framework will then :php:`setRequest()` the current request to the widget
 immediately after widget instantiation. The new code thus looks like this:
 
-.. code-block:: php
+..  code-block:: php
 
     class BarChartWidget implements WidgetInterface, RequestAwareWidgetInterface
     {
@@ -238,7 +239,7 @@ immediately after widget instantiation. The new code thus looks like this:
 
         public function renderWidgetContent(): string
         {
-            // The second argument is the composer 'name' of the extension that adds the widget.
+            // The second argument is the Composer 'name' of the extension that adds the widget.
             // It is needed to instruct BackendViewFactory to look up templates in this package
             // next to the default location 'typo3/cms-dashboard', too.
             $view = $this->backendViewFactory->create($this->request, ['myVendor/myPackage']);
@@ -248,8 +249,8 @@ immediately after widget instantiation. The new code thus looks like this:
     }
 
 The actual implementation in TYPO3 v12 is still slightly different to keep
-compatibility with extensions that re-use core widgets and need v11 and v12
-compatibility at the same time. Those core classes will be adapted in v13
+compatibility with extensions that re-use Core widgets and need v11 and v12
+compatibility at the same time. Those Core classes will be adapted in v13
 to the above outline version, though.
 
 .. index:: Backend, TSConfig, TypoScript, NotScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96829-RemovedBackendUtility-getFuncInput.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96829-RemovedBackendUtility-getFuncInput.rst
index 499f38e59132..fd94541cf349 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96829-RemovedBackendUtility-getFuncInput.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96829-RemovedBackendUtility-getFuncInput.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96829:
+
 =========================================================
 Breaking: #96829 - Removed BackendUtility->getFuncInput()
 =========================================================
@@ -13,23 +15,20 @@ Method :php:`BackendUtility::getFuncInput()` is incompatible with
 `Content-Security-Policy` HTTP headers due to its onchange JavaScript
 handler, and has been removed.
 
-
 Impact
 ======
 
 Instances with extensions using the method will raise a fatal
 PHP error upon use.
 
-
 Affected Installations
 ======================
 
 The method is part of very old-school backend module code and of limited use.
-TYPO3 core code does not use it since at least v9, it is relatively unlikely
+TYPO3 Core code does not use it since at least v9, it is relatively unlikely
 backend modules of extensions still use this method. The extension scanner
 finds usages with a strong match.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96831-EnforceHTMLSanitizerDuringFrontendRendering.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96831-EnforceHTMLSanitizerDuringFrontendRendering.rst
index 1a7ed03bd7ce..db3c92b102c7 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96831-EnforceHTMLSanitizerDuringFrontendRendering.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96831-EnforceHTMLSanitizerDuringFrontendRendering.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96831:
+
 ===================================================================
 Breaking: #96831 - Enforce HTML sanitizer during frontend rendering
 ===================================================================
@@ -26,7 +28,6 @@ Impact
 Rich-text content processed with TypoScript :typoscript:`stdWrap.parseFunc` is HTML sanitized per default.
 Feature flag `security.frontend.htmlSanitizeParseFuncDefault` does not have any effect anymore.
 
-
 Affected Installations
 ======================
 
@@ -34,7 +35,6 @@ All scenarios that use TypoScript :typoscript:`stdWrap.parseFunc`, a direct invo
 :php:`\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::parseFunc()` or Fluid
 view-helper :html:`<f:format.html>`.
 
-
 Migration
 =========
 
@@ -43,5 +43,4 @@ The following documents already tackled and described the scenario and implicati
 * :doc:`9.5.x: Important: #94484 - Introduce HTML Sanitizer <../9.5.x/Important-94484-IntroduceHTMLSanitizer>`
 * :doc:`12.0: Breaking: #96520 - Enforce non-empty configuration in cObj::parseFunc <Breaking-96520-EnforceNon-emptyConfigurationInCObjparseFunc>`
 
-
 .. index:: Frontend, TypoScript, NotScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96835-HttpsAsDefaultSchemeInPageRouter.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96835-HttpsAsDefaultSchemeInPageRouter.rst
index 93602c925579..b6a6f3560508 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96835-HttpsAsDefaultSchemeInPageRouter.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96835-HttpsAsDefaultSchemeInPageRouter.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96835:
+
 ========================================================
 Breaking: #96835 - https as default scheme in PageRouter
 ========================================================
@@ -11,19 +13,16 @@ Description
 
 The fallback scheme in :php:`\TYPO3\CMS\Core\Routing\PageRouter::generateUri()` is set to `https` instead of `http` when linking to other pages.
 
-
 Impact
 ======
 
 If the site configuration does not provide a scheme but only a domain (e.g. `www.domain.tld`), the scheme is set to `https`.
 
-
 Affected Installations
 ======================
 
 All installations which use a site configuration without providing a scheme and which must not be delivered through `https`.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96874-CKEditor-relatedPluginsAndConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96874-CKEditor-relatedPluginsAndConfiguration.rst
index 1e11ba3ff2b2..0e3f3686d84f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96874-CKEditor-relatedPluginsAndConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96874-CKEditor-relatedPluginsAndConfiguration.rst
@@ -18,7 +18,6 @@ Any kind of plugin, which was written for CKEditor4 is not compatible anymore.
 
 In addition, since CKEditor 5 does not grant HTML input the same way as before.
 
-
 Impact
 ======
 
@@ -27,7 +26,6 @@ Any plugin in CKEditor will not be loaded anymore in TYPO3 v12.
 It might be possible to have data loss when editing and saving data,
 especially since some configuration formats have been changed.
 
-
 Affected installations
 ======================
 
@@ -35,7 +33,6 @@ TYPO3 installations with custom extensions extending CKEditor with plugins,
 or relying on a specific logic to save data with specific contents
 (such as additional allowed HTML tags).
 
-
 Migration
 =========
 
@@ -49,6 +46,8 @@ using the CKEditor5 plugin system [https://ckeditor.com/docs/ckeditor5/latest/in
 Example - A timestamp plugin which adds a toolbar item to add the current timestamp
 into the editor.
 
+..  code-block:: javascript
+
     import {Core, UI} from '@typo3/ckeditor5-bundle';
 
     import {EditorWithUI} from '@ckeditor/ckeditor5-core/src/editor/editorwithui';
@@ -90,6 +89,8 @@ into the editor.
 
 In the RTE configuration, this then needs to be added like this:
 
+..  code-block:: yaml
+
     editor:
        importModules:
           - '@my-vendor/my-package/timestamp-plugin.js'
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96879-RemovedHookGetCacheTimeout.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96879-RemovedHookGetCacheTimeout.rst
index 6248d22ef4ba..e6ac0ef597b5 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96879-RemovedHookGetCacheTimeout.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96879-RemovedHookGetCacheTimeout.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96879:
+
 ===================================================
 Breaking: #96879 - Hook "get_cache_timeout" removed
 ===================================================
@@ -13,20 +15,17 @@ The hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.p
 used in TYPO3 Frontend for changing the cache timeout of a page stored in the
 TYPO3 "pages" cache has been removed.
 
-
 Impact
 ======
 
 If an extension has registered a hook in :file:`ext_localconf.php` it will not
 be executed anymore in TYPO3 v12 or later.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations using this hook in custom extensions.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96889-RequirePHPMbstringAndIntl.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96889-RequirePHPMbstringAndIntl.rst
index 9776e43614e4..df2b2218a25b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96889-RequirePHPMbstringAndIntl.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96889-RequirePHPMbstringAndIntl.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96889:
+
 ================================================
 Breaking: #96889 - Require PHP mbstring and intl
 ================================================
@@ -20,20 +22,17 @@ packages that mimic these extensions partially if not available, these
 parts of the native extensions. To further improve TYPO3 character set
 and internationalization handling, the system needs the full functionality.
 
-
 Impact
 ======
 
 System environments not providing these PHP extensions may fail.
 
-
 Affected Installations
 ======================
 
 The install tool "Environment Status" and the reports module notify
 about missing PHP extensions, and it is shown during the installation process.
 
-
 Migration
 =========
 
@@ -42,7 +41,7 @@ Provide the extensions in the PHP.
 A debian / ubuntu based Linux host typically install such packages with
 a command similar to this:
 
-.. code-block:: bash
+..  code-block:: bash
 
     sudo apt install php8.1-mbstring php8.1-intl
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96899-DisplayWarningMessagesHookRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96899-DisplayWarningMessagesHookRemoved.rst
index 454c533bb043..264482c251f0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96899-DisplayWarningMessagesHookRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96899-DisplayWarningMessagesHookRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96899:
+
 ========================================================
 Breaking: #96899 - "displayWarningMessages" hook removed
 ========================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96904-ExtreportsReportsDoNotReceiveParentObject.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96904-ExtreportsReportsDoNotReceiveParentObject.rst
index 35340a878ccf..7fecdc66e63c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96904-ExtreportsReportsDoNotReceiveParentObject.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96904-ExtreportsReportsDoNotReceiveParentObject.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96904:
+
 ===================================================================
 Breaking: #96904 - ext:reports reports do not receive parent object
 ===================================================================
@@ -18,7 +20,6 @@ was pretty much useless since all state in :php:`ReportController`
 is :php:`protected`. Not having this constructor argument has the advantage
 that reports can now use dependency injection.
 
-
 Impact
 ======
 
@@ -26,20 +27,18 @@ Extensions that register own reports to the EXT:reports extension and type hint
 :php:`ReportController` as constructor argument will trigger a fatal PHP error
 since that argument is no longer provided by the API.
 
-
 Affected Installations
 ======================
 
 Instances with extensions that add own reports to EXT:reports may be affected.
 
-
 Migration
 =========
 
 Do not expect to retrieve an instance of :php:`ReportController` as constructor
 argument anymore. Code before:
 
-.. code-block:: php
+..  code-block:: php
 
     class MyClass implements ReportInterface
     {
@@ -49,7 +48,7 @@ argument anymore. Code before:
         }
     }
 
-.. code-block:: php
+..  code-block:: php
 
     class MyClass implements ReportInterface
     {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96935-RegisterLinkvalidatorLinktypesViaServiceConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96935-RegisterLinkvalidatorLinktypesViaServiceConfiguration.rst
index a96acd93952e..699bee75fe0b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96935-RegisterLinkvalidatorLinktypesViaServiceConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96935-RegisterLinkvalidatorLinktypesViaServiceConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96935:
+
 =============================================================================
 Breaking: #96935 - Register linkvalidator linktypes via service configuration
 =============================================================================
@@ -34,7 +36,6 @@ is not evaluated anymore.
 The :php:`LinktypeInterface` is extended for
 :php:`public function getIdentifier(): string`.
 
-
 Affected Installations
 ======================
 
@@ -52,7 +53,7 @@ from your :file:`ext_localconf.php` file.
 If :yaml:`autoconfigure` is not enabled in your :file:`Configuration/Services.(yaml|php)`,
 add the tag :yaml:`linkvalidator.linktype` manually to your `linktype` service.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     Vendor\Extension\Linktype\MyCustomLinktype:
       tags:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96968-HookHeaderNoCacheRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96968-HookHeaderNoCacheRemoved.rst
index 0d98074d4f29..d8812d48a047 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96968-HookHeaderNoCacheRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96968-HookHeaderNoCacheRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96968:
+
 ===============================================
 Breaking: #96968 - Hook "headerNoCache" removed
 ===============================================
@@ -14,25 +16,22 @@ The previous TYPO3 Hook "headerNoCache" registered via
 has been removed in favor of a new PSR-14 event
 :php:`ShouldUseCachedPageDataIfAvailableEvent`.
 
-
 Impact
 ======
 
 Hooks in third-party extensions will not be executed anymore.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with custom extensions using this hook.
 
-
 Migration
 =========
 
 Register a new PSR-14 event listener for
 :ref:`ShouldUseCachedPageDataIfAvailableEvent <feature-96968-1663513232>`
-in the extensions' :file:`Services.yaml` to keep TYPO3 v12+ compatibility.
+in the extension's :file:`Services.yaml` to keep TYPO3 v12+ compatibility.
 
 Extensions can then provide compatibility with TYPO3 v11 and TYPO3 v12 at
 the same time.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96982-RemovedSupportForGlobalExtensions.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96982-RemovedSupportForGlobalExtensions.rst
index 8fc8755245c7..78c4cfd60edf 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96982-RemovedSupportForGlobalExtensions.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96982-RemovedSupportForGlobalExtensions.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96982:
+
 ========================================================
 Breaking: #96982 - Removed support for global extensions
 ========================================================
@@ -24,7 +26,6 @@ a proper way.
 
 This functionality including the feature toggle have been removed in TYPO3 v12.0.
 
-
 Impact
 ======
 
@@ -35,14 +36,12 @@ The global option to enable this feature will be removed from
 :file:`LocalConfiguration.php` automatically once the Install Tool / Maintenance module
 is loaded the next time, if the option is activated.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations having the global option enabled, and have loaded extensions
 in :file:`typo3/ext/`, which is unlikely in 2022.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96983-TableColumnSubType.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96983-TableColumnSubType.rst
index 2837d61e2b41..71dbb11ce335 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96983-TableColumnSubType.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96983-TableColumnSubType.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96983:
+
 =====================================
 Breaking: #96983 - TableColumnSubType
 =====================================
@@ -14,21 +16,18 @@ removed. It has no use anymore, since TCA option `internal_type` is not
 evaluated. It was set for the Extbase class :php:`ColumnMap`, but even there it
 had no direct usage.
 
-
 Impact
 ======
 
 In the rare case, that the class :php:`TableColumnSubType` is used in
 custom code, it will result in a PHP fatal error.
 
-
 Affected Installations
 ======================
 
 All installations that use :php:`TableColumnSubType` directly in their custom
 code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96988-GlobalOptionAllowLocalInstallRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96988-GlobalOptionAllowLocalInstallRemoved.rst
index 7466a2c8811a..e0c6d40ece92 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96988-GlobalOptionAllowLocalInstallRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96988-GlobalOptionAllowLocalInstallRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96988:
+
 ============================================================
 Breaking: #96988 - Global Option "allowLocalInstall" removed
 ============================================================
@@ -23,7 +25,6 @@ protected with access for only "System Maintainers", only giving special users
 the power to modify the extension installation process, making TYPO3 more
 flexible than 15 years ago.
 
-
 Impact
 ======
 
@@ -32,14 +33,12 @@ now always possible to install an extension available in :file:`typo3conf/ext/`
 for system maintainers with the Extension Manager module for Non-Composer Mode
 TYPO3 installations.
 
-
 Affected Installations
 ======================
 
 TYPO3 Installations in Non-Composer Mode having this option turned off, which
 is very rare.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96996-HookCheckEnableFieldsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96996-HookCheckEnableFieldsRemoved.rst
index 90f62ebdcf3b..8da707f19bc3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96996-HookCheckEnableFieldsRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96996-HookCheckEnableFieldsRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96996:
+
 ===================================================
 Breaking: #96996 - Hook "checkEnableFields" removed
 ===================================================
@@ -29,7 +31,7 @@ Migration
 =========
 
 Register a new PSR-14 event listener for :ref:`RecordAccessGrantedEvent <feature-96996-1663513388>`
-in the extensions' :file:`Services.yaml` to keep TYPO3 v12+ compatibility.
+in the extension's :file:`Services.yaml` to keep TYPO3 v12+ compatibility.
 
 Extensions can then provide compatibility with TYPO3 v11 and TYPO3 v12 at
 the same time.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96998-ExtbaseValidatorInterfaceChanged.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96998-ExtbaseValidatorInterfaceChanged.rst
index 627d2a98751e..c40b45baf38d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96998-ExtbaseValidatorInterfaceChanged.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96998-ExtbaseValidatorInterfaceChanged.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-96998:
+
 ======================================================
 Breaking: #96998 - Extbase validator interface changed
 ======================================================
@@ -46,28 +48,28 @@ Those just have to adjust their :php:`isValid()` method signature to :php:`isVal
 keep TYPO3 v11 & v12 compatibility. Read on for rare cases where this is not sufficient.
 
 First, it is no longer allowed to extend specific validators of EXT:extbase and EXT:form.
-Those are "leaf" classes, and extensions should not extend them, giving the core more
+Those are "leaf" classes, and extensions should not extend them, giving the Core more
 freedom to change those classes if needed. Extensions should instead extend the provided
 abstract classes like :php:`AbstractValidator` to implement own validators.
 
 Since most custom validators inherit :php:`AbstractValidator`, the most important change
 for these validator is a return type change of :php:`isValid()`:
 
-.. code-block:: php
+..  code-block:: php
 
     public function isValid(mixed $value): void
 
 Extensions that need to stay compatible with v11 (PHP 7.4) and v12, will thus typically
 use a signature like below: Set the return type constraint, but omit the 'mixed' argument type:
 
-.. code-block:: php
+..  code-block:: php
 
     public function isValid($value): void
 
 With a closer look at the :php:`ValidatorInterface`, the v11 version
 effectively looks like this:
 
-.. code-block:: php
+..  code-block:: php
 
     interface ValidatorInterface
     {
@@ -77,7 +79,7 @@ effectively looks like this:
 
 This has been changed in v12 to this:
 
-.. code-block:: php
+..  code-block:: php
 
     interface ValidatorInterface
     {
@@ -99,7 +101,7 @@ younger interfaces.
 A v11 & v12 compatible method signature looks like this (avoiding the :php:`mixed` keyword
 on :php:`validate`):
 
-.. code-block:: php
+..  code-block:: php
 
     class MyValidator implements ValidatorInterface
     {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97065-TYPO3FrontendAlwaysRenderedInUTF-8.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97065-TYPO3FrontendAlwaysRenderedInUTF-8.rst
index bd27eaf55a09..6a1874e7a20c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97065-TYPO3FrontendAlwaysRenderedInUTF-8.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97065-TYPO3FrontendAlwaysRenderedInUTF-8.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97065:
+
 ==========================================================
 Breaking: #97065 - TYPO3 Frontend always rendered in UTF-8
 ==========================================================
@@ -25,7 +27,6 @@ The public PHP property :php:`TypoScriptFrontendController->metaCharset` is
 removed, along with the public method
 :php:`TypoScriptFrontendController->convOutputCharset()`.
 
-
 Impact
 ======
 
@@ -35,7 +36,6 @@ TYPO3 installations with a different setting than "utf-8" will now output
 TYPO3 extensions accessing the removed property will trigger a PHP warning, or
 calling the removed method :php:`convOutputCharset()` will see a fatal PHP error.
 
-
 Affected Installations
 ======================
 
@@ -43,7 +43,6 @@ TYPO3 installations using :typoscript:`config.metaCharset` set to a value other
 `utf-8`, or accessing the removed property or method. The Extension Scanner
 in the Install Tool will detect usages of the removed property and method.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97091-TSFE-clear_previewHasBeenRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97091-TSFE-clear_previewHasBeenRemoved.rst
index 57a6b59fe5fd..ee40b9832952 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97091-TSFE-clear_previewHasBeenRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97091-TSFE-clear_previewHasBeenRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97091:
+
 =======================================================
 Breaking: #97091 - TSFE->clear_preview has been removed
 =======================================================
@@ -11,31 +13,40 @@ Description
 
 The method :php:`clear_preview` of the :php:`TypoScriptFrontendController` has been removed.
 
-
 Impact
 ======
 
 Calling the method will result in a PHP Fatal Error.
 
-
 Affected Installations
 ======================
 
 All installations calling the :php:`clear_preview` method
 
-
 Migration
 =========
 
 Build your own :php:`clear_preview` method:
 
-.. code-block:: php
-
-        $context = GeneralUtility::makeInstance(Context::class);
-        $GLOBALS['SIM_EXEC_TIME'] = $GLOBALS['EXEC_TIME'];
-        $GLOBALS['SIM_ACCESS_TIME'] = $GLOBALS['ACCESS_TIME'];
-        $context->setAspect('frontend.preview', GeneralUtility::makeInstance(PreviewAspect::class));
-        $context->setAspect('date', GeneralUtility::makeInstance(DateTimeAspect::class, new \DateTimeImmutable('@' . $GLOBALS['SIM_EXEC_TIME'])));
-        $context->setAspect('visibility', GeneralUtility::makeInstance(VisibilityAspect::class));
+..  code-block:: php
+
+    $context = GeneralUtility::makeInstance(Context::class);
+    $GLOBALS['SIM_EXEC_TIME'] = $GLOBALS['EXEC_TIME'];
+    $GLOBALS['SIM_ACCESS_TIME'] = $GLOBALS['ACCESS_TIME'];
+    $context->setAspect(
+        'frontend.preview',
+        GeneralUtility::makeInstance(PreviewAspect::class)
+    );
+    $context->setAspect(
+        'date',
+        GeneralUtility::makeInstance(
+            DateTimeAspect::class,
+            new \DateTimeImmutable('@' . $GLOBALS['SIM_EXEC_TIME'])
+        )
+    );
+    $context->setAspect(
+        'visibility',
+        GeneralUtility::makeInstance(VisibilityAspect::class)
+    );
 
 .. index:: Frontend, PHP-API, PartiallyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97126-RemoveTCEformsArrayKeyInFlexForm.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97126-RemoveTCEformsArrayKeyInFlexForm.rst
index 57a6ed6d9d18..ea9962460126 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97126-RemoveTCEformsArrayKeyInFlexForm.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97126-RemoveTCEformsArrayKeyInFlexForm.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97126:
+
 ========================================================
 Breaking: #97126 - Remove TCEforms array key in FlexForm
 ========================================================
@@ -48,7 +50,7 @@ Real world example from EXT:news:
 
 Before:
 
-.. code-block:: php
+..  code-block:: php
 
     if (!empty($categoryRestriction) && isset($structure['sheets']['sDEF']['ROOT']['el']['settings.categories'])) {
         $structure['sheets']['sDEF']['ROOT']['el']['settings.categories']['TCEforms']['config']['foreign_table_where'] = $categoryRestriction . $structure['sheets']['sDEF']['ROOT']['el']['settings.categories']['TCEforms']['config']['foreign_table_where'];
@@ -56,7 +58,7 @@ Before:
 
 After:
 
-.. code-block:: php
+..  code-block:: php
 
     if (!empty($categoryRestriction) && isset($structure['sheets']['sDEF']['ROOT']['el']['settings.categories'])) {
         $structure['sheets']['sDEF']['ROOT']['el']['settings.categories']['config']['foreign_table_where'] = $categoryRestriction . $structure['sheets']['sDEF']['ROOT']['el']['settings.categories']['config']['foreign_table_where'];
@@ -64,7 +66,7 @@ After:
 
 Supporting both TYPO3 v11 and v12+:
 
-.. code-block:: php
+..  code-block:: php
 
     if (!empty($categoryRestriction) && isset($structure['sheets']['sDEF']['ROOT']['el']['settings.categories'])) {
         if (isset($structure['sheets']['sDEF']['ROOT']['el']['settings.categories']['TCEforms'])) {
@@ -74,5 +76,4 @@ Supporting both TYPO3 v11 and v12+:
         }
     }
 
-
 .. index:: FlexForm, TCA, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97131-RemovedCLICommandsRelatedToFilesInUploadsFolder.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97131-RemovedCLICommandsRelatedToFilesInUploadsFolder.rst
index 40a6deb93f66..bb5c1dfc073b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97131-RemovedCLICommandsRelatedToFilesInUploadsFolder.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97131-RemovedCLICommandsRelatedToFilesInUploadsFolder.rst
@@ -21,21 +21,18 @@ removed as they do not serve any use anymore:
 * cleanup:lostfiles
 * cleanup:missingfiles
 
-
 Impact
 ======
 
 Calling the CLI commands will result in an CLI exit code > 0,
 as they have been removed.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations still having CLI tools using the CLI commands,
 which serve no purpose anymore.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
index c5528bddc743..9d53dc85513d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97135-RemovedSupportForModuleHandlingBasedOnTBE_MODULES_EXT.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97135:
+
 ===============================================================================
 Breaking: #97135 - Removed support for module handling based on TBE_MODULES_EXT
 ===============================================================================
@@ -35,7 +37,6 @@ does no longer exist:
 - :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController']['newStandardTemplateView']`
 - :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Tstemplate\Controller\TypoScriptTemplateModuleController']['newStandardTemplateHandler']`
 
-
 Impact
 ======
 
@@ -49,7 +50,6 @@ and :typoscript:`mod.web_ts.menu.function` are no longer evaluated.
 Using one of mentioned, :php:`TypoScriptTemplateModuleController` related
 hooks does no longer have any effect.
 
-
 Affected Installations
 ======================
 
@@ -63,12 +63,12 @@ of the removed hooks.
 Migration
 =========
 
-Register your "third-level" module in our extensions'
+Register your "third-level" module in our extension's
 :file:`Configuration/Backend/Modules.php` file.
 
 Previous configuration in :file:`ext_tables.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     ExtensionManagementUtility::insertModuleFunction(
         'web_info',
@@ -79,7 +79,7 @@ Previous configuration in :file:`ext_tables.php`:
 
 Will now be registered in :file:`Configuration/Backend/Modules.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     'web_info_additional' => [
         'parent' => 'web_info',
@@ -99,7 +99,7 @@ Will now be registered in :file:`Configuration/Backend/Modules.php`:
 To hide a "third-level" module in the doc header menu, use the
 :typoscript:`options.hideModules` option:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     # before
     mod.web_info.menu.function.TYPO3\CMS\Info\Controller\TranslationStatusController = 0
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97174-RemovedHookForModifyingInfoModuleFooterContent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97174-RemovedHookForModifyingInfoModuleFooterContent.rst
index e0f84dfd2a31..f8496e8b107b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97174-RemovedHookForModifyingInfoModuleFooterContent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97174-RemovedHookForModifyingInfoModuleFooterContent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97174:
+
 ========================================================================
 Breaking: #97174 - Removed hook for modifying info module footer content
 ========================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97187-RemovedHookForModifyingLinkExplanation.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97187-RemovedHookForModifyingLinkExplanation.rst
index 5790dbd7d84b..65baec203c26 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97187-RemovedHookForModifyingLinkExplanation.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97187-RemovedHookForModifyingLinkExplanation.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97187:
+
 ==============================================================
 Breaking: #97187 - Removed hook for modifying link explanation
 ==============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97188-RegisterElementBrowsersViaServiceConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97188-RegisterElementBrowsersViaServiceConfiguration.rst
index 41d35e45db47..b5b39a5acecf 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97188-RegisterElementBrowsersViaServiceConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97188-RegisterElementBrowsersViaServiceConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97188:
+
 ======================================================================
 Breaking: #97188 - Register element browsers via service configuration
 ======================================================================
@@ -35,7 +37,6 @@ is not evaluated anymore.
 The :php:`ElementBrowserInterface` is extended for
 :php:`public function getIdentifier(): string`.
 
-
 Affected Installations
 ======================
 
@@ -53,7 +54,7 @@ from your :file:`ext_localconf.php` file.
 If :yaml:`autoconfigure` is not enabled in your :file:`Configuration/Services.(yaml|php)`,
 add the tag :yaml:`recordlist.elementbrowser` manually to your `element browser` service.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     Vendor\Extension\Recordlist\MyBrowser:
       tags:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97201-RemovedHookForNewContentElementWizard.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97201-RemovedHookForNewContentElementWizard.rst
index e74fe925ffdb..7358a47c84c9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97201-RemovedHookForNewContentElementWizard.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97201-RemovedHookForNewContentElementWizard.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97201:
+
 ==============================================================
 Breaking: #97201 - Removed hook for new content element wizard
 ==============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97210-TypesAddedToMethodSignaturesOrClassProperties.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97210-TypesAddedToMethodSignaturesOrClassProperties.rst
index 861cb28e6614..37e6040eef58 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97210-TypesAddedToMethodSignaturesOrClassProperties.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97210-TypesAddedToMethodSignaturesOrClassProperties.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97210:
+
 =======================================================================
 Breaking: #97210 - Types added to method signatures or class properties
 =======================================================================
@@ -56,7 +58,6 @@ Calling any of these methods with incompatible types now throws a :php:`\TypeErr
 especially if the calling code is within :php:`declare(strict_types=1);` context.
 Before the result of such method calls was undefined or inconsistent.
 
-
 Affected Installations
 ======================
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97214-UseUploadedFileObjectsInsteadOf_FILES.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97214-UseUploadedFileObjectsInsteadOf_FILES.rst
index 95b9dee0d6c2..dfd3bc2498c9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97214-UseUploadedFileObjectsInsteadOf_FILES.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97214-UseUploadedFileObjectsInsteadOf_FILES.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97214:
+
 ==============================================================
 Breaking: #97214 - Use UploadedFile objects instead of $_FILES
 ==============================================================
@@ -21,21 +23,18 @@ The next step would be to further adjust FAL to use only PSR provided
 methods for handling uploaded files and implementing an API for file
 uploads in Extbase.
 
-
 Impact
 ======
 
 The global :php:`$_FILES` object is not used in Extbase or the extension
 manager anymore, instead the PSR request is used.
 
-
 Affected Installations
 ======================
 
 All installations extending the TYPO3 Core ResourceStorage object and
 overwriting the :php:`addUploadedFile` method.
 
-
 Migration
 =========
 
@@ -49,7 +48,7 @@ handles :php:`UploadedFile` objects and arrays.
 Example
 ^^^^^^^
 
-.. code-block:: php
+..  code-block:: php
 
     if ($uploadedFileData instanceof UploadedFile) {
         $localFilePath = $uploadedFileData->getTemporaryFileName();
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97230-RemovedHookForModifyingImageManipulationPreviewUrl.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97230-RemovedHookForModifyingImageManipulationPreviewUrl.rst
index 4f6bdc8dc48a..b9a104bf8408 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97230-RemovedHookForModifyingImageManipulationPreviewUrl.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97230-RemovedHookForModifyingImageManipulationPreviewUrl.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97230:
+
 ============================================================================
 Breaking: #97230 - Removed hook for modifying image manipulation preview URL
 ============================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97231-RemovedHookForManipulatingInlineElementControls.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97231-RemovedHookForManipulatingInlineElementControls.rst
index 7e595e7d176c..c83e737dc2c6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97231-RemovedHookForManipulatingInlineElementControls.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97231-RemovedHookForManipulatingInlineElementControls.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97231:
+
 ========================================================================
 Breaking: #97231 - Removed hook for manipulating inline element controls
 ========================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97243-RemoveGlobalJQueryAccessViaWindow.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97243-RemoveGlobalJQueryAccessViaWindow.rst
index e1b1d21e26a4..0a1d10556667 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97243-RemoveGlobalJQueryAccessViaWindow.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97243-RemoveGlobalJQueryAccessViaWindow.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97243:
+
 ===========================================================
 Breaking: #97243 - Remove global jQuery access via window.$
 ===========================================================
@@ -16,7 +18,6 @@ Global jQuery usage has been deprecated in :issue:`86438` with the suggestion to
 use JavaScript modules instead. With the integration of browser native ES6
 modules jQuery should now be loaded as a regular module.
 
-
 Impact
 ======
 
@@ -24,7 +25,6 @@ Loading the ES6 'jquery' module no longer has side effects, as the global
 scope :js:`window` is no longer polluted by writing to the property :js:`$`.
 This renders any :js:`jQuery.noConflict()` workarounds unneeded.
 
-
 Affected Installations
 ======================
 
@@ -32,7 +32,6 @@ All installations that use `$` to invoke jQuery in inline JavaScripts or
 custom JavaScript modules that miss to define their jQuery import, and
 implicitly used the global before.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97265-SimplifiedAccessModeSystem.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97265-SimplifiedAccessModeSystem.rst
index 510b74bf937c..0cc4c7fb56fd 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97265-SimplifiedAccessModeSystem.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97265-SimplifiedAccessModeSystem.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97265:
+
 ================================================
 Breaking: #97265 - Simplified access mode system
 ================================================
@@ -32,7 +34,6 @@ have been streamlined and simplified:
 * The fourth argument on :php:`BackendUserAuthentication->checkAuthMode()` has
   been removed.
 
-
 Impact
 ======
 
@@ -42,7 +43,6 @@ Using :php:`explicitDeny` and :php:`individual` as value for TCA config option
 adaptions. Accessing :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode']`
 may lead to a PHP warning level error.
 
-
 Affected Installations
 ======================
 
@@ -59,7 +59,7 @@ Affected Installations
 
 * Instances manually dealing with the :sql:`explicit_allowdeny` of table :sql:`be_groups`
   may be affected if they expect the fourth field being set to :sql:`ALLOW` or :sql:`DENY`.
-  This is unlikely since the core provides an API for this field using
+  This is unlikely since the Core provides an API for this field using
   :php:`BackendUserAuthentication->checkAuthMode()`.
 
 * Instances calling :php:`BackendUserAuthentication->checkAuthMode()` with four instead of
@@ -67,7 +67,6 @@ Affected Installations
 
 * Instances using :php:`authMode_enforce` for :php:`'type' => 'select'` fields.
 
-
 Migration
 =========
 
@@ -81,7 +80,7 @@ Accessing explicitADmode
 
 The handling of :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode']` has been changed as
 if it is always set to :php:`explicitAllow`. Extensions should not assume this global array
-key being set anymore since TYPO3 core v12. Extensions that need to stay compatible with v11
+key being set anymore since TYPO3 Core v12. Extensions that need to stay compatible with v11
 and v12 should fall back: :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode'] ?? 'explicitAllow'`.
 
 Using authMode_enforce='strict'
@@ -111,9 +110,8 @@ Using authMode='individual'
 ---------------------------
 
 Handling of :php:`authMode` being set to :php:`individual` has been fully dropped. There is
-no core-provided alternative. This has been an obscure setting since ever and there is no
+no Core-provided alternative. This has been an obscure setting since ever and there is no
 direct migration. Extension that rely on this handling need to find a substitution based on
-core hooks, core events or other existing core API functionality.
-
+Core hooks, Core events or other existing Core API functionality.
 
 .. index:: Backend, Database, LocalConfiguration, PHP-API, TCA, PartiallyScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst
index 5f34a09d02f6..d9207d43adb8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97305-IntroduceCSRF-likeLoginToken.rst
@@ -29,7 +29,6 @@ mitigate `Login CSRF <https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_
 Custom implementations for login templates or client-side authentication
 handling have to be adjusted to submit the required request-token.
 
-
 Affected installations
 ======================
 
@@ -40,12 +39,10 @@ Migration
 
 The :php:`\TYPO3\CMS\Core\Security\RequestToken` signed with a :php:`\TYPO3\CMS\Core\Security\Nonce`
 needs to be sent as JSON Web Token (JWT) to the server-side application handling of
-the core user authentication process. The scope needs to be :php:`core/user-auth/be`
+the Core user authentication process. The scope needs to be :php:`core/user-auth/be`
 or :php:`core/user-auth/fe` - depending on whether authentication is applied in
 the website's backend or frontend context.
 
-
-
 Example for overridden backend login HTML template (`ext:backend`)
 ------------------------------------------------------------------
 
@@ -70,5 +67,4 @@ Example for overridden frontend login HTML template (`ext:felogin`)
 More details are explained in corresponding documentation on
 :ref:`Feature #87616: Introduce CSRF-like request-token handling <feature-97305-1664099950>`.
 
-
 .. index:: Backend, Fluid, Frontend, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97312-RemoveContextSensitiveHelp.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97312-RemoveContextSensitiveHelp.rst
index 7d4686d399d2..33ed95e26fac 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97312-RemoveContextSensitiveHelp.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97312-RemoveContextSensitiveHelp.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97312:
+
 ================================================
 Breaking: #97312 - Remove context sensitive help
 ================================================
@@ -36,7 +38,7 @@ The arguments for removing context sensitive help were:
   and most arguments against removal can be solved using the `description`
   or by linking to the official documentation
 * Removal of CSH also removed a lot of outdated files (and results in
-  smaller footprint of the TYPO3 core package)
+  smaller footprint of the TYPO3 Core package)
 
 The route `help_cshmanual_popup` has been removed.
 
@@ -58,20 +60,17 @@ The backend display related TCA option
 :php:`$GLOBALS['TCA'][my_table]['interface']['always_description']`
 is not evaluated anymore.
 
-
 Impact
 ======
 
 The context sensitive help is removed completely and only loading help
 items for SelectCheckboxElements is still supported.
 
-
 Affected Installations
 ======================
 
 All installations that use CSH for own fields.
 
-
 Migration
 =========
 
@@ -84,5 +83,4 @@ An example for a TCA description is the :php:`protected` column in the
 The TCA option :php:`['interface']['always_description']` can be removed from
 any TCA definition.
 
-
 .. index:: Backend, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97320-RegisterReportAndStatusViaServiceConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97320-RegisterReportAndStatusViaServiceConfiguration.rst
index cb203f8a54fd..94054a94be16 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97320-RegisterReportAndStatusViaServiceConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97320-RegisterReportAndStatusViaServiceConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97320:
+
 =======================================================================
 Breaking: #97320 - Register Report and Status via Service Configuration
 =======================================================================
@@ -20,7 +22,6 @@ Additionally, to be able to use autoconfiguration, the following interfaces have
 - :php:`TYPO3\CMS\Reports\ReportInterface`: :php:`getIdentifier`, :php:`getIconIdentifier`, :php:`getTitle`, :php:`getDescription`
 - :php:`TYPO3\CMS\Reports\StatusProviderInterface`: :php:`getLabel`
 
-
 Impact
 ======
 
@@ -32,7 +33,6 @@ are not evaluated anymore.
 
 :php:`ReportInterface` and :php:`StatusProviderInterface`: are extended by the mentioned methods. If the required methods are not implemented it will lead to fatal errors.
 
-
 Affected Installations
 ======================
 
@@ -57,7 +57,7 @@ Report
 If :yaml:`autoconfigure` is not enabled in your :file:`Configuration/Services.(yaml|php)`,
 add the tag :yaml:`reports.report` manually to your `reports` service.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     Vendor\Extension\Report\MyReport:
       tags:
@@ -66,7 +66,7 @@ add the tag :yaml:`reports.report` manually to your `reports` service.
 The old registration can be removed, if support for TYPO3 v11 or lower is not
 necessary.
 
-.. code-block:: php
+..  code-block:: php
 
     // Before in ext_localconf.php
 
@@ -79,7 +79,7 @@ necessary.
 
 Additionally, make sure to implement all methods of :php:`TYPO3\CMS\Reports\ReportInterface`.
 
-.. code-block:: php
+..  code-block:: php
 
     // Changes for the report
 
@@ -120,7 +120,7 @@ Status
 If :yaml:`autoconfigure` is not enabled in your :file:`Configuration/Services.(yaml|php)`,
 add the tag :yaml:`reports.status` manually to your `status` service.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     Vendor\Extension\Status\MyStatus:
       tags:
@@ -129,7 +129,7 @@ add the tag :yaml:`reports.status` manually to your `status` service.
 The old registration can be removed, if support for TYPO3 v11 or lower is not
 necessary.
 
-.. code-block:: php
+..  code-block:: php
 
     // Before in ext_localconf.php
 
@@ -139,7 +139,7 @@ necessary.
 
 Additionally, make sure to implement all methods of :php:`TYPO3\CMS\Reports\StatusProviderInterface`.
 
-.. code-block:: php
+..  code-block:: php
 
     // Changes for the Status
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97358-RemovedEvalintFromTCATypeDatetime.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97358-RemovedEvalintFromTCATypeDatetime.rst
index 90235db27bb3..f7ff9f7e1a81 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97358-RemovedEvalintFromTCATypeDatetime.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97358-RemovedEvalintFromTCATypeDatetime.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97358:
+
 ============================================================
 Breaking: #97358 - Removed eval=int from TCA type "datetime"
 ============================================================
@@ -24,7 +26,7 @@ This means, the :sql:`unsigned` definition must be omitted.
 
     TYPO3 automatically creates database fields for all TCA type
     :php:`datetime` columns, if those are not already manually
-    defined in the corresponding extensions' :file:`ext_tables.sql` file.
+    defined in the corresponding extension's :file:`ext_tables.sql` file.
 
 Impact
 ======
@@ -62,7 +64,7 @@ to :php:`int` (e.g. `''` to `0`).
 
 Migrate corresponding database fields to :sql:`integer` where applicable.
 
-.. code-block:: sql
+..  code-block:: sql
 
     # Before
     CREATE TABLE tx_ext_my_table (
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97449-RemovedHookForModifyingFlexFormParsing.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97449-RemovedHookForModifyingFlexFormParsing.rst
index 969982fc2154..f6955c18364d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97449-RemovedHookForModifyingFlexFormParsing.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97449-RemovedHookForModifyingFlexFormParsing.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97449:
+
 ===============================================================
 Breaking: #97449 - Removed hook for modifying flex form parsing
 ===============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97450-RemovedHookForModifyingVersionDifferences.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97450-RemovedHookForModifyingVersionDifferences.rst
index 49fbe909df21..969a057f85dd 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97450-RemovedHookForModifyingVersionDifferences.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97450-RemovedHookForModifyingVersionDifferences.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97450:
+
 =================================================================
 Breaking: #97450 - Removed hook for modifying version differences
 =================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97451-RemoveBackendControllerPageHooks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97451-RemoveBackendControllerPageHooks.rst
index 4df851d32e11..297d32082785 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97451-RemoveBackendControllerPageHooks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97451-RemoveBackendControllerPageHooks.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97451:
+
 =======================================================
 Breaking: #97451 - Removed BackendController page hooks
 =======================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97452-RemovedEditFileControllerHooks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97452-RemovedEditFileControllerHooks.rst
index a4286302c682..40e6acc4bfa4 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97452-RemovedEditFileControllerHooks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97452-RemovedEditFileControllerHooks.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97452:
+
 ===================================================
 Breaking: #97452 - Removed EditFileController hooks
 ===================================================
@@ -13,21 +15,18 @@ The hooks :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/file_edit.php']
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/file_edit.php']['postOutputProcessingHook']` have been removed.
 The same behavior may be achieved using template overrides.
 
-
 Impact
 ======
 
 Any hook implementation registered is not executed anymore in TYPO3 v12.0+.
 The extension scanner will report possible usages.
 
-
 Affected Installations
 ======================
 
 All TYPO3 installations using these hook in custom extension code. This is pretty
 unlikely, since both hooks were of limited use.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97530-IndexedSearchOptionSearchSkipExtendToSubpagesCheckingRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97530-IndexedSearchOptionSearchSkipExtendToSubpagesCheckingRemoved.rst
index 8b3295fc6364..a247475fb760 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97530-IndexedSearchOptionSearchSkipExtendToSubpagesCheckingRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97530-IndexedSearchOptionSearchSkipExtendToSubpagesCheckingRemoved.rst
@@ -19,7 +19,6 @@ related to TYPO3's :php:`extendToSubpages` Core feature. However, since the
 :php:`extendToSubpages` functionality has now been optimized via an alternative
 to :php:`getTreeList()`, the option is removed.
 
-
 Impact
 ======
 
@@ -30,13 +29,11 @@ has no effect anymore.
 All search requests within indexed search will now respect the
 :php:`extendToSubpages` flag.
 
-
 Affected installations
 ======================
 
 TYPO3 installations using Indexed Search having this option set.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97550-TypoScriptOptionConfigdisableCharsetHeaderRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97550-TypoScriptOptionConfigdisableCharsetHeaderRemoved.rst
index 72155547c892..59cd08adde69 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97550-TypoScriptOptionConfigdisableCharsetHeaderRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97550-TypoScriptOptionConfigdisableCharsetHeaderRemoved.rst
@@ -18,20 +18,17 @@ This option was used to avoid sending HTTP headers of type `Content-Type` to
 the client. This flag was mainly used to overcome a technical limitation to
 override the Content-Type information back in TYPO3 v4.x.
 
-
 Impact
 ======
 
 TYPO3 now always sends the `Content-Type` header to the client in the TYPO3
 Frontend.
 
-
 Affected installations
 ======================
 
 TYPO3 installations having this option enabled via TypoScript.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97605-RemoveFieldResizeTextareas_MaxHeightFromUserSettings.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97605-RemoveFieldResizeTextareas_MaxHeightFromUserSettings.rst
index 098e413c3988..59c4791849e3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97605-RemoveFieldResizeTextareas_MaxHeightFromUserSettings.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97605-RemoveFieldResizeTextareas_MaxHeightFromUserSettings.rst
@@ -15,19 +15,16 @@ The field :php:`resizeTextareas_MaxHeight` with the label *Maximum height of tex
 
 The impact of the field is low and its removal simplifies the user settings module.
 
-
 Impact
 ======
 
 The height of textareas is the same for every user.
 
-
 Affected installations
 ======================
 
 Every TYPO3 installation.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97701-RemovedTsConfigOptionDisableNewContentElementWizard.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97701-RemovedTsConfigOptionDisableNewContentElementWizard.rst
index 4e77d7adffd8..19d8b3cbf5af 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97701-RemovedTsConfigOptionDisableNewContentElementWizard.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97701-RemovedTsConfigOptionDisableNewContentElementWizard.rst
@@ -19,20 +19,17 @@ changed to a different Content Type.
 Along with this the option :typoscript:`mod.newContentElementWizard.override` has
 been removed, as it served a similar purpose to override the route name itself.
 
-
 Impact
 ======
 
 Both TSconfig options have no effect anymore. TYPO3 behaves as if the options
 were never set.
 
-
 Affected installations
 ======================
 
 TYPO3 installations having one of these options explicitly enabled.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97729-SupportAttributeApprovedInXlfFiles.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97729-SupportAttributeApprovedInXlfFiles.rst
index 9ad0a5a63cc1..f1d9b6650733 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97729-SupportAttributeApprovedInXlfFiles.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97729-SupportAttributeApprovedInXlfFiles.rst
@@ -1,6 +1,6 @@
 .. include:: /Includes.rst.txt
 
-.. _breaking-97729-1654627167
+.. _breaking-97729-1654627167:
 
 ==========================================================
 Breaking: #97729 - Respect attribute approved in XLF files
@@ -16,7 +16,6 @@ controls whether only approved translations are taken into account when parsing
 
 This option is enabled by default for new and existing TYPO3 installations.
 
-
 Impact
 ======
 
@@ -30,13 +29,11 @@ Any non-approved translation will be ignored.
       <target>Ceci est le libellé no. 2</target>
     </trans-unit>
 
-
 Affected installations
 ======================
 
 All TYPO3 translations using translations from XLF files.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97737-Page-relatedHooksInTSFERemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97737-Page-relatedHooksInTSFERemoved.rst
index 18e6e891786e..3d4c52a91800 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97737-Page-relatedHooksInTSFERemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97737-Page-relatedHooksInTSFERemoved.rst
@@ -27,7 +27,6 @@ Impact
 
 Extensions that hook into these places are not executing the PHP-code anymore.
 
-
 Affected installations
 ======================
 
@@ -37,7 +36,6 @@ Check the "Configuration" module to see if your TYPO3 installation is using
 one of the hooks by browsing :php:`$TYPO3_CONF_VARS[SC_OPTIONS]` or using the
 Extension Scanner.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97752-MailerAdapterInterfaceRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97752-MailerAdapterInterfaceRemoved.rst
index d14a18133436..3a975c9bf9c9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97752-MailerAdapterInterfaceRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97752-MailerAdapterInterfaceRemoved.rst
@@ -12,7 +12,7 @@ Description
 ===========
 
 The :php:`\TYPO3\CMS\Core\Mail\MailerAdapterInterface` has been removed,
-since the interface became unused in v7 due to removal of core's
+since the interface became unused in v7 due to removal of Core's
 :php:`SwiftMailerAdapter` implementation, which had been used as hook
 subscriber in the also removed :php:`MailUtility::mail()` method.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97787-AbstractMessageGetSeverityReturnsContextualFeedbackSeverity.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97787-AbstractMessageGetSeverityReturnsContextualFeedbackSeverity.rst
index 9c648cd24ab0..a4661f1a2e1b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97787-AbstractMessageGetSeverityReturnsContextualFeedbackSeverity.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97787-AbstractMessageGetSeverityReturnsContextualFeedbackSeverity.rst
@@ -18,7 +18,6 @@ the method is changed to return an instance of :php:`\TYPO3\CMS\Core\Type\Contex
 
 As this method isn't supposed to be used publicly, it is declared `internal` now.
 
-
 Impact
 ======
 
@@ -32,21 +31,19 @@ There is no negative impact in the following cases:
 
 In these cases, the enum's value is automatically used.
 
-
 Affected installations
 ======================
 
 All extensions using :php:`\TYPO3\CMS\Core\Messaging\AbstractMessage->getSeverity()`
 in PHP are affected, if the integer type is expected.
 
-
 Migration
 =========
 
 If the integer type of :php:`\TYPO3\CMS\Core\Messaging\AbstractMessage->getSeverity()`
 is expected, use the :php:`value` property of the :php:`ContextualFeedbackSeverity` enum:
 
-.. code-block:: php
+..  code-block:: php
 
     $flashMessage = new \TYPO3\CMS\Core\Messaging\FlashMessage('This is a message');
     $severityAsInt = $flashMessage->getSeverity()->value;
@@ -54,7 +51,7 @@ is expected, use the :php:`value` property of the :php:`ContextualFeedbackSeveri
 The same applies to Fluid template, where the severity is used within another
 structure, e.g. as an array key:
 
-.. code-block:: html
+..  code-block:: html
 
     <div class="x" class="{severityClassMapping.{status.severity.value}}">
         <!-- stuff happens here -->
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97797-GFXSettingProcessor_path_lzwRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97797-GFXSettingProcessor_path_lzwRemoved.rst
index 32e779d2d851..3d7e6dbe48f4 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97797-GFXSettingProcessor_path_lzwRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97797-GFXSettingProcessor_path_lzwRemoved.rst
@@ -21,7 +21,6 @@ Since then, both GIF and TIFF have had reduced impact on the web we know today.
 For this reason, the value is removed. If GIF compression via LZW is wanted,
 it should be pointing to the main `processor_path` setting.
 
-
 Impact
 ======
 
@@ -32,7 +31,6 @@ The GFX setting `processor_path_lzw` is not used anymore, and can safely be
 removed. When accessing the Install Tool, the setting is automatically removed
 from :file:`LocalConfiguration.php`.
 
-
 Affected installations
 ======================
 
@@ -40,7 +38,6 @@ TYPO3 installations actively using GIF compression or GIF thumbnails over PNG
 thumbnails (if `GFX/thumbnails_png` is set to false), which might result in
 GIF files with a larger file size.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97816-TypoScriptSyntaxChanges.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97816-TypoScriptSyntaxChanges.rst
index 71dde945f0d2..984fae1aaa0e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97816-TypoScriptSyntaxChanges.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97816-TypoScriptSyntaxChanges.rst
@@ -33,13 +33,11 @@ Impact
 Using one of the constructs below stops working in v12 and needs
 TypoScript adaptions.
 
-
 Affected installations
 ======================
 
 Instances using TypoScript as outlined below.
 
-
 Migration
 =========
 
@@ -62,16 +60,16 @@ some details:
   access a constant within another constant. Instances using a construct like the below one
   need to untie constants.
 
-  .. code-block:: typoscript
+  ..  code-block:: typoscript
 
-    constants:
-    foo = fooValue
-    # This does not resolve to "fooValue" but is kept as string literal "{$foo}"
-    bar = {$foo}
+      constants:
+      foo = fooValue
+      # This does not resolve to "fooValue" but is kept as string literal "{$foo}"
+      bar = {$foo}
 
-    setup:
-    # This does NOT resolve to "fooValue", but to the string literal "{$foo}"
-    myValue = {$bar}
+      setup:
+      # This does NOT resolve to "fooValue", but to the string literal "{$foo}"
+      myValue = {$bar}
 
 * Constants are now restricted to "assignments" and "conditions". Using a constant to
   substitute an "identifier" / "object path" is no longer allowed. This has never been
@@ -80,33 +78,32 @@ some details:
 
   This is supported:
 
-  .. code-block:: typoscript
+  ..  code-block:: typoscript
 
-    # Simple constant usage as assignment value:
-    foo = {$bar}
-    # Compiling a value with string literals and constants:
-    foo = I am {$bar}
-    # Using a constant in a condition:
-    [ myValue = {$bar} ]
-    # Using constant(s) in multiline assginments:
-    foo (
-       I am {$bar} and {$baz}
-    )
+      # Simple constant usage as assignment value:
+      foo = {$bar}
+      # Compiling a value with string literals and constants:
+      foo = I am {$bar}
+      # Using a constant in a condition:
+      [ myValue = {$bar} ]
+      # Using constant(s) in multiline assignments:
+      foo (
+          I am {$bar} and {$baz}
+      )
 
   These constructs are *not* supported:
 
-  .. code-block:: typoscript
+  ..  code-block:: typoscript
 
-    # Using a constant as object path specification
-    {$bar} = myValue
-    # This is an object path specification, too, and not supported:
-    foo < {$bar}
+      # Using a constant as object path specification
+      {$bar} = myValue
+      # This is an object path specification, too, and not supported:
+      foo < {$bar}
 
 * TSconfig *does* support constant substitution: Site constants can be used
   in TSconfig. This has been introduced with TYPO3 v10, see
   :ref:`feature-91080-1657827157` for details.
 
-
 UTF-8 BOM in TypoScript files
 -----------------------------
 
@@ -118,14 +115,13 @@ add an UTF-8 BOM anymore.
 
 Instances can check if they use UTF-8 BOM with a Unix shell command:
 
-.. code-block:: bash
+..  code-block:: bash
 
     # find affected files
     find . -type f -print0 | xargs -0 -n1 file {} | grep 'UTF-8 Unicode (with BOM)'
     # remove UTF-8 BOM from a single file
     sed -i '1s/^\xEF\xBB\xBF//' affectedFile.typoscript
 
-
 Support for \\n and \\r\\n linebreaks only
 ------------------------------------------
 
@@ -135,5 +131,4 @@ used "\\r" as single linebreak character. This old linebreak type is no longer d
 when parsing TypoScript and may lead to funny results, but chances are very low any
 instance is affected by this.
 
-
 .. index:: Backend, Frontend, TSConfig, TypoScript, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97862-HooksRelatedToGeneratingPageContentRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97862-HooksRelatedToGeneratingPageContentRemoved.rst
index 7d466840d847..9438fb352ff2 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97862-HooksRelatedToGeneratingPageContentRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97862-HooksRelatedToGeneratingPageContentRemoved.rst
@@ -51,7 +51,8 @@ extension scanner will detect usages as weak match.
 Migration
 =========
 
-Use one of the two newly introduced :doc:`PSR-14 events <../12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour>`:
+Use one of the two newly introduced
+:doc:`PSR-14 events <../12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour>`:
 
 * :php:`TYPO3\CMS\Frontend\Event\AfterCacheableContentIsGeneratedEvent`
 * :php:`TYPO3\CMS\Frontend\Event\AfterCachedPageIsPersistedEvent`
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97926-ExtbaseQuerySettingsMethodsRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97926-ExtbaseQuerySettingsMethodsRemoved.rst
index 3a050e620b66..9ae0ca46141d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97926-ExtbaseQuerySettingsMethodsRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97926-ExtbaseQuerySettingsMethodsRemoved.rst
@@ -35,21 +35,18 @@ All adaptions have been made to the default implementation in
 :php:`Typo3QuerySettings`, however the removed methods from the interface are kept
 within the implementation to avoid fatal PHP errors.
 
-
 Impact
 ======
 
 Any custom implementation of :php:`QuerySettingsInterface` needs to implement
 the newly defined methods of the interface.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom Extbase extensions dealing with QuerySettings
 that are adjusted with the methods used above.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97927-RemovedTypoScriptOptionConfigdoctypeSwitch.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97927-RemovedTypoScriptOptionConfigdoctypeSwitch.rst
index 2c0eeccdc1b8..821dbfd058c6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97927-RemovedTypoScriptOptionConfigdoctypeSwitch.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97927-RemovedTypoScriptOptionConfigdoctypeSwitch.rst
@@ -22,20 +22,17 @@ Internet Explorer to be standards-compliant with XHTML. Otherwise IE's
 Nowadays, usages for both Internet Explorer (which is not supported anymore) and
 XHTML have been low, which is why the option is now removed from TYPO3 Core.
 
-
 Impact
 ======
 
 Setting the option :typoscript:`config.doctypeSwitch` has no effect anymore, the
 XML declaration and doctype statement are kept as is.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with old templates having this TypoScript option set.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97945-RemovedWorkspaceServiceHooks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97945-RemovedWorkspaceServiceHooks.rst
index a7c48a6afdd7..ac563aba6b54 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97945-RemovedWorkspaceServiceHooks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-97945-RemovedWorkspaceServiceHooks.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-97945:
+
 =================================================
 Breaking: #97945 - Removed WorkspaceService hooks
 =================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98016-RemovedTypoScriptFunctionHook.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98016-RemovedTypoScriptFunctionHook.rst
index a95d2812e22c..39cf3f07c155 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98016-RemovedTypoScriptFunctionHook.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98016-RemovedTypoScriptFunctionHook.rst
@@ -17,7 +17,8 @@ is no longer called.
 
 This hook has been used to implement own functions for the TypoScript "function" operator :typoscript:`:=`.
 
-Additional functions can now be implemented using the :php:`\TYPO3\CMS\Core\TypoScript\AST\Event\EvaluateModifierFunctionEvent`
+Additional functions can now be implemented using the
+:php:`\TYPO3\CMS\Core\TypoScript\AST\Event\EvaluateModifierFunctionEvent`
 as described in :ref:`this Changelog <feature-98016-1658732423>`.
 
 Impact
@@ -27,17 +28,15 @@ With the continued implementation of the new TypoScript parser in TYPO3 v12,
 registered hook implementations are not executed anymore. The extension scanner
 will report possible usages.
 
-
 Affected installations
 ======================
 
 Extensions registering own TypoScript function implementations like this:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     myValue := myCustomFunction(modifierArgument)
 
-
 Migration
 =========
 
@@ -45,5 +44,4 @@ Implement the :ref:`new event <feature-98016-1658732423>`. Extensions that want
 compatibility with both TYPO3 v11 and v12 can keep the old hook implementation without
 further deprecations.
 
-
 .. index:: PHP-API, TSConfig, TypoScript, FullyScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98024-TCA-option-cruserid-removed.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98024-TCA-option-cruserid-removed.rst
index a630661ac734..d0ab8ef69da1 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98024-TCA-option-cruserid-removed.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98024-TCA-option-cruserid-removed.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-98024:
+
 =================================================
 Breaking: #98024 - TCA option `cruser_id` removed
 =================================================
@@ -25,7 +27,6 @@ Several drawbacks came with this feature, which is why it was removed entirely:
 Information about a record ("Info Popup" or within Workspaces) is now fetched
 through TYPO3's History functionality.
 
-
 Impact
 ======
 
@@ -36,14 +37,12 @@ Also, when upgrading to TYPO3 v12, the database field is prepared to be removed.
 The option :php:`$GLOBALS['TCA'][$tableName]['ctrl']['cruser_id']` is also
 automatically removed during cache warmup from the final TCA listing.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations actively using this field for querying or filling, not using
 TYPO3 API, and accessing the database directly.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98032-SerializableInterfaceFullyRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98032-SerializableInterfaceFullyRemoved.rst
index c835f3e641c7..d14750fc9733 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98032-SerializableInterfaceFullyRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98032-SerializableInterfaceFullyRemoved.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-98032:
+
 =======================================================
 Breaking: #98032 - Serializable Interface fully removed
 =======================================================
@@ -14,7 +16,7 @@ slated for removal entirely in PHP 9. The preferred
 serialization tool is the :php:`__serialize`/:php:`__unserialize`
 method pair.
 
-All serializable classes in TYPO3 core already implement
+All serializable classes in TYPO3 Core already implement
 :php:`__serialize`/:php:`__unserialize`, which is automatically
 used by PHP in place of :php:`Serializable`. The now-vestigial
 :php:`Serializable` references have been removed.
@@ -22,14 +24,14 @@ used by PHP in place of :php:`Serializable`. The now-vestigial
 Impact
 ======
 
-Generally none, unless a text string of an object serialized in v10
-or earlier (using :php:`Serializable`) is deserialized in v12, in
+Generally none, unless a text string of an object serialized in TYPO3 v10
+or earlier (using :php:`Serializable`) is deserialized in TYPO3 v12, in
 which case it will not deserialize correctly due to the different
 string format used by :php:`Serializable`. That is extremely unlikely
 to happen.
 
-The use of :php:`Serializable` in extensions is already not recommended,
-as it will be removed from PHP in version 9.
+The use of :php:`Serializable` in extensions is not recommended anymore,
+and will be removed from PHP in version 9.
 
 Affected Installations
 ======================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98069-DebugConsoleRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98069-DebugConsoleRemoved.rst
index a823ec064ad3..a08352bf9e33 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98069-DebugConsoleRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98069-DebugConsoleRemoved.rst
@@ -16,7 +16,6 @@ failed to give a developer its response, including the stacktrace. Nowadays,
 browsers offer a console allowing to investigate requests. Also, PHP debuggers
 (e.g. xdebug) are commonly known and used, which makes the DebugConsole obsolete.
 
-
 Impact
 ======
 
@@ -27,13 +26,11 @@ debug output to the client.
 The 3rd argument :php:`$group` of the method
 :php:`\TYPO3\CMS\Core\Utility\DebugUtility::debug()` is removed.
 
-
 Affected installations
 ======================
 
 All installations are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98089-RemovedFontAwesome.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98089-RemovedFontAwesome.rst
index 67faba594606..790eedc8bd70 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98089-RemovedFontAwesome.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98089-RemovedFontAwesome.rst
@@ -24,13 +24,11 @@ Impact
 Using the aforementioned icon provider to register icons is not possible
 anymore. Also, any direct usage of :css:`fa-*` classes will not work anymore.
 
-
 Affected installations
 ======================
 
 All installations relying on FontAwesome are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98100-CompressionAndConcatenationOfJavaScriptAndCSSFilesForBackendRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98100-CompressionAndConcatenationOfJavaScriptAndCSSFilesForBackendRemoved.rst
index 728c43ecf953..68bb65a302c8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98100-CompressionAndConcatenationOfJavaScriptAndCSSFilesForBackendRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98100-CompressionAndConcatenationOfJavaScriptAndCSSFilesForBackendRemoved.rst
@@ -11,21 +11,20 @@ See :issue:`98100`
 Description
 ===========
 
-TYPO3 Backend introduced Compression and Concatenation of CSS and JavaScript
+Extension `backend` introduced compression and concatenation of CSS and JavaScript
 files in version 4.3 due to limitations of Internet Explorer 9 and lower.
-Since then, TYPO3 Backend uses JavaScript modules and loading via RequireJS and
+Since then, extension `backend` uses JavaScript modules and loading via RequireJS and
 ES Modules, as well as CSS compression and concatenation by default during
 build time.
 
-For this reason, this feature is removed from the actual ResourceCompressor,
+For this reason, this feature is removed from the actual `ResourceCompressor`,
 which only works in TYPO3 Frontend rendering now via the common TypoScript
 settings.
 
-
 Impact
 ======
 
-A custom handler for concatenation and compression of JS and CSS files has
+A custom handler for concatenation and compression of JavaScript and CSS files has
 no effect anymore when registered in a third-party extension.
 
 This could previously be configured via
@@ -42,16 +41,15 @@ as well.
 Affected installations
 ======================
 
-TYPO3 installations with custom JS and CSS handlers for TYPO3 Backend routines
+TYPO3 installations with custom JavaScript and CSS handlers for TYPO3 Backend routines
 via custom extensions which is highly unlikely.
 
-
 Migration
 =========
 
-None, as component-based CSS files and module-based JS files are loaded already
+None, as component-based CSS files and module-based JavaScript files are loaded already
 anyway, and the performance impact of loading multiple files is rather low due
-to optimized ".htaccess" configurations already, and through bundling all CSS for
-core in optimized files as well.
+to optimized :file:`.htaccess` configurations already, and through bundling all CSS for
+Core in optimized files as well.
 
 .. index:: LocalConfiguration, PHP-API, FullyScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98158-UpdateToSymfony6.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98158-UpdateToSymfony6.rst
index 4df9dfe5dc9b..96c1b0cca1c3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98158-UpdateToSymfony6.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98158-UpdateToSymfony6.rst
@@ -14,23 +14,21 @@ Description
 TYPO3 Core now ships with Symfony 6.1. Previously TYPO3 v11 used Symfony Components
 in version 5.4.
 
-
 Impact
 ======
 
-Some PHP code now might need to consider other types, especially regarding PHP classes which might be extended or used directly, where types for arguments are used.
+Some PHP code now might need to consider other types, especially regarding PHP
+classes which might be extended or used directly, where types for arguments are used.
 
 One example is that all CLI Commands (used in custom extensions) now need to define
-an "int" as return type of the :php:`execute()` method, otherwise the CLI
+an :php:`int` as return type of the :php:`execute()` method, otherwise the CLI
 command will not be executed anymore.
 
-
 Affected installations
 ======================
 
 TYPO3 Installations with extensions making heavy use of Symfony components directly.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98179-RemoveBackendInterfaceSelectorAndConfigurableRedirect.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98179-RemoveBackendInterfaceSelectorAndConfigurableRedirect.rst
index fed5ed2f5746..118be4c1a22d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98179-RemoveBackendInterfaceSelectorAndConfigurableRedirect.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98179-RemoveBackendInterfaceSelectorAndConfigurableRedirect.rst
@@ -25,7 +25,6 @@ multiple site roots was overseen and a user may get redirected to the wrong
 frontend. Also, if EXT:adminpanel is not installed, there is no one-click
 solution to access the TYPO3 backend.
 
-
 Impact
 ======
 
@@ -33,13 +32,11 @@ The configuration option :php:`$GLOBALS['TYPO3_CONF_VARS']['BE']['interfaces']`
 is removed, therefore an authenticated user always gets redirected to the
 backend.
 
-
 Affected installations
 ======================
 
 All TYPO3 installations relying on this feature are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98193-PersistentStorageModuleReturnsPromises.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98193-PersistentStorageModuleReturnsPromises.rst
index 799b6f1b151d..a9de399dc986 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98193-PersistentStorageModuleReturnsPromises.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98193-PersistentStorageModuleReturnsPromises.rst
@@ -23,7 +23,6 @@ This affects the following methods:
 * :js:`addToList()`
 * :js:`unset()`
 
-
 Impact
 ======
 
@@ -31,14 +30,12 @@ Using callbacks of jQuery-based promises (:js:`done`, :js:`fail` or :js:`always`
 will trigger JavaScript errors, as native :js:`Promise` objects don't know these
 callbacks.
 
-
 Affected installations
 ======================
 
 All extensions using any of the aforementioned methods and relying on the
 returned objects are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98195-RemoveTODAYS_SPECIALErrorConstant.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98195-RemoveTODAYS_SPECIALErrorConstant.rst
index 2b6ea23d852e..b69f3f079e2e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98195-RemoveTODAYS_SPECIALErrorConstant.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98195-RemoveTODAYS_SPECIALErrorConstant.rst
@@ -12,21 +12,18 @@ Description
 ===========
 
 The constant :php:`TODAYS_SPECIAL` in :php:`\TYPO3\CMS\Core\SysLog\Error` has never been
-used in TYPO3 core and is therefore removed without replacement.
-
+used in TYPO3 Core and is therefore removed without replacement.
 
 Impact
 ======
 
-3rd party extensions using the extension will fail with a PHP error.
-
+Third-party extensions using the extension will fail with a PHP error.
 
 Affected installations
 ======================
 
 3rd party extensions who use the :php:`TODAYS_SPECIAL` constant.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98261-RemovedJQueryInPopoverModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98261-RemovedJQueryInPopoverModule.rst
index 8fd1c67cac29..f6f969f26c63 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98261-RemovedJQueryInPopoverModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98261-RemovedJQueryInPopoverModule.rst
@@ -23,21 +23,18 @@ This affects the following methods:
 * :js:`destroy()`
 * :js:`toggle()`
 
-
 Impact
 ======
 
 Calling any of the aforementioned methods with passing a jQuery-based object is
 undefined and will lead to JavaScript errors.
 
-
 Affected installations
 ======================
 
 All 3rd party extensions using the API of the :js:`@typo3/backend/popover` module
 are affected.
 
-
 Migration
 =========
 
@@ -49,7 +46,7 @@ Any other method accepts objects of type :js:`HTMLElement` only.
 
 Example:
 
-.. code-block:: js
+..  code-block:: js
 
     // Before
     Popover.popover($('button.popover'));
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98275-RemovedPreDefinedLinkTitleAttributesInRTELinkBrowser.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98275-RemovedPreDefinedLinkTitleAttributesInRTELinkBrowser.rst
index 9d79632eb614..31115460a621 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98275-RemovedPreDefinedLinkTitleAttributesInRTELinkBrowser.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98275-RemovedPreDefinedLinkTitleAttributesInRTELinkBrowser.rst
@@ -26,7 +26,6 @@ For those reasons, the possibilities to
 
 have been removed without substitution.
 
-
 Impact
 ======
 
@@ -34,7 +33,6 @@ Pre-configuring a link title based on the applied CSS class is not possible
 anymore. Also, configuring the link title field to be read-only is not possible
 anymore.
 
-
 Affected installations
 ======================
 
@@ -42,7 +40,6 @@ All installations configuring :yaml:`classesAnchor.*.linkText` or
 :yaml:`buttons.link.properties.title.readOnly` in an RTE configuration file are
 affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98281-MakeAbstractPluginInternal.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98281-MakeAbstractPluginInternal.rst
index 38e4cbf54410..d7be6365a7e8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98281-MakeAbstractPluginInternal.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98281-MakeAbstractPluginInternal.rst
@@ -19,7 +19,6 @@ The TypoScript property :typoscript`plugin.tx_myextension_pi1._DEFAULT_PI_VARS`
 has only been used in the class :php:`AbstractPlugin`. It is therefore not public
 API anymore.
 
-
 Impact
 ======
 
@@ -30,14 +29,12 @@ code displayed in most IDEs.
 :typoscript:`_DEFAULT_PI_VARS` has been removed from syntax highlighting as it is
 not public API anymore.
 
-
 Affected installations
 ======================
 
 All extensions having classes that extend
 :php:`\TYPO3\CMS\Frontend\Plugin\AbstractPlugin` are affected.
 
-
 Migration
 =========
 
@@ -54,13 +51,20 @@ Class before migration:
 
     class RandomContent extends AbstractPlugin
     {
-        public function main(string $content, array $conf) : string
+        public function main(string $content, array $conf): string
         {
             $this->conf = $conf;
 
-            $this->pi_initPIflexForm(); // Init FlexForm configuration for plugin
-            if ($this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF')) {
-                $this->conf['pages'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF');
+            // Init FlexForm configuration for plugin
+            $this->pi_initPIflexForm();
+            if ($this->pi_getFFvalue(
+                $this->cObj->data['pi_flexform'],
+                'which_pages', 'sDEF')
+            ) {
+                $this->conf['pages'] = $this->pi_getFFvalue(
+                    $this->cObj->data['pi_flexform'],
+                    'which_pages', 'sDEF'
+                );
             }
             // ...
         }
@@ -89,19 +93,24 @@ Class after migration:
             $this->cObj = $cObj;
         }
 
-        public function main(string $content, array $conf) : string
+        public function main(string $content, array $conf): string
         {
-             $this->conf = $conf;
+            $this->conf = $conf;
 
             $this->pi_initPIflexForm(); // Init FlexForm configuration for plugin
-            if ($this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF')) {
-                $this->conf['pages'] = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'which_pages', 'sDEF');
+            if ($this->pi_getFFvalue($this->cObj->data['pi_flexform'],
+                'which_pages', 'sDEF')) {
+                $this->conf['pages'] = $this->pi_getFFvalue(
+                    $this->cObj->data['pi_flexform'],
+                    'which_pages',
+                    'sDEF'
+                );
             }
             // ...
         }
 
         /**
-         * Converts $this->cObj->data['pi_flexform'] from XML string to flexForm array.
+         * Converts $this->cObj->data['pi_flexform'] from XML string to FlexForm array.
          *
          * @param string $field Field name to convert
          */
@@ -110,11 +119,15 @@ Class after migration:
             // ...
         }
 
-        public function pi_getFFvalue($T3FlexForm_array, $fieldName, $sheet = 'sDEF', $lang = 'lDEF', $value = 'vDEF')
-        {
+        public function pi_getFFvalue(
+            $T3FlexForm_array,
+            $fieldName,
+            $sheet = 'sDEF',
+            $lang = 'lDEF',
+            $value = 'vDEF'
+        ) {
             // ...
         }
-
     }
 
 It is also possible to migrate to an Extbase plugin using a controller.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98288-UpdatedBackendModalAPI.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98288-UpdatedBackendModalAPI.rst
index a5d390caf959..5faf1d39357d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98288-UpdatedBackendModalAPI.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98288-UpdatedBackendModalAPI.rst
@@ -61,14 +61,12 @@ Furthermore the following changes have been applied:
 * :js:`Modal.currentModal.trigger('modal-dismiss')` has been removed.
   Use :js:`ModalElement.hideModal()` instead.
 
-
 Impact
 ======
 
 Using jQuery API on :js:`ModalElement` will lead to JavaScript errors as
 no jQuery interop is provided.
 
-
 Affected installations
 ======================
 
@@ -76,7 +74,6 @@ All 3rd party extensions using the API of the :js:`@typo3/backend/modal.js`
 module are affected, if they use the return type of the methods to attach
 to events or to customize the modal after creations.
 
-
 Migration
 =========
 
@@ -86,52 +83,51 @@ from :js:`JQuery` to :js:`ModalElement` usage.
 
 Existing code:
 
-.. code-block:: javascript
-
-   var configuration = {
-      buttons: [
-         {
-            text: 'Save changes',
-            name: 'save',
-            icon: 'actions-document-save',
-            active: true,
-            btnClass: 'btn-primary',
-            dataAttributes: {
-               action: 'save'
-            },
-            trigger: function() {
-               Modal.currentModal.trigger('modal-dismiss');
-            }
-         }
-      ]
-   };
-   Modal
-     .advanced(configuration)
-     .on('hidden.bs.modal', function() {
-       // do something
-     });
-
+..  code-block:: javascript
+
+    var configuration = {
+       buttons: [
+          {
+             text: 'Save changes',
+             name: 'save',
+             icon: 'actions-document-save',
+             active: true,
+             btnClass: 'btn-primary',
+             dataAttributes: {
+                action: 'save'
+             },
+             trigger: function() {
+                Modal.currentModal.trigger('modal-dismiss');
+             }
+          }
+       ]
+    };
+    Modal
+      .advanced(configuration)
+      .on('hidden.bs.modal', function() {
+        // do something
+    });
 
 Should be adapted to:
 
-.. code-block:: javascript
-
-   const modal = Modal.advanced({
-      buttons: [
-         {
-            text: 'Save changes',
-            name: 'save',
-            icon: 'actions-document-save',
-            active: true,
-            btnClass: 'btn-primary',
-            trigger: function(event, modal) {
-              modal.hideModal();
-            }
-         }
-      ]
-   });
-   modal.addEventListener('typo3-modal-hidden', function() {
-     // do something
-   });
+..  code-block:: javascript
+
+    const modal = Modal.advanced({
+       buttons: [
+          {
+             text: 'Save changes',
+             name: 'save',
+             icon: 'actions-document-save',
+             active: true,
+             btnClass: 'btn-primary',
+             trigger: function(event, modal) {
+               modal.hideModal();
+             }
+          }
+       ]
+    });
+    modal.addEventListener('typo3-modal-hidden', function() {
+      // do something
+    });
 
 .. index:: Backend, JavaScript, NotScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98303-RemovedHooksForLanguageOverlaysInPageRepository.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98303-RemovedHooksForLanguageOverlaysInPageRepository.rst
index b7cca151e070..c0f661ef6187 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98303-RemovedHooksForLanguageOverlaysInPageRepository.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98303-RemovedHooksForLanguageOverlaysInPageRepository.rst
@@ -19,7 +19,7 @@ The hooks
 have been removed in favor of new PSR-14 events.
 
 In addition, the method :php:`PageRepository->getRecordOverlay()` has been
-marked as protected as the new Events take place at a slightly different
+marked as protected as the new events take place at a slightly different
 piece of code.
 
 Impact
@@ -35,7 +35,6 @@ Affected installations
 
 TYPO3 installations with custom extensions using these hooks.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98304-RemovedHookForModifyingEditFormUserAccess.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98304-RemovedHookForModifyingEditFormUserAccess.rst
index 16fd9fbc2438..68882ee802dd 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98304-RemovedHookForModifyingEditFormUserAccess.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98304-RemovedHookForModifyingEditFormUserAccess.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _breaking-98304:
+
 ===================================================================
 Breaking: #98304 - Removed hook for modifying edit form user access
 ===================================================================
@@ -10,7 +12,8 @@ Description
 ===========
 
 The hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/alt_doc.php']['makeEditForm_accessCheck']`
-has been removed in favor of a new PSR-14 event :php:`\TYPO3\CMS\Backend\Form\Event\ModifyEditFormUserAccessEvent`.
+has been removed in favor of a new PSR-14 event
+:php:`\TYPO3\CMS\Backend\Form\Event\ModifyEditFormUserAccessEvent`.
 
 Additionally, the corresponding :php:`TYPO3\CMS\Backend\Form\Exception\AccessDeniedHookException`,
 which had been thrown in case a hook denied the user access has been replaced
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98308-LegacyHTMLAttributesBorderAndLongdescRemovedFromFrontendRendering.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98308-LegacyHTMLAttributesBorderAndLongdescRemovedFromFrontendRendering.rst
index 9d63422ae087..78385afcef0b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98308-LegacyHTMLAttributesBorderAndLongdescRemovedFromFrontendRendering.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98308-LegacyHTMLAttributesBorderAndLongdescRemovedFromFrontendRendering.rst
@@ -11,7 +11,7 @@ See :issue:`98308`
 Description
 ===========
 
-The IMAGE ContentObject previously supported "longdesc" and "border" attributes
+The :typoscript:`IMAGE` content object previously supported `longdesc` and `border` attributes
 to be set to the :html:`<img>` tag which was composed. The appropriate settings
 :typoscript:`longDesc` and :typoscript:`border` within :typoscript:`IMAGE` cObject
 have been removed.
@@ -23,7 +23,6 @@ Also, the :php:`\TYPO3\CMS\Core\Imaging\GraphicalFunctions` PHP class, which
 generated default :html:`<img>` tags via the :php:`imgTag()` method, has been
 adapted as the method is removed.
 
-
 Impact
 ======
 
@@ -32,14 +31,12 @@ Using the TypoScript settings will have no effect anymore.
 Calling the method :php:`\TYPO3\CMS\Core\Imaging\GraphicalFunctions->imgTag()`
 will result in a fatal PHP error.
 
-
 Affected installations
 ======================
 
 TYPO3 installation using TypoScript :typoscript:`IMAGE` cObject explicitly
 requiring the :typoscript:`border` and :typoscript:`longDesc` attributes.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98312-TypoScriptSettingPageCSS_inlineStyleRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98312-TypoScriptSettingPageCSS_inlineStyleRemoved.rst
index 43c3dbe72c57..00368f8dc694 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98312-TypoScriptSettingPageCSS_inlineStyleRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98312-TypoScriptSettingPageCSS_inlineStyleRemoved.rst
@@ -14,19 +14,16 @@ Description
 The TypoScript setting :typoscript:`page.CSS_inlineStyle` which was used to
 inject a inline CSS string into the TYPO3 Frontend has been removed.
 
-
 Impact
 ======
 
 Using this setting has no effect anymore since TYPO3 v12.
 
-
 Affected installations
 ======================
 
 TYPO3 installations having this option set in their TypoScript setup.
 
-
 Migration
 =========
 
@@ -38,7 +35,7 @@ The superior setting :typoscript:`page.cssInline` allows to use
 
 Example for migration:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     page.CSS_inlineStyle = a { color: red; }
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98319-NewFileLocationForLocalConfigurationphpAndAdditionalConfigurationphp.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98319-NewFileLocationForLocalConfigurationphpAndAdditionalConfigurationphp.rst
index 410690fc3013..d2996e51dfa9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98319-NewFileLocationForLocalConfigurationphpAndAdditionalConfigurationphp.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98319-NewFileLocationForLocalConfigurationphpAndAdditionalConfigurationphp.rst
@@ -17,7 +17,7 @@ This file contains system-wide configuration options such as database credential
 or paths to image processing details.
 
 Historically, the very original name was `typo3conf/localconf.php` (this is also
-where the extensions' file name `ext_localconf.php` comes from).
+where the extension's file name `ext_localconf.php` comes from).
 
 This file was renamed in TYPO3 v6.0 to :php:`LocalConfiguration.php`  and since
 then returns a PHP array with settings then available in :php:`$TYPO3_CONF_VARS`.
@@ -34,7 +34,7 @@ could be shared with multiple TYPO3 installations.
 
 TYPO3 v12 has a strong support for Composer and TYPO3's own code base has
 progressed since 2012, when TYPO3 v6.0 was released. TYPO3 Core itself now
-only consists of extensions which are available as native composer packages.
+only consists of extensions which are available as native Composer packages.
 The concept of global extensions has been phased out over the past versions.
 
 Instead, TYPO3 installations now distinguish between "dependencies" such as
@@ -47,10 +47,12 @@ Newcomers or users from other PHP projects might understand the concept of a fil
 with certain settings much better, so the file locations and the file names
 have been changed.
 
-For non-composer-based installations the file names are:
+For non-Composer-based installations the file names are:
 
-* :file:`typo3conf/LocalConfiguration.php` is now available in :file:`typo3conf/system/settings.php`
-* :file:`typo3conf/AdditionalConfiguration.php` is now available in :file:`typo3conf/system/additional.php`
+*   :file:`typo3conf/LocalConfiguration.php` is now available in
+    :file:`typo3conf/system/settings.php`
+*   :file:`typo3conf/AdditionalConfiguration.php` is now available in
+    :file:`typo3conf/system/additional.php`
 
 Composer-based TYPO3 projects by default have the possibility to place certain
 files from outside the document root, and using the document root such as :file:`public/`
@@ -61,8 +63,10 @@ TYPO3 in its Composer Mode already creates a folder named :file:`config/` on the
 project root level, where e.g. site configuration is stored. Within the
 :file:`config/` folder, the new location is placed.
 
-* :file:`typo3conf/LocalConfiguration.php` is now available in :file:`config/system/settings.php`
-* :file:`typo3conf/AdditionalConfiguration.php` is now available in :file:`config/system/additional.php`
+*   :file:`typo3conf/LocalConfiguration.php` is now available in
+    :file:`config/system/settings.php`
+*   :file:`typo3conf/AdditionalConfiguration.php` is now available in
+    :file:`config/system/additional.php`
 
 Impact
 ======
@@ -72,20 +76,18 @@ TYPO3 automatically moves :file:`typo3conf/LocalConfiguration.php` and
 the first PHP request. The old file is not evaluated anymore, as soon as the file
 in the new location is available.
 
-
 Affected installations
 ======================
 
 All TYPO3 installations prior to TYPO3 v12.
 
-
 Migration
 =========
 
 The configuration files are automatically moved with TYPO3 v12.0 to their new
 locations, so no manual process is needed.
 
-Projects working with a Versioning Control System such as Git might need to adapt
+Projects working with a version control system such as Git might need to adapt
 their :file:`.gitignore` file or their deployment strategies.
 
 In addition, TYPO3 projects relying on the file locations and their structures
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98370-ExtbaseRequestCleanupAndHardening.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98370-ExtbaseRequestCleanupAndHardening.rst
index e31a27662dd3..4b8b83677c2c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98370-ExtbaseRequestCleanupAndHardening.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98370-ExtbaseRequestCleanupAndHardening.rst
@@ -12,11 +12,11 @@ Description
 ===========
 
 Extbase :php:`\TYPO3\CMS\Extbase\Mvc\Request` has been turned into a decorator of the
-PSR-7 :php:`ServerRequestInterface` :doc:`with core v11 <../11.3/Feature-94428-ExtbaseRequestImplementsServerRequestInterface>`:
-Extbase-based extensions work with the PSR-7 core Request, Extbase
+PSR-7 :php:`ServerRequestInterface` :doc:`with Core v11 <../11.3/Feature-94428-ExtbaseRequestImplementsServerRequestInterface>`:
+Extbase-based extensions work with the PSR-7 Core Request, Extbase
 specific Request state is attached as an attribute to the PSR-7 Request.
 
-Most of these Extbase-specific attribute properties are now available in core v12
+Most of these Extbase-specific attribute properties are now available in Core v12
 by activating the according decorator methods in :php:`\TYPO3\CMS\Extbase\Mvc\RequestInterface`,
 which is implemented by :php:`\TYPO3\CMS\Extbase\Mvc\Request`. The :php:`RequestInterface` now
 also properly extends PSR-7 :php:`ServerRequestInterface` and is type-hinted within
@@ -27,7 +27,6 @@ a new object is created and returned when changed. The old fashioned Extbase Req
 various :php:`setXY()` methods. These have been removed, and this is the part that is considered
 breaking for consuming extensions.
 
-
 Impact
 ======
 
@@ -35,7 +34,6 @@ Extbase-based extensions using static code analyzers like phpstan in CI
 should benefit from improved scanner results and can further harden their
 codebase.
 
-
 Affected installations
 ======================
 
@@ -47,7 +45,6 @@ a :php:`\Psr\Http\Message\ServerRequestInterface` as constructor argument, it mu
 the attribute :php:`extbase` set, which must be an instance of
 :php:`\TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters`.
 
-
 Migration
 =========
 
@@ -76,5 +73,4 @@ is :php:`$this->view` in a controller class, which may now need :php:`$this->vie
 to receive the new :php:`Request` to work on, and it's most likely also a good idea to update
 :php:`$this->request = $myNewRequest` as well.
 
-
 .. index:: PHP-API, NotScanned, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98375-RemovedHooksInPageModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98375-RemovedHooksInPageModule.rst
index 7dc3e0abefe0..f7dd074e1fee 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98375-RemovedHooksInPageModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98375-RemovedHooksInPageModule.rst
@@ -33,14 +33,12 @@ Impact
 
 Registering one of the hooks above in TYPO3 v12+ has no effect anymore.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with modifications to the page module in third-party
 extensions via one of the hooks.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98377-FluidStandaloneViewDoesNotCreateAnExtbaseRequestAnymore.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98377-FluidStandaloneViewDoesNotCreateAnExtbaseRequestAnymore.rst
index f51d98748ace..ef17779bf823 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98377-FluidStandaloneViewDoesNotCreateAnExtbaseRequestAnymore.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98377-FluidStandaloneViewDoesNotCreateAnExtbaseRequestAnymore.rst
@@ -22,7 +22,6 @@ not wanted context switch.
 Not having an Extbase Request within StandaloneView anymore can have impact on
 behavior of some Fluid ViewHelpers.
 
-
 Impact
 ======
 
@@ -41,7 +40,6 @@ Most notably, all :html:`f:form` ViewHelpers are affected of this, plus
 eventually custom ViewHelpers that access Extbase specific :php:`Request`
 methods.
 
-
 Affected installations
 ======================
 
@@ -49,7 +47,6 @@ Instances with extensions using StandaloneView in their code may need attention,
 and frontend rendering using :typoscript:`FLUIDTEMPLATE` content objects may need
 adaptions if Extbase-only ViewHelpers like :html:`f:form` are used.
 
-
 Migration
 =========
 
@@ -88,5 +85,4 @@ Possible solutions:
   the given :php:`Psr\Http\Message\ServerRequestInterface` Request, or it's attached
   core attributes.
 
-
 .. index:: Fluid, PHP-API, NotScanned, ext:fluid
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98437-WorkspaceTSConfigSwapModeAndChangeStageModeRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98437-WorkspaceTSConfigSwapModeAndChangeStageModeRemoved.rst
index 629633b57079..93a14e28941f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98437-WorkspaceTSConfigSwapModeAndChangeStageModeRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98437-WorkspaceTSConfigSwapModeAndChangeStageModeRemoved.rst
@@ -17,7 +17,6 @@ have been removed.
 * :typoscript:`options.workspaces.swapMode`
 * :typoscript:`options.workspaces.changeStageMode`
 
-
 Impact
 ======
 
@@ -26,7 +25,6 @@ User TSconfig has no effect anymore: They were used to publish and change
 state of more than the selected records in the workspace Backend module, which
 was a rather hard to grasp feature for editors and usability wise questionable.
 
-
 Affected installations
 ======================
 
@@ -34,13 +32,11 @@ Instances with loaded workspaces extensions using these options in
 User TSconfig are affected.
 
 These options were most likely used very seldom and the implementation has
-been at least partially broken since TYPO3 core v8.
-
+been at least partially broken since TYPO3 Core v8.
 
 Migration
 =========
 
 No migration path available.
 
-
 .. index:: Backend, TSConfig, NotScanned, ext:workspaces
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98441-HookRecStatInfoHooksRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98441-HookRecStatInfoHooksRemoved.rst
index 8eb38c61106a..eed6c7fdb4d3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98441-HookRecStatInfoHooksRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98441-HookRecStatInfoHooksRemoved.rst
@@ -18,20 +18,17 @@ The hook was used to modify the list of icons in the Page Module and the List mo
 
 More modern solutions have been in place in previous TYPO3 versions already.
 
-
 Impact
 ======
 
 Hook implementations in third-party extensions will be ignored.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom extensions using this hook. Affected extensions
 can be detected in the Extension Scanner of the Install Tool.
 
-
 Migration
 =========
 
@@ -41,4 +38,4 @@ to modify the icon list directly in the template.
 For list module implementations, the PSR-14 event :php:`ModifyRecordListRecordActionsEvent`
 can be used instead since TYPO3 v11.
 
-.. index:: Backend, PHP-API, FullyScanned, ext:backend
\ No newline at end of file
+.. index:: Backend, PHP-API, FullyScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98443-ExtensionRecordlistMergedIntoBackend.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98443-ExtensionRecordlistMergedIntoBackend.rst
index 8c7e7d5fec67..acb5236ec2b4 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98443-ExtensionRecordlistMergedIntoBackend.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98443-ExtensionRecordlistMergedIntoBackend.rst
@@ -11,16 +11,15 @@ See :issue:`98443`
 Description
 ===========
 
-The TYPO3 core extension "recordlist" has been integrated into the core
+The TYPO3 Core extension "recordlist" has been integrated into the Core
 extension "backend". Extension "recordlist" does not exist anymore, all
 existing functionality like the "List module" is available within the "backend"
 extension.
 
-
 Impact
 ======
 
-When upgrading to TYPO3 core v12, extension "backend" replaces extension "recordlist"
+When upgrading to TYPO3 Core v12, extension "backend" replaces extension "recordlist"
 automatically.
 
 The following classes have been renamed:
@@ -56,12 +55,11 @@ The following classes have been renamed:
 * :php:`\TYPO3\CMS\Recordlist\View\RecordSearchBoxComponent` to :php:`\TYPO3\CMS\Backend\View\RecordSearchBoxComponent`
 * :php:`\TYPO3\CMS\Recordlist\View\FolderUtilityRenderer` to :php:`\TYPO3\CMS\Backend\View\FolderUtilityRenderer`
 
-
 Affected installations
 ======================
 
 Extension "recordlist" was a hard dependency of a working TYPO3 instance and always
-installed. When upgrading to TYPO3 core v12, the TYPO3 Package Manager will simply
+installed. When upgrading to TYPO3 Core v12, the TYPO3 Package Manager will simply
 ignore the extension now.
 
 Extension extending PHP classes or implementing interfaces
@@ -70,20 +68,18 @@ established as aliases. Extensions should update their dependencies in case they
 extending or implementing specific "recordlist" functionality, the extension scanner
 will find possible usages.
 
-
 Migration
 =========
 
-The "typo3/cms-recordlist" dependency can be safely removed as composer dependency:
+The "typo3/cms-recordlist" dependency can be safely removed as Composer dependency:
 
-.. code-block:: shell
+..  code-block:: shell
 
     composer rem typo3/cms-recordlist
 
 Extensions using classes of extension "recordlist" should use the new classes instead.
 Extensions supporting both TYPO3 v11 and v12 can continue to use the old class names
 since they have been established as aliases to the new class names. These aliases will
-be removed with TYPO3 core v13.
-
+be removed with TYPO3 Core v13.
 
 .. index:: Backend, PHP-API, FullyScanned, ext:recordlist
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-ChangedDefinitionOfFormEngineSuggestItem.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-ChangedDefinitionOfFormEngineSuggestItem.rst
index fd5e0ff25651..31439568ae2f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-ChangedDefinitionOfFormEngineSuggestItem.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-ChangedDefinitionOfFormEngineSuggestItem.rst
@@ -25,7 +25,7 @@ icon and optionally an `overlay` identifier.
 
 Example:
 
-.. code-block:: php
+..  code-block:: php
 
     $icon = $this->iconFactory->getIconForRecord($this->table, $row, Icon::SIZE_SMALL);
     $entry = [
@@ -36,7 +36,6 @@ Example:
         ],
     ];
 
-
 Impact
 ======
 
@@ -46,14 +45,12 @@ still supplied by custom suggest wizards. Also, the `icon` property must be prov
 The removed property `text` also affects potential :php:`renderFunc` callbacks
 configured in the field's TCA.
 
-
 Affected installations
 ======================
 
 All extensions having a custom suggest wizard or providing a  :php:`renderFunc`
 are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-RemovedDevbridge-autocomplete.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-RemovedDevbridge-autocomplete.rst
index 7809dc4d8fc0..48d63d1d0c3d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-RemovedDevbridge-autocomplete.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98455-RemovedDevbridge-autocomplete.rst
@@ -14,20 +14,17 @@ Description
 The jQuery library :js:`devbridge-autocomplete` used to provide an auto-suggest
 feature has been removed from TYPO3 along with its CSS.
 
-
 Impact
 ======
 
 Importing the module :js:`jquery/autocomplete` and calling `.autocomplete()` on
 a jQuery object will lead to JavaScript errors.
 
-
 Affected installations
 ======================
 
 All extensions relying on :js:`devbridge-autocomplete` are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98479-RemovedFileReferenceRelatedFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98479-RemovedFileReferenceRelatedFunctionality.rst
index c3577e224d42..0ecb666d72bf 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98479-RemovedFileReferenceRelatedFunctionality.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98479-RemovedFileReferenceRelatedFunctionality.rst
@@ -54,7 +54,7 @@ Migration
 
 Migrate corresponding user functions for the :php:`customControls` option to
 a PSR-14 event listeners of the
-:doc:`CustomFileControlsEvent <../12.0/Feature-98479-NewTCATypeFile.rst>`.
+:ref:`CustomFileControlsEvent <feature-98479-1664537749>`.
 
 Remove any usage of the :sql:`table_local` field of
 table :sql:`sys_file_reference` in custom extension code.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst
index 007c718444c8..3d1da4226588 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98480-TCATableSys_templateIsNoLongerWorkspaceAware.rst
@@ -11,7 +11,7 @@ See :issue:`98480`
 Description
 ===========
 
-The TCA database table :php:`sys_template` is no longer workspace aware:
+The TCA database table :sql:`sys_template` is no longer workspace aware:
 When changing sys_template records in a workspace in the Backend, this has
 immediate effect on Live workspace.
 
@@ -22,7 +22,6 @@ Records of the TypoScript table "sys_template" are not available for editors,
 this change should not have impact on editors working on content related
 workspace records.
 
-
 Affected installations
 ======================
 
@@ -31,12 +30,10 @@ template records immediately affects live. This is a relatively seldom scenario,
 an upgrade wizard is in place to set all workspace aware sys_template records to
 deleted, preventing them to leak to live.
 
-
 Migration
 =========
 
-Do not change "sys_template" rows in workspaces anymore. Any changes will be published
-to live on edit.
-
+Do not change :sql:`sys_template` rows in workspaces anymore. Any changes will
+be published to live on edit.
 
 .. index:: Backend, Frontend, TCA, TypoScript, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98487-GLOBALSPAGES_TYPESRemoved.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98487-GLOBALSPAGES_TYPESRemoved.rst
index a05c1e8e74be..282626d268a9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98487-GLOBALSPAGES_TYPESRemoved.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98487-GLOBALSPAGES_TYPESRemoved.rst
@@ -14,20 +14,17 @@ Description
 The global array :php:`PAGES_TYPES` has been removed in favor of a new registry
 class containing the shared state.
 
-
 Impact
 ======
 
 Accessing or modifying :php:`$GLOBALS['PAGES_TYPES']` will have no effect anymore.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom extensions creating custom TCA records or custom
 Page Doktypes.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98488-TypolinkOptionAddQueryStringOnlyIncludesResolvedQueryArguments.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98488-TypolinkOptionAddQueryStringOnlyIncludesResolvedQueryArguments.rst
index 7df5619392ad..e737c70034d9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98488-TypolinkOptionAddQueryStringOnlyIncludesResolvedQueryArguments.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98488-TypolinkOptionAddQueryStringOnlyIncludesResolvedQueryArguments.rst
@@ -17,11 +17,10 @@ GET parameters to a generated URL that were handed in to the request.
 This option is also used under the hood for the  Fluid ViewHelpers
 :html:`<f:link.typolink>` and :html:`<f:uri.typolink>`.
 
-With TYPO3 v9 and Routing, this option now only adds the query arguments that
-have been resolved during the Routing process. This way, additional query arguments
+With TYPO3 v9 and routing, this option now only adds the query arguments that
+have been resolved during the routing process. This way, additional query arguments
 are never added by default.
 
-
 Impact
 ======
 
@@ -32,13 +31,11 @@ As a consequence, arbitrary query arguments are not reflected in the
 canonical link reference anymore. Declaring corresponding route definitions
 is required to have those values reflected again.
 
-
 Affected installations
 ======================
 
 TYPO3 installations relying on `typolink.addQueryString`.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98489-RemovalOfSleepTaskAndTestTask.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98489-RemovalOfSleepTaskAndTestTask.rst
index a7b272b27f3b..9661b1e12204 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98489-RemovalOfSleepTaskAndTestTask.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98489-RemovalOfSleepTaskAndTestTask.rst
@@ -16,24 +16,22 @@ served as examples when scheduler was introduced in 2009.
 
 The tasks have been removed without substitution.
 
-
 Impact
 ======
 
 The scheduler tasks are not available anymore and won't be executed.
 
-
 Affected installations
 ======================
 
 All TYPO3 installations relying on these scheduler tasks.
 
-
 Migration
 =========
 
 If used, the tasks can be removed within the scheduler module.
 
-The configuration :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['scheduler']['showSampleTasks']` is removed automatically.
+The configuration :php:`$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['scheduler']['showSampleTasks']`
+is removed automatically.
 
 .. index:: PHP-API, NotScanned, ext:scheduler
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98490-VariousHooksAndMethodsChangedInDatabaseRecordList.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98490-VariousHooksAndMethodsChangedInDatabaseRecordList.rst
index 16b5869fbd39..b0ecf0c07540 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98490-VariousHooksAndMethodsChangedInDatabaseRecordList.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Breaking-98490-VariousHooksAndMethodsChangedInDatabaseRecordList.rst
@@ -13,9 +13,9 @@ Description
 
 The following hooks have been removed
 
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list_extra.inc']['getTable']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['modifyQuery']`
-* :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['makeSearchStringConstraints']`
+*   :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list_extra.inc']['getTable']`
+*   :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['modifyQuery']`
+*   :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList']['makeSearchStringConstraints']`
 
 They were mainly used within the list module / record listing or the Element Browser
 to modify the database query altering the result set of records rendered.
@@ -23,9 +23,10 @@ to modify the database query altering the result set of records rendered.
 Along with the hooks, various method signatures within :php:`DatabaseRecordList`
 have been changed.
 
-* :php:`DatabaseRecordList->getQueryBuilder()` has the arguments $pageId and $additionalConstraints removed
-* :php:`DatabaseRecordList->getTable()` only uses one argument now
-* :php:`DatabaseRecordList->makeSearchString()` is now marked as protected
+*   :php:`DatabaseRecordList->getQueryBuilder()` has the arguments `$pageId`
+    and `$additionalConstraints` removed
+*   :php:`DatabaseRecordList->getTable()` only uses one argument now
+*   :php:`DatabaseRecordList->makeSearchString()` is now marked as protected
 
 Impact
 ======
@@ -35,14 +36,12 @@ Extensions adding implementations for these hooks have no effect anymore.
 Extensions making use of calling the PHP methods directly will result in
 a fatal PHP error.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with third-party extensions modifying the record list via
 the hooks above.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-87616-UnusedInterfaceForTypolinkModifyLinkConfigForPageLinksHook.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-87616-UnusedInterfaceForTypolinkModifyLinkConfigForPageLinksHook.rst
index bb46d53cab67..b77965d29b1b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-87616-UnusedInterfaceForTypolinkModifyLinkConfigForPageLinksHook.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-87616-UnusedInterfaceForTypolinkModifyLinkConfigForPageLinksHook.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-87616:
+
 ===================================================================================
 Deprecation: #87616 - Unused Interface for TypolinkModifyLinkConfigForPageLinksHook
 ===================================================================================
@@ -15,20 +17,17 @@ required hook implementations to implement :php:`TypolinkModifyLinkConfigForPage
 Since the mentioned hook is :doc:`removed <../12.0/Breaking-87616-RemovedHookForAlteringPageLinks>`,
 the interface is not in use anymore and has been marked as deprecated.
 
-
 Impact
 ======
 
 The extension scanner will now notify any extension, which might still use
 the PHP interface.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations using the PHP interface in custom extension code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-92508-UnusedInterfaceForFilterMenuPagesHook.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-92508-UnusedInterfaceForFilterMenuPagesHook.rst
index 131317a18466..5edb0d9be13a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-92508-UnusedInterfaceForFilterMenuPagesHook.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-92508-UnusedInterfaceForFilterMenuPagesHook.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-92508:
+
 ===============================================================
 Deprecation: #92508 - Unused Interface for filterMenuPages hook
 ===============================================================
@@ -21,13 +23,11 @@ Impact
 The extension scanner will now notify any extension, which might
 still use the PHP interface.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations using the PHP interface in custom extension code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-94117-RegisterExtbaseTypeConvertersAsServices.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-94117-RegisterExtbaseTypeConvertersAsServices.rst
index 9db1708cd561..f272926ab46b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-94117-RegisterExtbaseTypeConvertersAsServices.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-94117-RegisterExtbaseTypeConvertersAsServices.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-94117:
+
 ==================================================================
 Deprecation: #94117 - Register extbase type converters as services
 ==================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-95456-IntroduceBootstrap5CompatibleAndAccessibleTemplates.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-95456-IntroduceBootstrap5CompatibleAndAccessibleTemplates.rst
index d175b50536cb..78cdede6ceb5 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-95456-IntroduceBootstrap5CompatibleAndAccessibleTemplates.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-95456-IntroduceBootstrap5CompatibleAndAccessibleTemplates.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-95456:
+
 =====================================================
 Deprecation: #95456 - Deprecate legacy form templates
 =====================================================
@@ -14,26 +16,23 @@ Using the legacy form template / partial variants residing in
 :file:`EXT:form/Resources/Private/Frontend/Partials`
 is deprecated. The legacy templates will be removed in v13.
 
-
 Impact
 ======
 
 No deprecation is logged since it would flood the logs.
 
-
 Affected Installations
 ======================
 
 Installations using custom templates for form elements.
 
-
 Migration
 =========
 
 Set your form rendering option "templateVariant" within the form setup from
 "version1" to "version2" to use the future default templates.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -45,7 +44,6 @@ Set your form rendering option "templateVariant" within the form setup from
                   renderingOptions:
                     templateVariant: version2
 
-
 Migrate your templates / partials to make them compatible with the ones stored in
 :file:`EXT:form/Resources/Private/FrontendVersion2`.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96136-DeprecateInlineJavaScriptInBackendUpdateSignals.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96136-DeprecateInlineJavaScriptInBackendUpdateSignals.rst
index 97313c9bfae3..0574990e3077 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96136-DeprecateInlineJavaScriptInBackendUpdateSignals.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96136-DeprecateInlineJavaScriptInBackendUpdateSignals.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96136:
+
 ===========================================================================
 Deprecation: #96136 - Deprecate inline JavaScript in backend update signals
 ===========================================================================
@@ -16,7 +18,6 @@ document header bar.
 Using inline JavaScript for handing custom signals is deprecated and will be
 ignored in TYPO3 v13.0.
 
-
 Impact
 ======
 
@@ -25,13 +26,11 @@ or having custom signal callbacks defined in :php:`$GLOBALS['TYPO3_CONF_VARS']['
 which provide `JScode` are deprecated and will trigger a corresponding PHP
 error message.
 
-
 Affected Installations
 ======================
 
 see impact
 
-
 Migration
 =========
 
@@ -48,7 +47,7 @@ Custom signal callbacks
 
 Usually those custom signal hooks are declared like this:
 
-.. code-block:: php
+..  code-block:: php
 
     $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']
         ['updateSignalHook']['OpendocsController::updateNumber'] =
@@ -57,7 +56,7 @@ Usually those custom signal hooks are declared like this:
 Existing implementation using `JScode`
 ......................................
 
-.. code-block:: php
+..  code-block:: php
 
     class OpendocsToolbarItem
     {
@@ -91,7 +90,7 @@ allow to dispatch actions, without actually using inline JavaScript.
 **Side-note**: Just using markup like :html:`<script>alert(1)</script>`
 is **not** considered a good solution as it still contains inline JavaScript.
 
-.. code-block:: php
+..  code-block:: php
 
     class OpendocsToolbarItem
     {
@@ -108,7 +107,7 @@ is **not** considered a good solution as it still contains inline JavaScript.
 :php:`ImmediateActionElement` is utilized to trigger a custom event in JavaScript,
 which is handled by a custom JavaScript module in that particular case.
 
-.. code-block:: typescript
+..  code-block:: typescript
 
     class OpendocsMenu {
       constructor() {
@@ -118,5 +117,4 @@ which is handled by a custom JavaScript module in that particular case.
         );
       }
 
-
 .. index:: Backend, JavaScript, FullyScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96444-AuthModeSelectItemsKeywordsMovedToIndex5.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96444-AuthModeSelectItemsKeywordsMovedToIndex5.rst
index 303dc3004c16..2220f31d0bd9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96444-AuthModeSelectItemsKeywordsMovedToIndex5.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96444-AuthModeSelectItemsKeywordsMovedToIndex5.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96444:
+
 =====================================================================
 Deprecation: #96444 - authMode select items keywords moved to index 5
 =====================================================================
@@ -25,21 +27,19 @@ For backwards compatibility reasons, a TCA migration is in place, which will
 check for these special keywords and move them one index up. This will log a
 "TCA migration done" message in the admin tools upgrade module.
 
-
 Affected Installations
 ======================
 
 All installations, which use TCA type `select` with `authMode=individual`, while
 defining the keywords `EXPL_ALLOW` or `EXPL_DENY` in the items array at index 4.
 
-
 Migration
 =========
 
 Before:
 
-.. code-block:: php
-   :emphasize-lines: 12
+..  code-block:: php
+    :emphasize-lines: 12
 
     'columns' => [
         'aColumn' => [
@@ -61,8 +61,8 @@ Before:
 
 After:
 
-.. code-block:: php
-   :emphasize-lines: 12,13
+..  code-block:: php
+    :emphasize-lines: 12,13
 
     'columns' => [
         'aColumn' => [
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96500-ContentObjectRenderer-getMailTo.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96500-ContentObjectRenderer-getMailTo.rst
index 89c96a00f79d..25148802ea1b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96500-ContentObjectRenderer-getMailTo.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96500-ContentObjectRenderer-getMailTo.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96500:
+
 ======================================================
 Deprecation: #96500 - ContentObjectRenderer->getMailTo
 ======================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96524-DeprecateInlineJavaScriptInDashboard.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96524-DeprecateInlineJavaScriptInDashboard.rst
index bb720d576996..98b89279c9ce 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96524-DeprecateInlineJavaScriptInDashboard.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96524-DeprecateInlineJavaScriptInDashboard.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96524:
+
 ==============================================================
 Deprecation: #96524 - Deprecate inline JavaScript in Dashboard
 ==============================================================
@@ -13,13 +15,11 @@ Using inline JavaScript when initializing RequireJS modules in individual
 dashboard widgets has been deprecated. Widget implementations have to be
 adjusted accordingly.
 
-
 Impact
 ======
 
 Usages will trigger PHP :php:`E_USER_DEPRECATED` errors.
 
-
 Affected Installations
 ======================
 
@@ -28,7 +28,6 @@ Installations having individual widget implementations which are
 * implementing :php:`\TYPO3\CMS\Dashboard\Widgets\RequireJsModuleInterface`
 * invoking :php:`\TYPO3\CMS\Dashboard\DashboardInitializationService->getRequireJsModules`
 
-
 Migration
 =========
 
@@ -37,7 +36,7 @@ instead of deprecated :php:`\TYPO3\CMS\Dashboard\Widgets\RequireJsModuleInterfac
 Instead of using inline JavaScript for initializing RequireJS modules,
 :php:`\TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` have to be declared.
 
-.. code-block:: php
+..  code-block:: php
 
     class ExampleChartWidget implements RequireJsModuleInterface
     {
@@ -54,7 +53,7 @@ Instead of using inline JavaScript for initializing RequireJS modules,
 Deprecated example widget above would look like the following when using
 `JavaScriptInterface` and `JavaScriptModuleInstruction`:
 
-.. code-block:: php
+..  code-block:: php
 
     class ExampleChartWidget implements JavaScriptInterface
     {
@@ -69,5 +68,4 @@ Deprecated example widget above would look like the following when using
         }
     }
 
-
 .. index:: Frontend, TypoScript, FullyScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96568-RequireJSModulesInFormFramework.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96568-RequireJSModulesInFormFramework.rst
index 987394943108..2a38cf95abbe 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96568-RequireJSModulesInFormFramework.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96568-RequireJSModulesInFormFramework.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96568:
+
 =========================================================
 Deprecation: #96568 - RequireJS modules in Form Framework
 =========================================================
@@ -14,7 +16,6 @@ deprecated in favor of native ES6 JavaScript modules.
 
 The :yaml:`dynamicRequireJsModules` option is deprecated.
 
-
 Impact
 ======
 
@@ -22,46 +23,43 @@ RequireJS is no longer loaded and native module loading is approached,
 if :yaml:`dynamicRequireJsModules` is not defined. Extensions that
 use :yaml:`dynamicRequireJsModules` will work as before but trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected Installations
 ======================
 
 Installations that register custom form types or extend the backend JavaScript
 of the form framework.
 
-
 Migration
 =========
 
 Use :yaml:`dynamicJavaScriptModules` option instead of
 :yaml:`dynamicRequireJsModules` to load ES6 instead of RequireJS modules:
 
-.. code-block:: yaml
-
-   TYPO3:
-     CMS:
-       Form:
-         prototypes:
-           standard:
-             formEditor:
-               dynamicJavaScriptModules:
-                 additionalViewModelModules:
-                   10: '@my-vendor/my-site-package/backend/form-editor/view-model.js'
+..  code-block:: yaml
 
+    TYPO3:
+      CMS:
+        Form:
+          prototypes:
+            standard:
+              formEditor:
+                dynamicJavaScriptModules:
+                  additionalViewModelModules:
+                    10: '@my-vendor/my-site-package/backend/form-editor/view-model.js'
 
 And configure a corresponding importmap in
 :file:`Configuration/JavaScriptModules.php`:
 
-.. code-block:: php
+..  code-block:: php
 
-   # Configuration/JavaScriptModules.php
-   <?php
+    # Configuration/JavaScriptModules.php
+    <?php
 
-   return [
-       'dependencies' => ['form'],
-       'imports' => [
-           '@myvendor/my-site-package/' => 'EXT:my_site_package/Resources/Public/JavaScript/',
-       ],
-   ];
+    return [
+        'dependencies' => ['form'],
+        'imports' => [
+            '@myvendor/my-site-package/' => 'EXT:my_site_package/Resources/Public/JavaScript/',
+        ],
+    ];
 
 .. index:: Backend, JavaScript, NotScanned, ext:form
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-LinkRelatedFunctionalityInContentObjectRenderer.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-LinkRelatedFunctionalityInContentObjectRenderer.rst
index 5274fb199b5b..fef9af1077fe 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-LinkRelatedFunctionalityInContentObjectRenderer.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-LinkRelatedFunctionalityInContentObjectRenderer.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96641-2:
+
 =========================================================================
 Deprecation: #96641 - Link-related functionality in ContentObjectRenderer
 =========================================================================
@@ -22,13 +24,11 @@ and have been marked as deprecated in favor of the new LinkFactory
 API, and the existing :php:`$cObj->typoLink()` and :php:`$cObj->typoLink_URL()`
 methods.
 
-
 Impact
 ======
 
 Calling these methods in your own PHP code will trigger PHP :php:`E_USER_DEPRECATED` errors.
 
-
 Affected Installations
 ======================
 
@@ -36,7 +36,6 @@ TYPO3 installations with custom extensions using these methods for
 generating links. The extension scanner in the Upgrade module / Install tool
 will show affected occurrences.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-UnusedHookRelatedUrlProcessorInterface.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-UnusedHookRelatedUrlProcessorInterface.rst
index 73316f382b38..d7c12e79be46 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-UnusedHookRelatedUrlProcessorInterface.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96641-UnusedHookRelatedUrlProcessorInterface.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96641-1:
+
 ===============================================================
 Deprecation: #96641 - Unused Hook related UrlProcessorInterface
 ===============================================================
@@ -15,20 +17,17 @@ required hook implementations to implement :php:`UrlProcessorInterface`.
 Since the mentioned hook is :doc:`removed <../12.0/Breaking-96641-TypoLinkRelatedHooksRemoved>`,
 the interface is not in use anymore and has been marked as deprecated.
 
-
 Impact
 ======
 
 The extension scanner will now notify any extension, which might still use
 the PHP interface.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations using the PHP interface in custom extension code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96733-DeprecatedTBE_MODULESRelatedFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96733-DeprecatedTBE_MODULESRelatedFunctionality.rst
index 0b247d16d906..52ec6109340b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96733-DeprecatedTBE_MODULESRelatedFunctionality.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96733-DeprecatedTBE_MODULESRelatedFunctionality.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96733:
+
 ==================================================================
 Deprecation: #96733 - Deprecated TBE_MODULES related functionality
 ==================================================================
@@ -16,20 +18,17 @@ the following related methods have been deprecated:
 - :php:`TYPO3\CMS\Core\Authentication\BackendUserAuthentication->modAccess()`
 - :php:`\TYPO3\CMS\Backend\Utility\BackendUtility::isModuleSetInTBE_MODULES()`
 
-
 Impact
 ======
 
 Calling mentioned methods will trigger a PHP :php:`E_USER_DEPRECATED` error.
 The extension scanner will report usages.
 
-
 Affected Installations
 ======================
 
 All installations calling mentioned methods in custom extension code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96903-DeprecateOldModuleTemplateAPI.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96903-DeprecateOldModuleTemplateAPI.rst
index 6ac5e7b95858..3905f22f06fa 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96903-DeprecateOldModuleTemplateAPI.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96903-DeprecateOldModuleTemplateAPI.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96903:
+
 ======================================================
 Deprecation: #96903 - Deprecate old ModuleTemplate API
 ======================================================
@@ -28,7 +30,7 @@ The following methods should not be used anymore:
   data sink. It should not be abused to carry data around that is later retrieved again. Controllers that
   need these methods should be refactored slightly to carry the information around themselves.
 - :php:`ModuleTemplate->registerModuleMenu()`: This was a helper method for "third level" menu
-  registration of (especially) the info module. It is unused in core since at least TYPO3 v7. Extensions
+  registration of (especially) the info module. It is unused in Core since at least TYPO3 v7. Extensions
   most likely don't use it.
 - :php:`ModuleTemplate->getDynamicTabMenu()`: This is a helper to render a "tabbed" view of
   item titles and item content. Using the methods leads to strange controller code that relies
@@ -50,13 +52,11 @@ All methods will trigger a PHP :php:`E_USER_DEPRECATED` error when called. One e
 which is always used in combination with :php:`renderContent()` to be useful, so only one deprecation
 log entry is created when using both methods.
 
-
 Affected Installations
 ======================
 
 In general, instances with extensions that add custom backend modules may be affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96972-DeprecateQueryBuilderexecute.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96972-DeprecateQueryBuilderexecute.rst
index 79e08042d011..8bc324d7914a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96972-DeprecateQueryBuilderexecute.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96972-DeprecateQueryBuilderexecute.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96972:
+
 =======================================================
 Deprecation: #96972 - Deprecate QueryBuilder::execute()
 =======================================================
@@ -14,7 +16,7 @@ of single return-typed :php:`QueryBuilder->executeQuery()` and :php:`QueryBuilde
 in `doctrine/dbal v3.1.x`. This makes it more obvious which return type is expected and further helps
 static code analyzer tools like `phpstan` to recognize return types properly. TYPO3 already provides a
 facade class around the `doctrine/dbal` :php:`QueryBuilder`, which has been changed to provide the new
-methods in the core facade class with a corresponding backport.
+methods in the Core facade class with a corresponding backport.
 
 Thus :php:`QueryBuilder->execute()` is marked as deprecated in TYPO3 v12 and will be removed in v13 to
 encourage extension developers to use the cleaner methods and decrease issues with static code analysers.
@@ -37,7 +39,7 @@ Migration
 
 Extensions should use the proper methods :php:`QueryBuilder->executeQuery()` and :php:`QueryBuilder->executeStatement()`
 instead of the generic :php:`QueryBuilder->execute()`. Through the backport to TYPO3 v11 extensions can change to deprecation
-less code but keep supporting two major core version at the same time.
+less code but keep supporting two major Core version at the same time.
 
 - :php:`QueryBuilder::executeStatement()`: use this for INSERT, DELETE or UPDATE queries (expecting `int` as return value).
 - :php:`QueryBuilder::executeQuery()`: use this for SELECT and COUNT queries (expecting ResultSet as return value).
@@ -47,7 +49,7 @@ Queries which return the number of affected rows should use :php:`QueryBuilder::
 
 For example, following select query:
 
-.. code-block:: php
+..  code-block:: php
 
     $rows = $queryBuilder
       ->select(...)
@@ -57,7 +59,7 @@ For example, following select query:
 
 should be replaced with:
 
-.. code-block:: php
+..  code-block:: php
 
     $rows = $queryBuilder
       ->select(...)
@@ -67,7 +69,7 @@ should be replaced with:
 
 As another example, given delete query:
 
-.. code-block:: php
+..  code-block:: php
 
     $deletedRows = $queryBuilder
       ->delete(...)
@@ -75,7 +77,7 @@ As another example, given delete query:
 
 should be replaced with:
 
-.. code-block:: php
+..  code-block:: php
 
     $deletedRows = $queryBuilder
       ->delete(...)
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96983-TCAInternal_type.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96983-TCAInternal_type.rst
index b04e4a5598ba..88d85b8756dd 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96983-TCAInternal_type.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96983-TCAInternal_type.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96983:
+
 =======================================
 Deprecation: #96983 - TCA internal_type
 =======================================
@@ -13,7 +15,6 @@ The TCA option `internal_type` for type `group` has been removed altogether. The
 only left usage for :php:`internal_type => 'folder'` is extracted into an own
 TCA type `folder`.
 
-
 Impact
 ======
 
@@ -22,23 +23,21 @@ with the option `folder` will be automatically migrated to
 :php:`type => 'folder'`. A message will appear in the TCA migration module,
 which lists all migrations done.
 
-
 Affected Installations
 ======================
 
 All installations which make use of the TCA option `internal_type`.
 
-
 Migration
 =========
 
-The migration is fairly simple. Just change all occurences of
+The migration is fairly simple. Just change all occurrences of
 :php:`internal_type => 'folder'` to :php:`type => 'folder'` and remove every
-other occurence of `internal_type`.
+other occurrence of `internal_type`.
 
 Before:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
         'aColumn' => [
@@ -57,7 +56,7 @@ Before:
 
 After:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
         'aColumn' => [
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96996-DeprecateTypoScriptFrontendController-checkEnableFields.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96996-DeprecateTypoScriptFrontendController-checkEnableFields.rst
index db87133b2338..b6933b4380c0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96996-DeprecateTypoScriptFrontendController-checkEnableFields.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-96996-DeprecateTypoScriptFrontendController-checkEnableFields.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-96996:
+
 ===============================================================================
 Deprecation: #96996 - Deprecate TypoScriptFrontendController->checkEnableFields
 ===============================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97016-DeprecateUsageOfRegularExpressionValidatorInFormEditor.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97016-DeprecateUsageOfRegularExpressionValidatorInFormEditor.rst
index 6359a70c0c77..1b1f40e8dfed 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97016-DeprecateUsageOfRegularExpressionValidatorInFormEditor.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97016-DeprecateUsageOfRegularExpressionValidatorInFormEditor.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97016:
+
 ==================================================================================
 Deprecation: #97016 - Deprecate usage of RegularExpressionValidator in form editor
 ==================================================================================
@@ -18,7 +20,6 @@ main target group, which are editors.
 An according comment has been added to the configuration files of the form
 framework.
 
-
 Impact
 ======
 
@@ -27,14 +28,12 @@ The validator will be removed from the UI in TYPO3 v13 with an according breakin
 change. The impact itself is quite low, since the validator can
 easily be re-added.
 
-
 Affected Installations
 ======================
 
 All TYPO3 installations with default form configurations (which is mostly the
 case).
 
-
 Migration
 =========
 
@@ -45,9 +44,9 @@ form configurations.
 The following example adds the validator to the form element `Text`. The path
 :yaml:`TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Text.formEditor.editors.900`
 contains the definition for validators. We are adding the validator with the key
-`200` to not interfere with keys already taken by the core.
+`200` to not interfere with keys already taken by the Core.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97019-DeprecateOrderOfValidationMessage.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97019-DeprecateOrderOfValidationMessage.rst
index 6af4e3012f12..5a7438eeac5d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97019-DeprecateOrderOfValidationMessage.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97019-DeprecateOrderOfValidationMessage.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97019:
+
 ===========================================================
 Deprecation: #97019 - Deprecate order of validation message
 ===========================================================
@@ -20,7 +22,6 @@ Since the order can only be adjusted by changing the key within the form
 configuration, this patch adds according comments to the form configuration.
 The breaking change will be done with TYPO3 v13.0.
 
-
 Impact
 ======
 
@@ -31,7 +32,7 @@ framework. Furthermore, the new key has been reserved.
 
 Current configuration in TYPO3 v12 (simplified):
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -60,7 +61,7 @@ Current configuration in TYPO3 v12 (simplified):
 
 New configuration in TYPO3 v13 (simplified):
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -85,12 +86,10 @@ New configuration in TYPO3 v13 (simplified):
                               identifier: validationErrorMessage
                               # ...
 
-
 As you can see the key :yaml:`200` is not in use anymore. Instead, a new key
 :yaml:`400` has been introduced. The new configuration is commented in TYPO3 v12
 and will be enabled in TYPO3 v13.
 
-
 Affected Installations
 ======================
 
@@ -99,7 +98,6 @@ All TYPO3 installations are affected as soon as the form configuration of the
 installations where the above mentioned keys have been set or unset need to
 be migrated to the new configuration.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97027-ContentObjectRenderer-getTreeList.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97027-ContentObjectRenderer-getTreeList.rst
index b69c12b803ca..e052b361bf8c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97027-ContentObjectRenderer-getTreeList.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97027-ContentObjectRenderer-getTreeList.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97027:
+
 ==========================================================
 Deprecation: #97027 - ContentObjectRenderer->getTreeList()
 ==========================================================
@@ -16,20 +18,17 @@ The method signature has had various side-effects and too many options and
 was used in different places across TYPO3 Core, where
 :php:`ContentObjectRenderer` was not in use primarily.
 
-
 Impact
 ======
 
 Calling the method directly will trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with third-party extensions accessing this method. This can
 be checked via the Extension Scanner in the Install Tool.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97035-RequiredOptionInEvalKeyword.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97035-RequiredOptionInEvalKeyword.rst
index a4e10fab1984..3a5f8f48731d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97035-RequiredOptionInEvalKeyword.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97035-RequiredOptionInEvalKeyword.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97035:
+
 =========================================================
 Deprecation: #97035 - "required" option in "eval" keyword
 =========================================================
@@ -16,21 +18,18 @@ option within `eval`.
 To clean up TCA and allow further refactoring, :php:`'eval' => 'required`
 has been marked as deprecated.
 
-
 Impact
 ======
 
-Using `required` within `eval` in TCA and Flexform will trigger an automatic
+Using `required` within `eval` in TCA and FlexForm will trigger an automatic
 migration and therefore trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected Installations
 ======================
 
 All 3rd party extension either using :php:`'eval' => 'required'` or
 `<eval>required</eval>` are affected.
 
-
 Migration
 =========
 
@@ -39,29 +38,29 @@ automatic migration and hence a deprecation log entry.
 
 Example before migration:
 
-.. code-block:: PHP
+..  code-block:: php
 
-   'columns' => [
-       'some_column' => [
-           'title' => 'foo',
-           'config' => [
-               'eval' => 'trim,required',
-           ],
-       ],
-   ],
+    'columns' => [
+        'some_column' => [
+            'title' => 'foo',
+            'config' => [
+                'eval' => 'trim,required',
+            ],
+        ],
+    ],
 
 Example after migration:
 
-.. code-block:: php
-
-   'columns' => [
-       'some_column' => [
-           'title' => 'foo',
-           'config' => [
-               'required' => true,
-               'eval' => 'trim',
-           ],
-       ],
-   ],
+..  code-block:: php
+
+    'columns' => [
+        'some_column' => [
+            'title' => 'foo',
+            'config' => [
+                'required' => true,
+                'eval' => 'trim',
+            ],
+        ],
+    ],
 
 .. index:: TCA, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97109-TCATypeNoneColsOption.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97109-TCATypeNoneColsOption.rst
index ed3a6a3bfa72..9b1514093237 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97109-TCATypeNoneColsOption.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97109-TCATypeNoneColsOption.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97109:
+
 =================================================
 Deprecation: #97109 - TCA type none "cols" option
 =================================================
@@ -13,7 +15,6 @@ The TCA type `none` had two option keys for the same functionality: `cols` and
 `size`. In order to simplify the available configuration, `cols` has been
 dropped in favour of `size`.
 
-
 Impact
 ======
 
@@ -21,13 +22,11 @@ Defining the option `cols` for the TCA type `none` will trigger a PHP :php:`E_US
 An automatic migration is in place, which will be displayed in the TCA
 Migrations view of the Upgrade module.
 
-
 Affected Installations
 ======================
 
 All installations using the `cols` option for the TCA type `none`.
 
-
 Migration
 =========
 
@@ -35,7 +34,7 @@ Rename the option `cols` to `size`.
 
 Before:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
         'aColumn' => [
@@ -48,7 +47,7 @@ Before:
 
 After:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
         'aColumn' => [
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97126-TCEformsRemovedInFlexForm.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97126-TCEformsRemovedInFlexForm.rst
index 71b976241c98..1888ba0d2fe3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97126-TCEformsRemovedInFlexForm.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97126-TCEformsRemovedInFlexForm.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97126:
+
 ==================================================
 Deprecation: #97126 - TCEforms removed in FlexForm
 ==================================================
@@ -13,7 +15,6 @@ The `<TCEforms>` tag is no longer necessary (and allowed) in FlexForm
 definitions. It was used to wrap TCA configuration and sheet
 titles / descriptions. This wrapping must be omitted now.
 
-
 Impact
 ======
 
@@ -21,7 +22,6 @@ Not omitting `TCEforms` will trigger a deprecation warning and log a message in
 the deprecation log. An automatic migration is in place, which will eventually
 be removed in upcoming TYPO3 versions.
 
-
 Affected Installations
 ======================
 
@@ -30,7 +30,6 @@ Affected Installations
 
 *  Extensions, which extend the YAML configuration for forms with new fields.
 
-
 Migration
 =========
 
@@ -39,7 +38,7 @@ configuration moves one level up.
 
 Before:
 
-.. code-block:: xml
+..  code-block:: xml
 
     <T3DataStructure>
         <ROOT>
@@ -68,7 +67,7 @@ Before:
 
 After:
 
-.. code-block:: xml
+..  code-block:: xml
 
     <T3DataStructure>
         <ROOT>
@@ -95,7 +94,7 @@ Migration for form YAML configuration:
 
 Before:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -118,7 +117,7 @@ Before:
 
 After:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -138,5 +137,4 @@ After:
                                 config:
                                   type: input
 
-
 .. index:: FlexForm, TCA, NotScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97201-UnusedInterfaceForNewContentElementWizardHook.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97201-UnusedInterfaceForNewContentElementWizardHook.rst
index 59bfa238732f..b55700743643 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97201-UnusedInterfaceForNewContentElementWizardHook.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97201-UnusedInterfaceForNewContentElementWizardHook.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97201:
+
 ==========================================================================
 Deprecation: #97201 - Unused Interface for new content element wizard hook
 ==========================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97217-MovedTypoLinkCodecServiceToEXTcore.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97217-MovedTypoLinkCodecServiceToEXTcore.rst
index a11b6e616b5e..645f52b5c5d9 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97217-MovedTypoLinkCodecServiceToEXTcore.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97217-MovedTypoLinkCodecServiceToEXTcore.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97217:
+
 ============================================================
 Deprecation: #97217 - Moved TypoLinkCodecService to EXT:core
 ============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97231-UnusedInterfaceForInlineElementHook.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97231-UnusedInterfaceForInlineElementHook.rst
index 62c7f8b82835..b3d3a10d5116 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97231-UnusedInterfaceForInlineElementHook.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97231-UnusedInterfaceForInlineElementHook.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97231:
+
 ==============================================================
 Deprecation: #97231 - Unused Interface for inline element hook
 ==============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-CompositeExpressionMethodsAddAndAddMultiple.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-CompositeExpressionMethodsAddAndAddMultiple.rst
index 4baaa5d92792..4722596b2066 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-CompositeExpressionMethodsAddAndAddMultiple.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-CompositeExpressionMethodsAddAndAddMultiple.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97244-2:
+
 =============================================================================
 Deprecation: #97244 - CompositeExpression methods 'add()' and 'addMultiple()'
 =============================================================================
@@ -11,7 +13,7 @@ Description
 
 `doctrine/dbal` `deprecated`_ multiple :php:`CompositeExpression` methods
 :php:`CompositeExpression->add()` and :php:`CompositeExpression->addMultiple()`.
-Therefore, those methods have also been deprecated in the core facade class
+Therefore, those methods have also been deprecated in the Core facade class
 (:php:`\TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression`),
 to avoid shifting too far away.
 
@@ -41,7 +43,7 @@ can be replaced by using the new method :php:`CompositeExpression->with()`.
 
     The replacement method :php:`CompositeExpression->with()` has already been
     added in a forward-compatible way in TYPO3 v11. Thus giving extension developers
-    the ability to adopt new methods and still being able to support multiple core
+    the ability to adopt new methods and still being able to support multiple Core
     versions without workarounds.
 
 For example, the following code:
@@ -169,7 +171,6 @@ or
     // variable, otherwise added elements are lost.
     $compositeExpression = $compositeExpression->with(...$expressions);
 
-
 Instead of using :php:`with()` when collecting expressions in an array,
 it can be used when instantiating the composite expression after the
 expression collecting:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-DirectInstantiationOfCompositeExpression.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-DirectInstantiationOfCompositeExpression.rst
index 193e452ac96e..d9a3919f1ab7 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-DirectInstantiationOfCompositeExpression.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97244-DirectInstantiationOfCompositeExpression.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97244-1:
+
 =================================================================
 Deprecation: #97244 - Direct instantiation of CompositeExpression
 =================================================================
@@ -11,7 +13,7 @@ Description
 
 `doctrine/dbal` `deprecated`_ direct instantiation of :php:`CompositeExpression`
 in favour of moving forward to an immutable class implementation. Therefore, this
-has also been deprecated in the core facade class (:php:`\TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression`),
+has also been deprecated in the Core facade class (:php:`\TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression`),
 to avoid shifting too far away.
 
 .. _`deprecated`: https://github.com/doctrine/dbal/commit/7bcd6ebcc2d30ba96cf00d3dca2345d6ae779cf9
@@ -44,11 +46,11 @@ static methods :php:`and(...)` and :php:`or(...)` have to be used.
     and :php:`CompositeExpression::or()` have already been added in
     a forward-compatible way in TYPO3 v11. Thus giving extension developers
     the ability to adopt new methods and still being able to support
-    multiple core versions without workarounds.
+    multiple Core versions without workarounds.
 
 For example, following code:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression;
 
@@ -68,7 +70,7 @@ For example, following code:
 
 should be replaced with:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97271-GlobalColorPickerInitialization.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97271-GlobalColorPickerInitialization.rst
index 30ad9a5f4bd5..c604b1fc2bb5 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97271-GlobalColorPickerInitialization.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97271-GlobalColorPickerInitialization.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97271:
+
 ========================================================
 Deprecation: #97271 - Global Color Picker initialization
 ========================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97312-DeprecateCSH-relatedMethods.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97312-DeprecateCSH-relatedMethods.rst
index b8c72ee09e83..f90cc68ab0dc 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97312-DeprecateCSH-relatedMethods.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97312-DeprecateCSH-relatedMethods.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97312:
+
 ===================================================
 Deprecation: #97312 - Deprecate CSH-related methods
 ===================================================
@@ -26,7 +28,6 @@ Also, the following Fluid view helpers are marked as deprecated:
 * `f:be.buttons.csh` (:php:`TYPO3\CMS\Fluid\ViewHelpers\Be\Buttons\CshViewHelper`)
 * `f:be.labels.csh` (:php:`TYPO3\CMS\Fluid\ViewHelpers\Be\Labels\CshViewHelper`)
 
-
 Impact
 ======
 
@@ -34,13 +35,11 @@ Using any of the deprecated classes and methods will trigger a PHP :php:`E_USER_
 with an exception of :php:`ExtensionManagementUtility::addLLrefForTCAdescr()`
 for being a low-level method. The extension scanner will report any usage.
 
-
 Affected Installations
 ======================
 
 All extensions using any of the deprecated classes and methods are affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97354-ExpressionBuilderMethodsAndXAndOrX.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97354-ExpressionBuilderMethodsAndXAndOrX.rst
index 9d87795a330f..02bc308a4961 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97354-ExpressionBuilderMethodsAndXAndOrX.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97354-ExpressionBuilderMethodsAndXAndOrX.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97354:
+
 ================================================================
 Deprecation: #97354 - ExpressionBuilder methods andX() and orX()
 ================================================================
@@ -11,7 +13,7 @@ Description
 
 `doctrine/dbal` `deprecated`_  the :php:`ExpressionBuilder` methods
 :php:`andX()` and :php:`orX`. Therefore, those methods have also been
-deprecated in the core facade class (:php:`\TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder`),
+deprecated in the Core facade class (:php:`\TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder`),
 to avoid shifting too far away.
 
 .. _`deprecated`: https://github.com/doctrine/dbal/commit/84328cd947706210caebcaea3ca0394b3ebc4673
@@ -22,7 +24,6 @@ Impact
 Using :php:`ExpressionBuilder->andX()` and :php:`ExpressionBuilder->orX()`
 will trigger a PHP :php:`E_USER_DEPRECATED` error when called.
 
-
 Affected Installations
 ======================
 
@@ -42,7 +43,7 @@ Extensions should use the corresponding replacement:
 
    The replacement methods have already been added in a forward-compatible way
    in TYPO3 v11. Thus giving extension developers the ability to adopt new
-   methods and still being able to support multiple core versions without
+   methods and still being able to support multiple Core versions without
    workarounds.
 
 For example, the following select query:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97384-TCAOptionNullable.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97384-TCAOptionNullable.rst
index 96eee3278682..c141c4af0021 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97384-TCAOptionNullable.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97384-TCAOptionNullable.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97384:
+
 =====================================================================
 Deprecation: #97384 - TCA option "eval=null" replaced with "nullable"
 =====================================================================
@@ -12,27 +14,24 @@ Description
 The TCA option :php:`eval=null` has been replaced with the boolean option
 :php:`nullable`.
 
-
 Impact
 ======
 
 The TCA option :php:`eval=null` will be automatically migrated to
 :php:`'nullable' => true`. The migration will trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected Installations
 ======================
 
 All installations defining the :php:`null` value in their :php:`eval` list.
 
-
 Migration
 =========
 
 To migrate your TCA add the TCA option :php:`'nullable' => true` and remove the
 :php:`null` value from the field's :php:`eval` list.
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97435-UsageOfSiteLanguageAwareTraitToDenoteSiteLanguageAwareness.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97435-UsageOfSiteLanguageAwareTraitToDenoteSiteLanguageAwareness.rst
index d84ea596d48a..abd04caabf94 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97435-UsageOfSiteLanguageAwareTraitToDenoteSiteLanguageAwareness.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97435-UsageOfSiteLanguageAwareTraitToDenoteSiteLanguageAwareness.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97435:
+
 =======================================================================================
 Deprecation: #97435 - Usage of SiteLanguageAwareTrait to denote site language awareness
 =======================================================================================
@@ -38,7 +40,7 @@ class.
 
 Example before the migration:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Site\SiteLanguageAwareTrait;
 
@@ -49,7 +51,7 @@ Example before the migration:
 
 Example after the migration:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Site\SiteLanguageAwareInterface;
     use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97531-ContextRelatedMethodsWithinTSFE.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97531-ContextRelatedMethodsWithinTSFE.rst
index 33e808ef1dd1..dc3971acb8ca 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97531-ContextRelatedMethodsWithinTSFE.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97531-ContextRelatedMethodsWithinTSFE.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97531:
+
 =================================================================================
 Deprecation: #97531 - Context-related methods within TypoScriptFrontendController
 =================================================================================
@@ -24,26 +26,23 @@ For this reason, the related methods have been marked as deprecated:
 * :php:`doWorkspacePreview()`
 * :php:`whichWorkspace()`
 
-
 Impact
 ======
 
 Calling the methods directly will trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected Installations
 ======================
 
 TYPO3 installations with custom extensions using one of the methods.
 The extension scanner will report any usage as weak match.
 
-
 Migration
 =========
 
 Migrate towards the Context API instead:
 
-.. code-block:: php
+..  code-block:: php
 
     // Is this request within a Workspace currently
     $context->getPropertyFromAspect('workspace', 'isOffline', false);
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97544-PreviewURIGenerationRelatedFunctionalityInBackendUtility.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97544-PreviewURIGenerationRelatedFunctionalityInBackendUtility.rst
index 678bf6a9b408..93ce3bafa814 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97544-PreviewURIGenerationRelatedFunctionalityInBackendUtility.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97544-PreviewURIGenerationRelatedFunctionalityInBackendUtility.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _deprecation-97544:
+
 ====================================================================================
 Deprecation: #97544 - Preview URI Generation related functionality in BackendUtility
 ====================================================================================
@@ -23,13 +25,11 @@ Impact
 Using the utility method or registering hooks will trigger a PHP :php:`E_USER_DEPRECATED` error.
 The extension scanner will detect usages.
 
-
 Affected installations
 ======================
 
 All installations using the utility method or the hook in custom extensions.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97576-TYPO3CMSCoreUtilityResourceUtility.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97576-TYPO3CMSCoreUtilityResourceUtility.rst
index bbf5939cde31..0358753a6b00 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97576-TYPO3CMSCoreUtilityResourceUtility.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97576-TYPO3CMSCoreUtilityResourceUtility.rst
@@ -11,24 +11,21 @@ See :issue:`97576`
 Description
 ===========
 
-The class :php:`TYPO3\CMS\Core\Utility\ResourceUtility` has no usage in the core
+The class :php:`TYPO3\CMS\Core\Utility\ResourceUtility` has no usage in the Core
 and is therefore marked as deprecated.
 
-
 Impact
 ======
 
 Calling any method of the class :php:`TYPO3\CMS\Core\Utility\ResourceUtility`
 will trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected installations
 ======================
 
 All installations using any method of :php:`TYPO3\CMS\Core\Utility\ResourceUtility`
 in their own code.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97787-SeveritiesOfFlashMessagesAndReportsDeprecated.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97787-SeveritiesOfFlashMessagesAndReportsDeprecated.rst
index bee351bf78b2..6741f9bd125b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97787-SeveritiesOfFlashMessagesAndReportsDeprecated.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97787-SeveritiesOfFlashMessagesAndReportsDeprecated.rst
@@ -15,7 +15,6 @@ With the introduction of :php:`\TYPO3\CMS\Core\Type\ContextualFeedbackSeverity`,
 the existing severity constants of :php:`\TYPO3\CMS\Core\Messaging\FlashMessage`
 and :php:`\TYPO3\CMS\Reports\Status` have been marked as deprecated.
 
-
 Impact
 ======
 
@@ -37,14 +36,12 @@ Passing the constants as listed below to the constructor of
 * :php:`\TYPO3\CMS\Reports\Status::WARNING`
 * :php:`\TYPO3\CMS\Reports\Status::ERROR`
 
-
 Affected installations
 ======================
 
 All installations with 3rd party plugins using the aforementioned constants are
 affected.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97866-VariousPublicTSFEProperties.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97866-VariousPublicTSFEProperties.rst
index cb2b306472c8..73411d062c8e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97866-VariousPublicTSFEProperties.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-97866-VariousPublicTSFEProperties.rst
@@ -21,20 +21,17 @@ The following properties within TypoScriptFrontendController have been deprecate
 
 All of these properties can be accessed through TypoScript's config array.
 
-
 Impact
 ======
 
 Accessing these properties via TypoScript `getData` or via PHP will trigger a PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with TypoScript options such as :typoscript:`.data = TSFE:fileTarget` or
 TYPO3 installations with third-party extensions accessing the properties via PHP.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98168-BindingContextMenuItemToThis.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98168-BindingContextMenuItemToThis.rst
index 5e7ec6d84bec..93785df34768 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98168-BindingContextMenuItemToThis.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98168-BindingContextMenuItemToThis.rst
@@ -17,25 +17,22 @@ is adapted to pass the :js:`dataset` as the 3rd argument.
 
 Binding the context menu item to :js:`this` in the callback is now marked as deprecated.
 
-
 Impact
 ======
 
 Using :js:`this` in a context menu item callback will trigger a deprecated log entry in the browser's console.
 
-
 Affected installations
 ======================
 
 All extensions providing custom context menu actions are affected.
 
-
 Migration
 =========
 
 To access data attributes, use the :js:`dataset` argument passed as the 3rd argument in the context menu callback action.
 
-.. code-block:: js
+..  code-block:: js
 
     // Before
     ContextMenuActions.renameFile(table, uid): void {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98283-PHPConstantTYPO3_mainDir.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98283-PHPConstantTYPO3_mainDir.rst
index 10c31c1c375f..e609980cbf39 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98283-PHPConstantTYPO3_mainDir.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98283-PHPConstantTYPO3_mainDir.rst
@@ -13,21 +13,18 @@ Description
 
 The PHP Constant :php:`TYPO3_mainDir` which is defined as :file:`typo3/` has been marked as deprecated.
 
-
 Impact
 ======
 
 Accessing the constant will stop working in TYPO3 v13. No deprecation warning is thrown,
 but the Extension Scanner will detect any usage in your installation.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom third-party extensions using the constant directly, which is
 highly unlikely.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98303-InterfacesForPageRepositoryLanguageOverlayHooks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98303-InterfacesForPageRepositoryLanguageOverlayHooks.rst
index 48f5137ce0f1..30f7ecaf4584 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98303-InterfacesForPageRepositoryLanguageOverlayHooks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98303-InterfacesForPageRepositoryLanguageOverlayHooks.rst
@@ -31,13 +31,11 @@ anymore, however they are kept for extensions which aim to be compatible
 with TYPO3 v11 and TYPO3 v12+ at the same time. No deprecation notice
 is triggered while using in TYPO3 v12+.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom extensions using these hooks and their interface.
 
-
 Migration
 =========
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98371-DeprecatedFluidGetters.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98371-DeprecatedFluidGetters.rst
index f195c815f68d..9473c41260a0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98371-DeprecatedFluidGetters.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98371-DeprecatedFluidGetters.rst
@@ -23,26 +23,23 @@ As such, :php:`StandaloneView` should not allow fetching state since it allows
 to be misused to park state, which is primarily a controller concern instead.
 
 To enforce this pattern, the following methods have been marked as deprecated in
-TYPO3 core v12 and will be removed in TYPO3 v13:
+TYPO3 Core v12 and will be removed in TYPO3 v13:
 
 * :php:`\TYPO3\CMS\Fluid\View\StandaloneView->getRequest()`
 * :php:`\TYPO3\CMS\Fluid\View\StandaloneView->getFormat()`
 * :php:`\TYPO3\CMS\Fluid\View\StandaloneView->getTemplatePathAndFilename()`
 
-
 Impact
 ======
 
 Calling one of the above methods triggers a PHP :php:`E_USER_DEPRECATED` level
 error.
 
-
 Affected installations
 ======================
 
 Instances with extensions using one of the above methods.
 
-
 Migration
 =========
 
@@ -50,5 +47,4 @@ Do not misuse :php:`StandaloneView` as data source. Typically, controllers
 should handle and keep track of state like a PSR-7 Request and set or update
 view state.
 
-
 .. index:: Fluid, NotScanned, ext:fluid
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98431-ReplaceRequireJsModulesInFormEngineResultArray.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98431-ReplaceRequireJsModulesInFormEngineResultArray.rst
index 3d69fc2f9cc7..501a2febcd95 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98431-ReplaceRequireJsModulesInFormEngineResultArray.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98431-ReplaceRequireJsModulesInFormEngineResultArray.rst
@@ -14,7 +14,6 @@ Description
 Loading JavaScript modules via :php:`$resultArray['requireJsModules']` has been
 deprecated in favor of a new generic key named :php:`'javaScriptModules'`.
 
-
 The ability for custom :php:`FormEngine` components to load JavaScript modules
 via instances of :php:`TYPO3\CMS\Core\Page\JavaScriptModuleInstruction` is now
 streamlined to use a new, generic :php:`$resultArray` key named
@@ -37,7 +36,6 @@ but also newer, native ECMAScript v6 JavaScript modules.
 
 The :php:`'requireJsModules'` key is deprecated.
 
-
 Impact
 ======
 
@@ -46,20 +44,18 @@ These modules will be loaded after modules registered via `'javaScriptModules'`.
 Extensions that use :php:`'requireJsModules` will work as before but trigger a
 PHP :php:`E_USER_DEPRECATED` error.
 
-
 Affected installations
 ======================
 
 Installations that register custom FormEngine components with JavaScript modules.
 
-
 Migration
 =========
 
 Use the key :php:`'javaScriptModules'` and assign an instance of
 :php:`TYPO3\CMS\Core\Page\JavaScriptModuleInstruction`:
 
-.. code-block:: php
+..  code-block:: php
 
     // use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
     $resultArray['javaScriptModules'][] = JavaScriptModuleInstruction::create(
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98479-DeprecatedFileReferenceRelatedFunctionality.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98479-DeprecatedFileReferenceRelatedFunctionality.rst
index 62475466c287..3291b84debb2 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98479-DeprecatedFileReferenceRelatedFunctionality.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98479-DeprecatedFileReferenceRelatedFunctionality.rst
@@ -54,6 +54,6 @@ Replace any usage of :php:`FileExtensionFilter->filterInlineChildren()` with
 extension code should usually not be necessary.
 
 Replace any usage of :php:`ExtensionManagementUtility::getFileFieldTCAConfig()`
-by directly using the new TCA type :doc:`file <../12.0/Feature-98479-NewTCATypeFile.rst>`.
+by directly using the new TCA type :ref:`file <feature-98479-1664537749>`.
 
 .. index:: Backend, Database, FAL, PHP-API, TCA, PartiallyScanned, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98487-ExtensionManagementUtilityallowTableOnStandardPages.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98487-ExtensionManagementUtilityallowTableOnStandardPages.rst
index f83637ba355f..0d0a765219c8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98487-ExtensionManagementUtilityallowTableOnStandardPages.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98487-ExtensionManagementUtilityallowTableOnStandardPages.rst
@@ -15,7 +15,6 @@ The API method :php:`ExtensionManagementUtility::allowTableOnStandardPages` whic
 was used in `ext_tables.php` files of extensions registering custom records available
 on any page type has been marked as deprecated.
 
-
 Impact
 ======
 
@@ -23,18 +22,16 @@ Calling the method will still work, however it is recommended to add a specific
 to the tables TCA to be compatible with multiple TYPO3 versions. No deprecation notice
 will be triggered.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom extensions creating custom TCA records to be added
 on any page type calling the affected method.
 
-
 Migration
 =========
 
 Set new TCA option :php:`$GLOBALS['TCA'][$table]['ctrl']['security']['ignorePageTypeRestriction']`
-of a custom TCA table to keep the same behaviour as in previous TYPO3 verions.
+of a custom TCA table to keep the same behaviour as in previous TYPO3 versions.
 
-.. index:: PHP-API, FullyScanned, ext:core
\ No newline at end of file
+.. index:: PHP-API, FullyScanned, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98488-ContentObjectRenderer-getQueryArguments.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98488-ContentObjectRenderer-getQueryArguments.rst
index 4aba1229a60d..53dbe9ba9db5 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98488-ContentObjectRenderer-getQueryArguments.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Deprecation-98488-ContentObjectRenderer-getQueryArguments.rst
@@ -11,26 +11,25 @@ See :issue:`98488`
 Description
 ===========
 
-The public method :php:`ContentObjectRenderer->getQueryArguments()` has been
-marked as deprecated.
-
+The public method
+:php:`TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->getQueryArguments()`
+has been marked as deprecated.
 
 Impact
 ======
 
 Calling the method directly via PHP will trigger a PHP deprecation warning.
 
-
 Affected installations
 ======================
 
 TYPO3 installations with custom third-party extensions calling this method directly,
 which is highly unlikely.
 
-
 Migration
 =========
 
-Use LinkFactory directly to create links with the typolink configuration option :typoscript:`typolink.addQueryString = untrusted` to create links with the same behaviour.
+Use LinkFactory directly to create links with the typolink configuration option
+:typoscript:`typolink.addQueryString = untrusted` to create links with the same behaviour.
 
-.. index:: Frontend, TypoScript, FullyScanned, ext:frontend
\ No newline at end of file
+.. index:: Frontend, TypoScript, FullyScanned, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-82809-MakeExtensionUtilityregisterPluginMethodReturnPluginSignature.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-82809-MakeExtensionUtilityregisterPluginMethodReturnPluginSignature.rst
index cd1469feef14..0879eb5b5129 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-82809-MakeExtensionUtilityregisterPluginMethodReturnPluginSignature.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-82809-MakeExtensionUtilityregisterPluginMethodReturnPluginSignature.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-82809:
+
 =======================================================================================
 Feature: #82809 - Make ExtensionUtility::registerPlugin method return plugin signature.
 =======================================================================================
@@ -21,7 +23,7 @@ method therefore now returns the generated plugin signature as :php:`string`.
 Example
 ^^^^^^^
 
-.. code-block:: php
+..  code-block:: php
 
     $pluginSignature = ExtensionUtility::registerPlugin(
         'indexed_search',
@@ -32,7 +34,7 @@ Example
 The above call returns the plugin signature: `indexedsearch_pi2`. This could
 then be used for, e.g., adding a FlexForm:
 
-.. code-block:: php
+..  code-block:: php
 
     ExtensionManagementUtility::addPiFlexFormValue(
         $pluginSignature,
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-83912-SpecifySectionRedirectFinisher.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-83912-SpecifySectionRedirectFinisher.rst
index 0d0cbcf63243..7f2a38a28591 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-83912-SpecifySectionRedirectFinisher.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-83912-SpecifySectionRedirectFinisher.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-83912:
+
 =======================================================
 Feature: #83912 - Specify Section in Redirect Finisher
 =======================================================
@@ -21,7 +23,7 @@ In the example below, :yaml:`fragment: '9'` refers to the content element
 with `uid` 9. There is no need to add the :html:`#` character. It is also
 possible to configure a custom section, e.g. :yaml:`fragment: 'foo'`.
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     finishers:
       -
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-87616-PSR-14EventForModifyingPageLinkGeneration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-87616-PSR-14EventForModifyingPageLinkGeneration.rst
index c4fdad1e8563..bba4a564a3eb 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-87616-PSR-14EventForModifyingPageLinkGeneration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-87616-PSR-14EventForModifyingPageLinkGeneration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-87616:
+
 =================================================================
 Feature: #87616 - PSR-14 event for modifying Page Link Generation
 =================================================================
@@ -22,18 +24,18 @@ The page to be linked to can also be modified, for example to link to a differen
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Frontend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/frontend/modify-page-link-configuration'
+    MyVendor\MyPackage\Frontend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/frontend/modify-page-link-configuration'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Frontend\Event\ModifyPageLinkConfigurationEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-89917-InheritPageAccess.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-89917-InheritPageAccess.rst
index 8dbe2ac1a9fe..11a45bc55e20 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-89917-InheritPageAccess.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-89917-InheritPageAccess.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-89917:
+
 =======================================================
 Feature: #89917 - Copy page access settings from parent
 =======================================================
@@ -48,13 +50,13 @@ Let's say we have a TYPO3 instance with multiple sites. There is still a "page o
 plus various other groups for backend user mount points to single sites. A basic
 site extension now sets this in an :file:`ext_tables.php` file:
 
-.. code-block:: php
+..  code-block:: php
 
-   $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'] .= '
-       TCEMAIN.permissions.groupid = copyFromParent
-       TCEMAIN.permissions.group = 31
-       TCEMAIN.permissions.everybody = 0
-   ';
+    $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'] .= '
+        TCEMAIN.permissions.groupid = copyFromParent
+        TCEMAIN.permissions.group = 31
+        TCEMAIN.permissions.everybody = 0
+    ';
 
 This configures a default 'New pages are set to the owner of the parent page and members
 of this group can do "everything"'. When an administrator now creates a new site, it would
@@ -70,12 +72,12 @@ directory and inherit it to new subdirectories.
 Example
 =======
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-   TCEMAIN.permissions.userid = copyFromParent
-   TCEMAIN.permissions.groupid = copyFromParent
-   TCEMAIN.permissions.user = copyFromParent
-   TCEMAIN.permissions.group = copyFromParent
-   TCEMAIN.permissions.everybody = copyFromParent
+    TCEMAIN.permissions.userid = copyFromParent
+    TCEMAIN.permissions.groupid = copyFromParent
+    TCEMAIN.permissions.user = copyFromParent
+    TCEMAIN.permissions.group = copyFromParent
+    TCEMAIN.permissions.everybody = copyFromParent
 
 .. index:: Backend, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90919-SkipTranslationOfOverriddenFormFinisherOptions.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90919-SkipTranslationOfOverriddenFormFinisherOptions.rst
index 55d59130a755..37faef0abfbe 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90919-SkipTranslationOfOverriddenFormFinisherOptions.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90919-SkipTranslationOfOverriddenFormFinisherOptions.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-90919:
+
 ======================================================================
 Feature: #90919 - Skip translation of overridden form finisher options
 ======================================================================
@@ -24,21 +26,20 @@ That way, the options can only be overridden within a FlexForm but not by
 FlexForm overrides are in place. The following syntax is only documented for
 completeness. Nonetheless, it can also be written manually into a form definition.
 
-.. code-block:: yaml
-
-   finishers:
-     -
-       options:
-         identifier: EmailToSender
-         subject: 'Email to sender'
-         recipients:
-           recipient@sender.de: 'recipient@sender name'
-         translation:
-           propertiesExcludedFromTranslation:
-             - subject
-             - recipients
-             - format
-
+..  code-block:: yaml
+
+    finishers:
+      -
+        options:
+          identifier: EmailToSender
+          subject: 'Email to sender'
+          recipients:
+            recipient@sender.de: 'recipient@sender name'
+          translation:
+            propertiesExcludedFromTranslation:
+              - subject
+              - recipients
+              - format
 
 Impact
 ======
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90994-MarkCurrentPageInFluid_styled_contentMenuContentElements.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90994-MarkCurrentPageInFluid_styled_contentMenuContentElements.rst
index 2644ffa3ad6b..14de4ed1c3ec 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90994-MarkCurrentPageInFluid_styled_contentMenuContentElements.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-90994-MarkCurrentPageInFluid_styled_contentMenuContentElements.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-90994:
+
 =================================================================================
 Feature: #90994 - Mark current page in fluid_styled_content menu content elements
 =================================================================================
@@ -14,11 +16,11 @@ state of a page now.
 
 The resulting HTML of these page link lists is then:
 
-.. code-block:: html
+..  code-block:: html
 
-   <li>
-       <a aria-current="page" > ...
-   </li>
+    <li>
+        <a aria-current="page" > ...
+    </li>
 
 Impact
 ======
@@ -28,16 +30,16 @@ the menu item of the current page.
 
 For styling with CSS the attribute of the link can be used:
 
-.. code-block:: css
-
-   [aria-current="page"] {
-       /* Special style for the current page link */
-   }
-   [aria-current="page"]:hover {
-       /* Special style for the current page link when hovered */
-   }
-   [aria-current="page"]::before {
-       /* Special virtual element for additions like chevrons, etc. */
-   }
+..  code-block:: css
+
+    [aria-current="page"] {
+        /* Special style for the current page link */
+    }
+    [aria-current="page"]:hover {
+        /* Special style for the current page link when hovered */
+    }
+    [aria-current="page"]::before {
+        /* Special virtual element for additions like chevrons, etc. */
+    }
 
 .. index:: Frontend, ext:fluid_styled_content
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91077-ElementBrowserEntryPointsForTCATypeGroup.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91077-ElementBrowserEntryPointsForTCATypeGroup.rst
index ee81fd834ab1..3f4094e0a91f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91077-ElementBrowserEntryPointsForTCATypeGroup.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91077-ElementBrowserEntryPointsForTCATypeGroup.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-91077:
+
 =================================================================================
 Feature: #91077 - Element browser entry points for TCA types "group" and "folder"
 =================================================================================
@@ -39,7 +41,7 @@ This means, each `table => id` pair can be overridden via page TSconfig.
 
 Let's see a simple example for a group field with one allowed table:
 
-.. code-block:: php
+..  code-block:: php
 
     'simple_group' => [
         'label' => 'Simple group field',
@@ -54,7 +56,7 @@ Let's see a simple example for a group field with one allowed table:
 
 This could then be overridden via page TSconfig:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     TCEFORM.my_table.simple_group.config.elementBrowserEntryPoints.tt_content = 321
 
@@ -62,7 +64,7 @@ Since only one table is allowed, the defined entry point is also automatically
 used for the general element browser button. In case the group field allows
 more than one table the `_default` key has to be set:
 
-.. code-block:: php
+..  code-block:: php
 
     'extended_group' => [
         'label' => 'Extended group field',
@@ -79,13 +81,13 @@ more than one table the `_default` key has to be set:
 
 Of course, the `_default` key can also be overridden via page TSconfig:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     TCEFORM.my_table.extended_group.config.elementBrowserEntryPoints._default = 122
 
 For TCA type "folder" one can also define an entry point with the `_default` key:
 
-.. code-block:: php
+..  code-block:: php
 
     'folder_group' => [
         'label' => 'Folder group field',
@@ -99,7 +101,7 @@ For TCA type "folder" one can also define an entry point with the `_default` key
 
 It's also possible to use a special TSconfig key:
 
-.. code-block:: php
+..  code-block:: php
 
     'folder_group' => [
         'label' => 'Folder group field',
@@ -113,7 +115,7 @@ It's also possible to use a special TSconfig key:
 
 This key has then to be defined on field level:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     TCEFORM.my_table.folder_group.PAGE_TSCONFIG_ID = 1:/styleguide/subfolder
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91082-AddNewOptionShowScheduledRecordsToAdminPanel.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91082-AddNewOptionShowScheduledRecordsToAdminPanel.rst
index d1754de8bc48..84c776e3fbb6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91082-AddNewOptionShowScheduledRecordsToAdminPanel.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91082-AddNewOptionShowScheduledRecordsToAdminPanel.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-91082:
+
 ========================================================================
 Feature: #91082 - Add new option "show scheduled records" to admin panel
 ========================================================================
@@ -15,7 +17,6 @@ This is especially helpful if content on a page has different start and end time
 wants to have an overview of all elements on that page. Without this option an editor has to simulate
 multiple dates to be able to see all records, because records which are visible on one date, can be invisible on another.
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91715-AddMultipleHasidentifierMethodsToTYPO3CMSCorePageAssetCollector.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91715-AddMultipleHasidentifierMethodsToTYPO3CMSCorePageAssetCollector.rst
index e88bf896676c..c06931b40830 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91715-AddMultipleHasidentifierMethodsToTYPO3CMSCorePageAssetCollector.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-91715-AddMultipleHasidentifierMethodsToTYPO3CMSCorePageAssetCollector.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-91715:
+
 ===================================================================================================
 Feature: #91715 - Add multiple has($identifier) methods to \\TYPO3\\CMS\\Core\\Page\\AssetCollector
 ===================================================================================================
@@ -20,7 +22,7 @@ To accomplish this, new methods has been added to :php:`\TYPO3\CMS\Core\Page\Ass
 - :php:`hasInlineStyleSheet(string $identifier): bool`
 - :php:`hasMedia(string $identifier): bool`
 
-.. code-block:: php
+..  code-block:: php
 
     //use TYPO3\CMS\Core\Page\AssetCollector;
     //use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -39,7 +41,6 @@ To accomplish this, new methods has been added to :php:`\TYPO3\CMS\Core\Page\Ass
     $result4 = $assetsCollector->hasInlineStyleSheet($identifier);
     $result5 = $assetsCollector->hasMedia($identifier);
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92508-PSR-14EventForModifyingMenuItems.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92508-PSR-14EventForModifyingMenuItems.rst
index 49a1be9f7e59..002db8fd7e08 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92508-PSR-14EventForModifyingMenuItems.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92508-PSR-14EventForModifyingMenuItems.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-92508:
+
 =======================================================
 Feature: #92508 - PSR-14 event for modifying menu items
 =======================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92749-ImproveContentObjectInitializationInHtmlViewHelper.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92749-ImproveContentObjectInitializationInHtmlViewHelper.rst
index 49419f787fad..30ab8685644e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92749-ImproveContentObjectInitializationInHtmlViewHelper.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92749-ImproveContentObjectInitializationInHtmlViewHelper.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-92749:
+
 =========================================================================
 Feature: #92749 - Improve content object initialization in HtmlViewHelper
 =========================================================================
@@ -30,11 +32,16 @@ Example
 
 Access a news record title with `CURRENT:1` and resolve a marker:
 
-.. code-block:: html
+..  code-block:: html
 
-    <f:format.html parseFuncTSPath="lib.news" data="{uid: 1, title: \'Great news\'}" currentValueKey="title">###PROJECT### news:</f:format.html>
+    <f:format.html
+            parseFuncTSPath="lib.news"
+            data="{uid: 1, title: \'Great news\'}"
+            currentValueKey="title">
+        ###PROJECT### news:
+    </f:format.html>
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     constants.PROJECT = TYPO3
     lib.news {
@@ -46,7 +53,7 @@ Access a news record title with `CURRENT:1` and resolve a marker:
 
 This will result in:
 
-.. code-block:: html
+..  code-block:: html
 
     TYPO3 news: Great news
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92861-IntroduceTCAOptionMin.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92861-IntroduceTCAOptionMin.rst
index 48d813ca9c2a..4b7007509d9a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92861-IntroduceTCAOptionMin.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-92861-IntroduceTCAOptionMin.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-92861:
+
 ============================================
 Feature: #92861 - Introduce TCA option "min"
 ============================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93494-NewPSR-14ModifyQueryForLiveSearchEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93494-NewPSR-14ModifyQueryForLiveSearchEvent.rst
index 9c53619b4c4e..cfbec55ad93b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93494-NewPSR-14ModifyQueryForLiveSearchEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93494-NewPSR-14ModifyQueryForLiveSearchEvent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-93494:
+
 ==========================================================
 Feature: #93494 - New PSR-14 ModifyQueryForLiveSearchEvent
 ==========================================================
@@ -20,18 +22,18 @@ The event features the following methods:
 - :php:`getQueryBuilder()`: Returns the current :php:`QueryBuilder` instance
 - :php:`getTableName()`: Returns the table, for which the query will be executed
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\EventListener\ModifyQueryForLiveSearchEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/modify-query-for-live-search-event-listener'
+    MyVendor\MyPackage\EventListener\ModifyQueryForLiveSearchEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/modify-query-for-live-search-event-listener'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Search\Event\ModifyQueryForLiveSearchEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93689-PSR-14EventsOnSendingMessagesWithMailer.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93689-PSR-14EventsOnSendingMessagesWithMailer.rst
index a5aaa8702c35..2f31f601e18b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93689-PSR-14EventsOnSendingMessagesWithMailer.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-93689-PSR-14EventsOnSendingMessagesWithMailer.rst
@@ -31,22 +31,22 @@ on the implementation - usually :php:`TYPO3\CMS\Core\Mail\Mailer` -
 contains the :php:`SentMessage` object that can be retrieved using
 the :php:`getSentMessage()` method.
 
-Registration of the event listeners in your extensions' :file:`Services.yaml`:
+Registration of the event listeners in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\EventListener\MailerSentMessageEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/modify-message'
-        method: 'modifyMessage'
-      - name: event.listener
-        identifier: 'my-package/process-sent-message'
-        method: 'processSentMessage'
+    MyVendor\MyPackage\EventListener\MailerSentMessageEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/modify-message'
+          method: 'modifyMessage'
+        - name: event.listener
+          identifier: 'my-package/process-sent-message'
+          method: 'processSentMessage'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use Psr\Log\LoggerInterface;
     use Symfony\Component\Mime\Address;
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94117-ImproveExtbaseTypeConverterRegistration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94117-ImproveExtbaseTypeConverterRegistration.rst
index 7025f6a9087c..e06c61f3027d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94117-ImproveExtbaseTypeConverterRegistration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94117-ImproveExtbaseTypeConverterRegistration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-94117:
+
 =============================================================
 Feature: #94117 - Improve Extbase type converter registration
 =============================================================
@@ -19,7 +21,7 @@ file and adding the configuration, such as the `sourceType`, the `targetType`
 or the `priority` as class properties, accessible via public methods.
 
 This has now been improved. Type converters are now registered as container
-services in the extensions' :file:`Services.yaml` file by tagging the service
+services in the extension's :file:`Services.yaml` file by tagging the service
 with :yaml:`extbase.type_converter` and adding the configuration as tag
 attributes.
 
@@ -33,15 +35,15 @@ Impact
 
 Registration is now done in your :file:`Services.yaml` like the following:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-   services:
-     Vendor\Extension\Property\TypeConverter\MyBooleanConverter:
-       tag:
-         - name: extbase.type_converter
-           priority: 10
-           target: boolean
-           sources: boolean,string
+    services:
+      Vendor\Extension\Property\TypeConverter\MyBooleanConverter:
+        tag:
+          - name: extbase.type_converter
+            priority: 10
+            target: boolean
+            sources: boolean,string
 
 .. tip::
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94544-AddNewSMTPConfigurationSettings.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94544-AddNewSMTPConfigurationSettings.rst
index 4a7fca8c0fbb..a9c9751dc944 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94544-AddNewSMTPConfigurationSettings.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94544-AddNewSMTPConfigurationSettings.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-94544:
+
 =====================================================
 Feature: #94544 - Add new SMTP configuration settings
 =====================================================
@@ -31,7 +33,7 @@ It is now also possible to define an array with SMTP stream options in the
 
 Configuration Example:
 
-.. code-block:: php
+..  code-block:: php
 
     return [
         //....
@@ -48,7 +50,6 @@ Configuration Example:
         //....
     ];
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94625-IntroduceSlidingWindowPagination.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94625-IntroduceSlidingWindowPagination.rst
index f1ceee799c45..9b355bc0023c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94625-IntroduceSlidingWindowPagination.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-94625-IntroduceSlidingWindowPagination.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-94625:
+
 =====================================================
 Feature: #94625 - Introduce sliding window pagination
 =====================================================
@@ -28,31 +30,34 @@ Just replace the usage of :php:`SimplePagination` with
 :php:`\TYPO3\CMS\Core\Pagination\SlidingWindowPagination` and you are done.
 Set the 2nd argument to the maximum number of links which should be rendered.
 
-.. code-block:: php
-
-   $currentPage = $this->request->hasArgument('currentPage')
-      ? (int)$this->request->getArgument('currentPage')
-      : 1;
-   $itemsPerPage = 10;
-   $maximumLinks = 15;
-
-   $paginator = new \TYPO3\CMS\Extbase\Pagination\QueryResultPaginator(
-      $allItems,
-      $currentPage,
-      $itemsPerPage
-   );
-   $pagination = new \TYPO3\CMS\Core\Pagination\SlidingWindowPagination(
-      $paginator,
-      $maximumLinks
-   );
-
-   $this->view->assign(
-      'pagination',
-      [
-         'pagination' => $pagination,
-         'paginator' => $paginator
-      ]
-   );
+..  code-block:: php
+
+    use TYPO3\CMS\Extbase\Pagination\QueryResultPaginator;
+    use TYPO3\CMS\Core\Pagination\SlidingWindowPagination
+
+    $currentPage = $this->request->hasArgument('currentPage')
+       ? (int)$this->request->getArgument('currentPage')
+       : 1;
+    $itemsPerPage = 10;
+    $maximumLinks = 15;
+
+    $paginator = new QueryResultPaginator(
+       $allItems,
+       $currentPage,
+       $itemsPerPage
+    );
+    $pagination = new SlidingWindowPagination(
+       $paginator,
+       $maximumLinks
+    );
+
+    $this->view->assign(
+       'pagination',
+       [
+          'pagination' => $pagination,
+          'paginator' => $paginator
+       ]
+    );
 
 Credits
 =======
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-95486-AddAcceptArgument.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-95486-AddAcceptArgument.rst
index f8fe1356a17c..8386b3d32935 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-95486-AddAcceptArgument.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-95486-AddAcceptArgument.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-95486:
+
 ==========================================================
 Feature: #95486 - Add accept argument for UploadViewHelper
 ==========================================================
@@ -18,8 +20,8 @@ to prevent unwanted file formats.
 Example
 =======
 
-.. code-block:: html
+..  code-block:: html
 
-   <f:form.upload accept=".jpg,.png" />
+    <f:form.upload accept=".jpg,.png" />
 
 .. index:: Fluid, ext:fluid
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96041-ImproveBackendToolbarRegistration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96041-ImproveBackendToolbarRegistration.rst
index 6742ce836850..b9557771e1e3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96041-ImproveBackendToolbarRegistration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96041-ImproveBackendToolbarRegistration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96041:
+
 ======================================================
 Feature: #96041 - Improve Backend toolbar registration
 ======================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96147-NewPSR-14RedirectWasHitEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96147-NewPSR-14RedirectWasHitEvent.rst
index fd839cdb73b8..02f01c5b9759 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96147-NewPSR-14RedirectWasHitEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96147-NewPSR-14RedirectWasHitEvent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96147:
+
 ================================================
 Feature: #96147 - New PSR-14 RedirectWasHitEvent
 ================================================
@@ -32,19 +34,19 @@ can either implement your own listener with the same identifier
 (:yaml:`redirects-increment-hit-count`) or add your custom listener
 before and dynamically set the records :php:`disable_hitcount` flag.
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Redirects\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/redirects/validate-hit-count'
-        before: 'redirects-increment-hit-count'
+    MyVendor\MyPackage\Redirects\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/redirects/validate-hit-count'
+          before: 'redirects-increment-hit-count'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Redirects\Event\RedirectWasHitEvent;
 
@@ -77,6 +79,6 @@ Impact
 
 This event can be used to further process the matched redirect
 and to adjust the PSR-7 Response. It furthermore allows to
-influence core functionality, e.g. the hit count increment.
+influence Core functionality, e.g. the hit count increment.
 
 .. index:: PHP-API, ext:redirects
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96152-BackendToolbarItemsOverviewInConfigurationModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96152-BackendToolbarItemsOverviewInConfigurationModule.rst
index d4b7c303c24c..50650f7f7aa0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96152-BackendToolbarItemsOverviewInConfigurationModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96152-BackendToolbarItemsOverviewInConfigurationModule.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96152:
+
 ========================================================================
 Feature: #96152 - Backend Toolbar items overview in configuration module
 ========================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96333-ImproveContextMenuItemProviderRegistration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96333-ImproveContextMenuItemProviderRegistration.rst
index 192e11a94054..d370bdddcbdc 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96333-ImproveContextMenuItemProviderRegistration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96333-ImproveContextMenuItemProviderRegistration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96333:
+
 ================================================================
 Feature: #96333 - Improve ContextMenu item provider registration
 ================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96465-NewLinkvalidatorModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96465-NewLinkvalidatorModule.rst
index 732713c0dc3b..90c001a63fba 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96465-NewLinkvalidatorModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96465-NewLinkvalidatorModule.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96465:
+
 ==========================================
 Feature: #96465 - New Linkvalidator module
 ==========================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96510-InfrastructureForJavaScriptModulesAndImportmaps.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96510-InfrastructureForJavaScriptModulesAndImportmaps.rst
index 921526c9ea2b..bbf7e1c61d2b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96510-InfrastructureForJavaScriptModulesAndImportmaps.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96510-InfrastructureForJavaScriptModulesAndImportmaps.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96510:
+
 ======================================================================
 Feature: #96510 - Infrastructure for JavaScript modules and importmaps
 ======================================================================
@@ -14,7 +16,7 @@ and frontend context. JavaScript node-js style path resolutions are managed by
 `importmaps`_, which allow web pages to control the behavior of JavaScript imports.
 
 By the time of writing importmaps are supported natively by Google Chrome,
-a polyfill is available for Firefox and Safari and included by TYPO3 core
+a polyfill is available for Firefox and Safari and included by TYPO3 Core
 and applied whenever an importmap is emitted.
 
 RequireJS is shimmed to prefer ES6 modules if available, allowing any extension
@@ -42,9 +44,9 @@ Configuration
 A simple configuration example for an extension that maps
 the `Public/JavaScript` folder to an import prefix `@vendor/my-extensions`:
 
-.. code-block:: php
+..  code-block:: php
+    :caption: EXT:my_extension/Configuration/JavaScriptModules.php
 
-    # Configuration/JavaScriptModules.php
     <?php
 
     return [
@@ -52,19 +54,18 @@ the `Public/JavaScript` folder to an import prefix `@vendor/my-extensions`:
         // in case a module imports from another package
         'dependencies' => ['backend'],
         'imports' => [
-            // recursive definiton, all *.js files in this folder are import-mapped
+            // recursive definition, all *.js files in this folder are import-mapped
             // trailing slash is required per importmap-specification
             '@vendor/my-extension/' => 'EXT:my_extension/Resources/Public/JavaScript/',
         ],
     ];
 
-
 Complex configuration example containing recursive-lookup exclusions,
 third-party library definitions and overwrites:
 
-.. code-block:: php
+..  code-block:: php
+    :caption: EXT:my_extension/Configuration/JavaScriptModules.php
 
-    # Configuration/JavaScriptModules.php
     <?php
 
     return [
@@ -78,7 +79,7 @@ third-party library definitions and overwrites:
                     'EXT:my_extension/Resources/Public/JavaScript/Overrides/',
                 ],
             ],
-            # Adding a third party package
+            # Adding a third-party package
             'thirdpartypkg' => 'EXT:my_extension/Resources/Public/JavaScript/Contrib/thidpartypkg/index.js',
             'thidpartypkg/' => 'EXT:my_extension/Resources/Public/JavaScript/Contrib/thirdpartypkg/',
             # Overriding a file from another package
@@ -86,7 +87,6 @@ third-party library definitions and overwrites:
         ],
     ];
 
-
 Usage
 -----
 
@@ -94,7 +94,7 @@ A module can be added to the current page response either via
 :php:`PageRenderer` or as :php:`JavaScriptModuleInstruction` via
 :php:`JavaScriptRenderer`:
 
-.. code-block:: php
+..  code-block:: php
 
     // via PageRenderer
     $this->packageRenderer->loadJavaScriptModule('@vendor/my-extension/example.js');
@@ -104,18 +104,16 @@ A module can be added to the current page response either via
         JavaScriptModuleInstruction::create('@vendor/my-extension/example.js')
     );
 
-
 In Fluid template the `includeJavaScriptModules` property of the
 :html:`<f:be.pageRenderer>` ViewHelper may be used:
 
-.. code-block:: xml
-
-   <f:be.pageRenderer
-      includeJavaScriptModules="{
-         0: '@vendor/my-extension/example.js'
-      }"
-   />
+..  code-block:: xml
 
+    <f:be.pageRenderer
+       includeJavaScriptModules="{
+          0: '@vendor/my-extension/example.js'
+       }"
+    />
 
 .. _`importmaps`: https://wicg.github.io/import-maps/
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96515-AliasesForBackendRoutesAndBackendModules.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96515-AliasesForBackendRoutesAndBackendModules.rst
index 2c178f714d24..73afb9fa27a6 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96515-AliasesForBackendRoutesAndBackendModules.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96515-AliasesForBackendRoutesAndBackendModules.rst
@@ -35,7 +35,7 @@ reference them.
 Example for a new module identifier within
 :file:`Configuration/Backend/Modules.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     return [
         'workspaces_admin' => [
@@ -49,7 +49,7 @@ Example for a new module identifier within
 Example for a route alias identifier within
 :file:`Configuration/Backend/Routes.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     return [
         'file_editcontent' => [
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96526-PSR-14EventForModifyingPageModuleContent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96526-PSR-14EventForModifyingPageModuleContent.rst
index d753a9eba231..0fbbfe8e147b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96526-PSR-14EventForModifyingPageModuleContent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96526-PSR-14EventForModifyingPageModuleContent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96526:
+
 ================================================================
 Feature: #96526 - PSR-14 event for modifying page module content
 ================================================================
@@ -22,18 +24,18 @@ the module, but to also overwrite existing content or to reorder the content.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-page-module-content'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-page-module-content'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\ModifyPageLayoutContentEvent;
 
@@ -57,7 +59,7 @@ in TYPO3 v9. If needed, the information can be retrieved from the request direct
 
 An example to get the current :php:`$id`:
 
-.. code-block:: php
+..  code-block:: php
 
     public function __invoke(ModifyPageLayoutContentEvent $event): void
     {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions.rst
index 7b0531161a3b..f4b5856cec23 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96614:
+
 ====================================================================
 Feature: #96614 - Automatic inclusion of page TSconfig of extensions
 ====================================================================
@@ -19,12 +21,11 @@ more performant than the existing solution to use
 :file:`ext_localconf.php`, which is added to
 :php:`$TYPO3_CONF_VARS[SYS][defaultPageTSconfig]` during runtime.
 
-
 Impact
 ======
 
 When a file is created, the page TSconfig is loaded automatically without a
-custom registration anymore, and cached within the core caches, and more
+custom registration anymore, and cached within the Core caches, and more
 performant than the existing registration format.
 
 .. index:: TSConfig, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96641-NewPSR-14EventForModifyingLinks.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96641-NewPSR-14EventForModifyingLinks.rst
index 17c11eabdf7b..84a6e8e92cf0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96641-NewPSR-14EventForModifyingLinks.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96641-NewPSR-14EventForModifyingLinks.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96641:
+
 ======================================================
 Feature: #96641 - New PSR-14 event for modifying links
 ======================================================
@@ -28,7 +30,6 @@ to add additional attributes (see example below) to links.
 
 All mentioned hooks have been :doc:`removed <../12.0/Breaking-96641-TypoLinkRelatedHooksRemoved>`.
 
-
 Impact
 ======
 
@@ -43,7 +44,7 @@ replacement functionality for adding, changing or removing attributes.
 To register an event listener to the new event, use the following code in your
 :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     services:
       MyCompany\MyPackage\TypoLink\LinkModifier:
@@ -51,10 +52,9 @@ To register an event listener to the new event, use the following code in your
           - name: event.listener
             identifier: 'myLoadedListener'
 
-
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Frontend\Event\AfterLinkIsGeneratedEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96659-ContentObjectRegistrationViaServiceConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96659-ContentObjectRegistrationViaServiceConfiguration.rst
index 4924961bad9d..3f8c6538c659 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96659-ContentObjectRegistrationViaServiceConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96659-ContentObjectRegistrationViaServiceConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96659:
+
 ======================================================================
 Feature: #96659 - ContentObject Registration via service configuration
 ======================================================================
@@ -15,17 +17,16 @@ Frontend via TypoScript are now registered via the service configuration.
 This way registration is done during build-time and not on every TYPO3 request
 and dependency injection can be used in ContentObjects.
 
-The registration was previously done in an extensions' :file:`ext_localconf.php`
+The registration was previously done in an extension's :file:`ext_localconf.php`
 via :php:`$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']`.
 
-
 Impact
 ======
 
-Registering a custom ContentObject is now done in an extensions'
+Registering a custom ContentObject is now done in an extension's
 :file:`Configuration/Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyCompany\MyPackage\ContentObject\CustomContentObject:
         tags:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96688-AttributesForExtbaseAnnotations.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96688-AttributesForExtbaseAnnotations.rst
index 2670514eb0b6..7adcc41542b0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96688-AttributesForExtbaseAnnotations.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96688-AttributesForExtbaseAnnotations.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96688:
+
 ====================================================
 Feature: #96688 - Attributes for Extbase Annotations
 ====================================================
@@ -15,13 +17,12 @@ For more info on attributes see https://stitcher.io/blog/attributes-in-php-8 and
 
 Extbase annotations are already nearly 1:1 translatable to attributes.
 
-
 Impact
 ======
 
 In addition to their usage as annotations, the following Extbase annotations have been enriched for usage as attributes:
 
-.. code-block:: php
+..  code-block:: php
 
     @Extbase\ORM\Transient
     @Extbase\ORM\Cascade
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst
index 2326dcf0653d..b8f3b0648752 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96730:
+
 ===========================================================
 Feature: #96730 - Simplified ext:backend ModuleTemplate API
 ===========================================================
@@ -17,14 +19,13 @@ instantiate an own view anymore.
 The default document header of :php:`ModuleTemplate` can be rendered
 using a new Fluid layout named `Module`.
 
-
 Impact
 ======
 
 The standard code within backend module related controllers
 looked like this until now:
 
-.. code-block:: php
+..  code-block:: php
 
     $moduleTemplate = $this->moduleTemplateFactory->create($request);
     $view = GeneralUtility::makeInstance(StandaloneView::class);
@@ -41,7 +42,7 @@ are configured automatically, calling :php:`renderResponse('SomeController/SomeA
 overridden by other extensions using page TSconfig, see :doc:`this changelog entry <Feature-96812-OverrideBackendTemplatesWithTSconfig>`
 for details on this.
 
-.. code-block:: php
+..  code-block:: php
 
     $moduleTemplate = $this->moduleTemplateFactory->create($request);
     $moduleTemplate->assign('aVariable', 'aValue');
@@ -49,7 +50,7 @@ for details on this.
 
 The HTML template should then reference the ModuleTemplate layout:
 
-.. code-block:: html
+..  code-block:: html
 
     <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
     <f:layout name="Module" />
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96733-NewBackendModuleRegistrationAPI.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96733-NewBackendModuleRegistrationAPI.rst
index f02cdb0728ff..1eb3f4cadc3b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96733-NewBackendModuleRegistrationAPI.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96733-NewBackendModuleRegistrationAPI.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96733:
+
 =====================================================
 Feature: #96733 - New backend module registration API
 =====================================================
@@ -24,12 +26,12 @@ means the state is fixed and can't be changed at runtime. This approach
 follows the general Core strategy (see e.g. :doc:`Icons.php <../11.4/Feature-94692-RegisteringIconsViaServiceContainer>`),
 since it highly improves the loading speed of every request as the
 registration can be handled at once and cached during warmup of the
-core caches. Besides caching, this will also allow additional features
+Core caches. Besides caching, this will also allow additional features
 in the future, which were blocked due to the loose state.
 
 Previous configuration in :file:`ext_tables.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     ExtensionManagementUtility::addModule(
         'web',
@@ -66,7 +68,7 @@ Previous configuration in :file:`ext_tables.php`:
 
 Will now be registered in :file:`Configuration/Backend/Modules.php`:
 
-.. code-block:: php
+..  code-block:: php
 
     return [
         'web_module' => [
@@ -109,7 +111,6 @@ Will now be registered in :file:`Configuration/Backend/Modules.php`:
     use the `mainModule_subModule` pattern, since a possible parent
     will be defined with the `parent` option.
 
-
 Module configuration options
 ============================
 
@@ -124,7 +125,7 @@ Module configuration options
 |                                                          | `/module/<mainModule>/<subModule>` pattern, if not set.          |
 +----------------------------------------------------------+------------------------------------------------------------------+
 | standalone (:php:`bool`)                                 | Whether the module is a standalone module (parent without        |
-|                                                          | submodules).                                                    |
+|                                                          | submodules).                                                     |
 +----------------------------------------------------------+------------------------------------------------------------------+
 | access (:php:`string`)                                   | Can be `user` (editor permissions), `admin`, or                  |
 |                                                          | `systemMaintainer`.                                              |
@@ -237,16 +238,16 @@ register the module.
 
 Registration of an event listener in the :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\ModifyModuleIcon:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-module-icon'
+    MyVendor\MyPackage\Backend\ModifyModuleIcon:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-module-icon'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Module\BeforeModuleCreationEvent;
 
@@ -283,7 +284,6 @@ BeforeModuleCreationEvent methods
 |                         | :php:`$value`         | given :php:`value`.                                |
 +-------------------------+-----------------------+----------------------------------------------------+
 
-
 New ModuleProvider API
 =======================
 
@@ -420,7 +420,7 @@ relation handling (main modules and submodules).
 Impact
 ======
 
-Registration of backend modules is now done in extensions'
+Registration of backend modules is now done in extension's
 :file:`Configuration/Backend/Modules.php` file. This allows
 to have all modules registered at build-time.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96800-AddSiteLanguageProcessor.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96800-AddSiteLanguageProcessor.rst
index e94020db0142..52fa47966cbf 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96800-AddSiteLanguageProcessor.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96800-AddSiteLanguageProcessor.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96800:
+
 ===========================================
 Feature: #96800 - Add SiteLanguageProcessor
 ===========================================
@@ -13,24 +15,23 @@ A new Data Processor :php:`SiteLanguageProcessor` has been introduced, which
 can be used to fetch the properties of the current SiteLanguage within Fluid
 Templates in TYPO3 Frontend rendering:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-   tt_content.mycontent.20 = FLUIDTEMPLATE
-   tt_content.mycontent.20 {
-      file = EXT:myextension/Resources/Private/Templates/ContentObjects/MyContent.html
+    tt_content.mycontent.20 = FLUIDTEMPLATE
+    tt_content.mycontent.20 {
+       file = EXT:myextension/Resources/Private/Templates/ContentObjects/MyContent.html
 
-      dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\SiteLanguageProcessor
-      dataProcessing.10 {
-         as = language
-      }
-   }
+       dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\SiteLanguageProcessor
+       dataProcessing.10 {
+          as = language
+       }
+    }
 
 In the Fluid template the properties of the SiteLanguage entity can be accessed:
 
-.. code-block:: html
-
-   <p>{language.languageId}</p>
-   <p>{language.customValue}</p>
+..  code-block:: html
 
+    <p>{language.languageId}</p>
+    <p>{language.customValue}</p>
 
 .. index:: Fluid, Frontend, TypoScript, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96806-PSR-14EventForModifyingButtonBar.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96806-PSR-14EventForModifyingButtonBar.rst
index 514267787cba..8c3f15dae078 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96806-PSR-14EventForModifyingButtonBar.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96806-PSR-14EventForModifyingButtonBar.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96806:
+
 =======================================================
 Feature: #96806 - PSR-14 event for modifying button bar
 =======================================================
@@ -18,18 +20,18 @@ It can be used to modify the button bar in the TYPO3 backend module docheader.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Frontend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/frontend/modify-button-bar'
+    MyVendor\MyPackage\Frontend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/frontend/modify-button-bar'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Template\Components\ModifyButtonBarEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst
index 98b811921a03..a98cde822451 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96812:
+
 ==========================================================
 Feature: #96812 - Override backend templates with TSconfig
 ==========================================================
@@ -16,7 +18,7 @@ All Fluid templates rendered by backend controllers can be overridden with
 own templates on a per-file basis.
 
 This can be configured using TSconfig: Both page TSconfig and user TSconfig are
-observed. The feature is available for basically all core backend modules, as
+observed. The feature is available for basically all Core backend modules, as
 well as the backend main frame templates. Exceptions are email templates and
 templates of the install tool.
 
@@ -30,35 +32,34 @@ solution need an adaption. Please find details in the
 .. note::
 
     While this feature is powerful and allows overriding nearly any backend
-    template, it *should be used with care*: Fluid templates of the core
-    extensions are *not* considered API. The core development needs the
+    template, it *should be used with care*: Fluid templates of the Core
+    extensions are *not* considered API. The Core development needs the
     freedom to add, change and delete Fluid templates any time, even for
     bugfix releases. Template overrides are similar to an :php:`XCLASS` in
-    PHP - the core can not guarantee integrity on this level across versions.
-
+    PHP - the Core can not guarantee integrity on this level across versions.
 
 Basic syntax
 ------------
 
 The various combinations are best explained by example: The linkvalidator
-extension (its composer name is "typo3/cms-linkvalidator") comes with a backend
+extension (its Composer name is "typo3/cms-linkvalidator") comes with a backend
 module in the :guilabel:`Web` main section. The page tree is displayed for this module and
 linkvalidator has two main views and templates: :file:`Resources/Private/Templates/Backend/Report.html`
 for the "Report" view and another one for the "Check link" view. To override
 the :file:`Backend/Report.html` with an own template, this definition can
-be added to an extensions' :file:`Configuration/page.tsconfig` file
+be added to an extension's :file:`Configuration/page.tsconfig` file
 (see :doc:`changelog <Feature-96614-AutomaticInclusionOfPageTsConfigOfExtensions>`):
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     # Pattern: templates."composer-name"."something-unique" = "overriding-extension-composer-name":"entry-path"
     templates.typo3/cms-linkvalidator.1643293191 = my-vendor/my-extension:Resources/Private/TemplateOverrides
 
-When the target extension identified by its composer name "my-vendor/my-extension" provides the file
+When the target extension identified by its Composer name "my-vendor/my-extension" provides the file
 :file:`Resources/Private/TemplateOverrides/Templates/Backend/Report.html`, **this** file will
 be used instead of the default template file from the linkvalidator extension.
 
-All core extensions stick to the general templates, layouts and partial file and directory position structure.
+All Core extensions stick to the general templates, layouts and partial file and directory position structure.
 When an extension needs to override a partial that is located in :file:`Resources/Private/Partials/SomeName/SomePartial.html`,
 and an override has been specified like above to :typoscript:`my-vendor/my-extension:Resources/Private/TemplateOverrides`, the
 system will look for file :file:`Resources/Private/TemplateOverrides/Partials/SomeName/SomePartial.html`. Similar for layouts.
@@ -66,7 +67,7 @@ system will look for file :file:`Resources/Private/TemplateOverrides/Partials/So
 The path part of the override definition can be set to whatever an integrator prefers,
 :file:`Resources/Private/TemplateOverrides` is just an idea here and hopefully not a bad one,
 further details rely on additional needs. For instance, it is probably a good idea to include
-the composer or extension name of the source extension in the path (linkvalidator in our example),
+the Composer or extension name of the source extension in the path (linkvalidator in our example),
 or when using overrides based on page IDs or group IDs, to include those in the path. The source
 extension sub-path is automatically added by the system when looking for override files, when
 a layout file is located at :file:`Resources/Private/Layouts/ExtraLarge/Main.html`, and an
@@ -82,7 +83,7 @@ extension can override a dedicated partial only.
 When multiple override paths are defined and more than one of them have overrides for a specific
 template, the override definition with the highest numerical value wins:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     templates.typo3/cms-linkvalidator.23 = other-vendor/other-extension:Resources/Private/TemplateOverrides/Linkvalidator
     templates.typo3/cms-linkvalidator.2300 = my-vendor/my-extension:Resources/Private/MyOverrideIsBigger
@@ -100,7 +101,6 @@ various combinations are possible:
   in user TSconfig. So a user TSconfig template override starts with :typoscript:`page.templates.`
   instead of :typoscript:`templates.`.
 
-
 Usage in own modules
 --------------------
 
@@ -109,21 +109,19 @@ template API <Feature-96730-SimplifiedExtbackendModuleTemplateAPI>` automaticall
 enable the general backend template override feature. Extension authors do not
 need to further prepare their extensions to allow template overrides by other extensions.
 
-
 Impact
 ======
 
-Third party or custom extensions like a site extension can now change backend
+Third-party or custom extensions like a site extension can now change backend
 templates if needed. This can be handy, for instance, to give editors custom
 hints in certain areas without custom PHP code, or to do some other quick solutions.
 
-Some core extensions like the dashboard also use this feature when third-party extensions
+Some Core extensions like the dashboard also use this feature when third-party extensions
 supply additional widgets with templates to register those templates into the dashboard
 namespace. See the dashboard extension documentation and :doc:`this changelog <Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend>`
 for more details.
 
-This feature needs to be used with care since the core does not
+This feature needs to be used with care since the Core does not
 consider templates as API and a template override may thus break anytime.
 
-
 .. index:: Backend, TSConfig, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96874-CKEditor5.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96874-CKEditor5.rst
index 5b9bac6d038f..b81ed36fb622 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96874-CKEditor5.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96874-CKEditor5.rst
@@ -26,7 +26,6 @@ CKEditor 5:
 
 https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/migration-from-ckeditor-4.html
 
-
 Impact
 ======
 
@@ -53,134 +52,143 @@ Configuration Options
 
 Some options have been adapted, which are rarely used, but now documented here:
 
-* editor.config.defaultContentLanguage is migrated to editor.config.language.content
-* editor.config.defaultLanguage is migrated to editor.config.language.ui
+*    editor.config.defaultContentLanguage is migrated to editor.config.language.content
+*    editor.config.defaultLanguage is migrated to editor.config.language.ui
 
 The following options are not needed anymore in CKEditor 5:
 
-* editor.config.uiColor
-* editor.config.removeDialogTabs
-* editor.config.entities_latin
-* editor.config.entities
-* editor.config.extraAllowedContent (covered via GeneralHTMLSupport plugin)
+*    editor.config.uiColor
+*    editor.config.removeDialogTabs
+*    editor.config.entities_latin
+*    editor.config.entities
+*    editor.config.extraAllowedContent (covered via GeneralHTMLSupport plugin)
 
-More migration options can be found here: https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/migration-from-ckeditor-4.html
+More migration options can be found here:
+https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/migration-from-ckeditor-4.html
 
 Custom configuration to the WordCount plugin is automatically migrated
 from `editor.config.wordcount` to `editor.config.wordCount`:
 
-* `editor.config.justifyClasses` was used to add classes to the alignment types,
-  which is migrated to `editor.config.alignment`. Example:
-
-    alignment:
-      options:
-        - { name: 'left', className: 'text-left' }
-        - { name: 'center', className: 'text-center' }
-        - { name: 'right', className: 'text-right' }
-        - { name: 'justify', className: 'text-justify' }
-
-  in addition, the extraPlugins `justify` is not needed anymore. The new
-  plugin called `Alignment` is always active.
-
-* `editor.config.format_tags` was used to populate various block-level elements
-  with a syntax like `p;h1;h2;h3;h4;h5;pre`. This is now moved to `editor.config.heading`:
-
-    heading:
-      options:
-        - { model: 'paragraph', title: 'Paragraph' }
-        - { model: 'heading2', view: 'h2', title: 'Heading 2' }
-        - { model: 'heading3', view: 'h3', title: 'Heading 3' }
-        - { model: 'formatted', view: 'pre', title: 'My Pre-Formatted Text' }
-
-* `editor.config.removeButtons` items have a different naming now, and
-  are moved to `editor.config.toolbar.removeItems`. This is however not needed
-  anymore since toolbarGroups are removed and each button can now be declared
-  properly.
-
-* `editor.config.stylesSet` which is used for the dropdown of custom
-  style elements, is moved to `config.editor.config.style.definitions`
-  with a similar syntax.
-
-    style:
-      definitions:
-        # block level styles
-        - { name: "Lead", element: "p", classes: ['lead'] }
-        - { name: "Small", element: "small", classes: [] }
-        # Inline styles
-        - { name: "Muted", element: "span", classes: ['text-muted'] }
-
-  Please note that as of today, the "classes" attribute must be used,
-  and custom "style" attribute does not work.
-
-* `editor.config.toolbarGroups` was previously used to create the buttons in the
-  toolbar. This was used in conjunction with `editor.config.removeButtons`.
-  Grouping is no longer available, but instead all buttons are listed
-  separately with minor naming changes.
-  The new option is now named `editor.config.toolbar` with `items` and
-  `removeItems` as possible lists of buttons to show or hide.
-
-  Functionality like "Cut/Copy/Paste" is now implicitly built-in without the
-  need of cluttering the toolbar.
-
-  Example from TYPO3's "Full" RTE configuration Yaml file:
-
-    toolbar:
-      items:
-        - clipboard
-        - undo
-        - redo
-        # grouping separator
-        - '|'
-        - find
-        - selectAll
-        - '|'
-        - Link
-        - SoftHyphen
-        - insertTable
-        - tableColumn
-        - tableRow
-        - mergeTableCells
-        - '|'
-        - sourceEditing
-        - horizontalLine
-        # line break
-        - '-'
-        - bold
-        - italic
-        - underline
-        - strikethrough
-        - subscript
-        - superscript
-        - alignment
-        - removeFormat
-        - '|'
-        - bulletedList
-        - numberedList
-        - blockQuote
-        - indent
-        - outdent
-        - '|'
-        - specialCharacters
-        - '-'
-        - style
-        - heading
-
-
-  Removal of single buttons via `editor.config.removeButtons` is now of limited
-  need, however a list of `editor.config.toolbar.removeItems` can be given.
-
-* `editor.config.stylesSet` which is used for the dropdown of custom
-  style elements, is moved to `config.editor.config.style.definitions`
-  with a similar syntax.
-
-    style:
-      definitions:
-        # block level styles
-        - { name: "Lead", element: "p", classes: ['lead'] }
-        - { name: "Small", element: "small", classes: [] }
-        # Inline styles
-        - { name: "Muted", element: "span", classes: ['text-muted'] }
-
+*   `editor.config.justifyClasses` was used to add classes to the alignment types,
+    which is migrated to `editor.config.alignment`. Example:
+
+    ..  code-block:: yaml
+
+        alignment:
+          options:
+            - { name: 'left', className: 'text-left' }
+            - { name: 'center', className: 'text-center' }
+            - { name: 'right', className: 'text-right' }
+            - { name: 'justify', className: 'text-justify' }
+
+   in addition, the extraPlugins `justify` is not needed anymore. The new
+   plugin called `Alignment` is always active.
+
+*   `editor.config.format_tags` was used to populate various block-level elements
+    with a syntax like `p;h1;h2;h3;h4;h5;pre`. This is now moved to `editor.config.heading`:
+
+    ..  code-block:: yaml
+
+        heading:
+          options:
+            - { model: 'paragraph', title: 'Paragraph' }
+            - { model: 'heading2', view: 'h2', title: 'Heading 2' }
+            - { model: 'heading3', view: 'h3', title: 'Heading 3' }
+            - { model: 'formatted', view: 'pre', title: 'My Pre-Formatted Text' }
+
+*   `editor.config.removeButtons` items have a different naming now, and
+    are moved to `editor.config.toolbar.removeItems`. This is however not needed
+    anymore since toolbarGroups are removed and each button can now be declared
+    properly.
+
+*   `editor.config.stylesSet` which is used for the dropdown of custom
+    style elements, is moved to `config.editor.config.style.definitions`
+    with a similar syntax.
+
+    ..  code-block:: yaml
+
+        style:
+          definitions:
+            # block level styles
+            - { name: "Lead", element: "p", classes: ['lead'] }
+            - { name: "Small", element: "small", classes: [] }
+            # Inline styles
+            - { name: "Muted", element: "span", classes: ['text-muted'] }
+
+    Please note that as of today, the "classes" attribute must be used,
+    and custom "style" attribute does not work.
+
+*   `editor.config.toolbarGroups` was previously used to create the buttons in the
+    toolbar. This was used in conjunction with `editor.config.removeButtons`.
+    Grouping is no longer available, but instead all buttons are listed
+    separately with minor naming changes.
+    The new option is now named `editor.config.toolbar` with `items` and
+    `removeItems` as possible lists of buttons to show or hide.
+
+    Functionality like "Cut/Copy/Paste" is now implicitly built-in without the
+    need of cluttering the toolbar.
+
+    Example from TYPO3's "Full" RTE configuration Yaml file:
+
+    ..  code-block:: yaml
+
+        toolbar:
+          items:
+            - clipboard
+            - undo
+            - redo
+            # grouping separator
+            - '|'
+            - find
+            - selectAll
+            - '|'
+            - Link
+            - SoftHyphen
+            - insertTable
+            - tableColumn
+            - tableRow
+            - mergeTableCells
+            - '|'
+            - sourceEditing
+            - horizontalLine
+            # line break
+            - '-'
+            - bold
+            - italic
+            - underline
+            - strikethrough
+            - subscript
+            - superscript
+            - alignment
+            - removeFormat
+            - '|'
+            - bulletedList
+            - numberedList
+            - blockQuote
+            - indent
+            - outdent
+            - '|'
+            - specialCharacters
+            - '-'
+            - style
+            - heading
+
+    Removal of single buttons via `editor.config.removeButtons` is now of limited
+    need, however a list of `editor.config.toolbar.removeItems` can be given.
+
+*   `editor.config.stylesSet` which is used for the dropdown of custom
+    style elements, is moved to `config.editor.config.style.definitions`
+    with a similar syntax.
+
+    ..  code-block:: yaml
+
+        style:
+          definitions:
+            # block level styles
+            - { name: "Lead", element: "p", classes: ['lead'] }
+            - { name: "Small", element: "small", classes: [] }
+            # Inline styles
+            - { name: "Muted", element: "span", classes: ['text-muted'] }
 
 CKEditor 5 integration is still experimental and subject to change to adapt
 to further needs until TYPO3 v12 LTS.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96879-NewPSR-14EventModifyCacheLifetimeForPageEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96879-NewPSR-14EventModifyCacheLifetimeForPageEvent.rst
index 769c37bea9c6..e554d38a0226 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96879-NewPSR-14EventModifyCacheLifetimeForPageEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96879-NewPSR-14EventModifyCacheLifetimeForPageEvent.rst
@@ -16,7 +16,6 @@ This event serves as a successor for the
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['get_cache_timeout']`
 hook.
 
-
 Impact
 ======
 
@@ -25,15 +24,15 @@ frontend call should be stored in the "pages" cache.
 
 Common registration and usage for a listener:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-   services:
-     MyCompany\MyPackage\EventListener\ChangeCacheTimeout:
-       tags:
-         - name: event.listener
-           identifier: 'mycompany/mypackage/cache-timeout'
+    services:
+      MyCompany\MyPackage\EventListener\ChangeCacheTimeout:
+        tags:
+          - name: event.listener
+            identifier: 'mycompany/mypackage/cache-timeout'
 
-.. code-block:: php
+..  code-block:: php
 
     <?php
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96895-IntroduceModuleDataObject.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96895-IntroduceModuleDataObject.rst
index 87814d15d14a..77a540560011 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96895-IntroduceModuleDataObject.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96895-IntroduceModuleDataObject.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96895:
+
 ==============================================
 Feature: #96895 - Introduce Module data object
 ==============================================
@@ -29,7 +31,7 @@ overwriting and persisting the data manually.
 Previously, reading, overwriting and persisting of module data (settings)
 was done in the controller:
 
-.. code-block:: php
+..  code-block:: php
 
     // Classes/Controller/MyController.php
 
@@ -47,7 +49,7 @@ was done in the controller:
 This is now automatically done by a new PSR-15 middleware. The "allowed"
 properties are defined with their default value in the module registration:
 
-.. code-block:: php
+..  code-block:: php
 
     // Configuration/Backend/Modules.php
 
@@ -101,7 +103,7 @@ using :php:`$backendUser->pushModuleData('my_module', $this->moduleData->toArray
 To restrict the values of module data properties, the given :php:`ModuleData`
 object can be cleaned e.g. in a controller:
 
-.. code-block:: php
+..  code-block:: php
 
     $allowedValues = ['foo', 'bar'];
 
@@ -112,7 +114,6 @@ against the :php:`$allowedValues` list. If the current value is valid,
 nothing happens. Otherwise the value is either changed to the default
 or if this value is also not allowed, to the first allowed value.
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96899-NewPSR-14EventModifyGenericBackendMessagesEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96899-NewPSR-14EventModifyGenericBackendMessagesEvent.rst
index 845790e48499..814258e9e692 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96899-NewPSR-14EventModifyGenericBackendMessagesEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96899-NewPSR-14EventModifyGenericBackendMessagesEvent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96899:
+
 =====================================================================
 Feature: #96899 - New PSR-14 event: ModifyGenericBackendMessagesEvent
 =====================================================================
@@ -16,18 +18,18 @@ has been introduced. It serves as direct replacement for the now removed hook
 Example
 =======
 
-Registration of an event listener in your extensions' :file:`Services.yaml`:
+Registration of an event listener in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/add-message'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/add-message'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\ModifyGenericBackendMessagesEvent;
     use TYPO3\CMS\Core\Messaging\FlashMessage;
@@ -47,7 +49,7 @@ Impact
 The PSR-14 event allows to add or alter messages that are displayed
 in the "About" module (default start module of the TYPO3 Backend).
 
-Extensions such as "Reports" already use this Event to display custom
+Extensions such as "Reports" already use this event to display custom
 messages based on the status of the system.
 
 .. index:: Backend, PHP-API, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96904-BackendToolbarItemsAreRequestAware.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96904-BackendToolbarItemsAreRequestAware.rst
index e0d57ca03523..bf591bc3b621 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96904-BackendToolbarItemsAreRequestAware.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96904-BackendToolbarItemsAreRequestAware.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96904:
+
 =========================================================
 Feature: #96904 - Backend toolbar items are request aware
 =========================================================
@@ -16,16 +18,16 @@ is especially useful when rendering views using
 :php:`TYPO3\CMS\Backend\View\BackendViewFactory` which depends on
 current request.
 
-
 Impact
 ======
 
-The TYPO3 core encourages to use :php:`BackendViewFactory` instead of
+The TYPO3 Core encourages to use :php:`BackendViewFactory` instead of
 :php:`StandaloneView` when toolbar items of extensions use Fluid templates.
 :php:`BackendViewFactory` has a dependency to current request, so
 :php:`RequestAwareToolbarItemInterface` should be implemented
 to receive the current request from TYPO3 EXT:backend.
 
-Doing so enables the :doc:`template overrides by TSconfig feature <../12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig>`.
+Doing so enables the :doc:`template overrides by TSconfig
+feature <../12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig>`.
 
 .. index:: Backend, PHP-API, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96935-NewRegistrationForLinkvalidatorLinktype.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96935-NewRegistrationForLinkvalidatorLinktype.rst
index 5bc8d8310085..1e93c80e8f53 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96935-NewRegistrationForLinkvalidatorLinktype.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96935-NewRegistrationForLinkvalidatorLinktype.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96935:
+
 =============================================================
 Feature: #96935 - New registration for linkvalidator linktype
 =============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96961-BackendRoutesContainComposerPackageName.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96961-BackendRoutesContainComposerPackageName.rst
index cec60c62755e..5bbe23fe8663 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96961-BackendRoutesContainComposerPackageName.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96961-BackendRoutesContainComposerPackageName.rst
@@ -1,7 +1,9 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96961:
+
 ==============================================================
-Feature: #96961 - Backend routes contain composer package name
+Feature: #96961 - Backend routes contain Composer package name
 ==============================================================
 
 See :issue:`96961`
@@ -10,22 +12,20 @@ Description
 ===========
 
 Request objects in the backend already contain the resolved route
-object as attribute. These route objects now contain the composer
+object as attribute. These route objects now contain the Composer
 package name of the package ("extension") that defined the route as option:
 
-.. code-block:: php
+..  code-block:: php
 
     /** @var \TYPO3\CMS\Backend\Routing\Route $route */
     $route = $request->getAttribute('route');
     // Example return: "typo3/cms-backend" when EXT:backend defined that route.
     $packageName = $route->getOption('packageName');
 
-
 Impact
 ======
 
 The package name can be useful for filesystem lookups
 or to bind configuration based on package name to it.
 
-
 .. index:: Backend, PHP-API, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96968-PSR-14EventForAvoidLoadingFrontendPagesFromCache.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96968-PSR-14EventForAvoidLoadingFrontendPagesFromCache.rst
index e7403798af4a..d5257230cd10 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96968-PSR-14EventForAvoidLoadingFrontendPagesFromCache.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96968-PSR-14EventForAvoidLoadingFrontendPagesFromCache.rst
@@ -16,7 +16,6 @@ allows TYPO3 Extensions to register event listeners to modify if a page should
 be read from cache (if it has been created in store already), or if it should
 be re-built completely ignoring the cache entry for the request.
 
-
 Impact
 ======
 
@@ -24,18 +23,18 @@ The new PSR-14 event can be used for avoiding loading from cache when indexing
 via CLI happens from an external source, or if the cache should be ignored when
 logged in from a certain IP address.
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/avoid-cache-loading'
+    MyVendor\MyPackage\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/avoid-cache-loading'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Frontend\Event\ShouldUseCachedPageDataIfAvailableEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96975-NewPSR-14EventsForSiteConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96975-NewPSR-14EventsForSiteConfiguration.rst
index f056af88112b..695b13672f9e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96975-NewPSR-14EventsForSiteConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96975-NewPSR-14EventsForSiteConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96975:
+
 ==================================================================
 Feature: #96975 - New PSR-14 events for SiteConfiguration Handling
 ==================================================================
@@ -15,7 +17,6 @@ SiteConfiguration before it is cached and before the configuration is written to
 - :php:`\TYPO3\CMS\Core\Configuration\Event\SiteConfigurationBeforeWriteEvent`
 - :php:`\TYPO3\CMS\Core\Configuration\Event\SiteConfigurationLoadedEvent`
 
-
 Impact
 ======
 
@@ -34,7 +35,7 @@ before writing the configuration to disk.
 To register an event listener for the new events, use the following code in your
 :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     services:
       MyCompany\MyPackage\EventListener\SiteConfigurationLoadedListener:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96983-TCATypeFolder.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96983-TCATypeFolder.rst
index 6d75ccacf2a9..8c993be19609 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96983-TCATypeFolder.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96983-TCATypeFolder.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-96983:
+
 ===================================
 Feature: #96983 - TCA type "folder"
 ===================================
@@ -16,7 +18,7 @@ this type.
 
 Example usage:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
         'aColumn' => [
@@ -26,7 +28,6 @@ Example usage:
         ],
     ],
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96996-PSR-14EventForModifyingRecordAccessEvaluation.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96996-PSR-14EventForModifyingRecordAccessEvaluation.rst
index 1b931d7b3aab..647be03e5bc3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96996-PSR-14EventForModifyingRecordAccessEvaluation.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-96996-PSR-14EventForModifyingRecordAccessEvaluation.rst
@@ -24,27 +24,28 @@ evaluation.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/set-access-granted'
+    MyVendor\MyPackage\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/set-access-granted'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Domain\Access\RecordAccessGrantedEvent;
 
-    class MyEventListener {
-
+    class MyEventListener
+    {
         public function __invoke(RecordAccessGrantedEvent $event): void
         {
             // Manually set access granted
-            if ($event->getTable() === 'my_table' && ($event->getRecord()['custom_access_field'] ?? false)) {
+            if ($event->getTable() === 'my_table'
+                && ($event->getRecord()['custom_access_field'] ?? false)) {
                 $event->setAccessGranted(true);
             }
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97013-NewTCATypeEmail.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97013-NewTCATypeEmail.rst
index a828d12a2f41..d0b17615be5d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97013-NewTCATypeEmail.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97013-NewTCATypeEmail.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97013:
+
 ======================================
 Feature: #97013 - New TCA type "email"
 ======================================
@@ -47,7 +49,7 @@ The following column configuration can be overwritten by page TSconfig:
 
 The migration from :php:`eval='email'` to :php:`type=email` is done like following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97035-UtilizeRequiredDirectlyInTCAFieldConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97035-UtilizeRequiredDirectlyInTCAFieldConfiguration.rst
index 49cf35dee48b..28b56996ed67 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97035-UtilizeRequiredDirectlyInTCAFieldConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97035-UtilizeRequiredDirectlyInTCAFieldConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97035:
+
 ========================================================================
 Feature: #97035 - Utilize "required" directly in TCA field configuration
 ========================================================================
@@ -16,7 +18,6 @@ option within `eval`.
 All TCA in TYPO3 Core is migrated to use the `required` configuration over the
 corresponding `eval` option.
 
-
 Impact
 ======
 
@@ -24,20 +25,19 @@ If not done already, TCA is automatically migrated to use :php:`'required' => tr
 instead of the co-existing `eval` option. The automated migration will trigger
 a deprecation entry though.
 
-
 Example
 =======
 
-.. code-block:: php
-
-   'columns' => [
-       'some_column' => [
-           'title' => 'foo',
-           'config' => [
-               'required' => true,
-               'eval' => 'trim',
-           ],
-       ],
-   ],
+..  code-block:: php
+
+    'columns' => [
+        'some_column' => [
+            'title' => 'foo',
+            'config' => [
+                'required' => true,
+                'eval' => 'trim',
+            ],
+        ],
+    ],
 
 .. index:: Backend, TCA, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97051-FilterLogsByPageInLogModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97051-FilterLogsByPageInLogModule.rst
index 5c3f815a1f76..715bf3b66424 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97051-FilterLogsByPageInLogModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97051-FilterLogsByPageInLogModule.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97051:
+
 ===================================================
 Feature: #97051 - Filter logs by page in Log module
 ===================================================
@@ -19,7 +21,6 @@ the result can be extended to further subpages.
 Additionally, administrators are now able to define access permissions via
 the module access logic for the :guilabel:`System > Log` module.
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97096-Non-namespacedArgumentsInExtbaseBackendModules.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97096-Non-namespacedArgumentsInExtbaseBackendModules.rst
index 0376645b3f64..18f9ddc1b177 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97096-Non-namespacedArgumentsInExtbaseBackendModules.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97096-Non-namespacedArgumentsInExtbaseBackendModules.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97096:
+
 =====================================================================
 Feature: #97096 - Non-namespaced arguments in Extbase backend modules
 =====================================================================
@@ -35,7 +37,7 @@ A link may look like this:
 If a module explicitly wants to keep using the namespaced version of the arguments,
 the feature flag can be set:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
     :caption: EXT:my_extension/ext_typoscript_setup.typoscript
 
     module.tx_myextension_somemodule {
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97104-NewTCATypePassword.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97104-NewTCATypePassword.rst
index 395358787303..71a83ef1580a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97104-NewTCATypePassword.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97104-NewTCATypePassword.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97104:
+
 =========================================
 Feature: #97104 - New TCA type "password"
 =========================================
@@ -62,7 +64,7 @@ plaintext to the database.
 The migration from :php:`eval='password'` and :php:`eval='saltedPassword'` to
 :php:`type=password` is done like following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97135-NewRegistrationForModuleFunctions.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97135-NewRegistrationForModuleFunctions.rst
index cd95854f34dc..053942d8193a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97135-NewRegistrationForModuleFunctions.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97135-NewRegistrationForModuleFunctions.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97135:
+
 =======================================================
 Feature: #97135 - New Registration for module functions
 =======================================================
@@ -14,8 +16,9 @@ Previously, module functions could be added to modules such as
 now removed global :php:`TBE_MODULES_EXT` array.
 
 Since those functions are actually additional - "third-level" - modules,
-they are now registered as such via the :doc:`new Module Registration API <Feature-96733-NewBackendModuleRegistrationAPI>`,
-in an extensions' :file:`Configuration/Backend/Modules.php` file.
+they are now registered as such via the
+:doc:`new Module Registration API <Feature-96733-NewBackendModuleRegistrationAPI>`,
+in an extension's :file:`Configuration/Backend/Modules.php` file.
 
 Next to the additional configuration options, e.g. for defining the position,
 this also allows administrators to define access permissions via the module
@@ -31,7 +34,7 @@ Registration of an additional - "third-level" - module for
 :guilabel:`Web > Template` in the :file:`Configuration/Backend/Modules.php`
 file of an extension:
 
-.. code-block:: php
+..  code-block:: php
 
     'web_ts_customts' => [
         'parent' => 'web_ts',
@@ -51,12 +54,11 @@ file of an extension:
         ],
     ],
 
-
 Impact
 ======
 
 Additional - "third-level" - modules are now registered in the
-extensions' :file:`Configuration/Backend/Modules.php` file, the
+extension's :file:`Configuration/Backend/Modules.php` file, the
 same way as main and submodules. This therefore allows those
 modules to benefit from the same functionality.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97159-NewTCATypeLink.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97159-NewTCATypeLink.rst
index 0d739fb75914..fba93e177048 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97159-NewTCATypeLink.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97159-NewTCATypeLink.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97159:
+
 =====================================
 Feature: #97159 - New TCA type "link"
 =====================================
@@ -20,43 +22,42 @@ cases, the TCA type :php:`link` has been introduced. It replaces the
 
 The TCA type :php:`link` features the following column configuration:
 
-- :php:`allowedTypes`
-- :php:`appearance`: :php:`enableBrowser`, :php:`browserTitle`, :php:`allowedOptions`, :php:`allowedFileExtensions`
-- :php:`autocomplete`
-- :php:`behaviour`: :php:`allowLanguageSynchronization`
-- :php:`default`
-- :php:`fieldControl`
-- :php:`fieldInformation`
-- :php:`fieldWizard`
-- :php:`mode`
-- :php:`nullable`
-- :php:`placeholder`
-- :php:`readOnly`
-- :php:`required`
-- :php:`search`
-- :php:`size`
-- :php:`valuePicker`
-
-.. note::
-
+-   :php:`allowedTypes`
+-   :php:`appearance`: :php:`enableBrowser`, :php:`browserTitle`,
+    :php:`allowedOptions`, :php:`allowedFileExtensions`
+-   :php:`autocomplete`
+-   :php:`behaviour`: :php:`allowLanguageSynchronization`
+-   :php:`default`
+-   :php:`fieldControl`
+-   :php:`fieldInformation`
+-   :php:`fieldWizard`
+-   :php:`mode`
+-   :php:`nullable`
+-   :php:`placeholder`
+-   :php:`readOnly`
+-   :php:`required`
+-   :php:`search`
+-   :php:`size`
+-   :php:`valuePicker`
+
+..  note::
     The soft reference definition :php:`softref=typolink` is automatically applied
     to all TCA type :php:`link` columns.
 
-.. note::
+..  note::
+    The value of TCA type :php:`link` columns is automatically trimmed before
+    being stored in the database. Therefore, the :php:`eval=trim` option is no
+    longer needed and should be removed from the TCA configuration.
 
-   The value of TCA type :php:`link` columns is automatically trimmed before
-   being stored in the database. Therefore, the :php:`eval=trim` option is no
-   longer needed and should be removed from the TCA configuration.
+The following column configurations can be overwritten by page TSconfig:
 
-The following column configuration can be overwritten by page TSconfig:
-
-- :typoscript:`readOnly`
-- :typoscript:`size`
+*   :typoscript:`readOnly`
+*   :typoscript:`size`
 
 The previously configured :php:`linkPopup` field control is now integrated
 into the new TCA type directly. Additionally, instead of exclude lists
 (:php:`[blindLink[Fields|Options]`) the new type now use include lists.
-Those lists are furthermore no longer comma-separated, but PHP :php:`array`s,
+Those lists are furthermore no longer comma-separated, but PHP arrays,
 with each option as a separate value.
 
 The replacement for the previously used :php:`blindLinkOptions` option is the
@@ -87,7 +88,7 @@ has to be set to :php:`false`.
 A complete migration from :php:`renderType=inputLink` to :php:`type=link`
 looks like the following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
@@ -139,7 +140,6 @@ An automatic TCA migration is performed on the fly, migrating all occurrences
 to the new TCA type and triggering a PHP :php:`E_USER_DEPRECATED` error
 where code adoption has to take place.
 
-
 .. note::
 
     The corresponding FormEngine class has been renamed from :php:`InputLinkElement`
@@ -147,7 +147,6 @@ where code adoption has to take place.
     extensions calling this class directly, which is rather unlikely. The
     extension scanner will report any usage, which should then be migrated.
 
-
 Allowed type "record"
 =====================
 
@@ -164,7 +163,7 @@ automatically in the :php:`link` element, depending on the context.
 To limit this in TCA already, replace the :php:`record` value with the
 desired record identifiers.
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
     'allowedTypes' => ['page', 'url', 'record'],
@@ -172,7 +171,6 @@ desired record identifiers.
     // After
     'allowedTypes' => ['page', 'url', 'tx_news', 'tt_address'],
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97173-AutoCreationOfDatabaseFieldsForTCASlug.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97173-AutoCreationOfDatabaseFieldsForTCASlug.rst
index d7f34f99f049..29b3c7182ad3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97173-AutoCreationOfDatabaseFieldsForTCASlug.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97173-AutoCreationOfDatabaseFieldsForTCASlug.rst
@@ -11,11 +11,14 @@ See :issue:`97173`
 Description
 ===========
 
-TYPO3 automatically creates database fields for TCA type :php:`slug` columns, if they have not already been defined in an extensions' :file:`ext_tables.sql` file.
+TYPO3 automatically creates database fields for TCA type :php:`slug` columns,
+if they have not already been defined in an extension's :file:`ext_tables.sql`
+file.
 
 Impact
 ======
 
-The corresponding database field definition of a slug field can be omitted from ' :file:`ext_tables.sql`.
+The corresponding database field definition of a slug field can be omitted from
+:file:`ext_tables.sql`.
 
 .. index:: Database, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97174-PSR-14EventForModifyingInfoModuleContent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97174-PSR-14EventForModifyingInfoModuleContent.rst
index 35eb0891ded4..b68ad0c6fb70 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97174-PSR-14EventForModifyingInfoModuleContent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97174-PSR-14EventForModifyingInfoModuleContent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97174:
+
 ================================================================
 Feature: #97174 - PSR-14 event for modifying info module content
 ================================================================
@@ -11,7 +13,8 @@ Description
 
 A new PSR-14 event :php:`\TYPO3\CMS\Info\Controller\Event\ModifyInfoModuleContentEvent`
 has been introduced which serves as a more powerful and flexible alternative
-for the now removed :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/web_info/class.tx_cms_webinfo.php']['drawFooterHook']`
+for the now removed
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/web_info/class.tx_cms_webinfo.php']['drawFooterHook']`
 hook.
 
 While the removed hook effectively only allowed to add content
@@ -43,18 +46,18 @@ content.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/content-to-info-module'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/content-to-info-module'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Info\Controller\Event\ModifyInfoModuleContentEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97187-PSR-14EventForModifyingLinkExplanation.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97187-PSR-14EventForModifyingLinkExplanation.rst
index 131827bb4090..c85f0a467590 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97187-PSR-14EventForModifyingLinkExplanation.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97187-PSR-14EventForModifyingLinkExplanation.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97187:
+
 =============================================================
 Feature: #97187 - PSR-14 event for modifying link explanation
 =============================================================
@@ -43,18 +45,18 @@ The current context can be evaluated using the following methods:
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\ModifyLinkExplanationEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-link-explanation'
+    MyVendor\MyPackage\Backend\ModifyLinkExplanationEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-link-explanation'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Form\Event\ModifyLinkExplanationEvent;
     use TYPO3\CMS\Core\Imaging\Icon;
@@ -62,15 +64,21 @@ The corresponding event listener class:
 
     final class ModifyLinkExplanationEventListener
     {
-        public function __construct(protected readonly IconFactory $iconFactory)
-        {
+        public function __construct(
+            protected readonly IconFactory $iconFactory
+        ) {
         }
 
-        public function __invoke(ModifyLinkExplanationEvent $event): void
-        {
+        public function __invoke(
+            ModifyLinkExplanationEvent $event
+        ): void {
             // Use a custom icon for a custom link type
             if ($event->getLinkData()['type'] === 'myCustomLinkType') {
-                $event->setLinkExplanationValue('icon', $this->iconFactory->getIcon('my-custom-link-icon', Icon::SIZE_SMALL)->render());
+                $icon = $this->iconFactory->getIcon(
+                    'my-custom-link-icon',
+                    Icon::SIZE_SMALL
+                )->render()
+                $event->setLinkExplanationValue('icon', $icon);
             }
         }
     }
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97188-NewRegistrationForElementBrowsers.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97188-NewRegistrationForElementBrowsers.rst
index 0c88821f2cc9..e7b94bad527e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97188-NewRegistrationForElementBrowsers.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97188-NewRegistrationForElementBrowsers.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97188:
+
 =======================================================
 Feature: #97188 - New registration for element browsers
 =======================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97193-NewTCATypeNumber.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97193-NewTCATypeNumber.rst
index 4ba3b7b2460f..a54aac8a8b44 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97193-NewTCATypeNumber.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97193-NewTCATypeNumber.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97193:
+
 =======================================
 Feature: #97193 - New TCA type "number"
 =======================================
@@ -67,14 +69,13 @@ which can be set to :php:`decimal` or :php:`integer`, which is the default.
     The options :php:`range`, :php:`slider` as well as :php:`eval=double2`
     are no longer evaluated for TCA type :php:`input`.
 
-
 Migration
 ---------
 
 The migration from :php:`eval='int'` to :php:`type=number`
 is done like following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
@@ -98,7 +99,7 @@ is done like following:
 The migration from :php:`eval=double2` to :php:`type=number`
 is done like following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97201-PSR-14EventForModifyingNewContentElementWizardItems.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97201-PSR-14EventForModifyingNewContentElementWizardItems.rst
index e49a0a584cd4..42a9dd01ac6f 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97201-PSR-14EventForModifyingNewContentElementWizardItems.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97201-PSR-14EventForModifyingNewContentElementWizardItems.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97201:
+
 =============================================================================
 Feature: #97201 - PSR-14 event for modifying new content element wizard items
 =============================================================================
@@ -11,7 +13,8 @@ Description
 
 A new PSR-14 event :php:`\TYPO3\CMS\Backend\Controller\Event\ModifyNewContentElementWizardItemsEvent`
 has been introduced which serves as a more powerful and flexible alternative
-for the now removed hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']`.
+for the now removed hook
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']`.
 
 The event is called after TYPO3 has already prepared the wizard items,
 defined in TSconfig (:typoscript:`mod.wizards.newContentElement.wizardItems`).
@@ -61,24 +64,26 @@ Following methods are available:
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Frontend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-wizard-items'
+    MyVendor\MyPackage\Frontend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-wizard-items'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\ModifyNewContentElementWizardItemsEvent;
 
     class MyEventListener {
 
-        public function __invoke(ModifyNewContentElementWizardItemsEvent $event): void
+        public function __invoke(
+            ModifyNewContentElementWizardItemsEvent $event
+        ): void
         {
             // Add a new wizard item after "textpic"
             $event->setWizardItem(
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97230-PSR-14EventForModifyingImageManipulationPreviewUrl.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97230-PSR-14EventForModifyingImageManipulationPreviewUrl.rst
index e7cda7a90fb0..a649590405f2 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97230-PSR-14EventForModifyingImageManipulationPreviewUrl.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97230-PSR-14EventForModifyingImageManipulationPreviewUrl.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97230:
+
 ===========================================================================
 Feature: #97230 - PSR-14 event for modifying image manipulation preview URL
 ===========================================================================
@@ -37,18 +39,18 @@ PSR-14 event feature the following methods:
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-imagemanipulation-previewurl'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-imagemanipulation-previewurl'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Form\Event\ModifyImageManipulationPreviewUrlEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97231-PSR-14EventsForModifyingInlineElementControls.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97231-PSR-14EventsForModifyingInlineElementControls.rst
index 86329281cf10..5657953d8569 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97231-PSR-14EventsForModifyingInlineElementControls.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97231-PSR-14EventsForModifyingInlineElementControls.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97231:
+
 =====================================================================
 Feature: #97231 - PSR-14 events for modifying inline element controls
 =====================================================================
@@ -12,7 +14,8 @@ Description
 The new PSR-14 events :php:`\TYPO3\CMS\Backend\Form\Event\ModifyInlineElementEnabledControlsEvent`
 and :php:`\TYPO3\CMS\Backend\Form\Event\ModifyInlineElementControlsEvent`
 have been introduced, which serve as a more powerful and flexible replacement
-for the now removed hook :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms_inline.php']['tceformsInlineHook']`.
+for the now removed hook
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms_inline.php']['tceformsInlineHook']`.
 
 The :php:`\TYPO3\CMS\Backend\Form\Event\ModifyInlineElementEnabledControlsEvent`
 is called before any control markup is generated. It can be used to
@@ -36,22 +39,22 @@ or to completely remove a control.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Frontend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-enabled-controls'
-        method: 'modifyEnabledControls'
-      - name: event.listener
-        identifier: 'my-package/backend/modify-controls'
-        method: 'modifyControls'
+    MyVendor\MyPackage\Frontend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-enabled-controls'
+          method: 'modifyEnabledControls'
+        - name: event.listener
+          identifier: 'my-package/backend/modify-controls'
+          method: 'modifyControls'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Form\Event\ModifyInlineElementEnabledControlsEvent;
     use TYPO3\CMS\Backend\Form\Event\ModifyInlineElementControlsEvent;
@@ -59,28 +62,36 @@ The corresponding event listener class:
     use TYPO3\CMS\Core\Imaging\IconFactory;
     use TYPO3\CMS\Core\Utility\GeneralUtility;
 
-    class MyEventListener {
+    class MyEventListener
+    {
 
-        public function modifyEnabledControls(ModifyInlineElementEnabledControlsEvent $event): void
-        {
+        public function modifyEnabledControls(
+            ModifyInlineElementEnabledControlsEvent $event
+        ): void {
             // Enable a control depending on the foreign table
-            if ($event->getForeignTable() === 'sys_file_reference' && $event->isControlEnabled('sort')) {
+            if ($event->getForeignTable() === 'sys_file_reference'
+                && $event->isControlEnabled('sort')) {
                 $event->enableControl('sort');
             }
         }
 
-        public function modifyControls(ModifyInlineElementControlsEvent $event): void
-        {
+        public function modifyControls(
+            ModifyInlineElementControlsEvent $event
+        ): void {
             // Add a custom control depending on the parent table
             if ($event->getElementData()['inlineParentTableName'] === 'tt_content') {
                 $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
+                $iconCode = $iconFactory->getIcon(
+                    'my-icon-identifier',
+                    Icon::SIZE_SMALL
+                )->render();
                 $event->setControl(
                     'tx_my_control',
-                    '<a href="/some/url" class="btn btn-default t3js-modal-trigger">' . $iconFactory->getIcon('my-icon-identifier', Icon::SIZE_SMALL)->render() . '</a>'
+                    '<a href="/some/url" class="btn btn-default t3js-modal-trigger">'
+                    . $iconCode . '</a>'
                 );
             }
         }
-
     }
 
 Available Methods
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97232-NewTCATypeDatetime.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97232-NewTCATypeDatetime.rst
index a9932816fa38..23c3565cb297 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97232-NewTCATypeDatetime.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97232-NewTCATypeDatetime.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97232:
+
 =========================================
 Feature: #97232 - New TCA type "datetime"
 =========================================
@@ -57,7 +59,7 @@ The following column configuration can be overwritten by page TSconfig:
 A complete migration from :php:`renderType=inputDateTime` to :php:`type=datetime`
 looks like the following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
@@ -99,10 +101,10 @@ where code adoption has to take place.
     extension scanner will report any usage, which should then be migrated.
 
 Automatic database fields
-^^^^^^^^^^^^^^^^^^^^^^^^^
+-------------------------
 
 TYPO3 automatically creates database fields for TCA type :php:`datetime`
-columns, if they have not already been defined in an extensions'
+columns, if they have not already been defined in an extension's
 :file:`ext_tables.sql` file. This also supports columns, having a
 native database type (:php:`dbType`) defined. Fields without a native
 type always define :sql:`default 0` and are always signed (to allow
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97254-AddLuxembourgishAsSupportedLanguage.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97254-AddLuxembourgishAsSupportedLanguage.rst
index 2e4620f751ff..19661c06c670 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97254-AddLuxembourgishAsSupportedLanguage.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97254-AddLuxembourgishAsSupportedLanguage.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97254:
+
 =========================================================
 Feature: #97254 - Add Luxembourgish as supported language
 =========================================================
@@ -11,21 +13,23 @@ Description
 
 TYPO3 now supports Luxembourgish out of the box.
 
-Luxembourgish is one of the three administrative languages of Luxembourg (https://en.wikipedia.org/wiki/Luxembourgish).
+Luxembourgish is one of the three administrative languages of Luxembourg
+(https://en.wikipedia.org/wiki/Luxembourgish).
 
 The ISO 639-1 code for Luxembourgish is "lb", which is how TYPO3
 is accessing the language internally.
 
-
 Impact
 ======
 
 It is now possible to
 
-* Fetch translated labels from translations.typo3.org / Crowdin automatically within the TYPO3 Backend
-* Switch the Backend Interface to Luxembourgish language
-* Create a new language in a site configuration using Luxembourgish
-* Create translation files with the "lb" prefix (such as `lb.locallang.xlf`) to create your own labels
+*   Fetch translated labels from translations.typo3.org / Crowdin automatically
+    within the TYPO3 Backend
+*   Switch the Backend Interface to Luxembourgish language
+*   Create a new language in a site configuration using Luxembourgish
+*   Create translation files with the "lb" prefix (such as `lb.locallang.xlf`)
+    to create your own labels
 
 and TYPO3 picks Luxembourgish as a language just like any other
 supported language.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97271-NewTCATypeColor.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97271-NewTCATypeColor.rst
index b665ac54fb13..6178bd7edbe3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97271-NewTCATypeColor.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97271-NewTCATypeColor.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97271:
+
 ======================================
 Feature: #97271 - New TCA type "color"
 ======================================
@@ -35,13 +37,11 @@ The TCA type :php:`color` features the following column configuration:
 - :php:`valuePicker`: :php:`items`
 
 .. note::
-
    The value of TCA type :php:`color` columns is automatically trimmed before
    being stored in the database. Therefore, the :php:`eval=trim` option is no
    longer needed and should be removed from the TCA configuration.
 
 .. note::
-
    The :php:`valuePicker` allows to define default color codes via :php:`items`
    for a TCA type :php:`color` field.
 
@@ -53,7 +53,7 @@ The following column configuration can be overwritten by page TSconfig:
 A complete migration from :php:`renderType=colorpicker` to :php:`type=color`
 looks like the following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
 
@@ -95,7 +95,6 @@ to the new TCA type and triggering a PHP :php:`E_USER_DEPRECATED` error
 where code adoption has to take place.
 
 .. note::
-
     The corresponding FormEngine class has been renamed from
     :php:`InputColorPickerElement` to :php:`ColorElement`. An entry in
     the "ClassAliasMap" has been added for extensions calling this class
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst
index 736dbe4ea61b..1837749b68b0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97305-IntroduceCSRF-likeRequest-tokenHandling.rst
@@ -36,7 +36,6 @@ Submitting request-token value to application:
 * HTTP body, e.g. in `<form>` via parameter `__request_token`
 * HTTP header, e.g. in XHR via header `X-TYPO3-Request-Token`
 
-
 The sequence looks like the following:
 
 1. Retrieve nonce and request-token values
@@ -47,32 +46,39 @@ a corresponding form that shall be protected. The `RequestToken` and `Nonce`
 objects (later created implicitly in this example) are organized in new
 :php:`\TYPO3\CMS\Core\Context\SecurityAspect`.
 
-.. code-block:: php
+..  code-block:: php
+
+    use \TYPO3\CMS\Core\Context\Context;
+    use \TYPO3\CMS\Core\Security\RequestToken;
+    use \TYPO3\CMS\Fluid\View\StandaloneView;
 
     class MyController
     {
-        protected \TYPO3\CMS\Fluid\View\StandaloneView $view;
-        protected \TYPO3\CMS\Core\Context\Context $context;
+        protected StandaloneView $view;
+        protected Context $context;
 
         public function showFormAction()
         {
-            // creating new request-token with scope 'my/process' and hand over to view
-            $requestToken = \TYPO3\CMS\Core\Security\RequestToken::create('my/process');
+            // creating new request-token with scope
+            // 'my/process' and hand over to view
+            $requestToken = RequestToken::create('my/process');
             $this->view->assign('requestToken', $requestToken)
-            // ...
-        }
+                // ...
+            }
 
-        public function processAction() {}
+        public function processAction()
+        {
+        }
     }
 
-.. code-block:: html
+..  code-block:: html
 
     <!-- in ShowForm.html template: assign request-token object for view-helper -->
     <f:form action="process" requestToken="{requestToken}>...</f:form>
 
 The HTTP response on calling the shown controller-action above will be like this:
 
-.. code-block:: text
+..  code-block:: text
 
     HTTP/1.1 200 OK
     Content-Type: text/html; charset=utf-8
@@ -99,7 +105,7 @@ of providing received nonce and received request-token values in
 :php:`\TYPO3\CMS\Core\Context\SecurityAspect`. The handling controller-action
 needs to verify that the request-token has the expected `'my/process'` scope.
 
-.. code-block:: php
+..  code-block:: php
 
     class MyController
     {
@@ -136,7 +142,6 @@ needs to verify that the request-token has the expected `'my/process'` scope.
         }
     }
 
-
 Impact
 ======
 
@@ -151,5 +156,4 @@ The current concept uses a :php:`\TYPO3\CMS\Core\Security\NoncePool` which
 supports five different nonces in the same request. The pool purges nonces
 15 minutes (900 seconds) after they have been issued.
 
-
 .. index:: Backend, Fluid, Frontend, PHP-API, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97306-RefreshTheLookOfPagemodule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97306-RefreshTheLookOfPagemodule.rst
index 90f2fcc66432..8b2df28c7e03 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97306-RefreshTheLookOfPagemodule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97306-RefreshTheLookOfPagemodule.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97306:
+
 =================================================
 Feature: #97306 - Refresh the look of page module
 =================================================
@@ -14,19 +16,22 @@ It is based on the UX Team's concept of improving user experience for editors.
 
 Further links to the page module concept and official communication:
 
-*  First step page module `simplification <https://typo3.org/article/structured-content-initiative-what-happened-between-july-and-november>`__ with screenshots
-*  Promotion of page module `pilot <https://typo3.org/article/structured-content-initiative-feedback-wanted>`__
+*   First step page module
+    `simplification <https://typo3.org/article/structured-content-initiative-what-happened-between-july-and-november>`__
+    with screenshots
+*   Promotion of page module
+    `pilot <https://typo3.org/article/structured-content-initiative-feedback-wanted>`__
 
 Impact
 ======
 
-* Underlying CSS is refactored and optimized for future adaptations.
-* Content element boxes and their header buttons are visually simplified.
-* Hidden content elements are now differentiated with a better opacity
-  and a dotted border.
-* :guilabel:`New Content` buttons were placed in the centre in preparation
-  for implementation of later concepts.
-* A new button for the content element context menu is added in the content
-  element header right button bar.
+*   Underlying CSS is refactored and optimized for future adaptations.
+*   Content element boxes and their header buttons are visually simplified.
+*   Hidden content elements are now differentiated with a better opacity
+    and a dotted border.
+*   :guilabel:`New Content` buttons were placed in the centre in preparation
+    for implementation of later concepts.
+*   A new button for the content element context menu is added in the content
+    element header right button bar.
 
 .. index:: Backend, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97320-NewRegistrationForReportsAndStatus.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97320-NewRegistrationForReportsAndStatus.rst
index 929ae98dcb47..47829d76025c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97320-NewRegistrationForReportsAndStatus.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97320-NewRegistrationForReportsAndStatus.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97320:
+
 =========================================================
 Feature: #97320 - New registration for reports and status
 =========================================================
@@ -10,12 +12,13 @@ Description
 ===========
 
 The system extension `reports` provides the possibility to render various reports.
-The most prominent and (only one) provided by the TYPO3 core is the one called `Status`.
+The most prominent and (only one) provided by the TYPO3 Core is the one called `Status`.
 The Status Report itself is extendable and shows status like a system environment check
 and status of the used extensions.
 
 Reports
 -------
+
 As all `reports` have to implement the :php:`ReportInterface` this fact is now
 used to automatically register the `report`, based on the interface,
 if :yaml:`autoconfigure` is enabled in :file:`Services.yaml`. Alternatively,
@@ -32,6 +35,7 @@ Due to the autoconfiguration, the following methods have to be implemented:
 
 Status
 ------
+
 As all `status` have to implement the :php:`StatusProviderInterface` this fact is now
 used to automatically register the `status`, based on the interface,
 if :yaml:`autoconfigure` is enabled in :file:`Services.yaml`. Alternatively,
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97326-OpenBackendPageFromAdminPanel.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97326-OpenBackendPageFromAdminPanel.rst
index 3e3382ab1e7e..a0bfbf9eb14b 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97326-OpenBackendPageFromAdminPanel.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97326-OpenBackendPageFromAdminPanel.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97326:
+
 ====================================================
 Feature: #97326 - Open backend page from admin panel
 ====================================================
@@ -12,11 +14,10 @@ Description
 In previous versions with EXT:feedit the admin panel had a button to directly
 open the currently viewed page in the backend. Since we have backend routing
 available, we can implement a similar feature directly in the admin panel.
-This will not replace the complete functionality of feedit, but it gives editors
+This will not replace the complete functionality of `feedit`, but it gives editors
 a possibility to navigate via the frontend and directly open the backend with a
 single click.
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97347-LiveSearchKeyboardNavigation.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97347-LiveSearchKeyboardNavigation.rst
index 957441ce7eee..ca6bb442f8d4 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97347-LiveSearchKeyboardNavigation.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97347-LiveSearchKeyboardNavigation.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97347:
+
 ==========================================================
 Feature: #97347 - Allow keyboard navigation in live search
 ==========================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97384-TCAOptionNullable.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97384-TCAOptionNullable.rst
index 37b586e8260b..65838c7cab48 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97384-TCAOptionNullable.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97384-TCAOptionNullable.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97384:
+
 =======================================
 Feature: #97384 - TCA option "nullable"
 =======================================
@@ -14,7 +16,7 @@ been extracted into its own option: :php:`nullable`, which is a `boolean` value.
 
 Example:
 
-.. code-block:: php
+..  code-block:: php
 
     'columns' => [
        'nullable_column' => [
@@ -26,7 +28,6 @@ Example:
        ],
     ],
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97449-PSR-14EventsForModifyingFlexFormParsing.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97449-PSR-14EventsForModifyingFlexFormParsing.rst
index 5d26309344ca..3d2ed731262e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97449-PSR-14EventsForModifyingFlexFormParsing.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97449-PSR-14EventsForModifyingFlexFormParsing.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97449:
+
 ==============================================================
 Feature: #97449 - PSR-14 events for modifying FlexForm parsing
 ==============================================================
@@ -23,28 +25,28 @@ should be used.
 Example
 =======
 
-Registration of the events in your extensions' :file:`Services.yaml`:
-
-.. code-block:: yaml
-
-  MyVendor\MyPackage\Backend\FlexFormParsingModifyEventListener:
-    tags:
-        - name: event.listener
-          identifier: 'form-framework/set-data-structure'
-          method: 'setDataStructure'
-        - name: event.listener
-          identifier: 'form-framework/modify-data-structure'
-          method: 'modifyDataStructure'
-        - name: event.listener
-          identifier: 'form-framework/set-data-structure-identifier'
-          method: 'setDataStructureIdentifier'
-        - name: event.listener
-          identifier: 'form-framework/modify-data-structure-identifier'
-          method: 'modifyDataStructureIdentifier'
+Registration of the events in your extension's :file:`Services.yaml`:
+
+..  code-block:: yaml
+
+    MyVendor\MyPackage\Backend\FlexFormParsingModifyEventListener:
+      tags:
+          - name: event.listener
+            identifier: 'form-framework/set-data-structure'
+            method: 'setDataStructure'
+          - name: event.listener
+            identifier: 'form-framework/modify-data-structure'
+            method: 'modifyDataStructure'
+          - name: event.listener
+            identifier: 'form-framework/set-data-structure-identifier'
+            method: 'setDataStructureIdentifier'
+          - name: event.listener
+            identifier: 'form-framework/modify-data-structure-identifier'
+            method: 'modifyDataStructureIdentifier'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Configuration\Event\AfterFlexFormDataStructureIdentifierInitializedEvent;
     use TYPO3\CMS\Core\Configuration\Event\AfterFlexFormDataStructureParsedEvent;
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97450-PSR-14EventForModifyingVersionDifferences.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97450-PSR-14EventForModifyingVersionDifferences.rst
index 371fb1dbb635..8ed683f40cbb 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97450-PSR-14EventForModifyingVersionDifferences.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97450-PSR-14EventForModifyingVersionDifferences.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97450:
+
 ================================================================
 Feature: #97450 - PSR-14 event for modifying version differences
 ================================================================
@@ -31,14 +33,12 @@ Furthermore does the event provide the following methods
 - :php:`getLiveRecordData()`: Returns the records live data (used to create the version difference)
 - :php:`getParameters()`: Returns meta information like current stage and current workspace
 
-.. note::
-
+..  note::
     The removed hook allowed to update the live record data. This however had
     no effect since those data are not further used by TYPO3. Therefore, the
     new event does no longer provide a setter for the live record data.
 
-.. note::
-
+..  note::
     The removed hook contained an instance of :php:`DiffUtility`, which can
     be used to generate the differences :php:`string`. Since PSR-14 events
     are usually pure data objects, without dependencies to any service, the
@@ -48,18 +48,18 @@ Furthermore does the event provide the following methods
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Workspaces\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/workspaces/modify-version-differences'
+    MyVendor\MyPackage\Workspaces\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/workspaces/modify-version-differences'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\Utility\DiffUtility;
     use TYPO3\CMS\Workspaces\Event\ModifyVersionDifferencesEvent;
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97451-PSR-14EventsForBackendPageController.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97451-PSR-14EventsForBackendPageController.rst
index 29774b3c1735..b2a32cd75f36 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97451-PSR-14EventsForBackendPageController.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97451-PSR-14EventsForBackendPageController.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97451:
+
 ==================================================================
 Feature: #97451 - PSR-14 events for modifying backend page content
 ==================================================================
@@ -8,6 +10,7 @@ See :issue:`97451`
 
 Description
 ===========
+
 A new PSR-14 event :php:`\TYPO3\CMS\Backend\Controller\Event\AfterBackendPageRenderEvent` has
 been introduced which serves as a direct replacement for the now removed
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/backend.php']['constructorPostProcess']`,
@@ -23,7 +26,7 @@ Example
 
 Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyVendor\MyPackage\MyEventListener:
       tags:
@@ -32,7 +35,7 @@ Registration of the event in your extension's :file:`Services.yaml`:
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\AfterBackendPageRenderEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97454-PSR14EventsForLinkBrowserLifecycle.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97454-PSR14EventsForLinkBrowserLifecycle.rst
index f33ac8860102..a880eaa135c8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97454-PSR14EventsForLinkBrowserLifecycle.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97454-PSR14EventsForLinkBrowserLifecycle.rst
@@ -26,19 +26,18 @@ The :php:`ModifyAllowedItemsEvent` can be used to dynamically modify the
 allowed link types. It is the direct replacement for the method :php:`modifyAllowedItems()`
 in the LinkBrowser hook.
 
-.. seealso::
+..  seealso::
     *   :ref:`breaking-97454-1657327622`
     *   :ref:`t3coreapi:modifyLinkHandlers`
     *   :ref:`t3coreapi:ModifyLinkHandlersEvent`
     *   :ref:`t3coreapi:ModifyAllowedItemsEvent`
 
-
 Example
 =======
 
 Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyVendor\MyPackage\MyEventListener:
       tags:
@@ -47,7 +46,7 @@ Registration of the event in your extension's :file:`Services.yaml`:
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\ModifyLinkHandlersEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97480-SymfonyExpressionLanguageProvidersAvailableInConfigurationModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97480-SymfonyExpressionLanguageProvidersAvailableInConfigurationModule.rst
index 14fddf9e3d72..ca8b434ca550 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97480-SymfonyExpressionLanguageProvidersAvailableInConfigurationModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97480-SymfonyExpressionLanguageProvidersAvailableInConfigurationModule.rst
@@ -9,8 +9,8 @@ See :issue:`97480`
 Description
 ===========
 
-A new entry ``Symfony Expression Language Providers`` is available in the menu
-of the :guilabel:`System > Configuration` module of the lowlevel system extension.
+A new entry `Symfony Expression Language Providers` is available in the menu
+of the :guilabel:`System > Configuration` module of the `lowlevel` system extension.
 When selected, all Symfony expression language providers including their
 `variables` and `functions` are shown.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97544-PSR-14EventsForModifyingPreviewURIs.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97544-PSR-14EventsForModifyingPreviewURIs.rst
index 182b799bde6b..9aee2998ac47 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97544-PSR-14EventsForModifyingPreviewURIs.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97544-PSR-14EventsForModifyingPreviewURIs.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97544:
+
 ==========================================================
 Feature: #97544 - PSR-14 events for modifying preview URIs
 ==========================================================
@@ -67,22 +69,22 @@ Methods of :php:`AfterPagePreviewUriGeneratedEvent`:
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-parameters'
-        method: 'modifyParameters'
-      - name: event.listener
-        identifier: 'my-package/backend/modify-preview-uri'
-        method: 'modifyPreviewUri'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-parameters'
+          method: 'modifyParameters'
+        - name: event.listener
+          identifier: 'my-package/backend/modify-preview-uri'
+          method: 'modifyPreviewUri'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Routing\Event\AfterPagePreviewUriGeneratedEvent;
     use TYPO3\CMS\Backend\Routing\Event\BeforePagePreviewUriGeneratedEvent;
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97595-ProvideDefaultQueueForNotifications.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97595-ProvideDefaultQueueForNotifications.rst
index 82f0c8d9e4c5..2739b3dd47eb 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97595-ProvideDefaultQueueForNotifications.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97595-ProvideDefaultQueueForNotifications.rst
@@ -23,10 +23,12 @@ automatically gain advantage of this feature.
 Example
 =======
 
-.. code-block:: php
+..  code-block:: php
 
     $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
-    $notificationQueue = $flashMessageService->getMessageQueueByIdentifier(FlashMessageQueue::NOTIFICATION_QUEUE);
+    $notificationQueue = $flashMessageService->getMessageQueueByIdentifier(
+        FlashMessageQueue::NOTIFICATION_QUEUE
+    );
     $flashMessage = GeneralUtility::makeInstance(
         FlashMessage::class,
         'I\'m a message rendered as notification',
@@ -35,7 +37,6 @@ Example
     );
     $notificationQueue->enqueue($flashMessage);
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97778-SupportOfLanguageDirectionInCkeditor.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97778-SupportOfLanguageDirectionInCkeditor.rst
index 94f92f6d7646..7ef92613cba8 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97778-SupportOfLanguageDirectionInCkeditor.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97778-SupportOfLanguageDirectionInCkeditor.rst
@@ -18,7 +18,6 @@ language of the current element.
 As fallback the page TSconfig configuration :typoscript:`RTE.config.contentsLanguageDirection = rtl`
 can be used.
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97787-EnumForSeveritiesIntroduced.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97787-EnumForSeveritiesIntroduced.rst
index 3dde40fdbd40..059097f16d78 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97787-EnumForSeveritiesIntroduced.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97787-EnumForSeveritiesIntroduced.rst
@@ -16,7 +16,6 @@ introduced, allowing streamlined usage of severities across the codebase. At the
 time of writing, this affects flash messages and status reports used in
 EXT:reports.
 
-
 Impact
 ======
 
@@ -24,13 +23,12 @@ The enum cases in :php:`\TYPO3\CMS\Core\Type\ContextualFeedbackSeverity` are
 meant to be a drop-in replacement for the severity constants of
 :php:`\TYPO3\CMS\Core\Messaging\FlashMessage` and :php:`\TYPO3\CMS\Reports\Status`.
 
-
 Example
 =======
 
 Example of using the enum in a flash message:
 
-.. code-block:: php
+..  code-block:: php
 
     $flashMessage = GeneralUtility::makeInstance(
         \TYPO3\CMS\Core\Messaging\FlashMessage::class,
@@ -39,10 +37,9 @@ Example of using the enum in a flash message:
         \TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::OK
     );
 
-
 Example of using the enum in a status report:
 
-.. code-block:: php
+..  code-block:: php
 
     $statusReport = GeneralUtility::makeInstance(
         \TYPO3\CMS\Reports\Status::class,
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97816-TypoScriptSyntaxImprovements.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97816-TypoScriptSyntaxImprovements.rst
index 5b9b7e792d33..a334d46cfe64 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97816-TypoScriptSyntaxImprovements.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97816-TypoScriptSyntaxImprovements.rst
@@ -26,7 +26,6 @@ the new capabilities.
 Also see :ref:`breaking-97816-1656350406`
 for an overview of breaking syntax changes.
 
-
 Impact
 ======
 
@@ -45,27 +44,27 @@ section has been removed.
 
 A couple of examples to clarify:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-  foo # This is a comment to an invalid line
+    foo # This is a comment to an invalid line
 
-  foo < bar // This is a comment
-  foo < bar /* This is a valid comment, too */
+    foo < bar // This is a comment
+    foo < bar /* This is a valid comment, too */
 
-  foo > # Another valid comment
+    foo > # Another valid comment
 
-  foo := addToList(1) # Yes, a comment
+    foo := addToList(1) # Yes, a comment
 
-  [foo = bar] # Much comment. Much wow.
+    [foo = bar] # Much comment. Much wow.
 
-  <INCLUDE_TYPOSCRIPT: source="..."> /* A comment */
+    <INCLUDE_TYPOSCRIPT: source="..."> /* A comment */
 
-  foo (
-    # This is NOT a comment but part of the value assignment!
-    bar = barValue
-  ) # This is a comment
+    foo (
+      # This is NOT a comment but part of the value assignment!
+      bar = barValue
+    ) # This is a comment
 
-  foo = bar // This is NOT a comment but part of the value assignment!
+    foo = bar // This is NOT a comment but part of the value assignment!
 
 @import in conditions
 ---------------------
@@ -74,13 +73,13 @@ Placing an :typoscript:`@import` keyword within a condition is now supported,
 the example below works. Note that this obsoletes the clumsy :typoscript:`<INCLUDE_TYPOSCRIPT:`
 syntax, and integrators are encouraged to fully switch to :typoscript:`@import`.
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-  [loginUser('*')]
-    @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
-  [ELSE]
-    @import 'EXT:my_extension/Configuration/TypoScript/NotLoggedInUser.typoscript
-  [END]
+    [loginUser('*')]
+      @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
+    [ELSE]
+      @import 'EXT:my_extension/Configuration/TypoScript/NotLoggedInUser.typoscript
+    [END]
 
 Scope restriction to file / snipped level
 -----------------------------------------
@@ -100,13 +99,13 @@ Nesting conditions is partially possible with the new TypoScript parser, **if**
 conditions are in different files. As example, let's first sort what happens when
 two conditions follow directly in one snippet:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-  [loginUser('*')]
-    @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
-  [applicationContext == "Development"]
-    @import 'EXT:my_extension/Configuration/TypoScript/Development.typoscript
-  [END]
+    [loginUser('*')]
+      @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
+    [applicationContext == "Development"]
+      @import 'EXT:my_extension/Configuration/TypoScript/Development.typoscript
+    [END]
 
 This always worked and did not change with the new parser: Opening a new condition
 automatically closes the preceding one. In the example above, both conditions are
@@ -117,16 +116,16 @@ But, and this in new, nesting conditions within different files is possible now.
 In the example below, file :file:`LoggedInUserDevelopment.typoscript` is only
 included if a user is logged in *and* the application is in development context.
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
-  [loginUser('*')]
-    @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
-  [END]
+    [loginUser('*')]
+      @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUser.typoscript
+    [END]
 
-  File LoggedInUser.typoscript:
-  [applicationContext == "Development"]
-    @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUserDevelopment.typoscript
-  [END]
+    # File LoggedInUser.typoscript:
+    [applicationContext == "Development"]
+      @import 'EXT:my_extension/Configuration/TypoScript/LoggedInUserDevelopment.typoscript
+    [END]
 
 Irrelevant order of <INCLUDE_TYPOSCRIPT: tokens
 -----------------------------------------------
@@ -155,14 +154,14 @@ Further clarifications
   This shouldn't have huge impact in real life usage and is documented for completeness. Consider this
   example:
 
-  .. code-block::
+  ..  code-block:: typoscript
 
-    lib.viewConfig {
-      baz = bazValue
-    }
+      lib.viewConfig {
+        baz = bazValue
+      }
 
-    first = FLUIDTEMPLATE
-    first < lib.viewConfig
+      first = FLUIDTEMPLATE
+      first < lib.viewConfig
 
   The situation is there that :typoscript:`lib.viewConfig` has no assigned value (just children). The
   target :typoscript:`first` however has value :typoscript:`FLUIDTEMPLATE`. The old TypoScript parser
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97821-OptionToConfigurePrimaryActionsInFileList.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97821-OptionToConfigurePrimaryActionsInFileList.rst
index b0ff1ece1986..486d2e9042cb 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97821-OptionToConfigurePrimaryActionsInFileList.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97821-OptionToConfigurePrimaryActionsInFileList.rst
@@ -21,7 +21,6 @@ Example:
 
     options.file_list.primaryActions = view,metadata,copy,cut,delete
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour.rst
index fd44a58d6144..ea6e65054b7a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97862-NewPSR-14EventsForManipulatingFrontendPageGenerationAndCacheBehaviour.rst
@@ -29,18 +29,18 @@ generated in the TYPO3 Frontend.
 Example
 =======
 
-Registration of the `AfterCacheableContentIsGeneratedEvent` in your extensions' :file:`Services.yaml`:
+Registration of the `AfterCacheableContentIsGeneratedEvent` in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/content-modifier'
+    MyVendor\MyPackage\Backend\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/content-modifier'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Frontend\Event\AfterCacheableContentIsGeneratedEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97926-ConfigureExtbasePersistenceLanguageViaLanguageAspect.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97926-ConfigureExtbasePersistenceLanguageViaLanguageAspect.rst
index 98ac329fbf92..8ac5f8989f37 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97926-ConfigureExtbasePersistenceLanguageViaLanguageAspect.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97926-ConfigureExtbasePersistenceLanguageViaLanguageAspect.rst
@@ -11,7 +11,7 @@ See :issue:`97926`
 Description
 ===========
 
-Extbase's Persistence functionality allows to configure the ORM queries via QuerySettings.
+Extbase's persistence functionality allows to configure the ORM queries via QuerySettings.
 
 QuerySettings now accept to use a custom LanguageAspect (known from the Context API)
 to define the language ID and the overlay behaviour.
@@ -19,7 +19,6 @@ to define the language ID and the overlay behaviour.
 This is more consistent to other places within TYPO3 Core to define translation behaviour when
 querying records.
 
-
 Impact
 ======
 
@@ -28,9 +27,11 @@ in any Repository class:
 
 Example to use the fallback to the default language when working with overlays:
 
-.. code-block:: php
+..  code-block:: php
 
-        $query = $this->createQuery();
-        $query->getQuerySettings()->setLanguageAspect(new LanguageAspect(2, 2, LanguageAspect::OVERLAYS_MIXED));
+    $query = $this->createQuery();
+    $query->getQuerySettings()->setLanguageAspect(
+        new LanguageAspect(2, 2, LanguageAspect::OVERLAYS_MIXED)
+    );
 
-.. index:: PHP-API, ext:extbase
\ No newline at end of file
+.. index:: PHP-API, ext:extbase
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97941-ImprovedTypoScriptTemplateAnalyzer.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97941-ImprovedTypoScriptTemplateAnalyzer.rst
index c78c058d0f37..4054a1dc6c50 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97941-ImprovedTypoScriptTemplateAnalyzer.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97941-ImprovedTypoScriptTemplateAnalyzer.rst
@@ -27,7 +27,7 @@ Impact
 ======
 
 The "Template Analyzer" is now based on the
-:doc:`new TypoScript Parser <Breaking-97816-TypoScriptSyntaxImprovements.rst>`
+:ref:`new TypoScript Parser <breaking-97816-1656350406>`
 and gives more information to integrators and administrators.
 
 .. index:: Backend, TypoScript, ext:tstemplate
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97945-PSR14AfterPageTreeItemsPreparedEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97945-PSR14AfterPageTreeItemsPreparedEvent.rst
index 119cfb4cd97c..dad2c79bd616 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97945-PSR14AfterPageTreeItemsPreparedEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-97945-PSR14AfterPageTreeItemsPreparedEvent.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _feature-97945:
+
 ========================================================
 Feature: #97945 - PSR-14 AfterPageTreeItemsPreparedEvent
 ========================================================
@@ -24,18 +26,18 @@ record in the special :php:`_page` key.
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml` file:
+Registration of the event in your extension's :file:`Services.yaml` file:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Workspaces\MyEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/workspaces/modify-page-tree-items'
+    MyVendor\MyPackage\Workspaces\MyEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/workspaces/modify-page-tree-items'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\AfterPageTreeItemsPreparedEvent;
 
@@ -57,7 +59,7 @@ The corresponding event listener class:
 Impact
 ======
 
-It's now possible to modify the prepared page tree items before they are
+It is now possible to modify the prepared page tree items before they are
 returned by the :php:`TreeController`, using the new PSR-14 event
 :php:`AfterPageTreeItemsPreparedEvent`.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98016-PSR-14EvaluateModifierFunctionEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98016-PSR-14EvaluateModifierFunctionEvent.rst
index b78a0857d3a5..57b50521bdfd 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98016-PSR-14EvaluateModifierFunctionEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98016-PSR-14EvaluateModifierFunctionEvent.rst
@@ -14,20 +14,20 @@ Description
 A new PSR-14 event :php:`\TYPO3\CMS\Core\TypoScript\AST\Event\EvaluateModifierFunctionEvent`
 has been introduced which allows own TypoScript functions using the :typoscript:`:=` operator.
 
-This is a substitution of the old :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']`
+This is a substitution of the old
+:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']`
 hook as described in :ref:`this Changelog <breaking-98016-1658731955>`.
 
-
 Impact
 ======
 
-The TYPO3 core tests come with test extension
+The TYPO3 Core tests come with test extension
 :file:`EXT:core/Tests/Functional/Fixtures/Extensions/test_typoscript_ast_function_event` to functional
 test the new event. The extension implements an example listener that can be used as boilerplate.
 
 A simple TypoScript example looks like this:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
 
     someIdentifier = originalValue
     someIdentifier := myModifierFunction(myFunctionArgument)
@@ -35,7 +35,7 @@ A simple TypoScript example looks like this:
 To implement :typoscript:`myModifierFunction`, an extension needs to register an event listener
 in file :file:`Configuration/Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyVendor\MyPackage\EventListener\MyTypoScriptModifierFunction:
     tags:
@@ -44,7 +44,7 @@ in file :file:`Configuration/Services.yaml`:
 
 The corresponding event listener class could look like this:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Core\TypoScript\AST\Event\EvaluateModifierFunctionEvent;
 
@@ -61,5 +61,4 @@ The corresponding event listener class could look like this:
         }
     }
 
-
 .. index:: PHP-API, TSConfig, TypoScript, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98130-AllowDeprecationOfIconsInExtensions.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98130-AllowDeprecationOfIconsInExtensions.rst
index f73111b7471e..08f640030653 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98130-AllowDeprecationOfIconsInExtensions.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98130-AllowDeprecationOfIconsInExtensions.rst
@@ -19,7 +19,6 @@ data:
 * :php:`until` - when will the icon be removed
 * :php:`replacement` - if given, an alternative icon is offered
 
-
 Impact
 ======
 
@@ -28,7 +27,7 @@ as deprecated properly with logging to the TYPO3 deprecation log.
 
 Example:
 
-.. code-block:: php
+..  code-block:: php
 
     // Configuration/Icons.php
     return [
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98158-Symfony6Components.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98158-Symfony6Components.rst
index 7108cd723adc..be3a211f1e39 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98158-Symfony6Components.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98158-Symfony6Components.rst
@@ -16,11 +16,10 @@ in version 5.4. New features are available with the latest versions of Symfony C
 
 https://symfony.com/blog/category/living-on-the-edge/6.1
 
-
 Impact
 ======
 
 New functionality including PHP 8.1 functionality for used Symfony Components are
 included automatically for extension developers.
 
-.. index:: PHP-API, ext:core
\ No newline at end of file
+.. index:: PHP-API, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98171-AddExtbaseTypeConverterForEnums.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98171-AddExtbaseTypeConverterForEnums.rst
index 43aafd367eff..2437625de70a 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98171-AddExtbaseTypeConverterForEnums.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98171-AddExtbaseTypeConverterForEnums.rst
@@ -16,13 +16,12 @@ A new TypeConverter
 :php:`\TYPO3\CMS\Extbase\Property\TypeConverter\EnumConverter`
 was added with this feature.
 
-
 Example
 =======
 
 Given an enum like this one:
 
-.. code-block:: php
+..  code-block:: php
 
     enum ClosedStates
     {
@@ -33,15 +32,15 @@ Given an enum like this one:
 
 We can now use it like this in any Extbase action:
 
-.. code-block:: php
+..  code-block:: php
 
     public function overviewAction(ClosedStates $closed = ClosedStates::Hide): ResponseInterface
     {
         // ...
     }
 
-The URL argument can be send as `[closed]=Show` and is automatically converted to an instance of :php:`ClosedStates::Show`
-
+The URL argument can be send as `[closed]=Show` and is automatically converted
+to an instance of :php:`ClosedStates::Show`
 
 Impact
 ======
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98303-PSR-14EventsForModifyingLanguageOverlays.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98303-PSR-14EventsForModifyingLanguageOverlays.rst
index edfe0e307018..aa621890b038 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98303-PSR-14EventsForModifyingLanguageOverlays.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98303-PSR-14EventsForModifyingLanguageOverlays.rst
@@ -19,7 +19,7 @@ hooks.
 
 The new PSR-14 events allow listeners to modify corresponding information,
 before and after TYPO3 tries to overlay a language version of any kind of
-record. "Language Overlaying" is a core concept of TYPO3 to find a suitable
+record. "Language Overlaying" is a Core concept of TYPO3 to find a suitable
 translation for a record and merged together with the base record.
 
 * :php:`\TYPO3\CMS\Core\Domain\Event\BeforeRecordLanguageOverlayEvent`
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98304-PSR-14EventForModifyingEditFormUserAccess.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98304-PSR-14EventForModifyingEditFormUserAccess.rst
index dbde11534674..7ad06240b57e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98304-PSR-14EventForModifyingEditFormUserAccess.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98304-PSR-14EventForModifyingEditFormUserAccess.rst
@@ -16,42 +16,43 @@ hook.
 
 In contrast to the removed hook, the new event provides the full
 database row of the record in question next to the exception, which
-might have been set by the core. Additionally, the event allows to
+might have been set by the Core. Additionally, the event allows to
 modify the user access decision in an object-oriented way, using
 convenience methods.
 
 To modify the user access, the following methods are available:
 
-- :php:`allowUserAccess()`: Allows user access to the editing form
-- :php:`setLinkExplanation()`: Denies user access to the editing form
-- :php:`doesUserHaveAccess()`: Returns the current user access state
-- :php:`getAccessDeniedException()`: If core's DataProvider previously denied access, this returns the corresponding exception, :php:`null` otherwise
+*   :php:`allowUserAccess()`: Allows user access to the editing form
+*   :php:`setLinkExplanation()`: Denies user access to the editing form
+*   :php:`doesUserHaveAccess()`: Returns the current user access state
+*   :php:`getAccessDeniedException()`: If Core's DataProvider previously denied
+    access, this returns the corresponding exception, :php:`null` otherwise
 
 The following additional methods can be used for further context:
 
-- :php:`getTableName()`: Returns the table name of the record in question
-- :php:`getCommand()`: Returns the requested command, either `new` or `edit`
-- :php:`getDatabaseRow()`: Returns the record's database row
+*   :php:`getTableName()`: Returns the table name of the record in question
+*   :php:`getCommand()`: Returns the requested command, either `new` or `edit`
+*   :php:`getDatabaseRow()`: Returns the record's database row
 
 In case any listener to the new event denies user access, while it was initially
-allowed by core, the :php:`TYPO3\CMS\Backend\Form\Exception\AccessDeniedListenerException`
+allowed by Core, the :php:`TYPO3\CMS\Backend\Form\Exception\AccessDeniedListenerException`
 will be thrown.
 
 Example
 =======
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
-  MyVendor\MyPackage\Backend\Form\ModifyEditFormUserAccessEventListener:
-    tags:
-      - name: event.listener
-        identifier: 'my-package/backend/modify-edit-form-user-access'
+    MyVendor\MyPackage\Backend\Form\ModifyEditFormUserAccessEventListener:
+      tags:
+        - name: event.listener
+          identifier: 'my-package/backend/modify-edit-form-user-access'
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Form\Event\ModifyEditFormUserAccessEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98375-PSR-14EventsInPageModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98375-PSR-14EventsInPageModule.rst
index c5585e6b4cb4..597b61eaddfc 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98375-PSR-14EventsInPageModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98375-PSR-14EventsInPageModule.rst
@@ -11,7 +11,7 @@ See :issue:`98375`
 Description
 ===========
 
-Three new PSR-14 events have been added to TYPO3's Page Module to modify
+Three new PSR-14 events have been added to TYPO3's page module to modify
 the preparation and rendering of content elements:
 
 * :php:`TYPO3\CMS\Backend\View\Event\IsContentUsedOnPageLayoutEvent`
@@ -24,7 +24,6 @@ They are drop-in replacement to the removed hooks:
 * :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][PageLayoutView::class]['modifyQuery']`
 * :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']`
 
-
 Impact
 ======
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98426-PSR-14AfterRecordSummaryForLocalizationEvent.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98426-PSR-14AfterRecordSummaryForLocalizationEvent.rst
index fafea35ae321..c1e0856952cf 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98426-PSR-14AfterRecordSummaryForLocalizationEvent.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98426-PSR-14AfterRecordSummaryForLocalizationEvent.rst
@@ -24,9 +24,9 @@ The event features the following methods:
 - :php:`setColumns()`: Sets the current :php:`$columns` array
 - :php:`setRecords()`: Sets the current :php:`$records` array
 
-Registration of the event in your extensions' :file:`Services.yaml`:
+Registration of the event in your extension's :file:`Services.yaml`:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     MyVendor\MyPackage\EventListener\AfterRecordSummaryForLocalizationEventListener:
       tags:
@@ -35,7 +35,7 @@ Registration of the event in your extensions' :file:`Services.yaml`:
 
 The corresponding event listener class:
 
-.. code-block:: php
+..  code-block:: php
 
     use TYPO3\CMS\Backend\Controller\Event\AfterRecordSummaryForLocalizationEvent;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98431-SupportJavaScriptModulesInFormEngineResultArray.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98431-SupportJavaScriptModulesInFormEngineResultArray.rst
index 78ceaf3fd9ff..0d4af75969be 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98431-SupportJavaScriptModulesInFormEngineResultArray.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98431-SupportJavaScriptModulesInFormEngineResultArray.rst
@@ -23,7 +23,6 @@ Using :php:`'javaScriptModules'` is now the suggested to be used over
 :php:`'requireJsModules'`, as this latter is deprecated from now on
 and will be removed in TYPO3 v13.
 
-
 Impact
 ======
 
@@ -33,12 +32,11 @@ to be passed as value.
 
 Example JavaScript module registration:
 
-.. code-block:: php
+..  code-block:: php
 
     // use TYPO3\CMS\Core\Page\JavaScriptModuleInstruction;
     $resultArray['javaScriptModules'][] = JavaScriptModuleInstruction::create(
         '@my/extension/my-element.js'
     );
 
-
 .. index:: Backend, JavaScript, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98479-NewTCATypeFile.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98479-NewTCATypeFile.rst
index bb811dd108bb..de0b0ed9bf57 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98479-NewTCATypeFile.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98479-NewTCATypeFile.rst
@@ -23,16 +23,22 @@ reduce internal cross dependencies between TCA type `inline` and FAL.
 
 The new TCA type :php:`file` features the following column configuration:
 
-- :php:`allowed`
-- :php:`appearance`: :php:`collapseAll`, :php:`expandSingle`, :php:`createNewRelationLinkTitle`, :php:`useSortable`, :php:`enabledControls`, :php:`headerThumbnail`, :php:`fileUploadAllowed`, :php:`fileByUrlAllowed`, :php:`elementBrowserEnabled`, :php:`showPossibleLocalizationRecords`, :php:`showAllLocalizationLink`, :php:`showSynchronizationLink`, :php:`showFileSelectors`
-- :php:`behaviour`: :php:`allowLanguageSynchronization`, :php:`disableMovingChildrenWithParent`, :php:`enableCascadingDelete`
-- :php:`disallowed`
-- :php:`fieldInformation`
-- :php:`fieldWizard`
-- :php:`maxitems`
-- :php:`minitems`
-- :php:`overrideChildTca`
-- :php:`readOnly`
+*   :php:`allowed`
+*   :php:`appearance`: :php:`collapseAll`, :php:`expandSingle`,
+    :php:`createNewRelationLinkTitle`, :php:`useSortable`, :php:`enabledControls`,
+    :php:`headerThumbnail`, :php:`fileUploadAllowed`, :php:`fileByUrlAllowed`,
+    :php:`elementBrowserEnabled`, :php:`showPossibleLocalizationRecords`,
+    :php:`showAllLocalizationLink`, :php:`showSynchronizationLink`,
+    :php:`showFileSelectors`
+*   :php:`behaviour`: :php:`allowLanguageSynchronization`,
+    :php:`disableMovingChildrenWithParent`, :php:`enableCascadingDelete`
+*   :php:`disallowed`
+*   :php:`fieldInformation`
+*   :php:`fieldWizard`
+*   :php:`maxitems`
+*   :php:`minitems`
+*   :php:`overrideChildTca`
+*   :php:`readOnly`
 
 .. note::
 
@@ -51,7 +57,7 @@ The following column configuration can be overwritten by Page TSconfig:
 
 A possible migration using the API method therefore looks like the following:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
     'columns' => [
@@ -89,7 +95,7 @@ extensions as `array`.
 
 Another example without usage of the API method would therefore look like this:
 
-.. code-block:: php
+..  code-block:: php
 
     // Before
     'columns' => [
@@ -133,7 +139,7 @@ Another example without usage of the API method would therefore look like this:
         ],
     ],
 
-Together with the new TCA type, three new PSR-14 Events have been introduced:
+Together with the new TCA type, three new PSR-14 events have been introduced:
 
 * :php:`TYPO3\CMS\Backend\Form\Event\CustomFileControlsEvent`
 * :php:`TYPO3\CMS\Backend\Form\Event\ModifyFileReferenceControlsEvent`
@@ -142,24 +148,27 @@ Together with the new TCA type, three new PSR-14 Events have been introduced:
 CustomFileControlsEvent
 =======================
 
-Listeners to this Event will be able to add custom controls to a TCA type
+Listeners to this event will be able to add custom controls to a TCA type
 :php:`file` field in FormEngine. This replaces the :php:`customControls`
 hook option, which is only available for TCA type :php:`inline`.
 
 The new event provides the following methods:
 
-- :php:`getResultArray()`: Returns the whole result array
-- :php:`setResultArray(array $resultArray)`: Allows to overwrite the result array, e.g. to add additional JS modules
-- :php:`getControls()`: Returns all configured custom controls
-- :php:`setControls()`: Overwrites the custom controls
-- :php:`addControl()`: Adds a custom control. It's recommended to set the optional :php:`$identifier` argument.
-- :php:`removeControl()`: Removes a custom control. This only works in case the custom control was added with an identifier.
-- :php:`getTableName()`: Returns the table name in question
-- :php:`getFieldName()`: Returns the field name in question
-- :php:`getDatabaseRow()`: Returns the database row of the record in question
-- :php:`getFieldConfig()`: Returns the fields' TCA configuration
-- :php:`getFormFieldIdentifier()`: Returns the form elements' identifier
-- :php:`getFormFieldName()`: Returns the form elements' name
+*   :php:`getResultArray()`: Returns the whole result array
+*   :php:`setResultArray(array $resultArray)`: Allows to overwrite the result
+    array, e.g. to add additional JS modules
+*   :php:`getControls()`: Returns all configured custom controls
+*   :php:`setControls()`: Overwrites the custom controls
+*   :php:`addControl()`: Adds a custom control. It's recommended to set the
+    optional :php:`$identifier` argument.
+*   :php:`removeControl()`: Removes a custom control. This only works in case
+    the custom control was added with an identifier.
+*   :php:`getTableName()`: Returns the table name in question
+*   :php:`getFieldName()`: Returns the field name in question
+*   :php:`getDatabaseRow()`: Returns the database row of the record in question
+*   :php:`getFieldConfig()`: Returns the fields' TCA configuration
+*   :php:`getFormFieldIdentifier()`: Returns the form elements' identifier
+*   :php:`getFormFieldName()`: Returns the form elements' name
 
 .. note::
 
@@ -172,7 +181,7 @@ The new event provides the following methods:
 ModifyFileReferenceControlsEvent
 ================================
 
-Listeners to this Event will be able to modify the controls of a single
+Listeners to this event will be able to modify the controls of a single
 file reference of a TCA type `file` field. This event is similar to the
 :php:`ModifyInlineElementControlsEvent`, which is only available for TCA
 type `inline`. See corresponding PHP class or the other
@@ -182,7 +191,7 @@ for more information about available methods and their usage.
 ModifyFileReferenceEnabledControlsEvent
 =======================================
 
-Listeners to this Event will be able to modify the state (enabled or disabled)
+Listeners to this event will be able to modify the state (enabled or disabled)
 for the controls of a single file reference of a TCA type `file` field. This
 event is similar to the :php:`ModifyInlineElementEnabledControlsEvent`, which
 is only available for TCA type `inline`. See corresponding PHP class or the
@@ -193,7 +202,7 @@ Impact
 ======
 
 It's now possible to simplify the TCA configuration for file reference
-fields, using the new TCA type `file`. Three new PSR-14 Events allow to
+fields, using the new TCA type `file`. Three new PSR-14 events allow to
 modify available controls of the TCA field as well as the related file
 references.
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98487-TCAOptionCtrlsecurityignorePageTypeRestriction.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98487-TCAOptionCtrlsecurityignorePageTypeRestriction.rst
index 9be5816188bb..c736f4d49c6c 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98487-TCAOptionCtrlsecurityignorePageTypeRestriction.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98487-TCAOptionCtrlsecurityignorePageTypeRestriction.rst
@@ -16,11 +16,9 @@ A new TCA ctrl option :php:`$GLOBALS['TCA'][$table]['ctrl']['security']['ignoreP
 given page type (custom or defined), unless specified differently via the
 :php:`PageDoktypeRegistry` API class for a specified doktype.
 
-
 Impact
 ======
 
-
 This is a replacement for the previous PHP API call
 :php:`ExtensionManagementUtility::allowTableOnStandardPages` which was found
 in :file:`ext_tables.php` files.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98488-AdditionalSettingForTypolinkOptionAddQueryString.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98488-AdditionalSettingForTypolinkOptionAddQueryString.rst
index 14144c828b2a..c1a7d565074e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98488-AdditionalSettingForTypolinkOptionAddQueryString.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98488-AdditionalSettingForTypolinkOptionAddQueryString.rst
@@ -11,16 +11,16 @@ See :issue:`98488`
 Description
 ===========
 
-The Typolink option :typoscript:`typolink.addQueryString` now also accepts the value `untrusted` to be used to retrieve all GET parameters of the current request.
+The Typolink option :typoscript:`typolink.addQueryString` now also accepts
+the value `untrusted` to be used to retrieve all GET parameters of the current request.
 
-This value can also used under the hood for the  Fluid ViewHelpers
+This value can also used in the Fluid ViewHelpers
 :html:`<f:link.typolink>` and :html:`<f:uri.typolink>`.
 
-
 Impact
 ======
 
 Setting :typoscript:`typolink.addQueryString = untrusted` adds any given query parameters
 just as it was done in TYPO3 v11 when using :typoscript:`typolink.addQueryString = 1`.
 
-.. index:: Fluid, TypoScript, ext:frontend
\ No newline at end of file
+.. index:: Fluid, TypoScript, ext:frontend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98490-PSR-14EventToAlterTheRecordsRenderedInRecordListings.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98490-PSR-14EventToAlterTheRecordsRenderedInRecordListings.rst
index 602ab55aa366..f695fa41654e 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98490-PSR-14EventToAlterTheRecordsRenderedInRecordListings.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Feature-98490-PSR-14EventToAlterTheRecordsRenderedInRecordListings.rst
@@ -11,16 +11,15 @@ See :issue:`98490`
 Description
 ===========
 
-A new PSR-14 event :php:`ModifyDatabaseQueryForRecordListingEvent` has been
-added, which allows to alter the QueryBuilder SQL statement before a list of records
-is about to be rendered and executed in record lists such as the List module or Element
-Browser.
-
+A new PSR-14 event :php:`TYPO3\CMS\Backend\View\Event\ModifyDatabaseQueryForRecordListingEvent`
+has been added, which allows to alter the :php:`QueryBuilder` SQL statement
+before a list of records is about to be rendered and executed in record lists
+such as the list module or element browser.
 
 Impact
 ======
 
-Registering an Event Listeners allows to further limit or expand the list of records shown
-in certain record lists to alter the records shown.
+Registering an event listeners allows to further limit or expand the list of
+records shown in certain record lists to alter the records shown.
 
 .. index:: Backend, PHP-API, ext:backend
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-92020-NewAPIEntryPointAvailableAtHttpsgettypo3orgapi.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-92020-NewAPIEntryPointAvailableAtHttpsgettypo3orgapi.rst
index 538870be2306..735554de3140 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-92020-NewAPIEntryPointAvailableAtHttpsgettypo3orgapi.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-92020-NewAPIEntryPointAvailableAtHttpsgettypo3orgapi.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-92020:
+
 ===============================================================================
 Important: #92020 - New API entry point available at https://get.typo3.org/api/
 ===============================================================================
@@ -9,7 +11,7 @@ See :issue:`92020`
 Description
 ===========
 
-The core version service now uses the new entry point of the REST API
+The Core version service now uses the new entry point of the REST API
 available via https://get.typo3.org/api.
 
 The old entry point is still available but should not be longer used.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-94951-RestrictExportFunctionalityToAllowedUsers.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-94951-RestrictExportFunctionalityToAllowedUsers.rst
index 316473789add..5e61c69f0e69 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-94951-RestrictExportFunctionalityToAllowedUsers.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-94951-RestrictExportFunctionalityToAllowedUsers.rst
@@ -45,7 +45,7 @@ Migration
 If non-admin users should be able to use the export tool, set the
 following user TSconfig:
 
-.. code-block:: typoscript
+..  code-block:: typoscript
     :caption: EXT:my_sitepackage/Configuration/TSconfig/allusers.tsconfig
 
     options.impexp.enableExportForNonAdminUser = 1
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97031-RemovedLogSubmoduleFromInfoModule.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97031-RemovedLogSubmoduleFromInfoModule.rst
index e0c902f3b54f..a5f38d65de33 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97031-RemovedLogSubmoduleFromInfoModule.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97031-RemovedLogSubmoduleFromInfoModule.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97031:
+
 ============================================================
 Important: #97031 - Removed "Log" submodule from info module
 ============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97111-DefaultURIScheme.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97111-DefaultURIScheme.rst
index c8b53c8b874e..dae199d705f3 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97111-DefaultURIScheme.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97111-DefaultURIScheme.rst
@@ -11,7 +11,7 @@ See :issue:`97111`
 Description
 ===========
 
-Several places in the TYPO3 core fall back to using `http` as a protocol for
+Several places in the TYPO3 Core fall back to using `http` as a protocol for
 links in case none was given. In order to adjust this behavior the new
 :php:`$GLOBALS['TYPO3_CONF_VARS']['SYS']['defaultScheme']` setting has been
 introduced, which uses `http` as default.
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97145-SerializedLog_dataInSys_logMigratedToJSON-encodedData.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97145-SerializedLog_dataInSys_logMigratedToJSON-encodedData.rst
index 3670807fb01f..dbcab62dbca0 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97145-SerializedLog_dataInSys_logMigratedToJSON-encodedData.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97145-SerializedLog_dataInSys_logMigratedToJSON-encodedData.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97145:
+
 ================================================================================
 Important: #97145 - Serialized log_data in sys_log migrated to JSON-encoded data
 ================================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97159-MailLinkHandlerKeyInTSconfigRenamed.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97159-MailLinkHandlerKeyInTSconfigRenamed.rst
index 63d205e71fe9..7be73b5a2e95 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97159-MailLinkHandlerKeyInTSconfigRenamed.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97159-MailLinkHandlerKeyInTSconfigRenamed.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97159:
+
 =============================================================
 Important: #97159 - MailLinkHandler key in TSconfig renamed
 =============================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97411-AlignSystemEnvironmentChecksToChangedRequirements.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97411-AlignSystemEnvironmentChecksToChangedRequirements.rst
index da85d0d7268c..707acb0146f2 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97411-AlignSystemEnvironmentChecksToChangedRequirements.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97411-AlignSystemEnvironmentChecksToChangedRequirements.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97411:
+
 ==========================================================================
 Important: #97411 - Align SystemEnvironment checks to changed requirements
 ==========================================================================
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97462-RemovedMSSQLSupportiveCode.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97462-RemovedMSSQLSupportiveCode.rst
index 4c5289ce7ca7..0e2fa00a04ae 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97462-RemovedMSSQLSupportiveCode.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97462-RemovedMSSQLSupportiveCode.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97462:
+
 =================================================
 Important: #97462 - Removed MSSQL supportive code
 =================================================
@@ -12,11 +14,11 @@ Description
 Support for Microsoft SQL Server (MSSQL) has been dropped as supported database
 system with :issue:`96553`.
 
-Therefore supportive code for MSSQL has been removed from core, additionally to
+Therefore supportive code for MSSQL has been removed from Core, additionally to
 :doc:`Align SystemEnvironment checks to changed requirements <../12.0/Important-97411-AlignSystemEnvironmentChecksToChangedRequirements>`.
 
 * special handling for MSSQL platform/driver has been remove on several places
-* removed internal doctrine/dbal fascade classes
+* removed internal doctrine/dbal facade classes
 
 .. note::
 
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97517-RemoveTheSuperfluousNamespaceWithinTheFormConfiguration.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97517-RemoveTheSuperfluousNamespaceWithinTheFormConfiguration.rst
index 165a283ece2b..d174bff11a9d 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-97517-RemoveTheSuperfluousNamespaceWithinTheFormConfiguration.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-97517-RemoveTheSuperfluousNamespaceWithinTheFormConfiguration.rst
@@ -1,5 +1,7 @@
 .. include:: /Includes.rst.txt
 
+.. _important-97517:
+
 ==================================================================================
 Important: #97517 - Remove the superfluous namespace within the form configuration
 ==================================================================================
@@ -20,7 +22,7 @@ Migration
 
 This is how the legacy configuration with vendor namespace looks like:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     TYPO3:
       CMS:
@@ -33,7 +35,7 @@ This is how the legacy configuration with vendor namespace looks like:
 
 This is how the new (preferred) configuration without vendor namespace looks like:
 
-.. code-block:: yaml
+..  code-block:: yaml
 
     prototypes:
       standard:
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-98475-UnsignedPidTableColumns.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-98475-UnsignedPidTableColumns.rst
index 242424e8a7aa..5b7d0d5e2539 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-98475-UnsignedPidTableColumns.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-98475-UnsignedPidTableColumns.rst
@@ -11,14 +11,13 @@ See :issue:`98475`
 Description
 ===========
 
-When upgrading to TYPO3 core v12, the install tool database analyzer will change
+When upgrading to TYPO3 v12, the install tool database analyzer will change
 the column field :sql:`pid` of various tables to :sql:`UNSIGNED`: They no longer
 accept negative values.
 
-Negative pid's were needed until core v10 in combination with workspaces, the core
+Negative pids were needed until TYPO3 v10 in combination with workspaces, the Core
 nowadays only inserts rows with positive integers or 0 (zero) as pid value. An
 upgrade wizard took care of updating affected rows when upgrading to v10, current
 databases shouldn't contain such rows anymore.
 
-
 .. index:: Database, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Important-98484-ExtensionsOutsideOfDocumentRootForComposer-basedTYPO3Installations.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Important-98484-ExtensionsOutsideOfDocumentRootForComposer-basedTYPO3Installations.rst
index 79d9793f82d2..2e74873ff489 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Important-98484-ExtensionsOutsideOfDocumentRootForComposer-basedTYPO3Installations.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Important-98484-ExtensionsOutsideOfDocumentRootForComposer-basedTYPO3Installations.rst
@@ -3,7 +3,7 @@
 .. _important-98484-1664553704:
 
 ==============================================================================================
-Important: #98484 - Extensions outside of document root for composer-based TYPO3 installations
+Important: #98484 - Extensions outside of document root for Composer-based TYPO3 installations
 ==============================================================================================
 
 See :issue:`98484`
@@ -11,9 +11,9 @@ See :issue:`98484`
 Description
 ===========
 
-TYPO3 v12 requires the composer plugin "typo3/cms-composer-installers" with v5,
-which automatically keeps all installed extensions within composers' "vendor" directory,
-just like any other regular dependency.
+TYPO3 v12 requires the Composer plugin `typo3/cms-composer-installers` with v5,
+which automatically installs extensions into Composer's :file:`vendor/`
+directory, just like any other regular dependency.
 
 However, in order to allow linking and rendering assets in the public web folder,
 the TYPO3 installation symlinks public folders to a specific location. For more details
@@ -22,6 +22,6 @@ and the background about the change, read more:
 * https://usetypo3.com/composer-changes-for-typo3-v11-and-v12.html
 * https://b13.com/core-insights/typo3-and-composer-weve-come-a-long-way
 
-Please note that this only affects TYPO3 installations in composer mode.
+Please note that this only affects TYPO3 installations in Composer mode.
 
-.. index:: CLI, PHP-API, ext:core
\ No newline at end of file
+.. index:: CLI, PHP-API, ext:core
diff --git a/typo3/sysext/core/Documentation/Changelog/12.0/Index.rst b/typo3/sysext/core/Documentation/Changelog/12.0/Index.rst
index a7bd8031d800..65161f328133 100644
--- a/typo3/sysext/core/Documentation/Changelog/12.0/Index.rst
+++ b/typo3/sysext/core/Documentation/Changelog/12.0/Index.rst
@@ -10,7 +10,6 @@
    :local:
    :depth: 1
 
-
 Breaking Changes
 ================
 
@@ -41,7 +40,6 @@ Deprecation
 
    Deprecation-*
 
-
 Important
 =========
 
-- 
GitLab