Evidence-linked product lifecycle intelligenceSUPPORT · SECURITY · RETIREMENT
← Lifecycle catalogue
RELEASE NOTESOPENSEARCHVERIFIED

PUBLISHER UPDATE · OPENSEARCH-3.8.0

OPENSEARCH-3.8.0 release notes and known issues

3.8.0

Scope: OpenSearch. This update record adds version, fix and known-issue context. Its publication date is not a lifecycle boundary.

Summary

Version 3.8.0 Release Notes Compatible with OpenSearch and OpenSearch Dashboards version 3.8.0 Features Add API to modify a data stream's backing indices ( POST /_data_stream/_modify ) ( #22487 ) Add multivalue_doc_count aggregation that returns the number of documents with two or more values ( #20472 ) Add pull-based ingestion from Hive tables via new ingestion-hive plugin ( #21700 ) Add support for HTTP/3 on the client side via JDK HttpClient ( #21718 ) Add gRPC support for Point-in-Time (PIT) create and delete operations ( #22105 ) Add gRPC API support for extra_field_values in bulk requests ( #21907 ) Add cross-cluster streaming support to the remote cluster client via Arrow Flight ( #22359 ) Add coordinator-side index-level field domain pruning before can_match for faster time-range queries ( #21865 ) Add bulkscorer script processing interface in ScriptScore query for bulk scoring optimizations ( #22423 ) Add process-wide ObjectInputFilter to reject Java deserialization by default, gated behind bootstrap.serial_filter setting ( #22073 ) Add cluster-level default setting for delayed shard allocation timeout ( cluster.routing.allocation.unassigned.node_left.delayed_timeout ) ( #22379 ) Enhancements Add HTTP request body decompression (gzip/deflate) to reactor-netty4 transport ( #22382 ) Add cross-setting validator to prevent cluster-manager crash loop when both balance factors are set to zero ( #22391 ) Add support for double, int, and long types in ExtraFieldValue for gRPC bulk indexing ( #22058 ) Add timing logs for repository create, update, and delete operations ( #22489 ) Add parent action name to ProcessorGenerationContext for conditional system-generated processor logic ( #22195 ) Add getter for remote translog transfer tracker to enable plugin access to tracking metrics ( #22453 ) Deprecate RestClient in favor of the internal HTTP client ( #22116 ) Disable Mustache partial template resolution in search templates ( #22438 ) Use binary serialization for resource usage headers to reduce CPU overhead on the search path ( #21230 ) Preserve resolved search pipeline id and inline pipeline source through query rewrite ( #22501 ) Fork GET _aliases serialization to MANAGEMENT thread pool to avoid blocking transport threads ( #21954 ) Strengthen scroll_id validation to prevent OOM from crafted scroll IDs ( #22396 ) Add depth tracking to recursive deserialization to prevent StackOverflowError ( #22404 ) Validate base_path in FsRepository to prevent path traversal outside path.repo ( #22328 ) Add path boundary validation in resolveAnalyzerPath to prevent directory traversal ( #22094 ) Register snapshot resilience settings ( snapshot.repository.io_timeout , max_outstanding_ops , cleanup_stale_blobs ) ( #22516 ) Wire request_timeout into S3 sync client to prevent indefinite hangs on degraded stores ( #22479 ) Separate internal ignore settings from user ignore settings during snapshot restore ( #20494 ) Validate total_primary_shards_per_node on index templates against the cluster instead of index-local flag ( #22203 ) Rollover checkBlock now scoped to write index only, skipping non-write alias members ( #21838 ) Bug Fixes Fix OpenSearchTimeoutException to return HTTP 504 instead of 500 ( #22064 ) Fix ClassCastException on malformed mappings in create index to return 400 instead of 500 ( #22371 ) Fix NPE for search-only indices without primaries in cluster allocation explain and bulk shard selection ( #22097 ) Fix NPE in S3 multipart upload when provideStream() throws, and fix shared segment array corruption ( #22309 ) Fix ReplicationCheckpoint.compareTo to return 0 for equal checkpoints, preventing TimSort crash during shard allocation ( #22376 ) Fix negative os.cpu.percent on cgroup v2 containers by granting read access to /sys/fs/cgroup/cpu.stat ( #22408 ) Fix snapshot listing failing on repositories containing legacy Elasticsearch snapshots ( #22193 ) Fix default SSE type to send AES256 header, preventing silent snapshot failure

