This page details the current plans for future releases, these plans may change from time to time so check back regularly.
It is not a goal to list all Jira issues in a release here. Only major & controversial features, deprecations, breaking changes and other tasks that need coordination between releases need an entry.
They are listed here separately on this page: Deprecations
Solr 10+ Roadmap
TBD: Ongoing discussion on Overseer vs Distributed State Updates. Efficient state updates.
Apache Curator; usage TBD.
OpenAPI: complete coverage.
No longer in 10:
- Apache HttpClient
- Custom V2 API annotations/framework – use JAX-RS instead.
|HTTP 1 → HTTP 2||Switch the remaining HTTP 1 usage within Solr to HTTP 2. Apache HttpClient should no longer be used on the server.||Smiley|
|Modularize SolrJ||SolrJ should be lighter-weight (smaller) for more users; fewer dependencies. Add modules for some dependencies and functionality.||Smiley, Jan, Houston, others|
|Use JAX-RS||JAX-RS based V2 API definitions; use more and more.||Jason|
The theme of this release is to use Lucene 9.0 and to introduce some major frameworks.
We should not remove all features/APIs deprecated in 8.x yet, to give users a path to upgrade to 9.x without all the extra noise. Deprecated features can be removed in a later 9.x release, when the new alternative is solid and well known.
|First party packages & Slim Solr distribution||Solr should have first party packages, and a slim Solr tarball that doesn't have the first party packages||Ishan, Noble, Jan, et. al.||Lean Solr Core|
|V2 API to be the default||Ref guide docs should use V2, where necessary we build V2 APIs, switch SolrJ to use V2 APIs, etc.||Usability|
|Autoscaling / Replica assignment V2|
A new pluggable framework replaces current autoscaling
|Andrzej, Ilan, Noble||Lean Solr Core|
|HDFS moved away from Solr-Core||Build a first party package out of HDFS support||Istvan Farkas, Gezapeti||Lean Solr Core|
|Remove Ant support||Tech-debt|
|Index Lifecycle Management||Automatically move indices between hot, warm and cold phases||Atri Sharma||Feature|
|POJOs instead of loosely typed objects||Start using POJOs/interfaces wherever possible in public APIs where ever possible||Noble Paul|
|Remove Filter.java from Solr||Filter.java is a legacy relic from earlier Lucene days. Solr uses Filter in a variety of places where it can use other constructs or in some cases we need to make new constructs. In some cases like TwoPhaseIterator, this is an optimization.||David Smiley||Tech-debt|
Last version before 9.0?
|Alternate SolrJ APIs without using NamedList/SimpleOrderedMap/Map||Get rid of concrete classes such as NamedList,SimpleOrderedMap, Map, etc and build our public APIs with interfaces||Noble Paul||Clean-API|
|New Cluster API||Standard set of APIs which consists of only interfaces. We should ensure that They are used wherever possible in server/client code. We should expose these interfaces to our plugins. They should be well -documented and we must always strive to maintain backward compatibility on these interfaces between versions||Noble Paul||Clean-API|
|New Remote Call API||Remote Calls should have simple constructs and they must be public interfaces. This should be used in all inter-node/client-server communications||Noble Paul||Clean-API|
|Multi-threaded search (SOLR-13350)|
Multi threaded search across multiple segments at once, using CollectorManagers
|Ishan Chattopadhyaya, Atri Sharma||Optimization|
Advanced Query parser and supporting lucene filters
|Mike Nibeck (LOC contributor), Gus Heck||Feature|