v1.5.0

Tue, 14 May 2024 00:00:00 GMT

Features:

* Added an implementation of [HNSW](https://surrealdb.com/docs/surrealql/statements/define/indexes#hnsw-hierarchical-navigable-small-world-since-150) in memory.
* Added a [`REBUILD INDEX`](https://surrealdb.com/docs/surrealql/statements/rebuild) statement.
* Added variable support in `CONTENT` clause for `RELATE` statements.
* Added more information to `INFO FOR SCOPE`.
* Added a relate method to the RPC protocol.
* Added an `INFO STRUCTURE` statement.
* Stabilised `sql2` and `jwks` features.
* Introduced an on-disk temporary table.
* Added a run method to the RPC protocol.
* Implemented limits for parsing depth in the new parser.
* Implemented reblessive into the parser to prevent any overflows.
* Increased the Minimum Supported Rust Version (MSRV) to 1.77.

Bug fixes:

* Made the query planner recognise the exact operator (`==`).
* Fixed `math:min` in foreign tables.
* Fixed typo in function `math:sum`: was `math::sun`.
* Made record IDs more flexible in the new parser.
* Reverted changefeed polling frequency back to 10 seconds.
* Fixed a problem with date-time parsing.
* Fixed response content-type on `/rpc` endpoint.
* Fixed decimal decoding.
* Made the query planner support the IN operator.
* Made the JWKS implementation more RFC 7517 compliant.
* Fixed wrong count when using `COUNT` with a subquery.
* Fixed the content type header on a CBOR HTTP response.
* Fixed `$value` being `NONE` for `DELETE` events.
* Fixed `array::group` in a group by query.

Performance improvements:

* Added a query planner strategy for record links.
* Made `TreeCache` more efficient on writes.
* Reduced byte size of datetime and UUID types using CBOR format.