Improvements and security content

  • Version 3.8.0 Release Notes Compatible with OpenSearch and OpenSearch Dashboards version 3.8.0 Features Add API to modify a data stream's backing indices ( POST /_data_stream/_modify ) ( #22487 ) Add multivalue_doc_count aggregation that returns the number of documents with two or more values ( #20472 ) Add pull-based ingestion from Hive tables via new ingestion-hive plugin ( #21700 ) Add support for HTTP/3 on the client side via JDK HttpClient ( #21718 ) Add gRPC support for Point-in-Time (PIT) create and delete operations ( #22105 ) Add gRPC API support for extra_field_values in bulk requests ( #21907 ) Add cross-cluster streaming support to the remote cluster client via Arrow Flight ( #22359 ) Add coordinator-side index-level field domain pruning before can_match for faster time-range queries ( #21865 ) Add bulkscorer script processing interface in ScriptScore query for bulk scoring optimizations ( #22423 ) Add process-wide ObjectInputFilter to reject Java deserialization by default, gated behind bootstrap.serial_filter setting ( #22073 ) Add cluster-level default setting for delayed shard allocation timeout ( cluster.routing.allocation.unassigned.node_left.delayed_timeout ) ( #22379 ) Enhancements Add HTTP request body decompression (gzip/deflate) to reactor-netty4 transport ( #22382 ) Add cross-setting validator to prevent cluster-manager crash loop when both balance factors are set to zero ( #22391 ) Add support for double, int, and long types in ExtraFieldValue for gRPC bulk indexing ( #22058 ) Add timing logs for repository create, update, and delete operations ( #22489 ) Add parent action name to ProcessorGenerationContext for conditional system-generated processor logic ( #22195 ) Add getter for remote translog transfer tracker to enable plugin access to tracking metrics ( #22453 ) Deprecate RestClient in favor of the internal HTTP client ( #22116 ) Disable Mustache partial template resolution in search templates ( #22438 ) Use binary serialization for resource usage headers to reduce CPU overhead on the search path ( #21230 ) Preserve resolved search pipeline id and inline pipeline source through query rewrite ( #22501 ) Fork GET _aliases serialization to MANAGEMENT thread pool to avoid blocking transport threads ( #21954 ) Strengthen scroll_id validation to prevent OOM from crafted scroll IDs ( #22396 ) Add depth tracking to recursive deserialization to prevent StackOverflowError ( #22404 ) Validate base_path in FsRepository to prevent path traversal outside path.repo ( #22328 ) Add path boundary validation in resolveAnalyzerPath to prevent directory traversal ( #22094 ) Register snapshot resilience settings ( snapshot.repository.io_timeout , max_outstanding_ops , cleanup_stale_blobs ) ( #22516 ) Wire request_timeout into S3 sync client to prevent indefinite hangs on degraded stores ( #22479 ) Separate internal ignore settings from user ignore settings during snapshot restore ( #20494 ) Validate total_primary_shards_per_node on index templates against the cluster instead of index-local flag ( #22203 ) Rollover checkBlock now scoped to write index only, skipping non-write alias members ( #21838 ) Bug Fixes Fix OpenSearchTimeoutException to return HTTP 504 instead of 500 ( #22064 ) Fix ClassCastException on malformed mappings in create index to return 400 instead of 500 ( #22371 ) Fix NPE for search-only indices without primaries in cluster allocation explain and bulk shard selection ( #22097 ) Fix NPE in S3 multipart upload when provideStream() throws, and fix shared segment array corruption ( #22309 ) Fix ReplicationCheckpoint.compareTo to return 0 for equal checkpoints, preventing TimSort crash during shard allocation ( #22376 ) Fix negative os.cpu.percent on cgroup v2 containers by granting read access to /sys/fs/cgroup/cpu.stat ( #22408 ) Fix snapshot listing failing on repositories containing legacy Elasticsearch snapshots ( #22193 ) Fix default SSE type to send AES256 header, preventing silent snapshot failure

Known issues

Publisher statement

Not stated. The verified publisher record does not contain a known-issues statement.

Affected products and versions

Products

  • OpenSearch

Affected versions

  • 3.8.0

Fixed versions or updates

  • No fixed version is stated in this record.

Recommended action

Review the official publisher document before deployment.

Official publisher evidence