# 7.5 Release Notes

> **📝 Note**: - To deploy a SingleStore 7.5 cluster, refer to the [Deploy SingleStore Guide](https://docs.singlestore.com/db/v9.1/deploy.md).
> - To make a backup of a database in this release or to restore a database backup to this release, follow [this guide](https://docs.singlestore.com/db/v9.1/manage-data/back-up-and-restore-data.md).

## Release Highlights

The SingleStore 7.5 release enhances Universal Storage and adds support for unlimited storage (bottomless) databases and point-in-time recovery of unlimited storage databases. Also, the release adds new built-in functions for working with JSON and unique identifiers.

## Universal Storage

* The `default_table_type` engine variable is now set to `columnstore` by default. `default_table_type` determines the type of table (`rowstore` or `columnstore`) that is created when using a [CREATE TABLE](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-definition-language-ddl/create-table.md) statement, unless the table type is specified explicitly in the statement.
* Added support for multi-column hash keys (which can be `PRIMARY` or `UNIQUE`) on columnstore tables.
* Added support for creating multi-column hash indexes on columnstore tables, using [CREATE INDEX](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-definition-language-ddl/create-index/#UUID-b119df42-30d2-a43a-5fb3-bf0cc669ec2d.md).
* Added support for [upserts](https://docs.singlestore.com/db/v9.1/query-data/advanced-query-topics/performing-upserts/#section-idm4583739654907232408327902192.md) on columnstore tables with multi-column hash keys, using `INSERT ... ON DUPLICATE KEY UPDATE`, `REPLACE`, `IGNORE`, `LOAD DATA ... REPLACE ...`, `CREATE PIPELINE ... REPLACE ...`, and `CREATE PIPELINE ... ON DUPLICATE KEY UPDATE`.

## Storage

* Added the [unlimited storage](https://docs.singlestore.com/db/v9.1/manage-data/local-and-unlimited-database-storage-concepts/#section-idm4515240446558432425383692937.md) feature, which allows you to store databases in a remote object store, with remote objects cached locally on the cluster to enhance performance. This is known as *separation of storage and compute*. Currently, the Amazon S3 remote object store is supported.
* Added support for the [utf8mb4 character set](https://docs.singlestore.com/db/v9.1/reference/sql-reference/character-encoding.md), which includes encoding for emojis and additional supplementary character sets. The `character_set_server` and `collation_server` engine variables specify the server character set and collation. Although these are session variables, it is strongly recommended to set these variables globally via SQL commands or set them at server startup using SingleStore Tools.
* Added ["straight-to-disk" support for columnstore tables](https://docs.singlestore.com/db/v9.1/create-a-database/columnstore/writing-columnstore-data.md) with a unique index using `INSERT … IGNORE`, `REPLACE`, and `INSERT … ON DUPLICATE KEY UPDATE`. Straight-to-disk is when inserts and updates on columnstores bypass the rowstore (memory-backed) segment and go straight to disk.
* The `preserve_original_colstore_json` engine variable now defaults to `ON`.

## System of Record

* Added [point-in-time recovery (PITR)](https://docs.singlestore.com/db/v9.1/manage-data/local-and-unlimited-database-storage-concepts.md), which allows you to restore an unlimited database to a specified point-in-time.
* Added lock-free backup functionality, allowing backups to start without pausing concurrent online updates. Also, added the `Implementation` column to the `information_schema.mv_backup_status` table. `Implementation` can have either of the following values: `Original` or `Lockfree`.

## Usability and Programmability

* Added a new function, [JSON\_BUILD\_OBJECT](https://docs.singlestore.com/db/v9.1/reference/sql-reference/json-functions/json-build-object.md), that converts a comma-separated argument list to a JSON object.
* Added a new function, [JSON\_PRETTY](https://docs.singlestore.com/db/v9.1/reference/sql-reference/json-functions/json-pretty.md), that outputs the given JSON object or JSON array in an indented and legible format.
* Added two new built-in SQL commands for creating identifiers: [SYS\_GUID and UUID](https://docs.singlestore.com/db/v9.1/reference/sql-reference/identifier-generation-functions/sys-guid-and-uuid.md).
* The [data\_conversion\_compatibility\_level](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables/#sync-variables-lists-2.md) engine variable can now be set to `7.5` for stricter [data type conversions](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-types/data-type-conversion.md). This new `data_conversion_compatibility_level` setting additionally flags invalid string-to-number conversion in `INSERT` statements.
* Introduced a preview version of the Data API that can be used to execute SQL statements over an HTTP connection.

  The Data API enables you to develop custom applications and build seamless integrations with applications. The Data API endpoints can be easily enabled or disabled using engine variables. For more information, see [Data API Documentation](https://docs.singlestore.com/db/v9.1/reference/data-api.md).

## Query Execution

* Added support for [hash group spilling](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/profile/#UUID-ecb6c5eb-1ad0-7cad-5c7b-a6d8cdf6c012.md), which enables `GROUP BY` queries with result sets larger than available RAM to finish successfully.
* `UPDATE` and `DELETE` queries containing a join (without using `LIMIT`) now only lock rows that pass the join.
* Added support for executing Data Manipulation Language (DML) queries for reference tables on child aggregator nodes in addition to the master aggregator node. A new [enable\_dml\_query\_forwarding](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables/#sync-variables-lists-3.md) engine variable enables DML queries for reference tables to be forwarded from child aggregator nodes to the master aggregator node.
* Added the [SHOW REPRODUCTION](https://docs.singlestore.com/db/v9.1/reference/sql-reference/show-commands/show-reproduction.md) command, which collects troubleshooting data for query optimizer and code generation issues for queries that fail in the compilation phase. The troubleshooting information can be displayed on the terminal or written to a file, which can then be sent to the SingleStore Technical Support team for further analysis.
* Added support for [reading `SELECT` query results in parallel](https://docs.singlestore.com/db/v9.1/query-data/advanced-query-topics/read-query-results-in-parallel.md), enabling faster transmission of large results sets to parallel client applications.
* Added the `compile_lite` and `compile_first`[settings](https://docs.singlestore.com/db/v9.1/query-data/advanced-query-topics/code-generation/#UUID-66438a95-e25e-c75a-fa53-32e256194c5d.md) to the `interpreter_mode` engine variable.
* Added the [default\_columnstore\_table\_lock\_threshold](https://docs.singlestore.com/db/v9.1/create-a-database/columnstore/locking-in-columnstores/#UUID-a8ba4c3e-d23d-3123-2b3e-b5ba43ea66b4.md) engine variable. This is the threshold for the number of rows that are locked before a table lock is acquired when updating or deleting rows in a columnstore table.
* [UPDATE](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/update.md) and [DELETE](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/delete.md) can now be run in a distributed transaction. This feature is enabled when the engine variable `disable_update_delete_distributed_transactions` is set to `OFF` (the default). When this variable is set to `OFF`, the engine variables `deadlock_avoidance_strategy`, `lock_wait_timeout`, and `wait_die_retry_on_die_sleep_factor` control the locking behavior of the updates and deletes.

## Ingest

* Added support for IMDSv2 in S3 pipelines.
* Added support for [ingesting Kafka keys using pipelines](https://docs.singlestore.com/db/v9.1/reference/sql-reference/pipelines-commands/create-pipeline/#section-idm4594937194566432520443826639.md).

## Security

* Added new permissions: `SHOW ROUTINE`, `CREATE POOL` and `DROP POOL`.
* The `ADMIN-ONLY` and `ADMIN-ONLY-INCLUDING-PARSE-FAILS` [logging levels](https://docs.singlestore.com/db/v9.1/security/audit-logging/audit-logging-levels.md) no longer log non-DDL operations.

## Other Improvements and Fixes

* Added database version information to `MV_BACKUP_HISTORY` via the `SERVER_VERSION` column.
* Added `replay_stuck_on_low_blob_cache_space` to the output of `SHOW DATABASE STATUS`. It indicates whether the replay is stalling because of low blob cache space.
* The RPC info column has been removed from the output of the `SHOW PROCESSLIST` command.
* Added the `MV_CACHED_BLOBS` and `MV_BLOB_CACHE_EVENTS` information schema tables.
* The local join optimizer now uses beam search to enable finding better query plans. The new engine variable, `optimizer_beam_width`, controls the beam search width. The default value is 10. Setting this to 1 reverts to the previous behavior (prior to v7.5). Higher values (maximum is 1024) will make the query optimization time slower.
* For commands that require `CONFIG` and `CREDENTIALS`, you can specify them in either order (`CONFIG` followed by `CREDENTIALS` or `CREDENTIALS` followed by `CONFIG`).
* Added `success` as a JSON key that is populated in the `DETAILS` field of the `information_schema.MV_EVENTS` table for rebalance events. The value of the `success` key indicates whether a rebalance succeeded or failed.
* The `SHOW REBALANCE STATUS`, `SHOW REBALANCE ALL DATABASES STATUS`, `EXPLAIN REBALANCE PARTITIONS`, and `EXPLAIN REBALANCE ALL DATABASES` commands now output `Estimated_Time_Remaining_Ms`, which provides a time estimate for completing a rebalance.
* Extended `UNION` support to a wider range of cross-database queries.
* Added the ability to run multiple concurrent `ALTER` commands on different tables in the same database.
* Added the `multi_statement_xact_idle_timeout` engine variable, which is the time, in seconds, that is allowed for a multi-statement transaction to remain idle while holding locks.

## In this section

* [Maintenance Release Changelog](https://docs.singlestore.com/db/v9.1/release-notes/singlestore-memsql/7-5-release-notes/maintenance-release-changelog.md)

***

Modified at: June 17, 2025

Source: [/db/v9.1/release-notes/singlestore-memsql/7-5-release-notes/](https://docs.singlestore.com/db/v9.1/release-notes/singlestore-memsql/7-5-release-notes/)

(An index of the documentation is available at /llms.txt)
