1.1.1
Released on Jan 16, 2024
Bug fixes:
Fix WebSocket notification sending format.
Fix missing custom claims from token parameter.
Fix URL encoding in JS functions.
Fix panic when invoking parameters and functions without a database.
Upgrade or install
Get SurrealDB v1.1.1
Pick how you want to install or upgrade. Surrealist can update connected instances in place, or choose a platform below to copy a CLI command for v1.1.1.
You can upgrade your SurrealDB Cloud instance to v1.1.1 effortlessly through the Surrealist app.
- Open the Surrealist app
- Select your organisation and instance
- On the dashboard, click on the "Upgrade" button
- Your instance will be updated and restarted automatically
1.1.0
Released on Jan 9, 2024
Features:
The
type::is::record()function now accepts a second optional table argument, validating the record being stored on the passed table.Add
time::micros(),time::millis()andtime::from::nanosfunctions.Add
type::is::none()function.Add
object::entries(),object::from_entries(),object::len(),object::keys()andobject::values()functions.Clean paths in the start command and honour
~.CLI: Split results by comment.
Add
surreal sqlwelcome message.Add Debugging env flag:
SURREAL_INSECURE_FORWARD_SCOPE_ERRORS.Add
SURREAL_ROCKSDB_KEEP_LOG_FILE_NUMenvironment variable (default 20).Support auth levels for basic auth (behind feature flag)
Add remainder/modulo operator.
Implement string prefixes:
s,r,dandu.Add ability to cast string to a Thing/Record ID.
Analyzers to support functions.
Support of subfields for embedding indexing.
Add live query API to Rust SDK.
Add
Query::with_stats()to return query statistics along with the results.Permissions are now always displayed for visibility
Add a
--betaflag tosurreal upgradeto make installing the latest beta release easier.
Bug fixes:
Fix stack overflow in graph traversal.
Bugfix - parse error for invalid leading whitespace.
Fix memory leak caused by OTEL callbacks.
Fix wrong function name export and function name parsing.
The position of the
LIMITandORDERclauses are now interchangeable.Fix index plan for idiom param value.
Fix bug where error offset could underflow.
Query results should be consistent and representative.
Indexes used with the operators
CONTAINS [ ANY | ALL ].Forward custom thrown errors in
SIGNINandSIGNUPqueries.Fix
ORDER BY RAND()failing to parse when selecting specific fields.Fix identifiers which look like numbers failing to parse.
Change math::median indexing for even length arrays.
Pass IP & Origin onto session used by scope queries.
Fix possible corruption of MTree and incomplete knn.
Allow
array::flatten()to be used as an aggregate function.Make
SELECT ONLYdeterministic.Optional function arguments should be optional.
Default table permissions should be
NONEBugfix: Fix inconsistent record parsing
Fix time regression in
surrealdb.wasmbinaries.Fix computing futures in query conditions.
Fix issue with scoring on complex queries.
Fix ML support on Windows and enable the feature in Windows binaries.
Replace the custom JWT parser causing decoding issues.
Ensure compression is only enabled when response is a certain size.
Respect alias for dynamic field queries with
type::field().Prevent overflow in
math::power().Fix error message pointing to wrong character.
Expand logic for static value validation to improve
DEFAULTclause handling.Fallback to a string when record ID parsing fails.
Ensure an attempt to set a protected variable returns an error.
Fix duration addition in timeout causing overflow.
Fix a bug where a non-empty list parser would parse empty lists.
Limit recursion depth when parsing nested
RELATEstatements.Ensure
REMOVEstatement does not only remove the first 1000 keys.Fix BTree deletion bug.
Replace close method on
live::Streamwith a Drop trait implementation.
Performance improvements:
Enable compression on the HTTP connector.
Make
REMOVE [ TABLE | DATABASE | NAMESPACE ]faster for TiKV and FoundationDB.Repetitive expressions and idioms are no longer re-evaluated.
Improve performance of
CREATEstatements, and record insertion.Improve RocksDB performance and configuration, introducing
SURREAL_ROCKSDB_THREAD_COUNT,SURREAL_ROCKSDB_WRITE_BUFFER_SIZE,SURREAL_ROCKSDB_TARGET_FILE_SIZE_BASE,SURREAL_ROCKSDB_MAX_WRITE_BUFFER_NUMBER,SURREAL_ROCKSDB_MIN_WRITE_BUFFER_NUMBER_TO_MERGE,SURREAL_ROCKSDB_ENABLE_PIPELINED_WRITES,SURREAL_ROCKSDB_ENABLE_BLOB_FILES,SURREAL_ROCKSDB_MIN_BLOB_SIZEenvironment variables.Improve SpeeDB performance and configuration, introducing
SURREAL_SPEEDB_THREAD_COUNT,SURREAL_SPEEDB_WRITE_BUFFER_SIZE,SURREAL_SPEEDB_TARGET_FILE_SIZE_BASE,SURREAL_SPEEDB_MAX_WRITE_BUFFER_NUMBER,SURREAL_SPEEDB_MIN_WRITE_BUFFER_NUMBER_TO_MERGE,SURREAL_SPEEDB_ENABLE_PIPELINED_WRITES,SURREAL_SPEEDB_ENABLE_BLOB_FILES,SURREAL_SPEEDB_MIN_BLOB_SIZEenvironment variables.Improve WebSocket performance, introduce
SURREAL_WEBSOCKET_MAX_FRAME_SIZE,SURREAL_WEBSOCKET_MAX_MESSAGE_SIZE,SURREAL_WEBSOCKET_MAX_CONCURRENT_REQUESTSenvironment variables.Use specific memory allocators depending on OS.
Fix memory leak in WebSocket implementation.
The
type::is::record()function now accepts a second optional table argument, validating the record being - stored on the passed table.Add
time::micros(),time::millis()andtime::from::nanosfunctions.Add
type::is::none()function.Add
object::entries(),object::from_entries(),object::len(),object::keys- ()andobject::values()functions.Clean paths in the start command and honour
~.CLI: Split results by comment.
Add
surreal sqlwelcome message.Add Debugging env flag:
SURREAL_INSECURE_FORWARD_SCOPE_ERRORS.Add
SURREAL_ROCKSDB_KEEP_LOG_FILE_NUMenvironment variable (default 20).Support auth levels for basic auth (behind feature flag)
Add remainder/modulo operator.
Implement string prefixes:
s,r,dandu.Add ability to cast string to a Thing/Record ID.
Analyzers to support functions.
Support of subfields for embedding indexing.
Add live query API to Rust SDK.
Add
Query::with_stats()to return query statistics along with the results.Permissions are now always displayed for visibility
Add a
--betaflag tosurreal upgradeto make installing the latest beta release easier.
Bug fixes:
Fix stack overflow in graph traversal.
Bugfix - parse error for invalid leading whitespace.
Fix memory leak caused by OTEL callbacks.
Fix wrong function name export and function name parsing.
The position of the
LIMITandORDERclauses are now interchangeable.Fix index plan for idiom param value.
Fix bug where error offset could underflow.
Query results should be consistent and representative.
Indexes used with the operators
CONTAINS [ ANY | ALL ].Forward custom thrown errors in
SIGNINandSIGNUPqueries.Fix
ORDER BY RAND()failing to parse when selecting specific fields.Fix identifiers which look like numbers failing to parse.
Change math::median indexing for even length arrays.
Pass IP & Origin onto session used by scope queries.
Fix possible corruption of MTree and incomplete knn.
Allow
array::flatten()to be used as an aggregate function.Make
SELECT ONLYdeterministic.Optional function arguments should be optional.
Default table permissions should be
NONEBugfix: Fix inconsistent record parsing
Fix time regression in
surrealdb.wasmbinaries.Fix computing futures in query conditions.
Fix issue with scoring on complex queries.
Fix ML support on Windows and enable the feature in Windows binaries.
Replace the custom JWT parser causing decoding issues.
Ensure compression is only enabled when response is a certain size.
Respect alias for dynamic field queries with
type::field().Prevent overflow in
math::power().Fix error message pointing to wrong character.
Expand logic for static value validation to improve
DEFAULTclause handling.Fallback to a string when record ID parsing fails.
Ensure an attempt to set a protected variable returns an error.
Fix duration addition in timeout causing overflow.
Fix a bug where a non-empty list parser would parse empty lists.
Limit recursion depth when parsing nested
RELATEstatements.Ensure
REMOVEstatement does not only remove the first 1000 keys.Fix BTree deletion bug.
Replace close method on
live::Streamwith a Drop trait implementation.
Performance improvements:
Enable compression on the HTTP connector.
Make
REMOVE [ TABLE | DATABASE | NAMESPACE ]faster for TiKV and FoundationDB.Repetitive expressions and idioms are not anymore re-evaluated.
Improve performance of
CREATEstatements, and record insertion.Improve RocksDB performance and configuration, introducing
SURREAL_ROCKSDB_THREAD_COUNT,SURREAL_ROCKSDB_WRITE_BUFFER_SIZE,SURREAL_ROCKSDB_TARGET_FILE_SIZE_BASE,SURREAL_ROCKSDB_MAX_WRITE_BUFFER_NUMBER,SURREAL_ROCKSDB_MIN_WRITE_BUFFER_NUMBER_TO_MERGE,SURREAL_ROCKSDB_ENABLE_PIPELINED_WRITES,SURREAL_ROCKSDB_ENABLE_BLOB_FILES,SURREAL_ROCKSDB_MIN_BLOB_SIZEenvironment variables.Improve SpeeDB performance and configuration, introducing
SURREAL_SPEEDB_THREAD_COUNT,SURREAL_SPEEDB_WRITE_BUFFER_SIZE,SURREAL_SPEEDB_TARGET_FILE_SIZE_BASE,SURREAL_SPEEDB_MAX_WRITE_BUFFER_NUMBER,SURREAL_SPEEDB_MIN_WRITE_BUFFER_NUMBER_TO_MERGE,SURREAL_SPEEDB_ENABLE_PIPELINED_WRITES,SURREAL_SPEEDB_ENABLE_BLOB_FILES,SURREAL_SPEEDB_MIN_BLOB_SIZEenvironment variables.Improve WebSocket performance, introduce
SURREAL_WEBSOCKET_MAX_FRAME_SIZE,SURREAL_WEBSOCKET_MAX_MESSAGE_SIZE,SURREAL_WEBSOCKET_MAX_CONCURRENT_REQUESTSenvironment variables.Use specific memory allocators depending on OS.
Fix memory leak in Websocket implementation.
Get realtime updates in your Rust application with the Live Query API
v1.1.0 introduces a new Live Query API to the Rust SDK, for powerful realtime updates in your Rust applications.
Object functions
It was previously impossible to iterate over objects, so we introduced some new functions to make working with object data structures easier.
String prefixes
Strings can optimistically be parsed as Record IDs, Datetimes or as a UUID, if the content matches such a value. With string prefixes you get to decide what value a string holds.
Deterministic SELECT ONLY
The ONLY clause is sometimes not deterministic. Selecting from an array, table or range with the ONLY clause now requires you to limit the result to 1.
Optional function arguments
Optional function arguments on custom functions are now actually optional.
Newer patch available
Upgrade to 1.1.1
You are viewing the 1.1.0 changelog. A newer patch in this release line is available - we recommend running 1.1.1 for the latest fixes and improvements.
Our newsletter
Get tutorials, AI agent recipes, webinars, and early product updates in your inbox every two weeks