Release notes
9.2.5-39.1
Improvements
-
Upgraded to Elasticsearch 9.2.5.
-
Added support for
LIMITclause in graph API queries. -
Added support for disjunction of labels in graph API queries.
-
Improved the memory usage in the graph API when rendering final results.
-
Added a clarification on the license requirements for the graph API in the documentation.
Bug fixes
-
Fixed an
ArrayIndexOutOfBoundsExceptioninINDEX_JOINstrategy when joining on numeric fields. -
Fixed a bug in the graph API where the
HASH_JOINstrategy was always selected. -
Fixed a race condition in the data store.
-
Fixed an issue where the
msearchrequest ignored thepreferenceparameter when at least one sub-request contained a join. -
Fixed an issue where the
preferenceparameter contained a non-existent shard id, causing the request to fail instead of returning an empty response.
9.2.4-39.0
Breaking changes
Changed the Siren Federate license handling. Licenses issued before November 3, 2025 are no longer supported and must be renewed. In addition, some features, such as the Graph API, require a valid license and cannot run without one.
Please reach out to the Siren customer support to inquire about a new license.
Features
-
Implemented an input swap optimization for index joins.
-
Added a
siren_dlsquery to be used by Investigate to segregate data. -
Added support for enabled modules in Siren licenses.
-
Added a new REST endpoint for GQL queries
/siren/_graph.-
The Graph API feature is in alpha stage, subject to change without notice.
-
Improvements
-
Upgraded to Elasticsearch 9.2.4.
-
Improved performance on
Index Joinstrategy by using binary search to iterate overBytesRef. -
Improved the
can_matchaction to avoid serializing aggregations. -
Improved the
fingerprintandcan_matchactions to minimize the number of shards processed. -
Added support for comma-separated indices in the join clause.
-
Removed the preference parameter for fingerprint computation.
-
Added
ignore_query_cachequery parameter to skip join query cache pruning strategy. -
Improved the search-project task when the query is rewritten into a
match_all. -
Improved the initialization and cleanup job responsibilities.
-
Improved the concurrent execution of queries.
-
Removed unnecessary usage of the Guava EventBus.
-
Improved asynchronous execution in multi-search requests.
-
Added support for named join queries.
-
Changed to taskId for job identification instead of a random generated UUID.
-
Updated Calcite to version 1.40.0.
-
Improved project module dependencies.
-
Improved the license validation procedure.
-
Improved fingerprinting agnostic of DLS and FLS security system (i.e. XPack & SearchGuard).
-
Improved LogicalDataSignature hash computation to be deterministic and order agnostic.
-
Mutualize Query Shard Cache and Point-In-Time Shard Cache.
Bug fixes
-
Fixed an issue in schema registration where collected futures could be incomplete when using multi-search.
-
Fixed a bug where the data segregation header was not included in the Elasticsearch request cache key, causing incorrect results when requests with different data segregation values hit the request cache.
-
Fixed query failures when using
pre-indexed shapeinGeoshape queryandterms lookup parametersinTerms querywithin Federate join queries. -
Fixed a thread context issue causing unintended cancellation of tasks triggered by other job completions.
-
Fixed a concurrency issue where multiple tasks could attempt to sort the same array during signature creation.
-
Fixed the
federate_objectruntime field data type when projecting multiple values. -
Fixed unhandled CompletableFuture failures when the fingerprint encountered shard failures.
-
Fixed an error in calculating the hash of large queries in AQP requests.
-
Fixed a concurrent modification issue when creating task nodes.
-
Fixed an issue with dangling tasks in case of task cancellation failure.
-
Fixed a race condition when notifying task completion.
-
Fixed a validation rule in the static planner when joining on
_index. -
Fixed the
tookresponse time value to reflect the planner’stook_in_millisvalue. -
Fixed request failures when shard allocation was disabled.
-
Fixed a race condition in the data upload queue.
-
Fixed a concurrent modification error when logging task metrics.
-
Fixed a missing entitlement entry for the
json-wsprocessor. -
Fixed missing planner times in AQP response, ensuring all timing metrics are now consistently reported.
-
Fixed an issue on KNN query parsing when using Federate joins.
-
Fixed projection clauses in
/siren/_msearchrequests.