Version 3.6.0 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 3.6.0
Features
- Add bitmap64 query support (#20606)
- Add warmup phase for pull-based ingestion to prevent serving stale data before catching up with the streaming source (#20526)
- Implement field_mapping ingestion message mapper for pull-based ingestion (#20729)
- Add mapper_settings support and field_mapping mapper type for pull-based ingestion (#20722)
- Remove experimental tag for pull-based ingestion, marking it as public API (#20704)
Enhancements
- Add index warmer support for replica shards using segment replication (#20650)
- Add indices to search request slow log for easier request identification (#20588)
- Add node-level JVM and CPU runtime metrics following OpenTelemetry semantic conventions (#20844)
- Add new
Sensitivesetting property for tiering dynamic settings authorization (#20901) - Add adaptive shard selection for bulk writes on append-only indices (#20065)
- Add support for expected remote cluster name validation in CCS sniff mode (#20532)
- Add
search_settingssupport to WLM workload groups with initialtimeoutsetting (#20536) - Add scroll API support for workload management rule-based autotagging (#20151)
- Add stream request flag to SearchRequestContext for plugin consumption (#20530)
- Support Docker distribution builds for ppc64le, arm64, and s390x architectures (#20678)
- Fallback to Netty HTTP client when AWS CRT client is unavailable on the target platform (#20698)
- Add intra-segment support for single-value metric aggregations (sum, min, max, avg, stats, cardinality, value_count) (#20503)
- Expose wrapped scorer in ProfileScorer for plugin access to custom scorer methods (#20549)
- Fix ProfileScorer.getChildren() to expose wrapped scorer in the scorer tree hierarchy (#20607)
- Remove X-Request-Id format restrictions and make maximum length configurable (#21048)
- Make telemetry Tags immutable with allocation-efficient factories and content-based equality (#20788)
- Add
ref_pathsupport for package-based Hunspell dictionary loading with multi-tenant isolation (#20840) - Prevent criteria field updates for context-aware indices to simplify version management (#20250)
- Add indexer interface to decouple IndexShard from Engine for pluggable engine architectures (#20675)
- Use
ReadAdviseByContextfor MMapDirectory instead of Lucene default read advise (#21062)
Bug Fixes
- Fix
copy_tofunctionality for geo_point fields with object and array values (#20542) - Fix
field_capsreturning empty results fordisable_objectsmappings and field name corruption (#20814) - Fix terms lookup subquery to use cluster
max_clause_countsetting instead of hardcoded fallback (#20823) - Fix terms aggregation performance regression on high-cardinality fields by adding a max cardinality setting (#20623)
- Fix terms aggregation performance regression using segment-to-global ordinals mapping (#20683)
- Fix
array_index_out_of_bounds_exceptionwith wildcard and aggregations under concurrent access (#20842) - Add range validations in query builder and field mapper (#20518)
- Fix synonym_graph filter failure with word_delimiter_graph by handling analyzer dependency ordering (#19248)
- Fix index template pattern collision false positives for multi-wildcard patterns (#20702)
- Fix
SecurityExceptionwhen usingopensearch.cgroups.hierarchy.overridesetting (#20565) - Fix SLF4J component error caused by slf4j-api version mismatch with log4j binding (#20587)
- Fix JSON escaping in task details log metadata (#20802)
- Fix
listBlobsByPrefixInSortedOrderin EncryptedBlobContainer to respect limit and prevent JVM exhaustion (#20514) - Fix batched deletion of stale cluster metadata manifests to prevent remote storage pile-up (#20566)
- Fix segment replication infinite retry caused by stale metadata checkpoint (#20551)
- Fix
ExitableTermsto delegategetMin/getMaxmethods avoiding slow path in field sort (#20775) - Lazily initialize stored field reader in SourceLookup to avoid unnecessary
madvisecalls (#20827) - Fix CriteriaBasedCodec to work with delegate codec (#20442)
- Show heap percent threshold instead of moving average in search cancellation messages (#20779)
- Relax
updatedAtvalidation for WLM workload group creation to handle minor clock skew (#20486) - Improve exception messaging when encountering legacy Elasticsearch version IDs during upgrade (#20512)
- Fix Windows service startup with OpenJDK by updating procrun to 1.5.1 (#20615)
- Expose
STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSEDindex option via static method (#20980) - Fix stale segments cleanup to also trigger based on segments map size threshold (#20976)
- Move
Randomnessfrom server to lib/common to reduce FIPS demo installer size (#20570) - Add
accessUnixDomainSocketpermission for transport-grpc on Windows (#20649) - Harden HTTP/3 support detection by checking Quic native library availability for the target platform (#20680)
- Use
OPENSEARCH_FIPS_MODEenvironment variable to enable FIPS enforced mode instead of checking for bcFIPS jars (#20625) - Fix Arrow Flight transport TLS certificate hot-reload (#20700)
- Fix stream transport TLS certificate hot-reload by using live SSLContext from SecureTransportSettingsProvider (#20734)
- Ensure transient ThreadContext headers with propagators survive context restore (#20854)
Maintenance
- Bump Apache Lucene from 10.3.2 to 10.4.0 (#20735)
- Update Netty to 4.2.12.Final (#20586), (#20997), (#20998)
- Update Jackson to 2.21.2 (#20989)
- Bump OpenTelemetry to 1.60.1 and OpenTelemetry Semconv to 1.40.0 (#20737), (#20797)
- Bump Project Reactor to 3.8.4 and Reactor Netty to 1.3.4 (#20589), (#20834)
- Bump
ch.qos.logback:logback-classicto 1.5.32 andlogback-coreto 1.5.27 (#20525), (#20761) - Bump
com.nimbusds:nimbus-jose-jwtfrom 10.7 to 10.8 (#20715) - Bump
com.sun.xml.bind:jaxb-implfrom 4.0.6 to 4.0.7 (#20886) - Bump
com.netflix.nebula.ospackage-basefrom 12.2.0 to 12.3.0 (#20799) - Bump
org.apache.commons:commons-textfrom 1.14.0 to 1.15.0 (#20576) - Bump
org.jline:jlinefrom 3.30.6 to 4.0.0 (#20800) - Bump
org.jruby.jcodings:jcodingsfrom 1.0.63 to 1.0.64 (#20713) - Bump
org.jruby.joni:jonifrom 2.2.3 to 2.2.7 (#20714), (#20759) - Bump
org.tukaani:xzfrom 1.11 to 1.12 (#20760) - Bump shadow-gradle-plugin from 8.3.9 to 9.3.1 (#20569)