TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:09 +02:00
commit af8cc155b5
6818 changed files with 642608 additions and 0 deletions
@@ -0,0 +1,47 @@
.. include:: /Includes.rst.txt
.. _important-109672-1745000000:
=============================================================================
Important: #109672 - Translation domain syntax supported in resourceOverrides
=============================================================================
See :issue:`109672`
Description
===========
The translation domain syntax (introduced in TYPO3 v14.0, see
:ref:`feature-93334-1729000000`) can now also be used as the key in the
:php:`$GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']` configuration.
Previously, only file-based paths were accepted as keys. Now both the
traditional file path and the short domain syntax are valid:
.. code-block:: php
// File path syntax (still supported)
$GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']
['EXT:core/Resources/Private/Language/locallang_common.xlf'][]
= 'EXT:my_extension/Resources/Private/Language/locallang_common_override.xlf';
// Domain syntax (new)
$GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']['core.common'][]
= 'EXT:my_extension/Resources/Private/Language/locallang_common_override.xlf';
Language-specific overrides also support domain syntax:
.. code-block:: php
// Language-specific override with domain syntax
$GLOBALS['TYPO3_CONF_VARS']['LANG']['resourceOverrides']['de']['core.common'][]
= 'EXT:my_extension/Resources/Private/Language/de.locallang_common_override.xlf';
Impact
======
Existing configurations using file-based keys continue to work without changes.
The domain syntax is an optional, shorter alternative that removes the need to
know the exact file path of the language file being overridden.
.. index:: LocalConfiguration, Localization, ext:core
@@ -0,0 +1,65 @@
.. include:: /Includes.rst.txt
.. _important-109731-1777413600:
=============================================================
Important: #109731 - Modal API: composable size configuration
=============================================================
See :issue:`109731`
Description
===========
The backend Modal API (:js:`@typo3/backend/modal`) accepts an additional shape
for the :js:`size` option of :js:`Modal.advanced()`. In addition to the existing
:js:`Sizes` enum (:js:`small`, :js:`default`, :js:`medium`, :js:`large`,
:js:`full`, :js:`expand`), callers may now pass a :js:`SizeConfig` object that
configures :js:`width` and :js:`height` independently.
The existing enum-based :js:`size` values continue to work unchanged. No
migration is required for existing call sites.
New types
---------
A new export is available from :js:`@typo3/backend/modal`:
* :js:`Size` an enum of per-axis size tokens that map to width and
height values: :js:`small`, :js:`default`, :js:`medium`, :js:`large`,
:js:`full`.
The :js:`SizeConfig` type uses these tokens:
.. code-block:: typescript
type SizeConfig = { width?: Size; height?: Size };
Usage
-----
Compose width and height independently:
.. code-block:: typescript
import Modal, { Size } from '@typo3/backend/modal';
Modal.advanced({
title: 'New page',
content: '...',
size: {
width: Size.medium,
height: Size.large,
},
});
Override only one axis (the other defaults to the modal's intrinsic size):
.. code-block:: typescript
Modal.advanced({
// ...
size: { width: Size.medium },
});
.. index:: Backend, JavaScript, ext:backend, NotScanned
@@ -0,0 +1,56 @@
.. include:: /Includes.rst.txt
.. _important-109787-1730981200:
====================================================
Important: #109787 - Add files to livesearch results
====================================================
See :issue:`109787`
Description
===========
The backend live search now surfaces files from the file abstraction
layer alongside pages and database records. A new live search provider
queries the :sql:`sys_file` and :sql:`sys_file_metadata` tables through
the existing :php:`\TYPO3\CMS\Core\Resource\Search\FileSearchQuery`, so
matches against file names as well as indexed metadata fields like
title, description or alternative text appear in the global search.
Results respect the user's file mounts via the existing
:php:`FolderMountsRestriction`, so non-admin users only see files within
their permitted scope.
The result detail panel has been extended to show a thumbnail for
previewable files (images, videos, PDFs and online media such as
YouTube or Vimeo) together with a list of properties such as the
location, file size and last modification date.
New API on ResultItem
=====================
To support richer detail rendering, two optional fields have been added
to :php:`\TYPO3\CMS\Backend\Search\LiveSearch\ResultItem`:
* :php:`setThumbnailUrl(?string $thumbnailUrl)` — a URL to a preview
image rendered in the detail panel; falls back to the icon when
`null`.
* :php:`addProperty(string $label, string $value)` — a key/value pair
rendered as a description list in the detail panel. Useful for
surfacing metadata like timestamps, sizes or relations.
Both fields default to empty, so existing providers continue to work
unchanged.
Impact
======
Backend users can now find files directly through the global live
search without switching to the media module. Custom providers can opt
into the new thumbnail and property fields to enrich their detail
views.
.. index:: Backend, ext:backend, ext:filelist
@@ -0,0 +1,67 @@
.. include:: /Includes.rst.txt
.. _important-88886-1784901300:
==========================================================================
Important: #88886 - Extbase persistence respects the language overlay type
==========================================================================
See :issue:`88886`
Description
===========
The Extbase persistence layer previously applied "mixed" language overlay
semantics at all times when overlaying records: If a record was not available
in the requested language, the record in the default language was returned -
regardless of the fallback type configured for the site language.
Extbase now respects the overlay type (derived from the :yaml:`fallbackType`
setting of the site language configuration) and the configured fallback chain
when fetching aggregate roots and related child objects. Translation behavior
of Extbase queries is now consistent with the regular translation behavior of
pages and content in TYPO3:
* :yaml:`fallbackType: strict`: Records that are not translated into the
requested language are not returned anymore. :php:`Repository->findByUid()`
on an untranslated record of the default language now returns :php:`null`,
and untranslated related child objects (for example categories or tags) are
filtered from relations of a translated aggregate root.
* :yaml:`fallbackType: fallback`: Unchanged behavior. Records are overlaid
with their translation if available, the default language record is used
otherwise.
* :yaml:`fallbackType: free`: Unchanged behavior. No overlays are performed
for regular queries. Identity lookups via :php:`Repository->findByUid()`
keep resolving translations using mixed overlay semantics.
Fetching a translated record directly by its uid (for example
:php:`$postRepository->findByUid($uidOfTranslatedRecord)`) still returns the
translated record, regardless of the language of the current context.
Note that records created through Extbase in the frontend - for example via
form submissions - are persisted with :sql:`sys_language_uid=0` (default
language) unless a language is explicitly assigned. On sites using
:yaml:`fallbackType: strict`, such records are not visible in translated
languages until they have been translated.
To keep the previous behavior for individual queries, a custom language aspect
using mixed overlay semantics can be set on the query settings:
.. code-block:: php
use TYPO3\CMS\Core\Context\LanguageAspect;
$querySettings = $query->getQuerySettings();
$languageAspect = $querySettings->getLanguageAspect();
$querySettings->setLanguageAspect(
new LanguageAspect(
$languageAspect->getId(),
$languageAspect->getContentId(),
LanguageAspect::OVERLAYS_MIXED,
$languageAspect->getFallbackChain(),
),
);
.. index:: Database, PHP-API, ext:extbase
+54
View File
@@ -0,0 +1,54 @@
:template: changelogOverview.html
.. include:: /Includes.rst.txt
.. _changelog-14-3-x:
==============
14.3.x Changes
==============
**Table of contents**
.. contents::
:local:
:depth: 1
Breaking Changes
================
None since TYPO3 v14.3.0 LTS release.
.. attention::
Breaking changes are not planned after the TYPO3 v14.3.0 LTS release.
Features
========
.. toctree::
:maxdepth: 1
:titlesonly:
:glob:
Feature-*
Deprecation
===========
.. toctree::
:maxdepth: 1
:titlesonly:
:glob:
Deprecation-*
Important
=========
.. toctree::
:maxdepth: 1
:titlesonly:
:glob:
Important-*