SOLR-14149: CHANGES.txt Remove off-topic stuff

* No Introduction (to Solr) header.  Point at solr-upgrade-notes.adoc instead
* No Getting Started header
* No Versions of Major Components header
* No "Upgrade Notes" for subsequent releases.  See solr-upgrade-notes.adoc
Closes #1202
This commit is contained in:
David Smiley 2020-02-08 22:41:26 -05:00
parent 3885a81aa4
commit 46c0945614
3 changed files with 118 additions and 147 deletions

View File

@ -200,15 +200,7 @@ def get_solr_init_changes():
return dedent('''
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Versions of Major Components
---------------------
Apache Tika %(org.apache.tika.version)s
Carrot2 %(/org.carrot2/carrot2-mini)s
Velocity %(/org.apache.velocity/velocity-engine-core)s and Velocity Tools %(org.apache.velocity.tools.version)s
Apache ZooKeeper %(/org.apache.zookeeper/zookeeper)s
Jetty %(org.eclipse.jetty.version)s
''' % parse_properties_file('lucene/ivy-versions.properties'))
''')
def main():
if not os.path.exists('lucene/version.properties'):
@ -222,7 +214,7 @@ def main():
update_changes('lucene/CHANGES.txt', newconf.version, '\n',
['Bug Fixes'] if is_bugfix else ['API Changes', 'New Features', 'Improvements', 'Optimizations', 'Bug Fixes', 'Other'])
update_changes('solr/CHANGES.txt', newconf.version, get_solr_init_changes(),
['Bug Fixes'] if is_bugfix else ['Upgrade Notes', 'New Features', 'Improvements', 'Optimizations', 'Bug Fixes', 'Other Changes'])
['Bug Fixes'] if is_bugfix else ['New Features', 'Improvements', 'Optimizations', 'Bug Fixes', 'Other Changes'])
latest_or_backcompat = newconf.is_latest_version or current_version.is_back_compat_with(newconf.version)
if latest_or_backcompat:

View File

@ -1,97 +1,19 @@
Apache Solr Release Notes
Introduction
------------
Apache Solr is an open source enterprise search server based on the Apache Lucene Java
search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search,
caching, replication, and a web administration interface.
See http://lucene.apache.org/solr for more information.
Getting Started
---------------
You need a Java 11 VM or later installed.
In this release, there is an example Solr server including a bundled
servlet container in the directory named "example".
See the Solr tutorial at https://lucene.apache.org/solr/guide/solr-tutorial.html
This file lists Solr's raw release notes with details of every change to Solr.
Most people will find the solr-upgrade-notes.adoc file more approachable.
https://github.com/apache/lucene-solr/blob/master/solr/solr-ref-guide/src/solr-upgrade-notes.adoc
================== 9.0.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Versions of Major Components
New Features
---------------------
Apache Tika 1.23
Carrot2 3.16.2
Velocity 2.0 and Velocity Tools 3.0
Apache ZooKeeper 3.5.5
Jetty 9.4.24.v20191120
Upgrade Notes
----------------------
* LUCENE-8738: Move to Java 11 as minimum Java version.
(Adrien Grand, Uwe Schindler)
* SOLR-12055 introduces async logging by default. There's a small window where log messages may be lost
in the event of some hard crash. Switch back to synchronous logging if this is unacceptable, see
see comments in the log4j2 configuration files (log4j2.xml by default).
* SOLR-12891: MacroExpander will no longer will expand URL parameters inside of the 'expr' parameter (used by streaming
expressions) Additionally, users are advised to use the 'InjectionDefense' class when constructing streaming
expressions that include user supplied data to avoid risks similar to SQL injection. The legacy behavior of
expanding the 'expr' parameter can be reinstated with -DStreamingExpressionMacros=true passed to the JVM at startup
(Gus Heck).
* SOLR-13324: URLClassifyProcessor#getCanonicalUrl now throws MalformedURLException rather than hiding it. Although the
present code is unlikely to produce such an exception it may be possible in future changes or in subclasses.
Currently this change should only effect compatibility of custom code overriding this method (Gus Heck).
* SOLR-13323: The unused package org.apache.solr.internal.csv.writer and associated classes/tests that were easily
confused with but not used by org.apache.solr.response.CSVWriter (or any other code) have been removed (Gus Heck)
* SOLR-7530: TermsComponent's JSON response format was changed so that "terms" property carries per field arrays by default
regardless of distrib, terms.list, terms.ttf parameters. This affects JSON based response format but not others
(Munendra S N, Mikhail Khludnev)
* SOLR-13596: Deprecated GroupingSpecification methods are removed. (Munendra S N)
* SOLR-13649: Property 'blockUnknown' of BasicAuthPlugin and JWTAuthPlugin now defaults to 'true'. This change is backward
incompatible. To achieve the previous default behavior, explicitly set 'blockUnknown':'false' in security.json
(marcussorealheis, janhoy, shalin)
* SOLR-11266: default Content-Type override for JSONResponseWriter from _default configSet is removed. Example has been
provided in sample_techproducts_configs to override content-type. (Ishan Chattopadhyaya, Munendra S N, Gus Heck)
* SOLR-13593 SOLR-13690 SOLR-13691: Allow to look up analyzer components by their SPI names in field type configuration. (Tomoko Uchida)
* SOLR-13854, SOLR-13858: SolrMetricProducer / SolrInfoBean APIs have changed and third-party components that implement these APIs need to be updated. (ab)
* SOLR-13783: In situations where a NamedList must be output as plain text, commas between key-value pairs will now be
followed by a space (e.g. {shape=square, color=yellow} rather than {shape=square,color=yellow}) for consistency with
other java.util.Map implementations based on AbstractMap (Chris Hennick).
* SOLR-13817: Legacy SolrCache implementations (LRUCache, LFUCache, FastLRUCache) have been removed.
Users have to modify their existing configurations to use CaffeineCache instead. (ab)
* SOLR-14092: Deprecated BlockJoinFacetComponent and BlockJoinDocSetFacetComponent are removed
Users are encouraged to migrate to uniqueBlock() in JSON Facet API. (Mikhail Khludnev)
* SOLR-13985: Solr's Jetty now binds to localhost network interface by default for better out of the box security.
Administrators that need Solr exposed more broadly can change the SOLR_JETTY_HOST property in their Solr include
(solr.in.sh/solr.in.cmd) file. (Jason Gerlowski, David Smiley, Robert Muir)
* SOLR-14147: Solr now runs with the java security manager enabled by default. Administrators that need to run Solr with Hadoop will need to disable this feature by setting SOLR_SECURITY_MANAGER=false in the environment or in one of the Solr init scripts. Other features in Solr could also break. (Robert Muir, marcussorealheis)
* SOLR-14118: Solr embedded zookeeper only binds to localhost by default.
This embedded zookeeper should not be used in production. If you rely
upon the previous behavior, then you can change the clientPortAddress
in solr/server/solr/zoo.cfg (Robert Muir)
(No changes)
Improvements
----------------------
* LUCENE-8984: MoreLikeThis MLT is biased for uncommon fields (Andy Hind via Anshum Gupta)
Other Changes
@ -110,59 +32,6 @@ Other Changes
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
Versions of Major Components
---------------------
Apache Tika 1.23
Carrot2 3.16.0
Velocity 2.0 and Velocity Tools 3.0
Apache ZooKeeper 3.5.5
Jetty 9.4.24.v20191120
Upgrade Notes
---------------------
* SOLR-14026: Upgrade Jetty to 9.4.24.v20191120 and dropwizard to 4.1.2 (Erick Erickson)
* SOLR-14092: BlockJoinFacetComponent is marked for deprecation and will be removed in 9.0.
Users are encouraged to migrate to uniqueBlock() in JSON Facet API. (Mikhail Khludnev)
* SOLR-13983: Process execution is removed from SystemInfoHandler. A best-effort attempt to
execute "uname -a" and "uptime" on non-Windows platforms is no longer made. (rmuir)
* SOLR-14095 introduces a change in the format used for the elements in the Overseer queues and maps (see the Jira
issue for details on the reasons for the change). This queue is used internally by the Overseer to reliably handle
operations, to communicate operation results between the Overseer and the coordinator node, and by the
REQUESTSTATUS API for displaying information about async Collection operations.
This change wont require you to change any client-side code you should see no differences on the client side,
however, it does require some care when upgrading an existing SolrCloud cluster:
- If you are upgrading Solr with an atomic restart strategy:
- If you dont use async or REQUESTSTATUS operations, you should be able to restart and not see any issues.
- If you do use Collection API operations:
1. pause Collection API operations
2. cleanup queues (https://lucene.apache.org/solr/guide/8_3/collections-api.html#examples-using-deletestatus)
if you use async operations
3. upgrade and restart the nodes
- If you are upgrading Solr with a rolling restart strategy:
- If you dont use Collection API operations, you should be able to do a rolling restart and not see
any issues.
- If you do use Collection API operations, but you can pause their use during the restart the easiest
way is to:
1. pause Collection API operations
2. upgrade and restart all nodes
3. cleanup queues (https://lucene.apache.org/solr/guide/8_3/collections-api.html#examples-using-deletestatus)
if you use async operations
4. Resume all normal operations
- If you use Collection API operations and cant pause them during the upgrade:
1. Start 8.5 nodes with the system property: `-Dsolr.useUnsafeOverseerResponse=deserialization`. Ensure the
Overseer node is upgraded last
2. Once all nodes are in 8.5 and once you dont need to read old status anymore, restart again removing the
system property
If you prefer to keep the old (but insecure) serialization strategy, you can start your nodes using the
property: `-Dsolr.useUnsafeOverseerResponse=true`. Keep in mind that this will be removed in future version of Solr.
* SOLR-13808: add cache=false into underneath BoolQParser's filter clause or {"bool":{"filter":..}} to avoid caching in
filterCache. (Mikhail Khludnev)
New Features
---------------------
* SOLR-12490: Introducing json.queries in JSON Request API. Every property of this object holds one or many named

View File

@ -31,10 +31,120 @@ that may effect your existing implementation.
Detailed steps for upgrading a Solr cluster are in the section <<upgrading-a-solr-cluster.adoc#upgrading-a-solr-cluster,Upgrading a Solr Cluster>>.
== Upgrading to 9.x Releases (NOT RELEASED)
== Solr 9.0
_(raw; not yet edited)_
* LUCENE-8738: Move to Java 11 as minimum Java version.
(Adrien Grand, Uwe Schindler)
* SOLR-12055 introduces async logging by default. There's a small window where log messages may be lost
in the event of some hard crash. Switch back to synchronous logging if this is unacceptable, see
see comments in the log4j2 configuration files (log4j2.xml by default).
* SOLR-12891: MacroExpander will no longer will expand URL parameters inside of the 'expr' parameter (used by streaming
expressions) Additionally, users are advised to use the 'InjectionDefense' class when constructing streaming
expressions that include user supplied data to avoid risks similar to SQL injection. The legacy behavior of
expanding the 'expr' parameter can be reinstated with -DStreamingExpressionMacros=true passed to the JVM at startup
(Gus Heck).
* SOLR-13324: URLClassifyProcessor#getCanonicalUrl now throws MalformedURLException rather than hiding it. Although the
present code is unlikely to produce such an exception it may be possible in future changes or in subclasses.
Currently this change should only effect compatibility of custom code overriding this method (Gus Heck).
* SOLR-13323: The unused package org.apache.solr.internal.csv.writer and associated classes/tests that were easily
confused with but not used by org.apache.solr.response.CSVWriter (or any other code) have been removed (Gus Heck)
* SOLR-7530: TermsComponent's JSON response format was changed so that "terms" property carries per field arrays by default
regardless of distrib, terms.list, terms.ttf parameters. This affects JSON based response format but not others
(Munendra S N, Mikhail Khludnev)
* SOLR-13596: Deprecated GroupingSpecification methods are removed. (Munendra S N)
* SOLR-13649: Property 'blockUnknown' of BasicAuthPlugin and JWTAuthPlugin now defaults to 'true'. This change is backward
incompatible. To achieve the previous default behavior, explicitly set 'blockUnknown':'false' in security.json
(marcussorealheis, janhoy, shalin)
* SOLR-11266: default Content-Type override for JSONResponseWriter from _default configSet is removed. Example has been
provided in sample_techproducts_configs to override content-type. (Ishan Chattopadhyaya, Munendra S N, Gus Heck)
* SOLR-13593 SOLR-13690 SOLR-13691: Allow to look up analyzer components by their SPI names in field type configuration. (Tomoko Uchida)
* SOLR-13854, SOLR-13858: SolrMetricProducer / SolrInfoBean APIs have changed and third-party components that implement these APIs need to be updated. (ab)
* SOLR-13783: In situations where a NamedList must be output as plain text, commas between key-value pairs will now be
followed by a space (e.g. {shape=square, color=yellow} rather than {shape=square,color=yellow}) for consistency with
other java.util.Map implementations based on AbstractMap (Chris Hennick).
* SOLR-13817: Legacy SolrCache implementations (LRUCache, LFUCache, FastLRUCache) have been removed.
Users have to modify their existing configurations to use CaffeineCache instead. (ab)
* SOLR-14092: Deprecated BlockJoinFacetComponent and BlockJoinDocSetFacetComponent are removed
Users are encouraged to migrate to uniqueBlock() in JSON Facet API. (Mikhail Khludnev)
* SOLR-13985: Solr's Jetty now binds to localhost network interface by default for better out of the box security.
Administrators that need Solr exposed more broadly can change the SOLR_JETTY_HOST property in their Solr include
(solr.in.sh/solr.in.cmd) file. (Jason Gerlowski, David Smiley, Robert Muir)
* SOLR-14147: Solr now runs with the java security manager enabled by default. Administrators that need to run Solr with Hadoop will need to disable this feature by setting SOLR_SECURITY_MANAGER=false in the environment or in one of the Solr init scripts. Other features in Solr could also break. (Robert Muir, marcussorealheis)
* SOLR-14118: Solr embedded zookeeper only binds to localhost by default.
This embedded zookeeper should not be used in production. If you rely
upon the previous behavior, then you can change the clientPortAddress
in solr/server/solr/zoo.cfg (Robert Muir)
== Upgrading to 8.x Releases
If you are upgrading from 7.x, see the section <<Upgrading from 7.x Releases>> below.
=== Solr 8.5
_(raw; not yet edited)_
* SOLR-14026: Upgrade Jetty to 9.4.24.v20191120 and dropwizard to 4.1.2 (Erick Erickson)
* SOLR-14092: BlockJoinFacetComponent is marked for deprecation and will be removed in 9.0.
Users are encouraged to migrate to uniqueBlock() in JSON Facet API. (Mikhail Khludnev)
* SOLR-13983: Process execution is removed from SystemInfoHandler. A best-effort attempt to
execute "uname -a" and "uptime" on non-Windows platforms is no longer made. (rmuir)
* SOLR-14095 introduces a change in the format used for the elements in the Overseer queues and maps (see the Jira
issue for details on the reasons for the change). This queue is used internally by the Overseer to reliably handle
operations, to communicate operation results between the Overseer and the coordinator node, and by the
REQUESTSTATUS API for displaying information about async Collection operations.
This change wont require you to change any client-side code you should see no differences on the client side,
however, it does require some care when upgrading an existing SolrCloud cluster:
- If you are upgrading Solr with an atomic restart strategy:
- If you dont use async or REQUESTSTATUS operations, you should be able to restart and not see any issues.
- If you do use Collection API operations:
1. pause Collection API operations
2. cleanup queues (https://lucene.apache.org/solr/guide/8_3/collections-api.html#examples-using-deletestatus)
if you use async operations
3. upgrade and restart the nodes
- If you are upgrading Solr with a rolling restart strategy:
- If you dont use Collection API operations, you should be able to do a rolling restart and not see
any issues.
- If you do use Collection API operations, but you can pause their use during the restart the easiest
way is to:
1. pause Collection API operations
2. upgrade and restart all nodes
3. cleanup queues (https://lucene.apache.org/solr/guide/8_3/collections-api.html#examples-using-deletestatus)
if you use async operations
4. Resume all normal operations
- If you use Collection API operations and cant pause them during the upgrade:
1. Start 8.5 nodes with the system property: `-Dsolr.useUnsafeOverseerResponse=deserialization`. Ensure the
Overseer node is upgraded last
2. Once all nodes are in 8.5 and once you dont need to read old status anymore, restart again removing the
system property
If you prefer to keep the old (but insecure) serialization strategy, you can start your nodes using the
property: `-Dsolr.useUnsafeOverseerResponse=true`. Keep in mind that this will be removed in future version of Solr.
* SOLR-13808: add cache=false into underneath BoolQParser's filter clause or {"bool":{"filter":..}} to avoid caching in
filterCache. (Mikhail Khludnev)
=== Solr 8.4
See the https://cwiki.apache.org/confluence/display/SOLR/ReleaseNote84[8.4 Release Notes]