OpenSearch 3.0 delivers significant upgrades for performance, data management, security, vector database functionality, and more to help you build and deploy powerful, flexible solutions for search, analytics, observability, and other use cases.
- Among the significant performance improvements included in OpenSearch 3.0 is an update to range queries. Applying smarter strategies for numeric and date fields, OpenSearch can now answer range filters with far fewer I/O operations to deliver 25% faster performance in Big5 benchmarks.
- New optimization features for high-cardinality queries introduce execution hints for cardinality aggregation, enabling users to better balance precision and performance. This enhancement achieves a 75% reduction in p90 latency in benchmark testing compared to the previous release.
- Concurrent segment search is now enabled by default for k-NN, delivering up to 2.5x faster query performance. Additionally, improvements to the floor segment size setting help improve tail latencies by up to 20%.
- Date histogram aggregations now benefit from enhanced filter rewrite optimization that supports sub-aggregations, offering significant performance gains for real-world use cases requiring multi-level aggregations.
- Derived source for k-NN vectors is production ready in this release, optimizing vector search performance with up to 30x improvement in cold start query latencies. This feature can also reduce storage requirements by 3x across the Faiss, Lucene, and NMSLIB libraries.
- Semantic sentence highlighting introduces context-aware highlighting to identify and highlight relevant sentences based on meaning, not just keyword matches, working seamlessly with traditional search as well as neural and hybrid search. This feature includes a pre-trained model for basic semantic highlighting use cases.
- Concurrent Segment Search is now enabled by default for k-NN, delivering up to 2.5x faster query performance. Additionally, improvements to the floor segment size setting help improve tail latencies by up to 20%.
- The new explain parameter for Faiss engine queries provides detailed insights into k-NN query scoring processes. This enhancement helps users understand and optimize their query results by providing a comprehensive view into search result scores.
- This release changes the default BM25 scoring function from LegacyBM25Similarity to BM25Similarity. This provides better compatibility with the latest Apache Lucene optimizations and removes unnecessary legacy code, leading to cleaner, more maintainable implementations while preserving search result quality.
- Piped Processing Language (PPL) receives powerful new capabilities with lookup, join, and subsearch commands, improving log correlation and filtering capabilities. These enhancements, backed by Apache Calcite, enable better query planning and execution for interactive data exploration.
- Query insights see major improvements with a new live queries API for real-time monitoring and a verbose parameter for optimized dashboard performance. Dynamic columns in the query insights dashboard support efficient query analysis.
- The observability experience is enhanced with contextual launch for anomaly detection, allow you to launch an anomaly detector from the main dashboard and automatically populating relevant logs in the Discover view. This streamlined workflow can significantly accelerate the task of investigating anomalies.
- Z-score normalization introduces a new statistical approach for hybrid search score normalization that better handles outliers compared to the default score-based normalization method. This supports more consistent and reliable hybrid search results.
- The addition of lower bound min-max normalization helps prevent over-amplification of low scores in hybrid search results by establishing minimum thresholds during normalization, supporting more relevant and proportionate search results.
- Inner hits support for hybrid queries provides detailed visibility into results that are hidden by default when searching nested or parent-join fields.
- Star-tree indexing capabilities have been expanded to support metric aggregations and filtered terms queries, delivering up to 100x reduction in query work. This enhancement particularly benefits high-cardinality group-by operations and multi-level aggregations.
- New functionality lets you separates indexing and search traffic in remote store-enabled clusters to support failure isolation, enable independent scaling, and improve performance and efficiency. For use cases that write-once and read-many, a new _scale API allows you to turn of all writers and make an index search only.
- A new security framework replaces the Java Security Manager with a Java agent that enables OpenSearch to intercept privileged calls and ensure that the caller performing the privileged action has permissions. The replacement is configured in the same manner as the JSM, with policy files that give grants to individual codebases which specify the privileged actions they are allowed to perform.
- The Security plugin receives significant performance improvements through optimized privilege evaluation. These enhancements reduce internal serialization overhead and improve cluster performance for deployments using advanced security features.
- A new PGP public key has been implemented for version 3.0.0 and above, updating the artifact verification process, valid through March 6, 2027. The previous key will continue to be used for 2.x releases only.
- You can now configure node-level circuit breakers in OpenSearch k-NN, introducing the possibility of heterogenous circuit breaker limits, offering benefits for scenarios in which clusters live in mixed-hardware environments with different memory constraints.
- OpenSearch 3.0 includes the following experimental functionality. Experimental features are disabled by default. For instructions on how to enable them, refer to the documentation for the feature.
- New experimental GPU acceleration for vector search operations offers substantial performance gains, delivering up to 9.3x faster indexing speeds while reducing operational costs by 3.75x compared to CPU-based solutions.
- This release introduces experimental high-performance data transport using protocol buffers (protobuf) over gRPC, enabling concurrent requests over single TCP connections. This can significantly reduces serialization overhead compared to JSON and provides an efficient path for integrating OpenSearch into existing gRPC ecosystems.
- Pull-based ingestion allows OpenSearch to fetch data directly from streaming sources like Apache Kafka and Amazon Kinesis. This experimental feature supports improved data pipeline stability, natively handling backpressure and offering a more resilient approach to ingestion.
- Experimental native Model Context Protocol (MCP) support enables seamless integration with AI agents, standardizing communications across LLM applications, data sources, and tools. This makes it easier to integrate OpenSearch with external AI agents such as Anthropic, LangChain, and OpenAI and build AI-powered applications.
- A new plan-execute-reflect agent introduces autonomous problem-solving capabilities that break complex tasks into manageable steps. This intelligent agent supports iterative improvement through reflection, making it particularly effective for complex troubleshooting scenarios.
OpenSearch and OpenSearch Dashboards 3.0.0 includes the following breaking changes, features, enhancements, bug fixes, infrastructure, documentation, maintenance and refactoring updates.
OpenSearch Release Notes.
OpenSearch Dashboards Release Notes.
Please note that OpenSearch and OpenSearch Dashboards will deprecate support for Ubuntu Linux 20.04 as a continuous integration build image and supported operating system in an upcoming version, as Ubuntu Linux 20.04 will reach end-of-life with standard support as of April 2025 (refer to this notice from Canonical Ubuntu). For a list of the compatible operating systems, visit here.
Please note that OpenSearch Dashboards will deprecate support for Amazon Linux 2 as a continuous integration build image and supported operating system in an upcoming version, as Node.js 18 will reach end-of-life with support as of April 2025 (refer to this notice from nodejs.org) and newer version of Node.js LTS version (20+) will not support runtime on Amazon Linux 2. For a list of the compatible operating systems, visit here.
PGP Key Update (release@opensearch.org):
Please note that a new PGP public key (with release@opensearch.org email) is available for artifact verification on OpenSearch version 3.0.0 and above. OpenSearch鈥檚 current PGP public key (with opensearch@amazon.com email) will be reserved for 2.x releases only. Please visit https://opensearch.org/verify-signatures.html to download the new public key, which is scheduled to expire on March 6, 2027.
- For a full list of breaking changes and deprecated/removed features in version 3.0.0, please see details in the meta issues.
- Upgrade to Lucene 10.1.0 - PR (#16366)
- JDK21 as minimum supported Java runtime (#10745)
- Remove deprecated terms from Java API (#5214)
- JPMS Support (Eliminate top level split packages ) Phase-0 only (#8110)
- Add ThreadContextPermission for stashAndMergeHeaders and stashWithOrigin (#15039)
- Add ThreadContextPermission for markAsSystemContext and allow core to perform the method (#15016)
- Migrate client transports to Apache HttpClient / Core 5.x (#4459)
- Validation changes on the Bulk Index API like enforcing 512 byte _id size limit (#6595)
- Ability to use the node as coordinating node by passing node.roles as empty array (#3412)
- Treat Setting value with empty array string as empty array (#10625)
- Ensure Jackson default maximums introduced in 2.16.0 do not conflict with OpenSearch settings (#11811)
- Setting a maximum depth for nested queries (#11670)
- Fix interchanged formats of total_indexing_buffer_in_bytes and total_indexing_buffer (#17070)
- Cleanup deprecated thread pool settings (#2595)
- Replace "blacklist/whitelist" terminology in Java APIs (#1683)
- Remove deprecated methods from JodaCompatibleZonedDateTime which are called by scripts (#3346)
- List of deprecated code removal in 3.0- partially done (#2773)
- Remove mmap.extensions setting (#9392)
- Remove COMPAT locale provider (#13988)
- Remove transport-nio plugin (#16887)
- Deprecate CamelCase PathHierarchy tokenizer name (#10894)
- Rename Class ending with Plugin to Module under modules dir (#4042)
- Remove deprecated
batch_sizeparameter from_bulk(#14283) - Unset discovery nodes for every transport node actions request (#17682)
- Added cluster:monitor/shards permission for _cat/shards action (#13966)
- Remove
CssDistFilename(#9446) - Remove
withLongNumeralsinHttpFetchOptions. (#9448) - Remove
@elastic/filesaver(#9484) - Bump
monaco-editorfrom 0.17.0 to 0.30.1 (#9497) - Remove the deprecated "newExperience" table option in discover (#9531)
- Bump monaco-editor from 0.30.1 to 0.52.0 (#9618)
- Use _list/indices API instead of _cat/index API in CatIndexTool (#3243)
- Deprecate the restful API of batch ingestion (#3688)
- Remove support for legacy notebooks (#2406)
- Fix Blake2b hash implementation (#5089)
- Remove OpenSSL provider (#5220)
- Remove whitelist settings in favor of allowlist (#5224)
- Remove ef construction from Index Seeting (#2564)
- Remove m from Index Setting (#2564)
- Remove space type from index setting (#2564)
- Remove Knn Plugin enabled setting (#2564)
- [v3.0.0] Bump gradle 8.10.2 / JDK23 on SQL plugin (#3319)
- [v3.0.0] Remove SparkSQL support (#3306)
- [v3.0.0] Remove opendistro settings and endpoints (#3326)
- [v3.0.0] Deprecate SQL Delete statement (#3337)
- [v3.0.0] Deprecate scroll API usage (#3346)
- [v3.0.0] Deprecate OpenSearch DSL format (#3367)
- [v3.0.0] Unified OpenSearch PPL Data Type (#3345)
- [v3.0.0] Add datetime functions (#3473)
- [v3.0.0] Support CAST function with Calcite (#3439)
- Expose chatEnabled flag to capabilities (#398)
- Update chatbot UI to align with new look (#435)
- Add data to summary response post processing (#436)
- Add flag to control if display conversation list (#438)
- When open chatbot, load the last conversation automatically (#439)
- Add index type detection (#454)
- Add error handling when open chatbot and loading conversation (#485)
- Generate visualization on t2v page mount (#505)
- Update insight badge (#507)
- Implmentation of contextual launch (#1005)
- Adding replication (CCR) plugin interface and classes to common-utils (#667)
- Upgrade to Lucene 10.1.0 and Introduce new Codec implementation for the upgrade (#228)
- Bump ZTD lib version to 1.5.6-1 (#232)
- Introduce cluster layer in maps-dashboards (#703)
- Add cross cluster support (#497)
- Add per-tenant provisioning throttling (#1074)
- Adding unfollow action in ism to invoke stop replication for ccr (#1198)
- Onboard MCP (#3721)
- Plan, Execute and Reflect Agent Type (#3716)
- Support custom prompts from user (#3731)
- Support MCP server in OpenSearch (#3781)
- Lower bound for min-max normalization technique in hybrid query (#1195)
- Support filter function for HybridQueryBuilder and NeuralQueryBuilder (#1206)
- Add Z Score normalization technique (#1224)
- Support semantic sentence highlighter (#1193)
- Optimize embedding generation in Text Embedding Processor (#1191)
- Optimize embedding generation in Sparse Encoding Processor (#1246)
- Optimize embedding generation in Text/Image Embedding Processor (#1249)
- Inner hits support with hybrid query (#1253)
- Support custom tags in semantic highlighter (#1254)
- Add stats API (#1256)
- Implement analyzer based neural sparse query (#1088)
- [Semantic Field] Add semantic field mapper. (#1225)
- Adds support for uploading threat intelligence in Custom Format (#1493)
- Add support for custom ioc schema in threat intel source (#1266)
- Add web search tool (#547)
- [Remote Vector Index Build] Client polling mechanism, encoder check, method parameter retrieval (#2576)
- [Remote Vector Index Build] Move client to separate module (#2603)
- Add filter function to KNNQueryBuilder with unit tests and integration tests (#2599)
- [Lucene On Faiss] Add a new mode, memory-optimized-search enable user to run vector search on FAISS index under memory constrained environment. (#2630)
- [Remote Vector Index Build] Add metric collection for remote build process (#2615)
- [Explain API Support] Added Explain API support for Exact/ANN/Radial/Disk based KNN search on Faiss Engine (#2403)
- Introduce Remote Native Index Build feature flag, settings, and initial skeleton (#2525)
- Implement vector data upload and vector data size threshold setting (#2550)
- Implement data download and IndexOutput write functionality (#2554)
- Introduce Client Skeleton + basic Build Request implementation (#2560)
- Add concurrency optimizations with native memory graph loading and force eviction (#2345)
- PPL: Add
jsonfunction andcast(x as json)function (#3243) - Framework of Calcite Engine: Parser, Catalog Binding and Plan Converter (#3249)
- Enable Calcite by default and refactor all related ITs (#3468)
- Make PPL execute successfully on Calcite engine (#3258)
- Implement ppl join command with Calcite (#3364)
- Implement ppl
INsubquery command with Calcite (#3371) - Implement ppl relation subquery command with Calcite (#3378)
- Implement ppl
existssubquery command with Calcite (#3388) - Implement ppl scalar subquery command with Calcite (#3392)
- Implement lookup command (#3419)
- Support In expression in Calcite Engine (#3429)
- Support ppl BETWEEN operator within Calcite (#3433)
- Implement ppl
dedupcommand with Calcite (#3416) - Support
parsecommand with Calcite (#3474) - Support
TYPEOFfunction with Calcite (#3446) - New output for explain endpoint with Calcite engine (#3521)
- Make basic aggregation working (#3318, #3355)
- Push down project and filter operator into index scan (#3327)
- Enable push down optimization by default (#3366)
- Calcite enable pushdown aggregation (#3389)
- Support multiple table and index pattern (#3409)
- Support group by span over time based column with Span UDF (#3421)
- Support nested field (#3476)
- Execute Calcite PPL query in thread pool (#3508)
- Support UDT for date, time, timestamp (#3483)
- Support UDT for IP (#3504)
- Support GEO_POINT type (#3511)
- Add UDF interface (#3374)
- Add missing text function (#3471)
- Add string builtin functions (#3393)
- Add math UDF (#3390)
- Add condition UDFs (#3412)
- Register OpenSearchTypeSystem to OpenSearchTypeFactory (#3349)
- Enable update calcite setting through _plugins/_query/settings API (#3531)
- Support alias type field (#3538)
- Support UDT for BINARY (#3549)
- Support metadata field (#3445)
- Support CASE function (#3558)
- Remove os_insight agent (#452)
- Hide the assistant entry when there isn't data2summary agent (#417)
- Adjust buttons' padding inside alert in-context insight popover (#467)
- Add a space to the left of the AI action menu button (#486)
- Add a tooltip for disabled assistant action button (#490)
- Improve the text to visualization error handling (#491)
- Optimize source selector width in t2v page (#497)
- Show error message if PPL query does not contain aggregation (#499)
- Adjust the overall style of alert summary popover (#501)
- Change the background color, button position and text for alert summary popover (#506)
- Collect metrics for when t2viz triggered(#510)
- Chatbot dock bottom border top(#511)
- Update the no aggregation PPL error message(#512)
- Remove redundant error toast(#515)
- Add auto suggested aggregation for text2Viz (#514)
- Remove experimental badge for natural language vis (#516)
- Revert "Add http error instruction for t2ppl task" (#519)
- t2viz remove fields clause from generated PPL query (#525)
- Render Icon based on the chat status (#523)
- Add scroll load conversations (#530)
- Refactor InContext style, add white logo and remove outdated code (#529)
- Change chatbot entry point to a single button (#540)
- Support streaming output(#493)
- Update event names for t2v and feedback (#543)
- Use testclusters when testing with security (#1414)
- Add AWS SAM template for WAF log analysis and anomaly detection (#1460)
- Integrate legacy presets with quick-configure fields (#602)
- Simplify RAG presets, add bulk API details (#610)
- Improve RAG preset experience (#617)
- Update model options and callout (#622)
- Added popover to display links to suggested models (#625)
- Implicitly update input maps defined on non-expanded queries (common cases) (#632)
- Show interim JSON provision flow even if provisioned (#633)
- Add functional buttons in form headers, fix query parse bug (#649)
- Block simulate API calls if datasource version is missing (#657)
- Update default queries, update quick config fields, misc updates (#660)
- Update visible plugin name to 'AI Search Flows' (#662)
- Update plugin name and rearrange Try AI Search Flows card (#664)
- Add new RAG + hybrid search preset (#665)
- Update new index mappings if selecting from existing index (#670)
- Persist state across Inspector tab switches; add presets dropdown (#671)
- Simplify ML processor form when interface is defined (#676)
- Cache form across ML transform types (#678)
- Add callout if knn query does not have knn index (#688)
- Adding icons to reorder processors up and down (#690)
- Support optional model inputs (#701)
- Support whitespace for string constant; support ext toggling on ML resp processors (#702)
- Support sentence highlighting QA model (#3600)
- Add parser for ModelTensorOutput and ModelTensors (#3658)
- Function calling for openai v1, bedrock claude and deepseek (#3712)
- Update highlighting model translator to adapt new model (#3699)
- Implement async mode in agent execution (#3714)
- Set neural-search plugin 3.0.0 baseline JDK version to JDK-21 (#838)
- Support different embedding types in model's response (#1007)
- Traces - Add "attributes" field (#2432)
- Traces - Update custom source toast/error/sorting (#2407)
- Adding Amazon Network Firewall Integration (#2410)
- Traces - Update custom source display, add toast (#2403)
- Trace to logs correlation, action icon updates (#2398)
- Traces - Custom source switch to data grid (#2390)
- Service Content/View Optimizationsc (#2383)
- Database selector in "Set Up Integration" page (#2380)
- Support custom logs correlation (#2375)
- Add strict hash check on top queries indices (#266)
- Add default index template for query insights local index (#254)
- Skip profile queries (#298)
- Add top_queries API verbose param (#300)
- Feat integ tests for exporter n reader (#310)
- Inflight Queries API (#295)
- Dynamically display columns (#103)
- Fetch top query with verbose=false on overview (#164)
- Fetch only once if the first call returns a valid query (#182)
- Add cat shard api permission (#2223)
- Changes to remove tenant panels from roles pages when multitenancy is disabled (#2218)
- Introduce node level circuit breakers for k-NN (#2509)
- Added more detailed error messages for KNN model training (#2378)
- Add other functions to SQL query validator (#3304)
- Improved patterns command with new algorithm (#3263)
- Clean up syntax error reporting (#3278)
- Support line comment and block comment in PPL (#2806)
- Function framework refactoring (#3522)
- Add SQLQuery Utils support for Vaccum queries (#3269)
- Optimized Privilege Evaluation (#4380)
- Add support for CIDR ranges in
ignore_hostssetting (#5099) - Add 'good' as a valid value for
plugins.security.restapi.password_score_based_validation_strength(#5119) - Adding stop-replication permission to
index_management_full_access(#5160) - Replace password generator step with a secure password generator action (#5153)
- Run Security build on image from opensearch-build (#4966)
- Fixed incorrect message id field used (#378)
- Improve alert summary with backend log pattern experience (#389)
- Fixed in context feature returning 500 error if workspace is invalid to returning 4XX (#429)(#458)
- Fix incorrect insight API response (#473)
- Improve error handling for index type detection (#472)
- Fix header button input sending messages to active conversation (#481)
- Shrink source selector in t2v page (#492)
- Increase search selector width in t2v page (#495)
- Fix bottom spacing for chatbot flyout's input box (#496)
- Fix incontext insight popover close (#498)
- Fix error handling for data source connection errors (#500)
- Fix bug by hiding alert summary when clicking alert name (#482)
- Fix alert summary message action position when no discover button (#504)
- Remove text in badge to make it compatible with small screen (#509)
- remove experimental badge for vis-nlp (#528)
- Fix vertically alignment of alert insights popover title (#526)
- Change alert summary icon color to white (#533)
- Fix query assistant menu disappear due to upstream method signature change(#541)
- Fix .plugins-ml-memory-meta not found when get conversations (#542)
- Fix save to notebook with MDS (#554)
- Correct release notes filename (#1831)
- Use java-agent Gradle plugin to support phasing off SecurityManager usage in favor of Java Agent (#1824)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1823)
- Fix bucket selector aggregation writeable name. (#1780)
- Alerting Dashboard doesn't find sub-fields when building the list of fields by type. (#1234)
- Distinguish local cluster when local name is same as remote (#1446)
- Switching fieldcaps api to utilize js client (#984)
- Update namespace for alerting plugin to avoid conflict with alerting (#1003)
- Fix remote cluster bug when remote and local have same name (#1007)
- Display selected clusters correctly on edit page (#1011)
- Fix imports related to split package of org.opensearch.transport (#790)
- Escape/Unescape pipe UserInfo in ThreadContext (#801)
- Disabling knn validation checks (#1515)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#235)
- Add java agent plugin (#237)
- Fix layer config panel background color inconsistency (#704)
- Fix overlapping data labels on map layer (#718)
- [Bug] Support for date range in report generation (#524)
- Updated the optional parameters for timefrom and timeto to resolve incorrect report generation scenarios (#554)
- [Bug] Reporting Popover UI (#570)
- Change REST status codes for RBAC and provisioning (#1083)
- Fix Config parser does not handle tenant_id field (#1096)
- Complete action listener on failed synchronous workflow provisioning (#1098)
- Add new attributes field to ToolStep (#1113)
- Fix bug handleReprovision missing wait_for_completion_timeout response (#1107)
- Fix error that local cluster cannot get version (#606)
- UX fit-n-finish updates XI (#613)
- UX fit-n-finish updates XII (#618)
- Bug fixes XIII (#630)
- Various bug fixes & improvements (#644)
- Fixed bug related to Search Index in Local Cluster scenario (#654)
- Fix missed UI autofilling after JSON Lines change (#672)
- Target Index Settings if create index during rollup (#1377)
- Fixed CVE upgrade logback-core to 1.5.13 (#1388)
- Fix issue in Docker Security Tests where qualifier is not being parsed correctly (#1401)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1404)
- Fix wrong urls to documentation (#1278)
- Fixed CVE in glob-parent and braces dependencies (#1287)
- Fixed CVE: Updated elliptic dependency resolution (#1290)
- Fix: Update @babel dependencies to address RegExp vulnerability (#1296)
- Fixed CVE: Updated babel dependencies (#1308)
- Fixed verify-binary-installation workflow file (#1309)
- Fix job-scheduler with OpenSearch Refactoring (#730)
- Fetch certs from security repo and remove locally checked in demo certs (#713)
- Only download demo certs when integTest run with
-Dsecurity.enabled=true(#737)
- Fix building error due to a breaking change from core (#3617)
- Fixing the circuit breaker issue for remote model (#3652)
- Fix compilation error (#3667)
- Revert CI workflow changes (#3674)
- Fix config index masterkey pull up for multi-tenancy (#3700)
- Fix error message when input map and output map length not match (#3730)
- Agent Framework: Handle model response when toolUse is not accompanied by text (#3755)
- Allow user to control react agent max_interations value to prevent empty response (#3756)
- Agent framework: Fix SearchIndexTool to parse special floating point values and NaN (#3754)
- Directly return Response objects from metadata client responses (#3768)
- Remove opensearch-ml-2.4.0.0.zip file that was added by random mistake (#3763)
- Replace null GetResponse with valid response and not exists (#3759)
- Fix ListIndexTool and SearchIndexTool (#3720)
- Support MCP session management (#3803)
- Support customized message endpoint and addressing comments (#3810)
- Excluding circuit breaker for Agent (#3814)
- Fix data source not compatible with prerelease (#411)
- Fix verify install binary workflow failed (#421)
- Fix a bug to unflatten the doc with list of map with multiple entries correctly (#1204)
- Remove validations for unmapped fields (text and image) in TextImageEmbeddingProcessor (#1230)
- Add validations to prevent empty input_text_field and input_image_field in TextImageEmbeddingProcessor (#1257)
- Fix score value as null for single shard when sorting is not done on score field (#1277)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1013)
- Traces - Custom Traces mode pagination reset (#2437)
- Fix(notebook): fix set_paragraphs API (#2417)
- [Bug] Notebooks - Action popover (#2418)
- Fix link checker 404 and update the table of content in README (#2413)
- Cypress - Config fix (#2408)
- Application Analytics - Flaky cypress fix (#2402)
- Traces table fix for invalid date (#2399)
- Custom Traces- Sorting/Toast (#2397)
- Event Analytics - Cypress flaky fix (#2395)
- Services to Traces - Flyout redirection (#2392)
- [Bug] Traces/Services remove toast message on empty data (#2346)
- Restore spans limit to 3000 in trace view (#2353)
- [BUG] Updated cache for the sub tree in Workbench (#2351)
- Trace Groups Optimization - Remove duplicate filters (#2368)
- [Bug] Traces redirection while QA enabled (#2369)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1916)
- Add a model parser for xgboost (for the correct serialization format) (#151)
- Fix test to ApproximateScoreQuery (#158)
- Fix github upload artifact error (#229)
- Fix unit test SearchQueryCategorizerTests.testFunctionScoreQuery (#270)
- Fix pipeline on main branch (#274)
- Fix local index deletion timing (#289)
- Top queries api bugs (#293)
- Fix CVE-2025-27820 (#317)
- Fix flaky live queries tests (#335)
- Fix duplicated requests on refreshing the overview (#138)
- Bug Fix - Placeholder metric Not Replaced with Actual Metric Type (#140)
- Enable Correct Sorting for Metrics in Query Insights Dashboard (#173)
- Fix Window size changing unexpectedly (#178)
- [Bug] Side tree flyout fix in async operations (#448)
- Fix version conflict check for update (#114)
- Use SdkClientDelegate's classloader for ServiceLoader (#121)
- Ensure consistent reads on DynamoDB getItem calls (#128)
- Return 404 for Index not found on Local Cluster search (#130)
- Directly return responses from Local Cluster client (#141)
- Make generated responses robust to URL encoded id and index values (#156)
- Validate request fields in DDB Put and Update implementations (#157)
- Properly handle remote client search failures with status codes (#158)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1085)
- Remove usage of deprecated batchSize() method (#1503)
- Refactored flaky test. (#1467)
- Remove overrides of preserveIndicesUponCompletion (#1498)
- Fix custom rule creation. (#1281)
- Fix list bug of PPLTool when pass empty list (#541)
- Fixing bug to prevent NullPointerException while doing PUT mappings (#2556)
- Add index operation listener to update translog source (#2629)
- Add parent join support for faiss hnsw cagra (#2647)
- [Remote Vector Index Build] Fix bug to support
COSINESIMILspace type (#2627) - Disable doc value storage for vector field storage (#2646)
- Fix KNN Quantization state cache have an invalid weight threshold (#2666)
- Fix enable rescoring when dimensions > 1000. (#2671)
- Fix derived source for binary and byte vectors (#2533)
- Fix the put mapping issue for already created index with flat mapper (#2542)
- Fixing the bug to prevent index.knn setting from being modified or removed on restore snapshot (#2445)
- Fix execution errors caused by plan gap (#3350)
- Support push down text field correctly (#3376)
- Fix the join condition resolving bug introduced by IN subquery implementation (#3377)
- Fix flaky tests (#3456)
- Fix antlr4 parser issues (#3492)
- Fix CSV handling of embedded crlf (#3515)
- Fix return types of MOD and DIVIDE UDFs (#3513)
- Fix varchar bug (#3518)
- Fix text function IT for locate and strcmp (#3482)
- Fix IT and CI, revert alias change (#3423)
- Fix CalcitePPLJoinIT (#3369)
- Keep aggregation in Calcite consistent with current PPL behavior (#3405)
- Revert result ordering of
stats-by(#3427) - Correct the precedence for logical operators (#3435)
- Use correct timezone name (#3517)
- Fix GET_FORMAT UDF (#3543)
- Fix timestamp bug (#3542)
- Fix issue 2489 (#3442)
- New added commands should throw exception when calcite disabled (#3571)
- Support parsing documents with flattened value (#3577)
- Fix version matcher string in demo config installer (#5157)
- Escape pipe character for injected users (#5175)
- Assume default of v7 models if _meta portion is not present (#5193))
- Fixed IllegalArgumentException when building stateful index privileges (#5217)
- DlsFlsFilterLeafReader::termVectors implementation causes assertion errors for users with FLS/FM active (#5243)
- Only check validity of certs in the chain of the node certificates (#4979)
- Corrections in DlsFlsFilterLeafReader regarding PointVales and object valued attributes (#5304)
- Adding dual cluster arg to gradle run (#1441)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1450)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent (#1454)
- Add integtest.sh to specifically run integTestRemote task (#1456)
- Change gradle run to dualcluster is true (#998)
- Set Java target compatibility to JDK 21 (#730)
- Use java-agent Gradle plugin to support phasing off SecurityManager usage in favor of Java Agent (#1108)
- [3.0] Update neural-search for OpenSearch 3.0 compatibility (#1141)
- [3.0] Update neural-search for OpenSearch 3.0 beta compatibility (#1245)
- Improve error handling when setting up and reading a new integration (#2387)
- Improve the test results for Integrations internals (#2376)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent. (#1917)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent. (#1086)
- Replace
ml-common-clientbuild dependency toml-common-commonandml-common-spi(#529)
- Add github action to run ITs against remote index builder (2620)
- Removed JDK 11 and 17 version from CI runs (#1921)
- Upgrade min JDK compatibility to JDK 21 (#2422)
- Build integration test framework (#3342)
- Set bouncycastle version inline (#3469)
- Use entire shadow jar to fix IT (#3447)
- Separate with/without pushdown ITs (#3413)
- Only enable fallback for tests that need to fall back (#3544)
- Remove beta1 qualifier (#3589)
- Added 3.0 release notes. (#1843)
- Added 3.0.0 release notes. (#1246)
- Added 3.0.0 release notes. (#347)
- Add text to visualization agent template (#936)
- Add tutorial for RAG of openai and bedrock (#2975)
- Fix template query link (#3612)
- Add standard blueprint for vector search (#3659)
- Add blueprint for Claude 3.7 on Bedrock (#3584)
- Add standard blueprint for azure embedding ada2 (#3725)
- Adding code guidelines (#502)
- Add 3.0.0 release notes (#1033)
- 3.0.0.0 Alpha1 Release Notes (#147)
- 3.0.0.0-beta1 Release Notes (#157)
- Update 3.0-beta1 release notes (#160)
- Add a developer guide (#124)
- Added 3.0.0 release notes. (#1523)
- Added 3.0.0 release notes. (#1283)
- Add tutorial to build and test custom tool (#521)
- Documentation for PPL new engine (V3) and limitations of 3.0.0 Beta (#3488)
- Bump version to 3.0.0.0-alpha1 (#450)
- Chore(deps): update dependency dompurify to v3.2.4 (#461)
- Chore(deps): update dependency dompurify to v3.2.3 (#383)
- Bump version to 3.0.0.0-beta1 (#521)
- Bump version to 3.0.0.0 (#559)
- Upgrade derek-ho/start-opensearch to v6 and set java version to 21 for OS 3.0 (#563)
- Increment version to 3.0.0-SNAPSHOT. (#1837)
- Disabled non-security tests from executing during security-enabled CI workflows. (#1632)
- Update version qualifier to beta1. (#1816)
- Increment version to 3.0.0.0-alpha1 (#1786)
- CVE fix for ktlint (#1802)
- Fix security-enabled test configurations for 3.0-alpha1. (#1807)
- Fix breaking changes for 3.0.0 release (#1424)
- Phase out SecurityManager in favor of Java Agent (#719)
- Update 3.0 branch for 3.0.0.0 GA release (#724)
- Update common-utils shadow plugin repo and bump to 3.0.0.0-alpha1 (#775)
- Change 3.0.0 qualifier from alpha1 to beta1 ((#808)
- Update CCR with gradle 8.10.2 and support JDK23 (#1496)
- Change dompurify version to 3.0.11 to match OSD (#516)
- Bump jspdf to 3.0 to fix CVE-2025-26791 (#529)
- Bump dashboards reporting to version 3.0.0.0-alpha1 (#536)
- Minor CI updates and workflow fixes (#548)
- CVE fix for elliptic and update release notes (#550)
- Bump jspdf to version 3.0.1 (#555)
- Bump dashboards reporting to version 3.0.0.0-beta1 (#557)
- CVE fix for babel/helpers and babel/runtime (#558)
- Remove cypress and babel jest from project dependency list (#559)
- Increment version to 3.0.0.0 (#505)
- Increment version to 3.0.0.0-beta1 (#491)
- Increment version to 3.0.0.0-alpha1 (#486)
- Support 2.17 BWC with latest backend integrations (#612)
- Set geospatial plugin 3.0.0 baseline JDK version to JDK-21 (#695)
- Bump gradle 8.10.2 / JDK 23 / 3.0.0.0-alpha1 support on geospatial (#723)
- Persist necessary license and developer information in maven pom (#732)
- Dependabot: bump com.netflix.nebula.ospackage from 11.10.1 to 11.11.1 (#1374)
- Dependabot: bump commons-beanutils:commons-beanutils (#1375)
- Dependabot: bump io.gitlab.arturbosch.detekt:detekt-gradle-plugin (#1381)
- [Release 3.0.0] Bump Version to 3.0.0-alpha1 and updated shadowPlugin (#1384)
- Update 3.0.0 qualifier from alpha1 to beta1 (#1398)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent (#1406)
- Increment version to 3.0.0-SNAPSHOT (#1412)
- Index Management Dashboards plugin to version 3.0.0 (#1265)
- Updated Micromatch new version (#1273)
- Updated 3.0.0 qualifier from alpha1 to beta1 (#1293)
- Increment version to 3.0.0.0 (#1303)
- Remove beta1 qualifier (#767 #768)
- Increment version to 3.0.0-alpha1 (#722)
- Increment version to 3.0.0-beta1 (#752)
- Update shadow plugin to
com.gradleup.shadow(#722) - Enable custom start commands and options to resolve GHA issues (#702)
- Fix delete merged branch workflow (#693)
- Update
PULL_REQUEST_TEMPLATEto include an API spec change in the checklist (#649) - Fix checkout action failure (#650)
- dependabot: bump com.google.guava:failureaccess from 1.0.2 to 1.0.3 (#750)
- dependabot: bump com.google.googlejavaformat:google-java-format (#753)
- dependabot: bump com.netflix.nebula.ospackage from 11.11.1 to 11.11.2 (#754)
- Update CB setting to 100 to bypass memory check (#3627)
- Use model type to check local or remote model (#3597)
- Fixing security integ test (#3646)
- Remove forcing log4j version to 2.24.2 (#3647)
- Improve test coverage for MLHttpClientFactory.java (#3644)
- Improve test coverage for MLEngineClassLoader class (#3679)
- Typo: MLTaskDispatcher _cluster/settings api (#3694)
- Add more logs to troubleshoot flaky test (#3543)
- Add package for security test (#3698)
- Add sdk implementation to the connector search (#3704)
- Sdk client implementation for search connector, model group and task (#3707)
- Add Feature Flag for MCP connectors Feature ((#3738)
- Support phasing off SecurityManager usage in favor of Java Agent (#3729)
- Add java-agent gradle plugin (#3727)
- Bump version to 3.0.0.0-alpha1 (#400)
- Bump version to 3.0.0.0-beta1 (#409)
- Bump version to 3.0.0.0 (#419)
- Increment version to 3.0.0-SNAPSHOT (#1023)
- Remove beta1 qualifier (#1028)
- Use java-agent Gradle plugin to support phasing off SecurityManager usage in favor of Java Agent (#1032)
- [Release 3.0] Add alpha1 qualifier. (#1002)
- Get bwc version dynamically (#987)
- bump logback to 1.5.16 (#1003)
- Fix security-enabled test workflow. (#1007)
- [Release 3.0] Update version qualifier to beta1. (#1011)
- [Doc] Update the integraiton SOP to reference to dashbaords observability only (#2412)
- Adding husky .only check hook to test files (#2400)
- Remove cypress to make it refer to the version used in OpenSearch Dashboard to fix build failure (#2405)
- Fix CVE issue for dependency prismjs (#2404)
- Bump dashboards observability to version 3.0.0.0-beta1 (#2401)
- Update README.md for unblocking PRs to be merged (#2394)
- Bump dep serialize-javascript version to 6.0.2 and @babel/runtime to 7.26.10 (#2389)
- Minor CI updates and workflow fixes (#2388)
- TraceView - Optimization of queries (#2349)
- [Integration] Remove maxFilesPerTrigger from all the integrations queries (#2354)
- Bump dashboards observability to version 3.0.0.0-alpha1 (#2364)
- ServiceMap Query Optimizations (#2367)
- Increase dashboards timeout & store logs on failure (#2371)
- Clear ADMINS.md. (#2363)
- Bump version 3.0.0-alpha1-SNAPSHOT (#1904)
- Bump jdk to 21 for maven snapshot build (#1909)
- Bump version 3.0.0-beta1-SNAPSHOT (#1914)
- [AUTO] Increment version to 3.1.0-SNAPSHOT (#1922)
- Update for Lucene 10 changes (#144)
- Update 3.0.0 qualifier from alpha1 to beta1 (#154)
- Support phasing off SecurityManager usage in favor of Java Agent (#156)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent (#157)
- [AUTO] Increment version to 3.0.0-SNAPSHOT 3.0 branch (#166)
- Remove beta1 qualifier (#169)
- [Backport 3.0] Address http5client CVE, use core's dependency (#171) (#172)
- Bump version to 3.0.0-alpha1 & upgrade to gradle 8.10.2 (#247)
- Fix default exporter settings (#234)
- Change local index replica count to 0 (#257)
- Use ClusterStateRequest with index pattern when searching for expired local indi ces (#262)
- Reduce MAX_TOP_N_INDEX_READ_SIZE to 50, sort by desc latency (#281)
- Update 3.0.0 qualifier from alpha1 to beta1 (#290)
- Support phasing off SecurityManager usage in favor of Java Agent (#296)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-ag ent. (#303)
- Integ tests for exporter n reader (#267)
- Remove beta1 qualifier (#329)
- Increment version to 3.1.0-SNAPSHOT (#325)
- Bump to 3.0.0-alpha1 (#127)
- Updated package.json (#126)
- Upgrade actions/cache to v4 (#130)
- Delete package-lock.json (#133)
- Updated-glob-parent-version (#134)
- Update @babel/helpers (#139)
- Update-default-time-range-1h (#148)
- Update 3.0.0 qualifier from alpha1 to beta1 (#154)
- Update babel/runtime version (#156)
- Improved Cypress test that validates the dynamic column (#168)
- Remove cypress version to make it uses the version in OpenSearch Dashboards (#463)
- Bump dashboards query workbench to version 3.0.0.0-beta1 (#462)
- Remove download JSON feature (#460)
- Minor CI updates and workflow fixes (#459)
- Update yarn.lock for cross-spawn (#441)
- Bump dashboards query workbench to version 3.0.0.0-alpha1 (#444)
- Update CIs to install job-scheduler plugin (#453)
- Bump version 3.0.0-alpha1-SNAPSHOT (#1073)
- Update gradle version to 8.12.0 for JDK23 support (#1077)
- Bump version 3.0.0-beta1-SNAPSHOT (#1083)
- [AUTO] Increment version to 3.1.0-SNAPSHOT (#1092)
- Increment version to 3.1.0-SNAPSHOT (#1517)
- Remove beta1 qualifier (#1519)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent. (#1505)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#1504)
- [Release 3.0] Add alpha1 qualifier. (#1490)
- Updated commons jar with CVE fixes. (#1481)
- Update gradle 8.10.2 and support jdk23 (#1492)
- Fix security-enabled test workflow for 3.0-alpha1. (#1494)
- Update version qualifier to beta1. (#1500)
- Increment version to 3.0.0.0. (#1283)
- Fix CVE. (#1270)
- Fix CVE 2025 27789. (#1276)
- Fix CVE-2025 27789. (#1278)
- Fix integration tests. (#1280)
- Fix alpha bump (#2190)
- Bump xlm-crypto and elliptic (#2196)
- Remove typescript dependency (#2198)
- Bump babel to 7.27.0 (#2200)
- Fix integration tests by removing sample flight data download (#2202)
- Bump express to 5.1.0 (#2232)
- Update gradle 8.10.2 JDK23 and support lucene10 (#62)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent. (#68)
- Update minimum required CMAKE version in NMSLIB (#2635)
- Revert CMake version bump, instead add CMake policy version flag to build task to support modern CMake builds (#2645)
- Update package name to fix compilation issue (#2513)
- Update gradle to 8.13 to fix command exec on java 21 (#2571)
- Add fix for nmslib pragma on arm (#2574)
- Removes Array based vector serialization (#2587)
- Enabled indices.breaker.total.use_real_memory setting via build.gradle for integTest Cluster to catch heap CB in local ITs and github CI actions (#2395)
- Fixing Lucene912Codec Issue with BWC for Lucene 10.0.1 upgrade (#2429)
- Enabled idempotency of local builds when using
./gradlew cleanand nestjni/releasedirectory underjni/buildfor easier cleanup (#2516)
- Build: Centralise dependencies version - Pt1 (#3294)
- Remove dependency from async-query-core to datasources (#2891)
- CVE-2024-57699 High: Fix json-smart vulnerability (#3484)
- Adding new maintainer @qianheng-aws (#3509)
- Bump SQL main to version 3.0.0.0-beta1 (#3489)
- Merge feature/calcite-engine to main (#3448)
- Merge main for OpenSearch 3.0 release (#3434)
- Fix build due to phasing off SecurityManager usage in favor of Java Agent (#3539)
- Using java-agent gradle plugin to phase off Security Manager in favor of Java-agent (#3551)
- Update AuditConfig.DEPRECATED_KEYS deprecation message to match 4.0 (#5155)
- Update deprecation message for
_opendistro/_security/kibanainfoAPI (#5156) - Update DlsFlsFilterLeafReader to reflect Apache Lucene 10 API changes (#5123)
- Adapt to core changes in
SecureTransportParameters(#5122) - Format SSLConfigConstants.java and fix typos (#5145)
- Remove typo in
AbstractAuditlogUnitTest(#5130) - Update Andriy Redko's affiliation (#5133)
- Upgrade common-utils version to
3.0.0.0-alpha1-SNAPSHOT(#5137) - Bump Spring version (#5173)
- Bump org.checkerframework:checker-qual from 3.49.0 to 3.49.2 (#5162) (#5247)
- Bump org.mockito:mockito-core from 5.15.2 to 5.17.0 (#5161) (#5248)
- Bump org.apache.camel:camel-xmlsecurity from 3.22.3 to 3.22.4 (#5163)
- Bump ch.qos.logback:logback-classic from 1.5.16 to 1.5.17 (#5149)
- Bump org.awaitility:awaitility from 4.2.2 to 4.3.0 (#5126)
- Bump org.springframework.kafka:spring-kafka-test from 3.3.2 to 3.3.4 (#5125) (#5201)
- Bump org.junit.jupiter:junit-jupiter from 5.11.4 to 5.12.2 (#5127) (#5269)
- Bump Gradle to 8.13 (#5148)
- Bump Spring version to fix CVE-2024-38827 (#5173)
- Bump com.google.guava:guava from 33.4.0-jre to 33.4.6-jre (#5205) (#5228)
- Bump ch.qos.logback:logback-classic from 1.5.17 to 1.5.18 (#5204)
- Bump spring_version from 6.2.4 to 6.2.5 (#5203)
- Bump bouncycastle_version from 1.78 to 1.80 (#5202)
- remove java version check for reflection args in build.gradle (#5218)
- Improve coverage: Adding tests for ConfigurationRepository class (#5206)
- Refactor InternalAuditLogTest to use Awaitility (#5214)
- Bump com.google.googlejavaformat:google-java-format from 1.25.2 to 1.26.0 (#5231)
- Bump open_saml_shib_version from 9.1.3 to 9.1.4 (#5230)
- Bump com.carrotsearch.randomizedtesting:randomizedtesting-runner from 2.8.2 to 2.8.3 (#5229)
- Bump open_saml_version from 5.1.3 to 5.1.4 (#5227)
- Bump org.ow2.asm:asm from 9.7.1 to 9.8 (#5244)
- Bump com.netflix.nebula.ospackage from 11.11.1 to 11.11.2 (#5246)
- Bump com.google.errorprone:error_prone_annotations from 2.36.0 to 2.37.0 (#5245)
- More tests for FLS and field masking (#5237)
- Migrate from com.amazon.dlic to org.opensearch.security package (#5223)
- Fix compilation issue after Secure gRPC PR (#17796) merged into core (#5263)
- Bump commons-io:commons-io from 2.18.0 to 2.19.0 (#5267)
- Bump org.apache.commons:commons-text from 1.13.0 to 1.13.1 (#5266)
- Bump org.junit.jupiter:junit-jupiter-api from 5.12.1 to 5.12.2 (#5268)
- Bump com.google.guava:failureaccess from 1.0.2 to 1.0.3 (#5265)
- Remove
space_typein integ test to adapt to the change of k-NN plugin (#535) - Fix jar hell for sql jar (#545)
- Add attributes to tools to adapt the upstream changes (#549)
- Support phasing off SecurityManager usage in favor of Java Agent (#553)
- Only use latest active alert for alert summary context (#1220)
- Refactor quick configure components, improve processor error handling (#604)
- Hide search query section when version is less than 2.19 (#605)
- Encapsulate KNNQueryBuilder creation within NeuralKNNQueryBuilder (#1183)
- Update o.o.client imports to o.o.transport.client (#73)
- Temporarily removed visualizations for 3.0-alpha1. (#1272)
- Switch derived source from field attributes to segment attribute (#2606)
- Migrate derived source from filter to mask (#2612)
- Consolidate MethodFieldMapper and LuceneFieldMapper into EngineFieldMapper (#2646)
- Small Refactor Post Lucene 10.0.1 upgrade (#2541)
- Refactor codec to leverage backwards_codecs (#2546)
- Blocking Index Creation using NMSLIB (#2573)
- Improve Streaming Compatibility Issue for MethodComponetContext and Remove OpenDistro URL (#2575)
- 3.0.0 Breaking Changes For KNN (#2564)