Maintenance Release Changelog v8.9

2025-04-14 Version 8.9.19

  • Enhancement: Improved optimization speed of parameterized IN-lists by limiting traversal depth.

  • Enhancement: Added support for delimited batch sets in external functions.

  • Enhancement: High Availability for the Master Aggregator (HA for MA) is now enabled exclusively for Enterprise edition.

  • Enhancement: OPTIMIZE TABLE ... INDEX is now more responsive to KILL QUERY statements.

  • Bugfix: Fixed a bug that caused DROP DATABASE to hang in a rare condition.

  • Bugfix: Fixed an issue that returned wrong results in pipelines in a rare race condition.

  • Bugfix: Fixed an issue that caused a crash when a query referenced too many tables.

  • Bugfix: Changed options for loading libpam.so.

  • Bugfix: Fixed a race condition that caused DETACH DATABASE to hang.

  • Bugfix: Fixed a buffer overflow issue that occurred while de-parameterizing a multi-column IN-list filter.

  • Bugfix: Fixed an issue to prevent LRU eviction from stalling when several table modules are stale.

  • Bugfix: Fixed a bug in JSON_TO_ARRAY() join pushdown optimization that occurred when the JSON value being extracted from table_col is a JSON array.

2025-04-01 Version 8.9.18

  • Enhancement: General improvements and optimizations for CHECK BOTTOMLESS CHECKSUM command.

  • Enhancement: Added support for JSON arrays in pipelines loading JSON files. Each JSON record in the array is loaded as a separate row.

  • Bugfix: Fixed ALTER RESOURCE POOL to respect queue depth constraints.

  • Bugfix: Fixed a bug that produced incorrect results when performing a hash join with a condition that compares mismatched types where one of the types is BSON.

  • Bugfix: Fixed a crash caused by libgcc btree bug.

  • Bugfix: Reduced contention on a global lock controlling modules, affecting code loading and unwinding of exceptions.

  • Bugfix: Removed garbage collection from cleaning up arrangements when such garbage collection is already in process.

2025-03-26 Version 8.9.17

  • Bugfix: Fixed an issue impacting creating or altering a resource pool with a CPU percentage limitation after a MA failover.

2025-03-23 Version 8.9.16

  • Bugfix: Fixed CTE subselect to join preprocessing in the INTERSECT/EXCEPT CTE case.

  • Enhancement: Added an engine variable optimizer_disable_subselect_to_join_cte_preprocess which can be used to disable the subselect to join rewrite for CTE preprocessing before inlining or materialization.

2025-03-19 Version 8.9.15

  • Bugfix: Reserved memory space for segment_id in the pseudo column's MemoryFile.

  • Bugfix: Fixed a bug that occurred when a query used I0 as a column name.

  • Bugfix: Fixed a crash that was due to an issue with the rewrite that merges union queries.

  • Enhancement: Added an engine variable optimizer_enable_merge_unioned_queries_rewrite which can be used to enable or disable the rewrite that merges union queries. This variable is ON by default.

2025-03-19 Version 8.9.14

  • Enhancement: Added support for the LIMIT clause in prepared statements.

  • Enhancement: Added an option to run queries that failed asynchronous compilation, allowing users to introspect the compilation results.

  • Bugfix: Fixed an issue to prevent a crash when JSON_TO_ARRAY optimization is run against non-nullable JSON columns.

2025-03-11 Version 8.9.13

  • Enhancement: Added aggregator activity stats in Query_completion event tracing. Refer to Query History for details.

  • Enhancement: Added the ability for a user to change the login password when the variable password_expiration_mode is set to LIMITED_ACCESS. Now the user is allowed to login even after the password expires but can only execute commands that update the password such as ALTER USER or SET PASSWORD.

  • Enhancement: Added a password expiry warning message that is raised each time the user executes a query. This warning starts appearing 14 days before the password actually expires.

  • Enhancement: Added auditlogging mode for only the root user. It is a startup-only variable similar to other audit logging configuration variables and should be set along with the auditlog_level.

  • Bugfix: Fixed a bug that caused a node to crash when the variable ignore_foreign_keys is ON and the ALTER TABLE command is used to add a foreign key.

  • Bugfix: Changed the output projection DDL to CREATE PROJECTION  instead of CREATE TABLE _$_table_name_$ _ in debug profile.

  • Bugfix: Fixed an issue where DDL statements that were concurrent with PROMOTE AGGREGATOR TO MASTER did not get forwarded to the new Master Aggregator.

  • Bugfix: Fixed a bug to prevent a crash when using FTS v2 with CTE.

2025-03-05 Version 8.9.12

  • Bugfix: Fixed a bug that caused incorrect results when running INFER PIPELINE CSV.

  • Bugfix: Fixed a rare deadlock occurring when DETACH DATABASE is run.

2025-02-25 Version 8.9.11

  • Enhancement: Added an engine variable disk_plan_gc_pause_seconds_on_startup that disables disk plan garbage collection on startup. This variable prevents hot plans from being unintentionally disk garbage collected.

  • Enhancement: Added an internal allocator Alloc_connection_context which tracks certain per-connection allocations that were previously tracked using the standard allocator.

  • Bugfix: Fixed a crash that occurred when aggregator functions are used with VECTOR type data inside other built-ins.

  • Bugfix: Fixed the userDictionary parameter for the korean full-text tokenizer.

