Release Notes
0.13.0
Highlights
- Dedicated Agent module: The agent, tool and MCP subsystem moves out of ML Commons into its own module, with preferred APIs under
/_plugins/_agent, includingPOST /_plugins/_agent/agents/{id}/_execute. The legacy/_plugins/_mlagent, tool and MCP routes still work and emit a deprecation warning. - Shared-cluster multitenancy: Several customers can share one cluster, each addressing indices by its own names without knowing the others exist. Requests are rewritten on the way in and responses on the way out, so the physical prefix never reaches a tenant. Paired with per-tenant load attribution, admission control, and autoscaling that will not grow a tier on behalf of the tenant it is holding back.
- Concept expansion: Index a vocabulary and retrieve every document about any kind of a thing — including documents that never print the term — with a set whose completeness can be shown. Vocabulary import, a
concept_linkingest processor, two new queries, and an agent tool. - OGC API - Features: QGIS, ArcGIS Pro, OpenLayers and GDAL/OGR read the cluster directly, rather than through a translating service.
- Local image embedding: A module that embeds imagery on the node, on ONNX Runtime, for the case where the imagery cannot leave. It is the first implementation of a new node-level extension point that lets an installed plugin contribute embedding providers.
- Geospatial reach: Vector tiles (
_mvt) render the cluster on a map, road routing answers "within ten minutes' drive" as network travel cost rather than a radius, and geo agent tools expose concentrations, tracks, features and routes to an agent. - Binary quantization: One bit per dimension — 32x smaller than the
float32vector it stands in for — with the raw vectors retained so the final ranking is still exact-scored. Recall@10 of 0.987 at 20x oversampling and 1.000 at 40x. - Substantial k-NN performance work: Twenty-five changes across the graph walk, the rescore pass and quantized decoding, including reaching native float32 kernels from the JVM engine. Measured against Elasticsearch at iso-recall, Lucenia is 1.10x to 1.22x faster from 0.90 through 0.97 recall, outside a noise floor measured at 6–8% across three runs.
New Features
- Cluster tenant isolation: hidden index namespacing for shared clusters, with tenant setup, personal access tokens, ISM, snapshot and restore, shared indices, and break glass. Off by default (
multitenancy.enabled). - Per-tenant attribution and admission control: load is attributed to the tenant that caused it, and a tenant's in-flight requests can be bounded at the coordinator. Three modes (
disabled,monitor,enforced), disabled by default. Refusals carry a marker so an operator can tell deliberate containment from a cluster in trouble. - Tenant-aware autoscaling: the search-load decider no longer scales down while admission control is refusing work, nor up when one tenant owns most of the load and is already throttled.
- Concept expansion queries:
graph_traversalfor a provably complete set andconcept_similarityfor graded relatedness, with five similarity measures and information-content recording. - Vocabulary import: read a published SKOS/RDF vocabulary, or a domain graph such as a road network, into concepts and relations.
concept_linkingest processor: link documents to the concepts they name, and record what could not be linked.ConceptSearchTool(FindByMeaning): finds every document about a subject and states the share of the index it could ever have searched.CheckAnalysisTool(CheckAnalysis): checks analysis code a model authored against an allowlist before anything runs it, and reports how much of it was actually examined. Executes nothing.- Geo agent tools:
ContourTool(FindConcentrations) andGeoLineTool(FindTracks), each stating what its answer does and does not cover. - More agent tools: routing, compliance checking, change detection, temporal coverage, similar imagery, dissemination, reporting and image regions.
neural_sparsequery: learned sparse retrieval, including expansion directly from a vocabulary.vectorizeingest processor: turns categorical rasters into geometry, with no model.image_segmentingest processor: segmentation masks intomask_xy_shape.convex_hullaggregation: the region a bucket actually occupies.- Graph edges on vector tiles: draw a network's edges into an
_mvtresponse. - Vector tiles:
GET|POST /{index}/_mvt/{field}/{z}/{x}/{y}returns Mapbox Vector Tiles straight from the cluster. - Road routing: network-based travel cost over a
graph_edgefield, so a catchment is what can actually be driven rather than a circle. - OCR and content extraction: extract text and structure from documents and imagery at ingest.
topic_driftprocessor: detect where a document's subject moves.ml_inferenceingest and search processors, and system-generated late-interaction search processors.circleingest processor, and thecontourandlineaggregations alongsideconvex_hull.- Twelve spatial join relations: a distributed-analytics spatial join can ask for any OGC relation, matching PostGIS, rather than four Lucene predicates.
- Binary quantization (
bbqencoder): one-bit-per-dimension quantization forlucene-engineknn_vectorfields, built on the RaBitQ construction with no per-segment training pass. The graph is built on the raw vectors and only scored on the quantized ones, and a 10x rescore window is applied by default. - Embedding provider extension point:
EmbeddingProviderPluginlets an installed plugin contribute providers to the whole node, including thesemanticquery. - 14-day evaluation: a cluster runs for 14 days before a license is required, and a node joining an unlicensed cluster is no longer stopped.
Improvements
-
k-NN rescoring no longer compounds
ef_searchinto the oversample factor; the factor multiplieskalone, withef_searchkept as a floor. The upper bound on the factor moved from 100 to 10,000. -
A cosine k-NN field is indexed as a dot product over unit vectors, removing roughly two-thirds of the arithmetic per comparison for an identical answer.
-
Vectors are reconstructed from the vector data rather than stored a second time in
_source, for indices created at 0.13.0 or later. -
Local inference runs on its own bounded thread pool rather than competing with search, and registers as heavy work so a drain waits for it.
-
Autoscaling notices a data node running out of heap before it dies, and an inference pool refusing work.
-
Every built-in agent tool is discoverable over MCP, served from the code rather than from a snapshot taken at registration; one unbuildable tool no longer takes the whole MCP surface down.
-
GeoTIFF window reads return the rows they asked for, and crop without paying for it twice.
-
The quickstart is a single
docker run, with a 14-day evaluation and no certificate needed to start. -
Official Python, JavaScript and Java clients are documented against
lucenia-py,@lucenia/clientandlucenia-java, including the JavaScript bulk helper.
Deprecations
- Agent, tool and MCP routes under
/_plugins/_ml/...are deprecated in favor of/_plugins/_agent/.... They still work for backward compatibility but emit a deprecation warning.
Known issues
- Reduced recall on
float32k-NN fields that have no rescore.index.knn.hnsw_early_termination.enableddefaults totruein this release and is applied to every query shape, including plainfloat32, which has no rescore pass to recover the tail of the walk it gives up. Measured recall@100 is 0.858 on SIFT and 0.776 on GIST, against 0.984 and 0.929 on 0.12.1. Affected indices areknn_vectoron theluceneengine with nocompression_levelof 8x or higher and nobbqencoder. Recover per index without a reindex by settingindex.knn.hnsw_early_termination.enabledtofalse; the setting is dynamic and takes effect on the next query. Do not apply it cluster-wide — on a quantized field the same setting is buying the top of the recall curve.
0.12.1
Highlights
- Hybrid search score normalization: concurrent collector-spec handling no longer bypasses score combination, so hybrid queries return consistent ranks under concurrent segment search.
- Generative QA: context-aware async execution now routes to the real RAG implementation, so generative-QA agents run instead of silently doing nothing.
- MCP initialize: unknown client capability fields are ignored rather than failing the handshake, so current MCP clients can connect.
Improvements
- Container images include the k-NN native libraries, so k-NN works in Docker without a separate native-library install.
- The Docker distribution base image moved to Chainguard Wolfi.
- The S3 client cache is keyed by the full client configuration, not only the endpoint.
- PyTorch, DJL and ONNX runtime upgrades for local model inference.
Bug Fixes
- Parquet Hadoop compatibility fix for in-place Parquet queries.
- Windows k-NN / Faiss build script patches against the current Faiss version.
0.12.0
Highlights
- Persistent agent memory: A new inference-memory layer (
_plugins/_memory) gives agents, chat loops, and ingest pipelines a durable place to remember what happened and later recall it by meaning, with hybrid (lexical and vector), recency-aware recall. Includes an organization-tenant-scoped Conversation management API. - Compliance & content governance (enterprise): A productized, standards-based layer to detect, redact, and mask sensitive data (PII, PHI, payment data, and secrets) and govern which external sources content may be ingested from — enforced at runtime with no rebuild or redeploy. Ships compliance profiles for GDPR, HIPAA, PCI-DSS, SOC 2, FedRAMP, CCPA, ISO 27001, and NIST 800-53, and supports CMMC / NIST 800-171 alignment.
- Query Parquet files in place (experimental): Mount a Parquet file as a read-only Lucenia index and query it with the normal search, aggregation, and
GETAPIs — no ingest, no copy. - Distributed analytics (enterprise): Run analytics compute co-located with your data, reading shards in place instead of exporting index data to a separate analytics cluster.
- Autoscaling (enterprise): An in-cluster autoscale engine produces safe, per-tier scaling recommendations that the Lucenia Kubernetes operator turns into real cluster changes.
New Features
- Inference memory (
_plugins/_memory): durable remember/recall built on Lucenia's own vector and lexical search, with recency-aware hybrid recall, tenancy, and configurable embedding providers. - Conversation management API (
/_plugins/_memory/conversations): organization-tenant-scoped conversation and message storage with compliance and ABAC enforcement. - API keys (personal access tokens): native, revocable PATs issued and verified by Lucenia — an
idplus a high-entropysecret(stored only as a bcrypt hash), bound to an identity, carrying a bounded set of roles, and expiring on a schedule. - Compliance ingest processor: detects and redacts PII, PHI, payment data, financial identifiers, and secrets before documents are indexed, applying a named compliance profile and recording compliance evidence.
- Content-source governance (enterprise): a deny-by-default allow/deny policy over the external URIs (
s3://,https://,gs://,azure://) the ingest pipeline may fetch content from. - Multi-vector fields: store multiple embeddings in a single k-NN vector field within a single document.
- MCP memory and content tools: expose the memory verbs and content extraction as native MCP tools, callable by any MCP client over JSON-RPC.
- Bayesian score combination: a new
bayesiancombination technique for the hybrid-search normalization processor.
Improvements
- Refreshed the agents-and-tools catalog: added a connector tool and a list-index tool, updated the cat-index, search-index, and visualization tools, and revised the register, get, and search agent APIs.
- Expanded snapshot and restore documentation.
- Concurrent segment search documentation updates.
- Document-level security and access-control APIs now recognize API-key-authenticated callers.
Deprecations
- The legacy
/_plugins/_ml/memory/*conversation-CRUD API is deprecated in favor of the organization-tenant-scoped Conversation management API (/_plugins/_memory/conversations). The old routes still work for backward compatibility but emit a deprecation warning.
0.11.1
Highlights
- Anonymous S3 support
- Expanded GeoTIFF support
- Per-document region overrides
Improvements
- ImageTilingProcessor outputs bbox_xy_shape envelope for geo images
0.11.0
Highlights
- Late Interaction Models: Introduced Late Interaction Models for more nuanced user interactions.
- Security Migration: Security is now a module and is no longer separated from Skylite
0.10.0
Highlights
- Lucene 10.4 Upgrade: Lucenia now includes Apache Lucene 10.4, delivering the latest search and indexing improvements to the core engine.
- Hybrid Search & Re-ranking: Enhanced search capabilities with support for hybrid search queries and re-ranking modules for improved result accuracy.
- MMR Normalization: Support for Maximal Marginal Relevance (MMR) normalization to provide more diverse search results.
- JPMS Compatibility: Full JPMS module and classpath compatibility, including backwards compatibility support.
- Shard Stabilization: Resolved a shard stabilization and replica promotion issue where primary terms were only being bumped for initializing shards, ensuring reliable replica promotion during cluster operations.
New Features
- Hybrid search library and module for score normalization and combination.
- System-generated search pipeline support for automated query optimization.
- SecureEventBus annotation processor for enhanced event-driven communication.
- PipelineProcessingContext for cross-processor state sharing.
Improvements
- Upgrade Notifications to AWS SDK v2.
- JPMS-compatible plugin loader architecture and class path resolution fixes.
- Add module-info.java to 28 modules and refactor for full JPMS compliance.
Bug Fixes
- Fixed replica-to-primary promotion during cluster recovery without primary term increment.
- Fixed concurrent segment search aggregation failure by ensuring postCollection is called.
- Fixed slow log implementation for coordinator-level search requests.
0.9.1
Highlights
- Fixed segfaults in KNN caused by bad pointer management
0.9.0
Highlights
- Index State Management: Automate index lifecycle operations with policy-driven index state management, including rollover, deletion, and replica management
- OpenTelemetry Configuration: Configure OpenTelemetry endpoints directly in the otel plugin for seamless observability integration
New Features
- Index State Management module with core abstractions for policy-driven index lifecycle automation
- OpenTelemetry plugin endpoint configuration for customizable telemetry collection
- AWS Marketplace Metering Plugin for usage-based billing integration
- Notifications module with supporting infrastructure for alerting and monitoring workflows
- JKS keystore and truststore support in SecureRestClientBuilder for enhanced SSL configuration
Improvements
- KnnVectorsFormat reload support for dynamic knn plugin updates
- Parent filter support for nested search in knn queries
- Notification and replication libraries integrated into core
- MetadataClient improvements for direct response object returns
- ContextIndexSearcher optimization to prevent duplicate query execution
Bug Fixes
- Fixed ML model controller deployment under Java SecurityManager
- Fixed static SIS Provider with doPrivileged for proper security context
- Fixed job-scheduler and notifications integration tests for external test clusters
- Fixed ml-commons integration tests
- Fixed race condition in continuous transform integration test
0.8.0
Highlights
- Lucene 10.3.1 Upgrade: Lucenia now includes Apache Lucene 10.3.1, bringing significant performance improvements and new capabilities for search and vector operations
Performance Improvements
- 40% Faster Lexical Search: Vectorized search implementation leverages SIMD instructions for dramatically improved query performance on disjunctive and conjunctive queries
- 20% Faster Vector Search: Enhanced parallelization for fetching vectors into CPU cache, significantly improving kNN and vector similarity operations
- 30% Faster Primary Key Lookups: Optimized terms dictionary performance benefits indexing operations and TermInSet queries
0.7.1
Highlights
- Model Context Protocol Streamable HTTP Support
- SSL improvements
- ML model deployment stability improvements
0.7.0
Highlights
- MCP Server: Lucenia now supports the Model Context Protocol (MCP), making it easier to integrate and manage AI models within your search infrastructure
- Windows Support: Lucenia can now be installed and run on Windows operating systems, expanding deployment options
New Features
- MCP Server Support: Now includes MCP server functionality with tool management capabilities for ML workflows and seamless integration
- SSE for MCP over REST: Real-time streaming support for model interactions using Server-Sent Events
- Windows OS Support: Full compatibility with Windows environments for installation and operation. This rounds out our OS support to include Linux, macOS, Windows, and Docker containers.
0.6.1
Highlights
- A fix for lucenia-security install_demo_configuration.sh.
0.6.0
Highlights
- Ingest Attachment included as a module.
- Remote backed indexing improvements.
- Darwin Tar Artifacts Released.
- Gradle updated to 8.14.
0.5.1
Highlights
- Add support for
lucenia.ymlconfiguration and_cluster/settingsAPI to set version and distribution override.
0.5.0
Highlights
- Secure ML Processing: Process organization data without third-party preprocessing; attribute-based access controls (ABAC) prevent PII/sensitive data leakage.
- Model Flexibility: Compatible with HuggingFace, Bedrock, LLaMA, PyTorch (public/private); No vendor lock-in.
- Simplified RAG: Built-in Retrieval-Augmented Generation processors; Query/response augmentation via standard API calls.
- ConversationalSearch: Contextual and nuanced search with natural language queries.
- Performance Improvements: 80% smaller vector storage footprint than Lucene HNSW/Elastic KNN; 90% cost reduction vs Elastic Cloud/AWS OpenSearch.
- Technical Updates: First to implement Lucene 10.2.1 in production.
0.4.0
Highlights
- KNN Vector Search Enhancements - Whether its Facebook Faiss, NMSLIB, or vanilla Lucene vector search Lucenia has you covered for hybrid search. knn_vector field types continue to improve through Lucenia's ongoing indexing and search performance improvements. Start your Retrieval Augmented Generation Hybrid Search journey by indexing vectors and performing knn without requiring AWS infrastructure.
- Lucene 10.1 Upgrade Improvements - As the first to market with Lucene 10 five months ago, we continue with our rapid updates with Lucene 10, including merge policy updates and overall bug fixes and speed improvements above and beyond the vanilla lucene releases.
- Geospatial Coordinate Reference System enhancements - Lucenia continues to deliver on rapid improvements and performance enhancements to spatial reference system support at both index and query time. Use custom projection strings, EPSG data sets, or bring your own reprojection logic through an extensible reprojection provider interface.
0.3.1
Highlights
The addition of Enterprise, Product and Local License Types
0.3.0
Highlights
Lucenia 0.3.0 adds Developer Licenses and Spatial Reprojection Support
New Features
- Multi-cloud repository support installed by default for seamless backup, snapshot, and restore functionality across cloud providers
- Spatial reprojection processor and improved search/ingest pipeline processing with 5-10% performance boost in certain use cases
- Simplified migrations from OpenSearch with improved compatibility
- Developer License support for local development and testing
- Updated search request and response processors for coordinate transformations
0.2.1
Highlights
Lucenia 0.2.1 is now available on the AWS Marketplace
New Features
- AWS marketplace integration with license verification improvements - added agreement ID verification against AWS and implemented different license types based on running plugins
- Support for both "bring your own license" and yearly agreement options in the AWS marketplace
- Released with support for multiple deployment options including Docker containers and Helm charts
0.2.0
Highlights
Lucenia 0.2.0 upgrades to Lucene 10 and added to AWS Marketplace
Improvements
- Upgrade to Lucene 10
- Update to min JDK 21
- Lucenia License checker updates
New Features
- AWS Annual Purchase Offering
- Circle Ingest Processor w/ Circle Queries
- Ellipse Ingest Processor w/ Ellipse Queries’
0.1.1
Highlights
Lucenia 0.1.1 bug fixes for Lucenia License Manager
Fixes
- Fixes for the Lucenia license
- License checks now include checking a cluster ID against a license to ensure a license is used for 1 cluster
- License checks confirm whether a license is active, and shutdown nodes tied to an expired license
0.1.0
Highlights
Lucenia 0.1.0 is the first GA release of Lucenia. It includes several new features designed to help you save on your cloud search deployments while providing a fully supported on-prem option that is 17% faster than OpenSearch.
New Features
- Fips 140-2/3 Security compliance
- Role Based Access (RBAC) and Attribute Based Access (ABAC) Security Controls
- Dynamic Fields API (e.g., Runtime Fields)
- K8s Helm Chart Deployment Support
- Mixed Cluster Compatibility with OpenSearch and Elasticsearch for easy migration
- 17% performance boost over OpenSearch
- Native Zstd compression for stored fields
- Remote Backed Indexes with cloud storage
- Segment Replication and Time Series index optimizations