TYPO3 v13.2—Ready. Set. Ride.

Categories: Development, TYPO3 CMS Created by Michael Schams
We are pleased to announce the third sprint release of the TYPO3 v13 release cycle. TYPO3 version 13.2 comes with a wide range of practical improvements for editors and exciting enhancements under the hood. Get ready to ride the tide with the new version.

Ensuring an optimal experience for backend users who update and manage TYPO3 site contents has always been a high priority for us. Many content editors use the TYPO3 backend daily and need to work as efficiently as possible. A modern, intuitive, and feature-rich user interface (UI) is crucial to achieving that efficiency. We implemented a set of carefully selected improvements that extend the backend UI functionality in various areas to ease the work of editors.

Further changes in TYPO3 v13.2 are mostly under the hood. For example, we laid the groundwork for the planned integration of Content Blocks with a new Schema API. Although we have yet to fully integrate Content Blocks into the TYPO3 Core, we are on the way. Read more about the fantastic achievements of the Content Types Team in the article "Content Blocks on the Road Towards TYPO3 v13 — Report Q1/2024" by André Kraus.

TYPO3’s reference index also received exciting updates that will make several operations blazing fast in the future.

Let’s have a closer look at the main changes of the new release, with particular emphasis on why you should pay attention to the updates in the reference index. For more in-depth information with detailed technical insight, see the v13.2 changelog.

Key Changes in TYPO3 Version 13.2

Backend Search Improvements

Do you often search for the needle in a haystack when working with a large TYPO3 installation that contains thousands of pages and various backend modules? The TYPO3 backend search comes to your aid! Click on the magnifying glass in the header or use the shortcut Ctrl/Cmd+K to open the search window.

Now, you can find search terms not only on pages, page content, and database records but also in backend modules and workspaces.

Of course, both elements consider the access permissions of the user who executes the search.

Mass Editing of Selected Columns

You can update multiple records in the TYPO3 backend in one go. Typical examples are page properties or the metadata of uploaded files. Let’s say you want to update the author’s name for several pages. The record list under Web → List lets you select the pages and click the Edit button. However, the subsequent view shows all page properties, which can be overwhelming and confusing if you only want to update one field, for example, the author’s name.

In TYPO3 version 13.2, the UI offers a new button: Edit columns. It has the same functionality as the Edit button but only presents the currently active columns. This function, in combination with the column selector, drastically improves work efficiency. TYPO3 limits the view to the field you enabled, and you don’t get distracted by fields you don’t want to update.

The screenshots above show that the same function is also available in the File → Filelist backend module. The relevant button in this module is labeled Edit specific metadata.

Record List Download Presets

The Web → List backend module received another small but practical change in TYPO3 v13.2. The data export modal window lets you download data from almost every database table in various formats.

If you regularly need to export specific data, you will love the new option to leverage presets. For example, you can define a preset for exporting a frontend user list that contains the user name, real name, email address, and last login. Once selected, the download only includes these fields. Presets remove the need to manually configure the required fields for every data export.

In addition to the “Export user list” preset outlined above, you could create a preset named “Export user list without email addresses” in Page TSconfig to let backend users selectively choose one or the other:

We implemented this useful feature thanks to requests from members of the community. If you miss a feature or function in TYPO3, why don’t you submit your idea at forge.typo3.org?

Form Listings

TYPO3’s Form Framework enables editors, integrators, and developers to build various forms for the frontend of their TYPO3 site. You can centrally look up and manage form definitions in the backend under Web → Forms.

We made several adjustments to the list view and action buttons in TYPO3 version 13.2:

The list is now sortable by columns and features a cleaner look and feel. To protect forms that are still in use, you can only delete forms that don’t have a reference.

Schema API

TYPO3’s TCA (Table Configuration Array) contains the configuration of database tables, their relations to other tables, information about the visual appearance of fields, their behavior in the TYPO3 backend, and more. Extensions can manipulate and extend the TCA to customize the system. For example, add fields to existing tables, create new tables, etc.

