---
title: "2.1"
manual: "Content Blocks"
version: "main"
permalink: "https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:changelog-2-1@main"
source: "ChangeLog/2.1/Index.rst"
rendered: "2026-09-22T14:15:39+00:00"
---

# 2.1 {#changelog-2-1}

Content Blocks version 2.1 introduces a complete JSON Schema for all Content
Block types.

This feature was voted for as part of the
[Community Budget Ideas 2026 Round One](https://talk.typo3.org/t/content-blocks-json-schema-yaml-linter-nikita-hovratov/6593)

-   [Feature](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:feature@main)

## Feature {#feature}

### JSON Schema {#json-schema}

Since Content Blocks is based on a YAML definition, it is possible to validate
it against a [JSON Schema](https://json-schema.org/). The schema is
shipped directly inside the Content Blocks extension and updated in each new
releases accordingly. It is located in the root folder "JsonSchema":

-   `content-blocks`
    -   `JsonSchema`
        -   `basic.schema.json`
        -   `content-element.schema.json`
        -   `file-type.schema.json`
        -   `page-type.schema.json`
        -   `record-type.schema.json`

As you can see, each content type brings its own schema. Even [Basics](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:basics@main)
have their own schema, as they are separate YAML files.

Learn how to use it in your IDE [here](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:json-schema-ide@main).

### Lint Command {#lint-command}

The most simple usage is the integrated [lint command](https://docs.typo3.org/permalink/friendsoftypo3/content-blocks:command-lint@main):

```bash
vendor/bin/typo3 content-blocks:lint
```

Running this command will reveal configuration errors of all loaded Content
Blocks. Use this in your CI pipeline to ensure you don't introduce incorrect
configuration.

> [!NOTE]
> This command only works in composer-mode.
