Skip to main navigation Skip to main content Skip to page footer

Content Blocks: Q1/2026 Report and the First GUI Release

The Content Types Team published the first version of the Content Blocks GUI for TYPO3 v13, presented it at two TYPO3 Camps, and started work on the funded JSON Schema and YAML Linter.

The first quarter of 2026 centered on the Content Blocks GUI. After finishing TYPO3 v14 support at the end of 2025, the team released a first version of the GUI for TYPO3 v13 and showed it to the community at the TYPO3 Camps in Zurich, Switzerland, and Heidelberg, Germany. In parallel, work on the funded JSON Schema and YAML Linter started in February and has already landed as the content-blocks:lint command. Both release branches, 1.x for v13 and 2.x for v14, received steady maintenance and a few notable new features along the way.

Content Blocks GUI: First Release for v13

The Content Blocks GUI is now available as a first release for TYPO3 v13. It lives in its own repository and provides a visual way to work with Content Blocks instead of editing YAML by hand. You can create, copy, delete, and edit Content Elements, Record Types, Basics, and Page Types through the interface, and batch operations let you download and upload several Content Blocks at once for moving them between projects. The first release covers the essential functionality, so there are still rough edges and a few bugs to iron out before it reaches feature parity with the YAML workflow.

The GUI is a development tool, meant for local and development environments only. You use it to build and edit your Content Blocks and then commit the generated configuration and templates to version control. It is not intended to run in production. Install it as a development dependency via Composer:

composer require --dev friendsoftypo3/content-blocks-gui

The next goal is v14 compatibility. If you work with Content Blocks, please install the GUI, try it in a development environment, and report what works and what does not. For a detailed walkthrough with screenshots of the interface, see the Q4/2025 report, which covers the GUI in more depth.

TYPO3 Camps: Zurich and Heidelberg

The team attended two TYPO3 Camps this quarter, with two team members at each event. The TYPO3 Camp in Zurich, Switzerland, kept its familiar, personal atmosphere, and it remains a good place to meet the local community in person every year. Zurich was also where the team gave the first public demo of the Content Blocks GUI, and the feedback there was positive throughout.

THE CÄMP in Heidelberg, Germany, was held on the SRH Campus for the first time, and the new venue worked well. The team presented the GUI there too, and attendees were interested in the feature and glad to see it taking shape. The common thread at both camps was that a visual editor lowers the entry barrier for newcomers who find the YAML configuration unfamiliar at first, which makes Content Blocks a more approachable starting point for people new to TYPO3.

Content Blocks 2.x: New Features for v14

The 2.x branch moved from 2.0 to 2.4 across this period, with maintenance releases and a number of new features.

Content Block as Site Set

The most significant addition is Content Block as Site Set (2.3.0). Each loaded Content Block is now registered as a TYPO3 Site Set, which means you can require different Content Blocks per site through the Site Sets dependency system. Content Blocks also ships a per-extension bundle that contains all Content Blocks defined in an extension, so you do not have to add them one by one. On top of that, a setup.typoscript or page.tsconfig file placed inside a Content Block is loaded automatically when the set is active for a site, and the backend only shows the Content Blocks that are actually included in the current site. This gives larger multi-site installations a clean way to scope which content types are available where.

Page Types

Page Types received several improvements in 2.2.0. The new isViewable option controls whether a page type can be linked to in the page browser and in frontend link (TypoLink) generation, which is useful for page types that should not appear as link targets. The release also lets you configure the page creation wizard step by step to control which fields appear where, set label fields per record type, and define which record types may be created on a given Page Type through the allowedRecordTypes option. Together these give integrators finer control over how custom page types behave.

Smaller 2.1.x Configuration Additions

Smaller configuration additions arrived across the 2.1.x releases:

  • The Select field gained the foreign_table_item_group option.
  • The behaviour option became available on common properties.
  • The valuePicker now accepts numeric values.
  • The Pass field type supports useExistingField.
  • The content-blocks:lint command received improved output (2.2.3) to make configuration errors easier to read.

Developer Experience

Version 2.4 (26 May) bundled several developer-experience improvements. It adds two CLI commands that generate frontend and backend preview templates, so you get a working starting point instead of writing the Fluid markup by hand, and backend preview templates can now access the Site and its Site Settings.

Introduced in 1.6 and 2.4

The 2.4 release also introduces:

  • A new SelectText field type.
  • An alias mechanism for field identifiers.
  • Automatic language keys for the labelChecked, labelUnchecked, and placeholder properties.
  • The hideInUid option, which hides a Record Type in the record overview.

The same feature set is available for TYPO3 v13 in release 1.6.0.

Continued v13 Maintenance

The v13 branch kept pace with the v14 work and moved from 1.3.x up to 1.6.0. Most of the new features above are available for v13 as well: 

  • Content Block as Site Set landed in 1.5.0, the JSON Schema work and the related field and config options arrived in the 1.4.x line
  • The 2.4 feature set followed in 1.6.0, and 1.3.20 brought tidier XLIFF files with two-space indentation.

This keeps the two branches close in functionality so that v13 projects are not left behind while the focus shifts to v14.

