> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/community-server/13.1/mariadb-13.1-changes-and-improvements.md).

# MariaDB 13.1 Changes & Improvements

An overview of changes, improvements, and what's new in MariaDB Community Server 13.1

{% hint style="info" %}

<p align="center">The most recent release of MariaDB Community Server 13.1 is: <a href="/docs/release-notes/community-server/13.1/13.1.1.md"><strong>13.1.1</strong></a> RC</p>

<p align="center"><a href="https://downloads.mariadb.org/mariadb/13.1.1/" class="button primary">Download Community Server 13.1.1 RC</a></p>
{% endhint %}

MariaDB 13.1 is a [rolling release](/docs/release-notes/community-server/about/release-model.md). It is an evolution of [MariaDB 13.0](/docs/release-notes/community-server/13.0/mariadb-13.0-changes-and-improvements.md) with many entirely new features.

## New Features

* Support for JSON operators [`column->path` and `column->>path`](/docs/server/reference/sql-functions/special-functions/json-functions/json-arrow-operators.md) ([MDEV-13594](https://jira.mariadb.org/browse/MDEV-13594))
* [DENY](/docs/server/reference/sql-statements/account-management-sql-statements/deny.md) clause for access control a.k.a. "negative grants" ([MDEV-14443](https://jira.mariadb.org/browse/MDEV-14443))
* [Auto-adding new partitions for `PARTITION BY RANGE`](/docs/server/server-usage/partitioning-tables/partitioning-types/range-columns-interval-partitioning.md) ([MDEV-15621](https://jira.mariadb.org/browse/MDEV-15621))
* Improve error reporting of [mysqlbinlog when used with `--flashback`](/docs/server/server-management/server-monitoring-logs/binary-log/flashback.md) ([MDEV-20749](https://jira.mariadb.org/browse/MDEV-20749))
* Locking full table scan fails to use table-level locking ([MDEV-24813](https://jira.mariadb.org/browse/MDEV-24813))
* Add [formatted column support to `JSON_TABLE`](/docs/server/reference/sql-functions/special-functions/json-functions/json_table.md#format-json-columns) ([MDEV-25727](https://jira.mariadb.org/browse/MDEV-25727))
* [Ignored domain ids](/docs/server/reference/sql-statements/administrative-sql-statements/replication-statements/change-master-to.md#ignore_domain_ids) skip validation when connecting to a master ([MDEV-28213](https://jira.mariadb.org/browse/MDEV-28213))
* [The default `utf8` character set is now `utf8mb4`](/docs/server/server-management/variables-and-modes/old_mode.md#utf8_is_utf8mb3) ([MDEV-30041](https://jira.mariadb.org/browse/MDEV-30041))
* New statement `CREATE TRIGGER FOR { STARTUP | SHUTDOWN }` ([MDEV-30645](https://jira.mariadb.org/browse/MDEV-30645))
* Optional lengths for string types: `VARCHAR[(N)]` ([MDEV-31414](https://jira.mariadb.org/browse/MDEV-31414))
* [`mariadbd --validate-config`](/docs/server/server-management/variables-and-modes/server-system-variables.md#validate_config) to check the configuration for validity without starting the server ([MDEV-31527](https://jira.mariadb.org/browse/MDEV-31527))
* [`mariadb-dump` no longer includes generated column values in a dump](/docs/server/clients-and-utilities/backup-restore-and-import-clients/mariadb-dump.md#generated-columns) ([MDEV-32362](https://jira.mariadb.org/browse/MDEV-32362))
* `NEW` and `OLD` in a trigger can be used as row variables ([MDEV-34723](https://jira.mariadb.org/browse/MDEV-34723))
* [`INFORMATION_SCHEMA.VECTOR_INDEXES`](/docs/server/reference/sql-structure/vectors/information-schema-vector_indexes-table.md) provides information about vector indexes ([MDEV-34805](https://jira.mariadb.org/browse/MDEV-34805))
* [`parsec_iterations`](/docs/server/reference/plugins/authentication-plugins/authentication-plugin-parsec.md#parsec_iterations) session variables allows to set the number of PBKDF2 rounds for PARSEC plugin ([MDEV-35254](https://jira.mariadb.org/browse/MDEV-35254))
* [`ADAPTIVE_HASH_INDEX = { YES | NO | DEFAULT }`](/docs/server/server-usage/tables/create-table.md#adaptive_hash_index) can specify per InnoDB table whether to use AHI ([MDEV-37070](https://jira.mariadb.org/browse/MDEV-37070))
* XMLISVALID() schema validation function ([MDEV-37262](https://jira.mariadb.org/browse/MDEV-37262))
* [`AND`/`OR` can now short-circuit](/docs/server/reference/sql-structure/operators/operator-precedence.md#short-circuit-evaluation) the execution for any argument not in a strictly left-to-right fashion ([MDEV-37713](https://jira.mariadb.org/browse/MDEV-37713), [MDEV-37714](https://jira.mariadb.org/browse/MDEV-37714))
* [`XXH3`](/docs/server/reference/sql-functions/numeric-functions/xxh3.md) and [`XXH32`](/docs/server/reference/sql-functions/numeric-functions/xxh32.md) hash functions ([MDEV-38180](https://jira.mariadb.org/browse/MDEV-38180))
* Adaptive hash index statistics is shown in ANALYZE FORMAT=JSON ([MDEV-38305](https://jira.mariadb.org/browse/MDEV-38305))
* Optimizer Context Recorder to record the optimizer data and then analyze query optimization on another server instance ([MDEV-38701](https://jira.mariadb.org/browse/MDEV-38701))
* [`innodb_tablespace_size_warning_threshold`](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_tablespace_size_warning_threshold) and [`innodb_tablespace_size_warning_pct`](/docs/server/server-usage/storage-engines/innodb/innodb-system-variables.md#innodb_tablespace_size_warning_pct) variables to get a warning when InnoDB tablespace is getting close to full (before it's 100% full and the service is disrupted) ([MDEV-38936](https://jira.mariadb.org/browse/MDEV-38936))
* MEMORY tables support variable-length data types, `VARCHAR` and `TEXT`/`BLOB` ([MDEV-38975](https://jira.mariadb.org/browse/MDEV-38975))
* Local routine variables usable in [`PREPARE`](/docs/server/reference/sql-statements/prepared-statements/prepare-statement.md#local-statement-names)/[`EXECUTE`](/docs/server/reference/sql-statements/prepared-statements/execute-statement.md)/[`DEALLOCATE`](/docs/server/reference/sql-statements/prepared-statements/deallocate-drop-prepare.md) and [`OPEN ... FOR`](/docs/server/reference/sql-statements/programmatic-compound-statements/programmatic-compound-statements-cursors/open.md) ([MDEV-39022](https://jira.mariadb.org/browse/MDEV-39022))
* [Package-wide TYPE declarations](/docs/server/reference/sql-statements/programmatic-compound-statements/declare-type.md#package-wide-types) ([MDEV-39587](https://jira.mariadb.org/browse/MDEV-39587))
* CHECK TABLE supports MEMORY tables ([MDEV-40030](https://jira.mariadb.org/browse/MDEV-40030))
* `slave_skip_errors` variable can be modified without server restart ([MDEV-7394](https://jira.mariadb.org/browse/MDEV-7394))

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formid="4316" formId="4316" %}
