Releases: opensearch-project/OpenSearch
Releases · opensearch-project/OpenSearch
3.6.0
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](#2052...
3.5.0
Version 3.5.0 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 3.5.0
Added
- Add support for fields containing dots in their name as literals (#19958)
- Add support for forward translog reading (#20163)
- Added public getter method in
SourceFieldMapperto return excluded field (#20205) - Add integ test for simulating node join left event when data node cluster state publication lag because the cluster applier thread being busy (#19907).
- Relax jar hell check when extended plugins share transitive dependencies (#20103)
- Added public getter method in
SourceFieldMapperto return included field (#20290) - Support for HTTP/3 (server side) (#20017)
- Add circuit breaker support for gRPC transport to prevent out-of-memory errors (#20203)
- Add index-level-encryption support for snapshots and remote-store (#20095)
- Adding BackWardCompatibility test for remote publication enabled cluster (#20221)
- Support for hll field mapper to support cardinality rollups (#20129)
- Add tracing support for StreamingRestChannel (#20361)
- Introduce new libs/netty4 module to share common implementation between netty-based plugins and modules (transport-netty4, transport-reactor-netty4) (#20447)
- Add validation to make crypto store settings immutable (#20123)
- Introduce concurrent translog recovery to accelerate segment replication primary promotion (#20251)
- Update to
almalinux:10(#20482) - Add X-Request-Id to uniquely identify a search request (#19798)
- Added TopN selection logic for streaming terms aggregations (#20481)
- Added support for Intra Segment Search (#19704)
- Introduce AdditionalCodecs and EnginePlugin::getAdditionalCodecs hook to allow additional Codec registration (#20411)
Changed
- Handle custom metadata files in subdirectory-store (#20157)
- Add support for missing proto fields in GRPC FunctionScore and Highlight (#20169)
- Ensure all modules are included in INTEG_TEST testcluster distribution (#20241)
- Cleanup HttpServerTransport.Dispatcher in Netty tests (#20160)
- Use compact object headers with JDK25+ (#20392)
- Add
cluster.initial_cluster_manager_nodesto testClusters OVERRIDABLE_SETTINGS (#20348) - Add BigInteger support for unsigned_long fields in gRPC transport (#20346)
- Install demo security information when running ./gradlew run -PinstalledPlugins="['opensearch-security']" (#20372)
- Add
Alt-Svcheader support to advertise HTTP/3 availability (#20434) - Refactor streaming agg query phase planning (#20471)
Fixed
- Fix Snapshot rename replacement unbounded length rename (#20464)
- Fix segment replication failure during rolling restart (#19234)
- Fix bug of warm index: FullFileCachedIndexInput was closed error (#20055)
- Fix flaky test ClusterMaxMergesAtOnceIT.testClusterLevelDefaultUpdatesMergePolicy (#18056)
- Fix bug in Assertion framework(Yaml Rest test): numeric comparison fails when comparing Integer vs Long (or Float vs Double) (#19376)
- Fix Netty deprecation warnings in transport-netty4 module (#20233)
- Fix snapshot restore when an index sort is present (#20284)
- Fix SearchPhaseExecutionException to properly initCause (#20320)
- [repository-s3] remove endpointOverride and let AWS SDK V2 S3 determine the s3 url based on bucket name or arn provided (#20345)
- Fix
cluster.remote.<cluster_alias>.server_namesetting no populating SNI (#20321) - Fix X-Opaque-Id header propagation (along with other response headers) for streaming Reactor Netty 4 transport (#20371)
- Allow removing plugin that's optionally extended (#20417)
- Fix indexing regression and bug fixes for grouping criteria. (20145)
- LeafReader should not remove SubReaderWrappers incase IndexWriter encounters a non aborting Exception (#20193)
- Fix Netty deprecation warnings in transport-reactor-netty4 module (20429)
- Fix stats aggregation returning zero results with
size:0. (20427) - Fix the node local term and version being truncated in logs when host providers return very long IP or host strings (20432)
- Remove child level directory on refresh for CompositeIndexWriter (#20326)
- Fixes and refactoring in stream transport to make it more robust (#20359)
Dependencies
- Bump
com.google.auth:google-auth-library-oauth2-httpfrom 1.38.0 to 1.41.0 (#20183) - Bump
actions/checkoutfrom 5 to 6 (#20186) - Bump
org.apache.commons:commons-configuration2from 2.12.0 to 2.13.0 (#20185, #20184) - Bump Project Reactor to 3.8.1 and Reactor Netty to 1.3.1 (#20217)
- Bump OpenTelemetry to 1.57.0 and OpenTelemetry Semconv to 1.37.0 (#20231)
- Bump
peter-evans/create-pull-requestfrom 7 to 8 (#20236) - Bump
org.apache.kerby:kerb-adminfrom 2.1.0 to 2.1.1 (#20235) - Bump
org.checkerframework:checker-qualfrom 3.49.0 to 3.52.1 (#20234) - Bump
nettyto 4.2.9.Final (#20230) - Bump
log4jfrom 2.21.0 to 2.25.3 (#20308) - Bump
org.apache.logging.log4j:log4j-corefrom 2.25.2 to 2.25.3 (#20300) - Bump
ch.qos.logback:logback-corefrom 1.5.20 to 1.5.23 (#20303) - Bump
com.google.api.grpc:proto-google-iam-v1from 1.57.0 to 1.58.2 (#20302) - Bump
actions/setup-javafrom 4 to 5 (#20304) - Bump
com.squareup.okhttp3:okhttpfrom 5.3.0 to 5.3.2 (#20331) - Bump
asmfrom 9.7 to 9.9.1 (#20330) - Bump
actions/upload-artifactfrom 5 to 6 (#20333) - Bump
com.google.http-client:google-http-client-appenginefrom 2.0.2 to 2.0.3 (#20332) - Bump
jacksonfrom 2.18.1 to 2.20.1 (#20343) - Bump
opensearch-protobufsfrom 0.24.0 to 1.0.0 and update transport-grpc module compatibility ([#20335](https://github.com/opensearch-project/OpenSear...
3.4.0
Version 3.4.0 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 3.4.0
Added
- Allow setting index.creation_date on index creation and restore for plugin compatibility and migrations (#19931)
- Add support for a ForkJoinPool type (#19008)
- Add seperate shard limit validation for local and remote indices (#19532)
- Use Lucene
packmethod forhalf_floatandunsigned_longwhen usingApproximatePointRangeQuery(#19553) - New cluster setting search.query.max_query_string_length_monitor_only (#19539)
- Add a mapper for context aware segments grouping criteria (#19233)
- Return full error for GRPC error response (#19568)
- Add support for repository with Server side encryption enabled and client side encryption as well based on a flag (#19630)
- Add pluggable gRPC interceptors with explicit ordering(#19005)
- Add BindableServices extension point to transport-grpc-spi (#19304)
- Add metrics for the merged segment warmer feature (#18929)
- Handle deleted documents for filter rewrite sub-aggregation optimization (#19643)
- Add bulk collect API for filter rewrite sub-aggregation optimization (#19933)
- Allow collectors take advantage of preaggregated data using collectRange API (#20009)
- Bulk collection logic for metrics and cardinality aggregations (#20067)
- Add pointer based lag metric in pull-based ingestion (#19635)
- Introduced internal API for retrieving metadata about requested indices from transport actions (#18523)
- Add cluster defaults for merge autoThrottle, maxMergeThreads, and maxMergeCount; Add segment size filter to the merged segment warmer (#19629)
- Add build-tooling to run in FIPS environment (#18921)
- Add SMILE/CBOR/YAML document format support to Bulk GRPC endpoint (#19744)
- Make test-suite runnable under FIPS compliance support (#18491)
- Implement GRPC Search params
HighlightandSort(#19868) - Implement GRPC ConstantScoreQuery, FuzzyQuery, MatchBoolPrefixQuery, MatchPhrasePrefix, PrefixQuery, MatchQuery (#19854)
- Add async periodic flush task support for pull-based ingestion (#19878)
- Add support for context aware segments (#19098)
- Implement GRPC FunctionScoreQuery (#19888)
- Implement error_trace parameter for bulk requests (#19985)
- Allow the truncate filter in normalizers (#19778)
- Support pull-based ingestion message mappers and raw payload support (#19765)
- Add search API tracker (#18601)
- Support dynamic consumer configuration update in pull-based ingestion (#19963)
- Cache the
StoredFieldsReaderfor scroll query optimization (#20112) - Add Hybrid Cardinality collector to prioritize Ordinals Collector (#19524)
Changed
- Combining filter rewrite and skip list to optimize sub aggregation(#19573)
- Faster
termsquery creation forkeywordfield with index and docValues enabled (#19350) - Refactor to move prepareIndex and prepareDelete methods to Engine class (#19551)
- Omit maxScoreCollector in SimpleTopDocsCollectorContext when concurrent segment search enabled (#19584)
- Onboarding new maven snapshots publishing to s3 (#19619)
- Remove MultiCollectorWrapper and use MultiCollector in Lucene instead (#19595)
- Change implementation for
percentilesaggregation for latency improvement (#19648) - Wrap checked exceptions in painless.DefBootstrap to support JDK-25 (#19706)
- Refactor the ThreadPoolStats.Stats class to use the Builder pattern instead of constructors (#19317)
- Refactor the IndexingStats.Stats class to use the Builder pattern instead of constructors (#19306)
- Remove FeatureFlag.MERGED_SEGMENT_WARMER_EXPERIMENTAL_FLAG. (#19715)
- Replace java.security.AccessController with org.opensearch.secure_sm.AccessController in sub projects with SocketAccess class (#19803)
- Replace java.security.AccessController with org.opensearch.secure_sm.AccessController in discovery plugins (#19802)
- Change the default value of doc_values in WildcardFieldMapper to true. (#19796)
- Make Engine#loadHistoryUUID() protected and Origin#isFromTranslog() public (#19753)
- Bump opensearch-protobufs dependency to 0.23.0 and update transport-grpc module compatibility (#19831)
- Refactor the RefreshStats class to use the Builder pattern instead of constructors (#19835)
- Refactor the DocStats and StoreStats class to use the Builder pattern instead of constructors (#19863)
- Pass registry of headers from ActionPlugin.getRestHeaders to ActionPlugin.getRestHandlerWrapper (#19875)
- Refactor the Condition.Stats and DirectoryFileTransferTracker.Stats class to use the Builder pattern instead of constructors (#19862)
- Refactor the RemoteTranslogTransferTracker.Stats and RemoteSegmentTransferTracker.Stats class to use the Builder pattern instead of constructors (#19837)
- Refactor the GetStats, FlushStats and QueryCacheStats class to use the Builder pattern instead of constructors (#19935)
- Add RangeSemver for
dependenciesinplugin-descriptor.properties(#19939) - Refactor the FieldDataStats and CompletionStats class to use the Builder pattern instead of constructors (#19936)
- Thread Context Preservation by gRPC Interceptor (#19776)
- Update NoOpResult constructors in the Engine to be public (#19950)
- Make XContentMapValues.filter case insensitive (#19976)
- Refactor the TranslogStats and RequestCacheStats class to use the Builder pattern instead of constructors (#19961)
- Improve performance of matrix_stats aggregation (#19989)
- Refactor the IndexPressutreStats, DeviceStats and TransportStats class to use the Builder pattern instead of constructors (#19991)
- Refactor the Cache.CacheStats class to use the Builder pattern instead of constructors (#20015)
- Refactor the HttpStats, ScriptStats, AdaptiveSelectionStats and OsStats class to use the Builder pattern instead of constructors (#20014)
- Bump opensearch-protobufs dependency to 0.24.0 and update transport-grpc module compatibility ([#20059](https://github.com/opensearc...
2.19.4
Version 2.19.4 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 2.19.4
Added
- New cluster setting search.query.max_query_string_length (#19491)
Dependencies
- Bump Apache Lucene to 9.12.3 (#19444)
- Bump
org.bouncycastle:bc-fipsfrom 2.0.0 to 2.1.2 (#19155) - Bump
org.apache.commons:commons-lang3from 3.14.0 to 3.18.0 (#19155) - Bump
org.bouncycastle:bcprov-jdk18onfrom 1.78 to 1.79 (#19155) - Bump
org.bouncycastle:bcmail-jdk18onfrom 1.78 to 1.79 (#19155) - Bump
org.bouncycastle:bcpkix-jdk18onfrom 1.78 to 1.79 (#19155) - Bump
org.apache.tikafrom 2.9.2 to 3.2.2 (#19242) - Bump
org.apache.commons:commons-compressfrom 1.26.1 to 1.28.0 (#19125) - Bump
org.apache.commons:commonscodecfrom 1.16.1 to 1.18.0 (#19125) - Replace commons-lang:commons-lang with org.apache.commons:commons-lang3 (#19229)
- Bump netty from 4.1.121.Final to 4.1.125.Final (#19270)
- Bump bouncycastle from 1.79 to 1.82 (#19552)
- Bump
org.ajoberstar.grgit:grgit-corefrom 5.2.1 to 5.3.2 (#19606) - Bump
reactor-nettyfrom 1.1.23 to 1.2.9 (#19603) - Bump
reactorfrom 3.5.20 to 3.7.5 (#19603) - Bump
org.apache.hadoop:hadoop-miniclusterfrom 3.4.1 to 3.4.2 (#19605) - Bump
io.grpcdeps from 1.68.2 to 1.75.0 (#19495) - Bump
com.nimbusds:nimbus-jose-jwtfrom 10.0.2 to 10.3 (#19604) - Exclude commons-lang and org.jsonschema2pojo from hadoop-miniclusters (#19538)
Fixed
- Add task cancellation checks in aggregators (#18426)
- Fix OOM due to large number of shard result buffering (#19066)
- Fix QueryPhaseResultConsumer incomplete callback loops (#19231)
- Use ScoreDoc instead of FieldDoc when creating TopScoreDocCollectorManager to avoid unnecessary conversion (#18802)
- Fix IndexOutOfBoundsException when running include/exclude on non-existent prefix in terms aggregations (#19637)
Changed
3.3.2
Version 3.3.2 Release Notes
Compatible with OpenSearch 3.3.2 and OpenSearch Dashboards 3.3.0
Fixed
- [Star Tree] Fix sub-aggregator casting for search with profile=true (#19652)
- [Java Agent] Allow JRT protocol URLs in protection domain extraction (#19683)
- Fix bwc @timestamp upgrade issue by adding a version check on skip_list param (#19671)
- Fix issue with updating core with a patch number other than 0 (#19377)
- Fix IndexOutOfBoundsException when running include/exclude on non-existent prefix in terms aggregations (#19637)
- Add S3Repository.LEGACY_MD5_CHECKSUM_CALCULATION to list of repository-s3 settings (#19789)
Dependencies
3.3.1
Version 3.3.1 Release Notes
OpenSearch 3.3.1 Only.
Fixed
- Fix issue with updating core with a patch number other than 0 (#19377)
- [Star Tree] Fix sub-aggregator casting for search with profile=true (#19652)
- Fix bwc @timestamp upgrade issue by adding a version check on skip_list param (#19671)
3.3.0
Version 3.3.0 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 3.3.0
Added
- Expand fetch phase profiling to support inner hits and top hits aggregation phases (#18936)
- [Rule-based Auto-tagging] add the schema for security attributes (#19345)
- Add temporal routing processors for time-based document routing (#18920)
- Implement Query Rewriting Infrastructure (#19060)
- The dynamic mapping parameter supports false_allow_templates (#19065, #19097)
- [Rule-based Auto-tagging] restructure the in-memory trie to store values as a set (#19344)
- Add a toBuilder method in EngineConfig to support easy modification of configs (#19054)
- Add StoreFactory plugin interface for custom Store implementations (#19091)
- Use S3CrtClient for higher throughput while uploading files to S3 (#18800)
- [Rule-based Auto-tagging] bug fix on Update Rule API with multiple attributes (#19497)
- Add a dynamic setting to change skip_cache_factor and min_frequency for querycache (#18351)
- Add overload constructor for Translog to accept Channel Factory as a parameter (#18918)
- Addition of fileCache activeUsage guard rails to DiskThresholdMonitor (#19071)
- Add subdirectory-aware store module with recovery support (#19132)
- [Rule-based Auto-tagging] Modify get rule api to suit nested attributes (#19429)
- [Rule-based Auto-tagging] Add autotagging label resolving logic for multiple attributes (#19486)
- Field collapsing supports search_after (#19261)
- Add a dynamic cluster setting to control the enablement of the merged segment warmer (#18929)
- Publish transport-grpc-spi exposing QueryBuilderProtoConverter and QueryBuilderProtoConverterRegistry (#18949)
- Support system generated search pipeline. (#19128)
- Add
epoch_microsdate format (#14669) - Grok processor supports capturing multiple values for same field name (#18799)
- Add support for search tie-breaking by _shard_doc (#18924)
- Upgrade opensearch-protobufs dependency to 0.13.0 and update transport-grpc module compatibility (#19007)
- Add new extensible method to DocRequest to specify type (#19313)
- [Rule based auto-tagging] Add Rule based auto-tagging IT (#18550)
- Add all-active ingestion as docrep equivalent in pull-based ingestion (#19316)
- Adding logic for histogram aggregation using skiplist (#19130)
- Add skip_list param for date, scaled float and token count fields (#19142)
- Enable skip_list for @timestamp field or index sort field by default (#19480)
- Implement GRPC MatchPhrase, MultiMatch queries (#19449)
- Optimize gRPC transport thread management for improved throughput (#19278)
- Implement GRPC Boolean query and inject registry for all internal query converters (#19391)
- Added precomputation for rare terms aggregation (#18978)
- Implement GRPC Script query (#19455)
- [Search Stats] Add search & star-tree search query failure count metrics (#19210)
- [Star-tree] Support for multi-terms aggregation (#18398)
- Add stream search enabled cluster setting and auto fallback logic (#19506)
- Implement GRPC Exists, Regexp, and Wildcard queries (#19392)
- Implement GRPC GeoBoundingBox, GeoDistance queries (#19451)
- Implement GRPC Ids, Range, and Terms Set queries (#19448)
- Implement GRPC Nested query (#19453)
- Add sub aggregation support for histogram aggregation using skiplist (19438)
- Optimization in String Terms Aggregation query for Large Bucket Counts (#18732)
- New cluster setting search.query.max_query_string_length (#19491)
- Add
StreamNumericTermsAggregatorto allow numeric term aggregation streaming (#19335) - Query planning to determine flush mode for streaming aggregations (#19488)
- Harden the circuit breaker and failure handle logic in query result consumer (#19396)
- Add streaming cardinality aggregator (#19484)
- Disable request cache for streaming aggregation queries (#19520)
- [WLM] add a check to stop workload group deletion having rules (#19502)
Changed
- Refactor
if-elsechains to useJava 17 pattern matching switch expressions(#18965) - Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (#18998)
- IllegalArgumentException when scroll ID references a node not found in Cluster (#19031)
- Adding ScriptedAvg class to painless spi to allowlist usage from plugins (#19006)
- Make field data cache size setting dynamic and add a default limit (#19152)
- Replace centos:8 with almalinux:8 since centos docker images are deprecated (#19154)
- Add CompletionStage variants to IndicesAdminClient as an alternative to ActionListener (#19161)
- Remove cap on Java version used by forbidden APIs (#19163)
- Omit maxScoreCollector for field collapsing when sort by score descending (#19181)
- Disable pruning for
doc_valuesfor the wildcard field mapper (#18568) - Make all methods in Engine.Result public (#19276)
- Create and attach interclusterTest and yamlRestTest code coverage reports to gradle check task (#19165)
- Optimized date histogram aggregations by preventing unnecessary object allocations in date rounding utils (19088)
- Optimize source conversion in gRPC search hits using zero-copy BytesRef (#19280)
- Allow plugins to copy folders into their config dir during installation (#19343)
- Add failureaccess as runtime dependency to transport-grpc module (#19339)
- Migrate usages of deprecated
Operations#unionfrom Lucene (#19397) - Delegate primitive write methods with ByteSizeCachingDirectory wrapped IndexOutput (#19432)
- Bump opensearch-protobufs dependency to 0.18.0 and update transport-grpc module compatibility ([#19447](ht...
3.2.0
Version 3.2.0 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 3.2.0
Added
- [Feature Request] Enhance Terms lookup query to support query clause instead of docId (#18195)
- Add hierarchical routing processors for ingest and search pipelines (#18826)
- Add ACL-aware routing processors for ingest and search pipelines (#18834)
- Add support for Warm Indices Write Block on Flood Watermark breach (#18375)
- FS stats for warm nodes based on addressable space (#18767)
- Add support for custom index name resolver from cluster plugin (#18593)
- Rename WorkloadGroupTestUtil to WorkloadManagementTestUtil (#18709)
- Disallow resize for Warm Index, add Parameterized ITs for close in remote store (#18686)
- Ability to run Code Coverage with Gradle and produce the jacoco reports locally (#18509)
- Extend BooleanQuery must_not rewrite to numeric must, term, and terms queries (#18498)
- [Workload Management] Update logging and Javadoc, rename QueryGroup to WorkloadGroup (#18711)
- Add NodeResourceUsageStats to ClusterInfo (#18480)
- Introduce SecureHttpTransportParameters experimental API (to complement SecureTransportParameters counterpart) (#18572)
- Create equivalents of JSM's AccessController in the java agent (#18346)
- [WLM] Add WLM mode validation for workload group CRUD requests (#18652)
- Introduced a new cluster-level API to fetch remote store metadata (segments and translogs) for each shard of an index. (#18257)
- Add last index request timestamp columns to the
_cat/indicesAPI. (10766) - Introduce a new pull-based ingestion plugin for file-based indexing (for local testing) (#18591)
- Add support for search pipeline in search and msearch template (#18564)
- [Workload Management] Modify logging message in WorkloadGroupService (#18712)
- Add BooleanQuery rewrite moving constant-scoring must clauses to filter clauses (#18510)
- Add functionality for plugins to inject QueryCollectorContext during QueryPhase (#18637)
- Add support for non-timing info in profiler (#18460)
- [Rule-based auto tagging] Bug fix and improvements (#18726)
- Extend Approximation Framework to other numeric types (#18530)
- Add Semantic Version field type mapper and extensive unit tests (#18454)
- Pass index settings to system ingest processor factories. (#18708)
- Add fetch phase profiling. (#18664)
- Include named queries from rescore contexts in matched_queries array (#18697)
- Add the configurable limit on rule cardinality (#18663)
- Disable approximation framework when dealing with multiple sorts (#18763)
- [Experimental] Start in "clusterless" mode if a clusterless ClusterPlugin is loaded (#18479)
- [Star-Tree] Add star-tree search related stats (#18707)
- Add support for plugins to profile information (#18656)
- Add support for Combined Fields query (#18724)
- Make GRPC transport extensible to allow plugins to register and expose their own GRPC services (#18516)
- Added approximation support for range queries with now in date field (#18511)
- Upgrade to protobufs 0.6.0 and clean up deprecated TermQueryProtoUtils code (#18880)
- Expand fetch phase profiling to multi-shard queries (#18887)
- Prevent shard initialization failure due to streaming consumer errors (#18877)
- APIs for stream transport and new stream-based search api action (#18722)
- Add support for custom remote store segment path prefix to support clusterless configurations (#18750)
- Added the core process for warming merged segments in remote-store enabled domains (#18683)
- Streaming aggregation (#18874)
- Optimize Composite Aggregations by removing unnecessary object allocations (#18531)
- [Star-Tree] Add search support for ip field type (#18671)
- [Derived Source] Add integration of derived source feature across various paths like get/search/recovery (#18565)
- Supporting Scripted Metric Aggregation when reducing aggregations in InternalValueCount and InternalAvg (18411))
- Support
search_afternumeric queries with Approximation Framework (#18896) - Add skip_list parameter to Numeric Field Mappers (default false) (#18889)
- Optimization in Numeric Terms Aggregation query for Large Bucket Counts(#18702)
- Map to proper GRPC status codes and achieve exception handling parity with HTTP APIs(#18925)
Changed
- Update Subject interface to use CheckedRunnable (#18570)
- Update SecureAuxTransportSettingsProvider to distinguish between aux transport types (#18616)
- Make node duress values cacheable (#18649)
- Change default value of remote_data_ratio, which is used in Searchable Snapshots and Writeable Warm from 0 to 5 and min allowed value to 1 (#18767)
- Making multi rate limiters in repository dynamic #18069
- Optimize grouping for segment concurrent search by ensuring that documents within each group are as equal as possible (#18451)
- Move transport-grpc from a core plugin to a module (#18897)
- Remove
experimentaldesignation from transport-grpc settings (#18915) - Rename package org.opensearch.plugin,transport.grpc to org.opensearch.transport.grpc (#18923)
Dependencies
- Bump
stefanzweifel/git-auto-commit-actionfrom 5 to 6 (#18524) - Bump Apache Lucene to 10.2.2 (#18573)
- Bump
org.apache.logging.log4j:log4j-corefrom 2.24.3 to 2.25.1 (#18589, #18744) - Bump
com.google.code.gson:gsonfrom 2.13.0 to 2.13.1 (#18585) - Bump
com.azure:azure-core-http-nettyfrom 1.15.11 to 1.15.12 (#18586) - Bump
com.squareup.okio:okiofrom 3.13.0 to 3.15.0 (#18645, #18689) - Bump
com.netflix.nebula.ospackage-basefrom 11.11.2 to 12.0.0 (#18646) - Bump `com.azure:azure-storage-bl...
2.19.3
Version 2.19.3 Release Notes
Compatible with OpenSearch and OpenSearch Dashboards version 2.19.3
Added
- Reject close index requests, while remote store migration is in progress.(#18327)
Dependencies
- Bump
nettyfrom 4.1.118.Final to 4.1.121.Final (#18192) - Bump Apache Lucene to 9.12.2 (#18574)
- Bump
commons-beanutils:commons-beanutilsfrom 1.9.4 to 1.11.0 (#18401) - Bump
org.apache.poiversion from 5.2.5 to 5.4.1 in /plugins/ingest-attachment (#17887)
Fixed
- Use Bad Request status for InputCoercionException (#18161)
- Avoid NPE if on SnapshotInfo if 'shallow' boolean not present (#18187)
- Null check field names in QueryStringQueryBuilder (#18194)
- Fix illegal argument exception when creating a PIT (#16781)
- Fix the bug of Access denied error when rolling log files (#18597)
Changed
- Change single shard assignment log message from warn to debug (#18186)
3.1.0
2025-06-17 Version 3.1.0 Release Notes
[3.1]
Added
- Add support for linux riscv64 platform (#18156)
- [Rule based auto-tagging] Add get rule API (#17336)
- [Rule based auto-tagging] Add Delete Rule API (#18184)
- Add paginated wlm/stats API (#17638)
- [Rule based auto-tagging] Add Create rule API (#17792)
- Implement parallel shard refresh behind cluster settings (#17782)
- Bump OpenSearch Core main branch to 3.0.0 (#18039)
- [Rule based Auto-tagging] Add wlm
ActionFilter(#17791) - [Rule based auto-tagging] Add update rule API (#17797)
- [Rule based auto-tagging] Bug fix for update rule api (#18488)
- Update API of Message in index to add the timestamp for lag calculation in ingestion polling (#17977)
- Add Warm Disk Threshold Allocation Decider for Warm shards (#18082)
- Add composite directory factory (#17988)
- [Rule based auto-tagging] Add refresh based synchronization service for
Rules (#18128) - Add pull-based ingestion error metrics and make internal queue size configurable (#18088)
- Adding support for derive source feature and implementing it for various type of field mappers (#17759)
- [Security Manager Replacement] Enhance Java Agent to intercept newByteChannel (#17989)
- Enabled Async Shard Batch Fetch by default (#18139)
- Allow to get the search request from the QueryCoordinatorContext (#17818)
- Reject close index requests, while remote store migration is in progress.(#18327)
- Improve sort-query performance by retaining the default
totalHitsThresholdfor approximatedmatch_allqueries (#18189) - Enable testing for ExtensiblePlugins using classpath plugins (#16908)
- Introduce system generated ingest pipeline (#17817))
- Added Auto Force Merge Manager to enhance hot to warm migration experience (#18229)
- Apply cluster state metadata and routing table diff when building cluster state from remote(#18256)
- Support create mode in pull-based ingestion and add retries for transient failures (#18250))
- Decouple the init of Crypto Plugin and KeyProvider in CryptoRegistry (18270))
- Support cluster write block in pull-based ingestion (#18280))
- Use QueryCoordinatorContext for the rewrite in validate API. (#18272)
- Upgrade crypto kms plugin dependencies for AWS SDK v2.x. (#18268)
- Add support for
matched_fieldswith the unified highlighter (#18164) - Add BooleanQuery rewrite for must_not RangeQuery clauses (#17655)
- [repository-s3] Add support for SSE-KMS and S3 bucket owner verification (#18312)
- Optimize gRPC perf by passing by reference (#18303)
- Added File Cache Stats - Involves Block level as well as full file level stats (#17538)
- Added time_in_execution attribute to /_cluster/pending_tasks response (#17780)
- Added File Cache Pinning (#17617)
- Support consumer reset in Resume API for pull-based ingestion. This PR includes a breaking change for the experimental pull-based ingestion feature. (#18332)
- Add FIPS build tooling (#4254)
- Support Nested Aggregations as part of Star-Tree (#18048)
- [Star-Tree] Support for date-range queries with star-tree supported aggregations (#17855
- Added node-left metric to cluster manager (#18421)
- [Star tree] Remove star tree feature flag and add index setting to configure star tree search on index basis (#18070)
- Approximation Framework Enhancement: Update the BKD traversal logic to improve the performance on skewed data (#18439)
- Support system generated ingest pipelines for bulk update operations (#18277))
- Added FS Health Check Failure metric (#18435)
Changed
- Create generic DocRequest to better categorize ActionRequests (#18269))
- Change implementation for
percentilesaggregation for latency improvement (#18124) - Update FipsMode check to catch NoSuchMethodError (#18427)
Dependencies
- Update Apache Lucene from 10.1.0 to 10.2.1 (#17961)
- Bump
com.google.code.gson:gsonfrom 2.12.1 to 2.13.1 (#17923, #18266) - Bump
com.github.spotbugs:spotbugs-annotationsfrom 4.9.0 to 4.9.3 (#17922) - Bump
com.microsoft.azure:msal4jfrom 1.18.0 to 1.20.0 (#17925) - Update Apache HttpClient5 and HttpCore5 (CVE-2025-27820) (#18152)
- Bump
org.apache.commons:commons-collections4from 4.4 to 4.5.0 (#18101) - Bump
nettyfrom 4.1.118.Final to 4.1.121.Final (#18192) - Bump
org.apache.commons:commons-configuration2from 2.11.0 to 2.12.0 (#18103, #18262) - Bump
com.nimbusds:nimbus-jose-jwtfrom 10.0.2 to 10.3 (#18104, #18336) - Bump
org.apache.commons:commons-textfrom 1.13.0 to 1.13.1 (#18102) - Bump
reactor-nettyfrom 1.2.4 to 1.2.5 (#18243) - Bump
reactorfrom 3.5.20 to 3.7.5 (#18243) - Bump
com.azure:azure-core-http-nettyfrom 1.15.7 to 1.15.11 (#18265) - Bump
lycheeverse/lychee-actionfrom 2.4.0 to 2.4.1 (#18264) - Bump
com.maxmind.geoip2:geoip2from 4.2.1 to 4.3.1 (#18263, #18413) - Bump
com.azure:azure-jsonfrom 1.3.0 to 1.5.0 (#18335) - Bump
org.jline:jlinefrom 3.29.0 to 3.30.4 (#18368, #18414) - Bump
com.nimbusds:oauth2-oidc-sdkfrom 11.23.1 to 11.25 (#18369) - Bump
gradle/actionsfrom 3 to 4 (#18371) - Bump
com.azure:azure-storage-commonfrom 12.28.0 to 12.29.0 (#18415) - Bump
com.squareup.okio:okiofrom 3.10.2 to 3.12.0 (#18468) - Bump
com.azure:azure-xmlfrom 1.1.0 to 1.2.0 ([#18469](#1...