# 7.6 Release Notes

> **📝 Note**: - To deploy a SingleStore 7.6 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

> **📝 Note**: For a list of all new features and bug fixes, see the [maintenance release changelog](https://docs.singlestore.com/db/v9.1/release-notes/singlestore-memsql/7-6-release-notes/maintenance-release-changelog.md).

## Storage and Transaction Management

* **New Feature:** [Point-in-time recovery](https://docs.singlestore.com/db/v9.1/manage-data/local-and-unlimited-database-storage-concepts.md) (PITR) has moved from preview to production status, and is now supported for production use cases.
* **Enhancement:** By default, all backups are now [lock-free](https://docs.singlestore.com/db/v9.1/manage-data/back-up-and-restore-data/lock-free-backups.md). Distributed write transactions no longer have to wait when a backup starts.
* **New Feature:** Added support on Google Cloud Storage (GCS), as a preview feature, for unlimited storage databases and point-in time recovery (PITR).
* **New Feature:** Added support on Azure for unlimited storage databases and point-in time recovery (PITR).
* **New feature:** Introduced row-level decompression for the string data type which will increase performance on reads against columnstore tables.  Before this improvement, decompression occurred on the order of blocks of data which consists of 4096 rows.
* **New Feature:** Added support for cross-database `INSERT...SELECT` into columnstore temporary tables.
* **Enhancement:** Allow spilling hash `GROUP BY` operator.
* **New Feature:** Added support for [SELECT ... INTO AZURE](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/select/#select-into-azure.md). This command supports the `WITH COMPRESSION` option, which is described in the next release note.
* **New Feature:** Added the `WITH COMPRESSION` option to `SELECT ... INTO FS` (SingleStore Self-Managed), [SELECT … INTO GCS](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/select/#select-into-gcs.md) , and [SELECT … INTO S3](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/select/#select-into-s-3.md). `WITH COMPRESSION` writes the `SELECT` query results, in compressed .gzip files, to an object store.

## Programmability and Query Processing

* **New Feature:** Added support for new vector functions, namely [JSON\_ARRAY\_UNPACK](https://docs.singlestore.com/db/v9.1/reference/sql-reference/vector-functions/json-array-unpack.md), [SCALAR\_VECTOR\_MUL](https://docs.singlestore.com/db/v9.1/reference/sql-reference/vector-functions/scalar-vector-mul.md), [VECTOR\_ADD](https://docs.singlestore.com/db/v9.1/reference/sql-reference/vector-functions/vector-add.md), and [VECTOR\_MUL](https://docs.singlestore.com/db/v9.1/reference/sql-reference/vector-functions/vector-mul.md).
* **New Feature:** Added support for the [current user security model in stored procedures](https://docs.singlestore.com/db/v9.1/developer-resources/procedural-extensions/procedural-extensions-security/#section-idm4617320755363232632597752765.md). In this model, when the current user executes a stored procedure, the stored procedure is executed using the security permissions of that user.
* **New Feature:** Added support for external functions, as a preview feature. An external function calls code that is executed outside of a SingleStore database. For more information, see [CREATE EXTERNAL FUNCTION](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/create-or-replace-external-function.md).
* **Enhancement:** Improved full-text filter performance when used with other secondary hash index filters. For highly selective full-text filters, the improvement in execution speed can be 10 times faster.
* **Enhancement:** Introduced new logic to determine when to evict a compiled image of a query plan. The logic will sort on the oldest number of plans while considering the explicitly set memory limit usage of each plan. The feature is disabled by default. To enable the logic, the engine variable `enable_compiled_images_eviction` must be set to ON. The engine variable `compiled_images_eviction_memory_limit_mb`  is used to set the memory limit.
* **New Feature**: Added a new function, [JSON\_KEYS](https://docs.singlestore.com/db/v9.1/reference/sql-reference/json-functions/json-keys.md), which returns the top-level keys of a JSON object in the form of a JSON array. Optionally, if a keypath is defined, returns the top-level keys from the keypath.
* **Enhancement:** Added support for more query shapes with `FULL JOIN` or correlated subselects when reference tables are involved.  Prior to this release, these query shapes would hit a lockdown error.
* **New Feature:** Added support for query shapes that include repartitioned subqueries containing `SELECT` statements with aggregated column(s) without a `GROUP BY` clause. Prior to this release, these query shapes would hit a lockdown error.
* **New Feature:** Added support for `LEFT JOIN` when the left table is a reference table without a primary key.  Prior to this release, this query shape would hit a lockdown error.
* **Enhancement:** Improved query execution for repartition `DELETE FROM ...LIMIT` and broadcast `LEFT JOIN`.
* **Enhancement:** Improved selectivity estimate for `RIGHT JOIN` query shapes when doing `BloomFilter` decision. See [Query Plan Operations](https://docs.singlestore.com/db/v9.1/query-data/query-plan-operations.md) for a detailed explanation of `BloomFilter` and other filtering methods.
* **Enhancement:** Improved query performance using `SORT KEY()` and `KEY () WITH CLUSTERED COLUMNSTORE` columns with integer data types.
* **Enhancement:** Added `password_expiration` column to `information_schema.USERS` table. If the `password_expiration_seconds` engine variable is not enabled, the `password_expiration` column will be NULL. If the `password_expiration_seconds` engine variable is enabled, the `password_expiration` column will display the number of seconds remaining for the password to expire.
* **Enhancement:** Improved the performance of selective filters using string columns in columnstore tables.
* **New Feature:** Added support for `UNION` between reference and sharded tables.  Prior to this, this query shape would hit a lockdown error.
* **Enhancement:** Improved `EXPLAIN` output to clarify a result table for a broadcast `LEFT JOIN` or for a `MATERIALIZE_CTE` as they can have the same result table name. For broadcast `LEFT JOIN`, a branch operator is added so that the branching operation on the shared result table is reflected. See [Query Plan Operations](https://docs.singlestore.com/db/v9.1/query-data/query-plan-operations.md) for a detailed explanation of broadcasts and other distributed data movement.

## Ingest

* **New Feature:** Added support for [transactions in Kafka pipelines](https://docs.singlestore.com/db/v9.1/reference/sql-reference/pipelines-commands/create-pipeline/#section-idm4614490117752032689897982234.md).

## In this section

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

***

Modified at: November 6, 2024

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

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