The JSON Schema and YAML Linter

Work on the funded JSON Schema and YAML Linter started on 1 February, with Nikita Hovratov handling the implementation. Content Blocks configuration files previously had no validation, which meant that typos or invalid setups only surfaced at runtime. The project updated the JSON Schema to cover the current set of options and shipped the content-blocks:lint command, which checks all Content Block configuration files against that schema and reports errors with their exact location. The command is meant for everyday use and for CI/CD pipelines, so configuration mistakes can be caught before they reach an environment. The proposal was selected by member vote in the TYPO3 Association's community budget process and received a €10,000 budget for Q1/2026.

Behind the Releases

Most of the work this quarter again came from Nikita Hovratov, who handled issues, reviewed pull requests, and drove the JSON Schema project. Thanks also go to the contributors who sent fixes and improvements during the quarter, including Josef Glatz and Richard Krikler. The steady stream of small releases is a direct result of this ongoing community effort.

Release Overview

The complete and always up-to-date list of releases is on GitHub. The tables below summarize the releases since the last report.

Version 2.x (TYPO3 v14)

VersionDateHighlights
2.0.52 February 2026PreviewRenderer refactored to use composition over inheritance
2.1.013 March 2026JSON Schema validation (TYPO3 Budget Ideas 2026 Round 1), foreign_table_item_group option for Select, behaviour added to common properties
2.1.113 March 2026Removed required fields for cropVariants, JSON Schema fixes (cropVariants options, excludeFromSync)
2.1.213 March 2026Allow number type in valuePicker, useExistingField for type Pass
2.1.316 March 2026Fixed JSON Schema for suggestOptions, documentation for minitems
2.2.031 March 2026Page Types isViewable, Page Creation Wizard Steps, type-specific label fields, Allowed Record Types for Page Types
2.2.11 April 2026FSC integration guide for TYPO3 14.2, allow exclude property in Field Type
2.2.22 April 2026Do not put opacity into columnsOverrides
2.2.317 April 2026Improved content-blocks:lint output, Basics resolved in ContentBlockBuilder, override fields in ConfigBuilder
2.2.421 April 2026Requires TYPO3 14.3 LTS
2.3.023 April 2026Content Block as Site Set
2.3.124 April 2026Ignore record restriction at root level and for single type records
2.3.230 April 2026Schema existence check, fallback for packages without title
2.3.330 April 2026Fixed Record Type Site Set restriction logic
2.3.410 May 2026Ignore wizard item restriction on pages without a site
2.3.520 May 2026Avoid toArray serialization in Record decorator
2.4.026 May 2026CLI commands to generate frontend and backend previews, Site and Site Settings in backend preview templates, new Field Type SelectText, alias for field identifiers, automatic language keys for labelChecked/Unchecked and placeholder, hideInUid option for Record Types
2.4.126 May 2026Automatically add allowedContentTypes to colPos restriction
2.4.228 May 2026Cast type to string
2.4.329 May 2026Lookup allowed record types recursively

Version 1.x (TYPO3 v13)

VersionDateHighlights
1.3.203 March 2026foreign_table_item_group option for Select, behaviour common property, XLF formatting cleanup
1.4.013 March 2026JSON Schema validation (TYPO3 Budget Ideas 2026 Round 1)
1.4.113 March 2026Removed required fields for cropVariants, JSON Schema fixes for cropVariants options
1.4.213 March 2026Allow number type in valuePicker, useExistingField for type Pass
1.4.316 March 2026Fixed JSON Schema for suggestOptions, documentation for minitems
1.4.41 April 2026Allow exclude property in Field Type
1.4.52 April 2026Do not put opacity into columnsOverrides
1.4.617 April 2026Improved content-blocks:lint output, Basics resolved in ContentBlockBuilder, override fields in ConfigBuilder
1.5.023 April 2026Content Block as Site Set
1.5.124 April 2026Ignore record restriction for single type records
1.5.230 April 2026Schema existence check, fallback for packages without title
1.5.310 May 2026Ignore wizard item restriction on pages without a site
1.5.420 May 2026Avoid toArray serialization in Record decorator
1.6.026 May 2026CLI commands to generate frontend and backend previews, new Field Type SelectText, alias for field identifiers, automatic language keys for labelChecked/Unchecked and placeholder, hideInUid option for Record Types, restriction by Content Type

What's Next?

The focus for the next quarter is bringing the Content Blocks GUI to TYPO3 v14 and stabilizing the first release based on the feedback from the camps and from everyone testing it. The JSON Schema and lint command will continue to grow as new options are added, so configuration validation stays complete. Together, the GUI and the linter should make Content Blocks easier to pick up for newcomers and more reliable for teams already running it in production.

You can find Content Blocks on GitHub and install it via Composer with

composer require friendsoftypo3/content-blocks

The documentation provides comprehensive guides for getting started and exploring advanced features.

Keep in Touch

Thank you for your great feedback so far! Please keep testing and sharing your thoughts with us. You can reach us in the #cig-structuredcontent channel on TYPO3 Slack, or join our calls on the first and third Monday of the month at 20:00 CET (19:00 UTC).


The Content Types Team