The new Schema API we introduced in TYPO3 v13.2 (see changelog entry) is an object-based API to work with these TCA definitions. In its current early state, the Schema API enables TYPO3 developers to access a schema and read information from the TCA that is TYPO3-Core-specific, for example, “tt_content” data. Schemas contain a list of capabilities, possible sub-schemata, and all fields registered in the “showitem” section. A characteristic of a schema is its immutability. This means schemata and fields exist in collections and can’t be modified after bootstrapping.

The Schema API’s architecture reduces direct access to the TCA. You can see how this works by reviewing the updated DataHandler and the RecordFactory both of which already leverage the Schema API.

Apart from its unified, clean, and simple way to work with the TCA, the Schema API builds an important part of the foundation for Content Blocks. The API, as it stands now, is already compatible with the syntax used by Context Blocks.

We should point out that the Schema API is currently marked as an internal component in TYPO3. The API is still in development and will receive changes while we migrate further core parts to use and benefit from it.

Self-contained Content Elements

Another change we made under the hood also prepares the integration of Content Blocks in the near future. Content Blocks can be seen as self-contained content elements that are decoupled from rendering libraries such as “lib.parseFunc” and “lib.parseFunc_RTE”. TYPO3 now always loads these libraries in an early stage and makes them available in the frontend.

As a result of this change, you no longer have to rely on Fluid Styled Content or similar extensions to get a rendering definition. This also affects the well-known FormatHtml-ViewHelper (“<f:format.html>”) that you can now use without Fluid Styled Content.

Reference Index

TYPO3’s reference index (short: refindex) is a crucial element of the TYPO3 Core. The main parts are the PHP class “ReferenceIndex” and the database table “sys_refindex”. In simple terms, the refindex acts as a registry of database relations attached to TCA-based table records.

We started reworking the refindex in TYPO3 version 13.0 and introduced a range of new fields to the refindex database table in version 13.2. This change, in combination with several adjustments and structural changes in the related PHP class, results in fewer SQL queries required to retrieve data and, therefore, significantly boosts system performance.

The “RootlineUtility”—responsible for resolving relations of the page root line—also uses the refindex in the frontend context of your TYPO3 v13 installation.

If the database relations defined in TCA change, the refindex may become outdated. This can happen if you add, remove, or change extensions. A TYPO3 Core update can also affect the refindex.

We strongly recommend updating the refindex whenever you change an extension or update the TYPO3 Core. Executing the refindex update should be an integral part of your deployment strategy.

We spent significant effort optimizing the refindex update operations, and our initial tests show that the process is now incredibly faster in most situations.

As the refindex is a paramount component of the TYPO3 system, its correct functionality is rigorously tested by over a thousand functional tests on every code change we commit to Git. These tests are our guarantee of correctness and data accuracy every time the refindex is used by the DataHandler.

You’ll see further benefits especially in the frontend, once we implement new features that leverage the updated refindex architecture.

System Requirements, Support, and Maintenance

TYPO3 v13 requires at least PHP version 8.2, which will receive security updates until December 2025.

We will support each TYPO3 sprint release (v13.0 to v13.3) until the next minor version is published. The long-term support version TYPO3 v13 LTS (aka version 13.4) will receive bug fixes until 30 April 2026, and we will provide security patches for TYPO3 v13 LTS until 31 October 2027.

Read more about the requirements and dependencies on get.typo3.org.

Download and Installation

You will find all the details about the release and how to download and install TYPO3 at get.typo3.org. Detailed installation instructions are documented in the Installation Guide. We recommend using Composer to set up your TYPO3 environment.

Feature Freeze Ahead!

The next milestone on our roadmap is TYPO3 version 13.3, scheduled on 17 September 2024. This release will mark the feature freeze for the v13 cycle. From that point to the final LTS release, the Core Team will focus on testing, polishing, and refinement. If you want to see your code contributions in TYPO3 v13 LTS, now is the best time to submit them (see the TYPO3 Contribution Guide).

Additional contributors for this article
  • Copy Editor : Felicity Brand
  • Art work : Markus Schwarz