2025-02-11 Version 8.9.10

  • Enhancement: Added a vector index cache to limit the amount of memory used by vector indexes. Refer to Vector Indexing for details.

  • Enhancement: Extended the VECTOR_SUM aggregate function to support the VECTOR data type.

  • Enhancement: Computed column definitions now support the SPLIT function.

  • Enhancement: The DROP and ALTER TABLE commands no longer have to wait for the plan garbage collector.

  • Bugfix: Fixed a crash occurring when a table-valued function (TVF) column is used in a WHERE clause without a wrapping JSON_EXTRACT function in a TABLE(JSON_TO_ARRAY()) join.

  • Bugfix: Fixed a bug that caused CDC-in pipelines to fail while inferring the table schema, with the "Failed to allocate slot in the extractor pool" error.

  • Bugfix: Fixed a deadlock between ALTER and failover in a rare race condition.

  • Bugfix: Fixed a critical issue where clusters were failing to connect to AWS remote storage due to CURL request timeouts.

  • Bugfix: Fixed a bug where a CDC pipeline gets stuck while waiting for data.

2025-02-04 Version 8.9.9

  • Bugfix: Fixed a bug that prevented proper error handling on socket timeout.

  • Bugfix: Fixed a bug in JSON_ARRAY_CONTAINS_STRING query rewrite for query shapes with the LIMIT clause.

  • Bugfix: Fixed support for plan pinning in IN list factorization.

2025-01-28 Version 8.9.8

  • Enhancement: Improved pipeline error clearing. Additional errors are cleared when CLEAR PIPELINES ERRORS is run or when the pipelines_errors_retention_minutes limit is reached.

  • Enhancement: Added a new engine variable scheduler_slow_threshold_seconds that specifies the threshold for triggering the verbose logging of scheduler thread timing.

  • Enhancement: Added a new engine variable scheduler_slow_ready_queue_seconds that specifies the threshold for triggering logging of slow ready queue draining.

  • Bugfix: Fixed network connectivity performance issues impacting BYOC clusters communicating with the remote storage.

  • Bugfix: Fixed a bug in lateral join to preserve projection field aliases for lateral join subselects.

2025-01-14 Version 8.9.7

  • Enhancement: Improve behavior of garbage collection for plancache.

  • Bugfix: Fixed a bug caused by using a (cross-segment) vector index (Vector Indexing) with null vectors. Users on prior 8.9 versions will need to recreate (drop and add) vector indexes for this fix to be effective as the cross-segment indexes are built in the background.

2025-01-12 Version 8.9.6

  • Bugfix: Fixes a data-dependent crash condition occurring in certain TABLE(JSON_TO_ARRAY(... joins introduced in version 8.9.

2025-01-07 Version 8.9.5

  • Enhancement: Added new nori (Korean) analyzer customizations for Full-Text Search V2.

  • Enhancement: Added support for updated Standard and Enterprise licenses.

  • Enhancement: Added logging for LRU compiled unit eviction.

  • Enhancement: Fixed out of memory (OOM) errors and extra memory usage in Iceberg ingest. Introduced global engine variable pipelines_iceberg_data_workers_heap_size to control memory consumption on leaves.

  • Enhancement: Introduced new JSON_BUILD_ARRAY function.

  • Enhancement: Introduced support for placeholders for partition ID and timestamp in the SELECT INTO ... file name command.

  • Bugfix: Fixed a bug causing accumulation of .rem files on disk.

  • Bugfix: Fixed a small memory bug in columnstore scans that use the JSON_TO_ARRAY join optimization.

2024-12-17 Version 8.9.4

  • Bugfix: Fixed a crash in JSON_EXTRACT_STRING.

  • Bugfix: Fixed a bug with updates and asserts using JSON_ARRAY_CONTAINS_<type> predicates.

  • Bugfix: Fixed bottomless upload throttling criteria.

  • Bugfix: Blocked creation of temporary table as a shallow copy.

  • Bugfix: Resolved an issue where an in-development subsystem can leak files on disk

2024-12-12 Version 8.9.3

  • Enhancement: Added Korean language analyzer for full-text search V2.

  • Enhancement: Added support to infer CSV files with a single column when the file contains no field terminators in any record.

  • Enhancement: Relaxed dependency on partition count of leaf nodes for leaf plans.

  • Bugfix: Fixed handling of heartbeat messages in the MongoDB® extractor in debug mode.

  • Bugfix: Fixed display of default BSON and string values with null-terminators in the information schema.

  • Bugfix: Removed trailing dot for decimal column types that have scale equal to 0.

  • Bugfix: Fixed IN-list index matching for columnstore tables when a query has multiple IN-list predicates.

  • Bugfix: Fixed a bug that caused an invalid optree error after the JsonArrayContainsToTableBuiltin rewrite.

2024-11-27 Version 8.9.2

  • Bugfix: Fixed a crash that occurred during spilling when executing a query with a large number of GROUP BY columns.

  • Bugfix: Fixed performance regression in Vector Search when using DOT_PRODUCT metric.

  • Bugfix: Added an optional 'swap_time' argument to UUID_TO_BIN and BIN_TO_UUID functions.

  • Bugfix: Allowed cached table memory to be freed for empty tables in replica databases.

  • Bugfix: Fixed a lateral join parsing bug.

Last modified: April 15, 2025

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK