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.
Table of Contents |
---|
Deprecations
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.
Apache HttpClient no longer included with Solr; not a dependency of SolrJ either (will be an optional choice for some time maybe)
No longer in 10:
- Apache HttpClient
- Custom V2 API annotations/framework – use JAX-RS instead.
Solr 9x
Item | Description | Contributors | Theme | Jira |
---|---|---|---|---|
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 |
Solr 9.0
Solr 8.7
Autumn 2020
...
...
...
Solr 8.8
End of 2020? Last version before 9.0?
...
Establish Solr TLP
The git repo is split, gradle build adapted, release process separated etc. See Solr TLP needed changes for all related tasks.
The 9.0 release will be the first release after the TLP split.
Lucene will first release v9.0.0 without Solr, and then Solr can independently release Solr 9.0 with Lucene 9.0 when Solr is ready for it.
Solr 9.0
Early 2021. First release as TLP. 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 major features can be removed in a later 9.x release, when the new alternative is solid and well known.
Item | Description | Contributors | Theme | Jira | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | This is partly done | 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 |
|
Solr 8.9
...
Soon after 9.0. The main theme of this release is to solidify all the new frameworks and APIs and add
This release may still depend on Lucene 9.0 if we wish.
Last version before 9.0?
Item | Description | Contributors | Theme | Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
| ||||||||||
SIP-9 | Advanced Query parser and supporting lucene filters | Mike Nibeck (LOC contributor), Gus Heck | Feature |
|
...