You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by is...@apache.org on 2021/01/19 16:05:56 UTC

svn commit: r45496 [2/17] - in /dev/lucene/lucene-solr-8.8.0-RC1-rev737cb9c49b08f6e3964c1e8a80132da3c764e027: ./ lucene/ lucene/changes/ lucene/maven/ lucene/maven/org/ lucene/maven/org/apache/ lucene/maven/org/apache/lucene/ lucene/maven/org/apache/lu...

Added: dev/lucene/lucene-solr-8.8.0-RC1-rev737cb9c49b08f6e3964c1e8a80132da3c764e027/lucene/changes/Changes.html
==============================================================================
--- dev/lucene/lucene-solr-8.8.0-RC1-rev737cb9c49b08f6e3964c1e8a80132da3c764e027/lucene/changes/Changes.html (added)
+++ dev/lucene/lucene-solr-8.8.0-RC1-rev737cb9c49b08f6e3964c1e8a80132da3c764e027/lucene/changes/Changes.html Tue Jan 19 16:05:51 2021
@@ -0,0 +1,17860 @@
+<!--
+**********************************************************
+** WARNING: This file is generated from CHANGES.txt by the 
+**          Perl script 'changes2html.pl'.
+**          Do *not* edit this file!
+**********************************************************
+          
+****************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+****************************************************************************
+-->
+<html>
+<head>
+  <title>Lucene Change Log</title>
+  <link rel="stylesheet" href="ChangesFancyStyle.css" title="Fancy">
+  <link rel="alternate stylesheet" href="ChangesSimpleStyle.css" title="Simple">
+  <link rel="alternate stylesheet" href="ChangesFixedWidthStyle.css" title="Fixed Width">
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <SCRIPT>
+    function toggleList(id) {
+      listStyle = document.getElementById(id + '.list').style;
+      anchor = document.getElementById(id);
+      if (listStyle.display == 'none') {
+        listStyle.display = 'block';
+        anchor.title = 'Click to collapse';
+        location.href = '#' + id;
+      } else {
+        listStyle.display = 'none';
+        anchor.title = 'Click to expand';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+    }
+
+    function collapseAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++) {
+        if (unorderedLists[i].className != 'bulleted-list')
+          unorderedLists[i].style.display = "none";
+        else
+          unorderedLists[i].style.display = "block";
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "none"; 
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to expand';
+      }
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = true;
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+    }
+
+    function expandAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++)
+        unorderedLists[i].style.display = "block";
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "block"; 
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to collapse';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = true;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+
+    }
+
+    var newerRegex = new RegExp("^(?:v8\\\\.8\\\\.0|v8\\\\.7\\\\.0)");
+    function isOlder(listId) {
+      return ! newerRegex.test(listId);
+    }
+
+    function escapeMeta(s) {
+      return s.replace(/(?=[.*+?^${}()|[\]\/\\])/g, '\\');
+    }
+
+    function shouldExpand(currentList, currentAnchor, listId) {
+      var listName = listId.substring(0, listId.length - 5);
+      var parentRegex = new RegExp("^" + escapeMeta(listName) + "\\.");
+      return currentList == listId
+             || (isOlder(currentAnchor) && listId == 'older.list')
+             || parentRegex.test(currentAnchor);
+    }
+
+    function collapse() {
+      /* Collapse all but the first and second releases. */
+      var unorderedLists = document.getElementsByTagName("ul");
+      var currentAnchor = location.hash.substring(1);
+      var currentList = currentAnchor + ".list";
+
+      for (var i = 0; i < unorderedLists.length; i++) {
+        var list = unorderedLists[i];
+        /* Collapse the current item, unless either the current item is one of
+         * the first two releases, or the current URL has a fragment and the
+         * fragment refers to the current item or one of its ancestors.
+         */
+        if (list.id != 'v8.8.0.list' 
+            && list.id != 'v8.7.0.list'
+            && list.className != 'bulleted-list'
+            && (currentAnchor == ''
+                || ! shouldExpand(currentList, currentAnchor, list.id))) {
+          list.style.display = "none";
+        }
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++) {
+        var list = orderedLists[i];
+        /* Collapse the current item, unless the current URL has a fragment
+         * and the fragment refers to the current item or one of its ancestors.
+         */
+        if (currentAnchor == ''
+            || ! shouldExpand(currentList, currentAnchor, list.id)) {
+          list.style.display = "none";
+        }
+      }
+      /* Add "Click to collapse/expand" tooltips to the release/section headings */
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        var anchor = anchors[i];
+        if (anchor.id != '') {
+          if (anchor.id == 'v8.8.0' || anchor.id == 'v8.7.0') {
+            anchor.title = 'Click to collapse';
+          } else {
+            anchor.title = 'Click to expand';
+          }
+        }
+      }
+
+      /* Insert "Expand All" and "Collapse All" buttons */
+      var buttonsParent = document.getElementById('buttons.parent');
+      var expandButton = document.createElement('button');
+      expandButton.appendChild(document.createTextNode('Expand All'));
+      expandButton.onclick = function() { expandAll(); }
+      expandButton.id = 'expand.button';
+      buttonsParent.appendChild(expandButton);
+      var collapseButton = document.createElement('button');
+      collapseButton.appendChild(document.createTextNode('Collapse All'));
+      collapseButton.onclick = function() { collapseAll(); }
+      collapseButton.id = 'collapse.button';
+      buttonsParent.appendChild(collapseButton);
+    }
+
+    window.onload = collapse;
+  </SCRIPT>
+</head>
+<body>
+
+<h1>Lucene Change Log</h1>
+
+<div id="buttons.parent"></div>
+
+      <p>For more information on past and future Lucene versions, please see:
+<a href="http://s.apache.org/luceneversions">http://s.apache.org/luceneversions</a>
+</p>
+<h2><a id="v8.8.0" href="javascript:toggleList('v8.8.0')">Release 8.8.0 </a></h2>
+<ul id="v8.8.0.list">
+  <li><a id="v8.8.0.api_changes" href="javascript:toggleList('v8.8.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.8.0.api_changes.list">
+      <li>(No changes)
+</li>
+    </ol>
+  </li>
+  <li><a id="v8.8.0.new_features" href="javascript:toggleList('v8.8.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v8.8.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9552">LUCENE-9552</a>: New LatLonPoint query that accepts an array of LatLonGeometries.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9641">LUCENE-9641</a>: LatLonPoint query support for spatial relationships.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9553">LUCENE-9553</a>: New XYPoint query that accepts an array of XYGeometries.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9594">LUCENE-9594</a>: FeatureField supports newLinearQuery that for scoring uses raw indexed
+values of features without any transformation.
+<br /><span class="attrib">(Mayya Sharipova, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9378">LUCENE-9378</a>: Doc values now allow configuring how to trade compression for
+retrieval speed.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9413">LUCENE-9413</a>: Add CJKWidthCharFilter and its factory
+<br /><span class="attrib">(Tomoko Uchida)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.8.0.improvements" href="javascript:toggleList('v8.8.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v8.8.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9455">LUCENE-9455</a>: ExitableTermsEnum should sample timeout and interruption
+check before calling next().
+<br /><span class="attrib">(Zach Chen via Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9023">LUCENE-9023</a>: GlobalOrdinalsWithScore should not compute occurrences when the
+provided min is 1.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9675">LUCENE-9675</a>: Binary doc values fields now expose their configured compression mode
+in the attributes of the field info.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.8.0.optimizations" href="javascript:toggleList('v8.8.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v8.8.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9536">LUCENE-9536</a>: Reduced memory usage for OrdinalMap when a segment has all
+values.
+<br /><span class="attrib">(Julie Tibshirani via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9021">LUCENE-9021</a>: QueryParser: re-use the LookaheadSuccess exception.
+<br /><span class="attrib">(Przemek Bruski via Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9636">LUCENE-9636</a>: Faster decoding of postings for some numbers of bits per value.
+<br /><span class="attrib">(Guo Feng via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9346">LUCENE-9346</a>: WANDScorer now supports queries that have a
+`minimumNumberShouldMatch` configured.
+<br /><span class="attrib">(Xi Zachary Chen via Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.8.0.bug_fixes" href="javascript:toggleList('v8.8.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v8.8.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9508">LUCENE-9508</a>: DocumentsWriter was only stalling threads for 1 second allowing
+documents to be indexed even the DocumentsWriter wasn't able to keep up flushing.
+Unless IW can't make progress due to an ill behaving DWPT this issue was barely
+noticeable.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9581">LUCENE-9581</a>: Japanese tokenizer should discard the compound token instead of disabling the decomposition
+of long tokens when discardCompoundToken is activated.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9595">LUCENE-9595</a>: Make Component2D#withinPoint implementations consistent with ShapeQuery logic.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9606">LUCENE-9606</a>: Wrap boolean queries generated by shape fields with a Constant score query.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9635">LUCENE-9635</a>: BM25FQuery - Mask encoded norm long value in array lookup.
+<br /><span class="attrib">(Yilun Cui)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9617">LUCENE-9617</a>: Fix per-field memory leak in IndexWriter.deleteAll(). Reset next available internal
+field number to 0 on FieldInfos.clear(), to avoid wasting FieldInfo references.
+<br /><span class="attrib">(Michael Froh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9642">LUCENE-9642</a>: When encoding triangles in ShapeField, make sure generated triangles are CCW by rotating
+triangle points before checking triangle orientation.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9661">LUCENE-9661</a>: Fix deadlock in TermsEnum.EMPTY that occurs when trying to initialize TermsEnum and BaseTermsEnum
+at the same time
+<br /><span class="attrib">(Namgyu Kim)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.8.0.other" href="javascript:toggleList('v8.8.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v8.8.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-14995">SOLR-14995</a>: Update Jetty to 9.4.34
+<br /><span class="attrib">(Mike Drob)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9637">LUCENE-9637</a>: Removes some unused code and replaces the Point implementation on ShapeField/ShapeQuery
+random tests.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="v8.7.0" href="javascript:toggleList('v8.7.0')">Release 8.7.0  [2020-11-03]</a></h2>
+<ul id="v8.7.0.list">
+  <li><a id="v8.7.0.api_changes" href="javascript:toggleList('v8.7.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v8.7.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9437">LUCENE-9437</a>: Lucene's facet module's DocValuesOrdinalsReader.decode method
+is now public, making it easier for applications to decode facet
+ordinals into their corresponding labels
+<br /><span class="attrib">(Ankur Goel)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9515">LUCENE-9515</a>: IndexingChain now accepts individual primitives rather than a
+DocumentsWriterPerThread instance in order to create a new DocConsumer.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9449">LUCENE-9449</a>: Field comparators for numeric fields and _doc
+were moved to their own package. TopFieldCollector sets
+TotalHits.relation to GREATER_THAN_OR_EQUAL_TO,
+as soon as the requested total hits threshold is reached, even though
+in some cases no skipping optimization is applied and all hits are collected.
+<p/>
+</li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.new_features" href="javascript:toggleList('v8.7.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v8.7.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9386">LUCENE-9386</a>: RegExpQuery added case insensitive matching option.
+<br /><span class="attrib">(Mark Harwood)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8962">LUCENE-8962</a>: Add IndexWriter merge-on-refresh feature to selectively merge
+small segments on getReader, subject to a configurable timeout, to improve
+search performance by reducing the number of small segments for searching.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9484">LUCENE-9484</a>: Allow sorting an index after it was created. With SortingCodecReader, existing
+unsorted segments can be wrapped and merged into a fresh index using IndexWriter#addIndices
+API.
+<br /><span class="attrib">(Simon Willnauer, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9444">LUCENE-9444</a>: Add utility class to retrieve facet labels from the
+taxonomy index for a facet field so such fields do not also have to
+be redundantly stored
+<br /><span class="attrib">(Ankur Goel)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.improvements" href="javascript:toggleList('v8.7.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v8.7.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8574">LUCENE-8574</a>: Add a new ExpressionValueSource which will enforce only one value per name
+per hit in dependencies, ExpressionFunctionValues will no longer
+recompute already computed values
+<br /><span class="attrib">(Haoyu Zhai)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9416">LUCENE-9416</a>: Fix CheckIndex to print an invalid non-zero norm as
+unsigned long when detecting corruption.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9440">LUCENE-9440</a>: FieldInfo#checkConsistency called twice from Lucene50(60)FieldInfosFormat#read;
+Removed the (redundant?) assert and do these checks for real.
+<br /><span class="attrib">(Yauheni Putsykovich)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9446">LUCENE-9446</a>: In BooleanQuery rewrite, always remove MatchAllDocsQuery filter clauses
+when possible.
+<br /><span class="attrib">(Julie Tibshirani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9501">LUCENE-9501</a>: Improve coverage for Asserting* test classes: make sure to handle singleton doc
+values, and sometimes exercise Weight#scorer instead of Weight#bulkScorer for top-level
+queries.
+<br /><span class="attrib">(Julie Tibshirani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9511">LUCENE-9511</a>: Include StoredFieldsWriter in DWPT accounting to ensure that it's
+heap consumption is taken into account when IndexWriter stalls or should flush
+DWPTs.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9514">LUCENE-9514</a>: Include TermVectorsWriter in DWPT accounting to ensure that it's
+heap consumption is taken into account when IndexWriter stalls or should flush
+DWPTs.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9523">LUCENE-9523</a>: In query shapes over shape fields, skip points while traversing the
+BKD tree when the relationship with the document is already known.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9539">LUCENE-9539</a>: Use more compact datastructures to represent sorted doc-values in memory when
+sorting a segment before flush and in SortingCodecReader.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9458">LUCENE-9458</a>: WordDelimiterGraphFilter should order tokens at the same position by endOffset to
+emit longer tokens first.  The same graph is produced.
+<br /><span class="attrib">(David Smiley)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.optimizations" href="javascript:toggleList('v8.7.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v8.7.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9395">LUCENE-9395</a>: ConstantValuesSource now shares a single DoubleValues
+instance across all segments
+<br /><span class="attrib">(Tony Xu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9447">LUCENE-9447</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-9486">LUCENE-9486</a>: Stored fields now get higer compression ratios on
+highly compressible data.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9373">LUCENE-9373</a>: FunctionMatchQuery now accepts a "matchCost" optimization hint.
+<br /><span class="attrib">(Maxim Glazkov, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9510">LUCENE-9510</a>: Indexing with an index sort is now faster by not compressing
+temporary representations of the data.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9449">LUCENE-9449</a>: Enhance DocComparator to provide an iterator over competitive
+documents when searching with "after". This iterator can quickly position
+on the desired "after" document skipping all documents and segments before
+"after".
+<br /><span class="attrib">(Mayya Sharipova, Jim Ferenczi)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.bug_fixes" href="javascript:toggleList('v8.7.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v8.7.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9427">LUCENE-9427</a>: Fix a regression where the unified highlighter didn't produce
+highlights on fuzzy queries that correspond to exact matches.
+<br /><span class="attrib">(Julie Tibshirani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9467">LUCENE-9467</a>: Fix NRTCachingDirectory to use Directory#fileLength to check if a file
+already exists instead of opening an IndexInput on the file which might throw a AccessDeniedException
+in some Directory implementations.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9501">LUCENE-9501</a>: Fix a bug in IndexSortSortedNumericDocValuesRangeQuery where it could violate the
+DocIdSetIterator contract.
+<br /><span class="attrib">(Julie Tibshirani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9401">LUCENE-9401</a>: Include field in ComplexPhraseQuery's toString()
+<br /><span class="attrib">(Thomas Hecker via Munendra S N)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9578">LUCENE-9578</a>: Fix TermRangeQuery when there is no upper bound and the lower
+bound is the empty string excluded. This would previously match no strings at
+all while it should match all non-empty strings.
+<br /><span class="attrib">(Christoph Buescher via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9524">LUCENE-9524</a>: Fix NPE in SpanWeight#explain when no scoring is required and
+SpanWeight has null Similarity.SimScorer.
+<br /><span class="attrib">(Zach Chen)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.documentation" href="javascript:toggleList('v8.7.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.7.0.documentation.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9424">LUCENE-9424</a>: Add a performance warning to AttributeSource.captureState javadocs
+<br /><span class="attrib">(Haoyu Zhai)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.changes_in_runtime_behavior" href="javascript:toggleList('v8.7.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.7.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9539">LUCENE-9539</a>: SortingCodecReader now doesn't cache doc values fields anymore. Previously, SortingCodecReader
+used to cache all doc values fields after they were loaded into memory. This reader should only be used
+to sort segments after the fact using IndexWriter#addIndices.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.other" href="javascript:toggleList('v8.7.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v8.7.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9292">LUCENE-9292</a>: Refactor BKD point configuration into its own class.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9470">LUCENE-9470</a>: Make TestXYMultiPolygonShapeQueries more resilient for CONTAINS queries.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9512">LUCENE-9512</a>: Move LockFactory stress test to be a unit/integration
+test.
+<br /><span class="attrib">(Uwe Schindler, Dawid Weiss, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.7.0.build" href="javascript:toggleList('v8.7.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.7.0.build.list">
+      <li>Upgrade forbiddenapis to version 3.1.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="older" href="javascript:toggleList('older')">Older Releases</a></h2>
+<ul id="older.list">
+<h3><a id="v8.6.3" href="javascript:toggleList('v8.6.3')">Release 8.6.3  [2020-10-07]</a></h3>
+<ul id="v8.6.3.list">
+  <li><a id="v8.6.3.bug_fixes" href="javascript:toggleList('v8.6.3.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.6.3.bug_fixes.list">
+      <li>(No changes)
+</li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.6.2" href="javascript:toggleList('v8.6.2')">Release 8.6.2  [2020-09-01]</a></h3>
+<ul id="v8.6.2.list">
+  <li><a id="v8.6.2.bug_fixes" href="javascript:toggleList('v8.6.2.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.6.2.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9478">LUCENE-9478</a>: Prevent DWPTDeleteQueue from referencing itself and leaking memory. The queue
+passed an implicit this reference to the next queue instance on flush which leaked about 500byte
+of memory on each full flush, commit or getReader call.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.6.1" href="javascript:toggleList('v8.6.1')">Release 8.6.1  [2020-08-13]</a></h3>
+<ul id="v8.6.1.list">
+  <li><a id="v8.6.1.bug_fixes" href="javascript:toggleList('v8.6.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.6.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9443">LUCENE-9443</a>: The UnifiedHighlighter was closing the underlying reader when there were multiple term-vector fields.
+This was a regression in 8.6.0.
+<br /><span class="attrib">(David Smiley, Chris Beer)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.6.0" href="javascript:toggleList('v8.6.0')">Release 8.6.0  [2020-07-15]</a></h3>
+<ul id="v8.6.0.list">
+  <li><a id="v8.6.0.api_changes" href="javascript:toggleList('v8.6.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.6.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9265">LUCENE-9265</a>: SimpleFSDirectory is deprecated in favor of NIOFSDirectory.
+<br /><span class="attrib">(Yannick Welsch)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9304">LUCENE-9304</a>: Removed ability to set DocumentsWriterPerThreadPool on IndexWriterConfig.
+The DocumentsWriterPerThreadPool is a packaged protected final class which made it impossible
+to customize.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9339">LUCENE-9339</a>: MergeScheduler#merge doesn't accept a parameter if a new merge was found anymore.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9330">LUCENE-9330</a>: SortFields are now responsible for writing themselves into index headers if they
+are used as index sorts.
+<br /><span class="attrib">(Alan Woodward, Uwe Schindler, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9340">LUCENE-9340</a>: Deprecate SimpleBindings#add(SortField).
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9345">LUCENE-9345</a>: MergeScheduler is now decoupled from IndexWriter. Instead it accepts a MergeSource
+interface that offers the basic methods to acquire pending merges, run the merge and do accounting
+around it.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9349">LUCENE-9349</a>: QueryVisitor.consumeTermsMatching() now takes a
+Supplier&lt;ByteRunAutomaton&gt; to enable queries that build large automata to
+provide them lazily.  TermsInSetQuery switches to using this method
+to report matching terms.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9366">LUCENE-9366</a>: DocValues.emptySortedNumeric() no longer takes a maxDoc parameter
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-7822">LUCENE-7822</a>: CodecUtil#checkFooter(IndexInput, Throwable) now throws a
+CorruptIndexException if checksums mismatch or if checksums can't be verified.
+<br /><span class="attrib">(Martin Amirault, Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.new_features" href="javascript:toggleList('v8.6.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v8.6.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-7889">LUCENE-7889</a>: Grouping by range based on values from DoubleValuesSource and LongValuesSource
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8962">LUCENE-8962</a>: Add IndexWriter merge-on-commit feature to selectively merge small segments on commit,
+subject to a configurable timeout, to improve search performance by reducing the number of small
+segments for searching
+<br /><span class="attrib">(Michael Froh, Mike Sokolov, Mike Mccandless, Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.improvements" href="javascript:toggleList('v8.6.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(13)
+    <ol id="v8.6.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9276">LUCENE-9276</a>: Use same code-path for updateDocuments and updateDocument in IndexWriter and
+DocumentsWriter.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9279">LUCENE-9279</a>: Update dictionary version for Ukrainian analyzer to 4.9.1
+<br /><span class="attrib">(Andriy Rysin via Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8050">LUCENE-8050</a>: PerFieldDocValuesFormat should not get the DocValuesFormat on a field that has no doc values.
+<br /><span class="attrib">(David Smiley, Juan Rodriguez)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9304">LUCENE-9304</a>: Removed ThreadState abstraction from DocumentsWriter which allows pooling of DWPT directly and
+improves the approachability of the IndexWriter code.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9324">LUCENE-9324</a>: Add an ID to SegmentCommitInfo in order to compare commits for equality and make
+snapshots incremental on generational files.
+<br /><span class="attrib">(Simon Willnauer, Mike Mccandless, Adrien Grant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9342">LUCENE-9342</a>: TotalHits' relation will be EQUAL_TO when the number of hits is lower than TopDocsColector's numHits
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9353">LUCENE-9353</a>: Metadata of the terms dictionary moved to its own file, with the
+`.tmd` extension. This allows checksums of metadata to be verified when
+opening indices and helps save seeks when opening an index.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9359">LUCENE-9359</a>: SegmentInfos#readCommit now always returns a
+CorruptIndexException if the content of the file is invalid.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9393">LUCENE-9393</a>: Make FunctionScoreQuery use ScoreMode.COMPLETE for creating the inner query weight when
+ScoreMode.TOP_DOCS is requested.
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9392">LUCENE-9392</a>: Make FacetsConfig.DELIM_CHAR publicly accessible
+<br /><span class="attrib">(Ankur Goel)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9397">LUCENE-9397</a>: UniformSplit supports encodable fields metadata.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9396">LUCENE-9396</a>: Improved truncation detection for points.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9402">LUCENE-9402</a>: Let MultiCollector handle minCompetitiveScore
+<br /><span class="attrib">(Tomás Fernández Löbbe, Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.optimizations" href="javascript:toggleList('v8.6.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.6.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9254">LUCENE-9254</a>: UniformSplit keeps FST off-heap.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8103">LUCENE-8103</a>: DoubleValuesSource and QueryValueSource now use a TwoPhaseIterator if one is provided by the Query.
+<br /><span class="attrib">(Michele Palmia, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9287">LUCENE-9287</a>: UsageTrackingQueryCachingPolicy no longer caches DocValuesFieldExistsQuery.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9286">LUCENE-9286</a>: FST.Arc.BitTable reads directly FST bytes. Arc is lightweight again and FSTEnum traversal faster.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-7788">LUCENE-7788</a>: fail precommit on unparameterised log messages and examine for wasted work/objects
+<br /><span class="attrib">(Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9273">LUCENE-9273</a>: Speed up geometry queries by specialising Component2D spatial operations. Instead of using a generic
+relate method for all relations, we use specialize methods for each one. In addition, the type of triangle is
+computed at deserialization time, therefore we can be more selective when decoding points of a triangle.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9087">LUCENE-9087</a>: Build always trees with full leaves and lower the default value for maxPointsPerLeafNode to 512.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9148">LUCENE-9148</a>: Points now write their index in a separate file.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9280">LUCENE-9280</a>: Add an ability for field comparators to skip non-competitive documents.
+Creating a TopFieldCollector with totalHitsThreshold less than Integer.MAX_VALUE
+instructs Lucene to skip non-competitive documents whenever possible. For numeric
+sort fields the skipping functionality works when the same field is indexed both
+with doc values and points. To indicate that the same data is stored in these points
+and doc values SortField#setCanUsePoints method should be used.
+<br /><span class="attrib">(Mayya Sharipova, Jim Ferenczi, Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.bug_fixes" href="javascript:toggleList('v8.6.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v8.6.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9259">LUCENE-9259</a>: Fix wrong NGramFilterFactory argument name for preserveOriginal option
+<br /><span class="attrib">(Paul Pazderski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8849">LUCENE-8849</a>: DocValuesRewriteMethod.visit wasn't visiting its embedded query
+<br /><span class="attrib">(Michele Palmia, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9258">LUCENE-9258</a>: DocTermsIndexDocValues assumed it was operating on a SortedDocValues (single valued) field when
+it could be multi-valued used with a SortedSetSelector
+<br /><span class="attrib">(Michele Palmia)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9164">LUCENE-9164</a>: Ensure IW processes all internal events before it closes itself on a rollback.
+<br /><span class="attrib">(Simon Willnauer, Nhat Nguyen, Dawid Weiss, Mike Mccandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8908">LUCENE-8908</a>: Return default value from objectVal when doc doesn't match the query in QueryValueSource
+<br /><span class="attrib">(Bill Bell, hossman, Munendra S N, Michele Palmia)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9133">LUCENE-9133</a>: Fix for potential NPE in TermFilteredPresearcher for empty fields
+<br /><span class="attrib">(Marvin Justice via Mike Drob)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9309">LUCENE-9309</a>: Wait for #addIndexes merges when aborting merges.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9337">LUCENE-9337</a>: Ensure CMS updates it's thread accounting datastructures consistently.
+CMS today releases it's lock after finishing a merge before it re-acquires it to update
+the thread accounting datastructures. This causes threading issues where concurrently
+finishing threads fail to pick up pending merges causing potential thread starvation on
+forceMerge calls.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9314">LUCENE-9314</a>: Single-document monitor runs were using the less efficient MultiDocumentBatch
+implementation.
+<br /><span class="attrib">(Pierre-Luc Perron, Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9362">LUCENE-9362</a>: Fix equality check in ExpressionValueSource#rewrite. This fixes rewriting of inner value sources.
+<br /><span class="attrib">(Dmitry Emets)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9405">LUCENE-9405</a>: IndexWriter incorrectly calls closeMergeReaders twice when the merged segment is 100% deleted.
+<br /><span class="attrib">(Michael Froh, Simon Willnauer, Mike Mccandless, Mike Sokolov)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9400">LUCENE-9400</a>: Tessellator might build illegal polygons when several holes share the shame vertex.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9417">LUCENE-9417</a>: Tessellator might build illegal polygons when several holes share are connected to the same
+vertex.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9418">LUCENE-9418</a>: Fix ordered intervals over interleaved terms
+<br /><span class="attrib">(Alan Woodward)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.other" href="javascript:toggleList('v8.6.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v8.6.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9257">LUCENE-9257</a>: Always keep FST off-heap. FSTLoadMode, Reader attributes and openedFromWriter removed.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9272">LUCENE-9272</a>: Checksums of the terms index are now verified when
+LeafReader#checkIntegrity is called rather than when opening the index.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9270">LUCENE-9270</a>: Update Javadoc about normalizeEntry in the Kuromoji DictionaryBuilder.
+<br /><span class="attrib">(Namgyu Kim)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9275">LUCENE-9275</a>: Make TestLatLonMultiPolygonShapeQueries more resilient for CONTAINS queries.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9244">LUCENE-9244</a>: Adjust TestLucene60PointsFormat#testEstimatePointCount2Dims so it does not fail when a point
+is shared by multiple leaves.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9271">LUCENE-9271</a>: ByteBufferIndexInput was refactored to work on top of the
+ByteBuffer API.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9191">LUCENE-9191</a>: Make LineFileDocs's random seeking more efficient, making tests using LineFileDocs faster
+<br /><span class="attrib">(Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9338">LUCENE-9338</a>: Refactors SimpleBindings to improve type safety and cycle detection
+<br /><span class="attrib">(Alan Woodward,
+Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9358">LUCENE-9358</a>: Change the way the multi-dimensional BKD tree builder generates the intermediate tree representation to be
+equal to the one dimensional case to avoid unnecessary tree and leaves rotation.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9288">LUCENE-9288</a>: poll_mirrors.py release script can handle HTTPS mirrors.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9232">LUCENE-9232</a>: Fix or suppress 13 resource leak precommit warnings in lucene/replicator
+<br /><span class="attrib">(Andras Salamon via Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9398">LUCENE-9398</a>: Always keep BKD index off-heap. BKD reader does not implement Accountable any more.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.6.0.build" href="javascript:toggleList('v8.6.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v8.6.0.build.list">
+      <li>Upgrade forbiddenapis to version 3.0.1.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9376">LUCENE-9376</a>: Fix or suppress 20 resource leak precommit warnings in lucene/search
+<br /><span class="attrib">(Andras Salamon via Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9380">LUCENE-9380</a>: Fix auxiliary class warnings in Lucene
+<br /><span class="attrib">(Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9389">LUCENE-9389</a>: Enhance gradle logging calls validation: eliminate getMessage()
+<br /><span class="attrib">(Andras Salamon via Erick Erickson)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.5.2" href="javascript:toggleList('v8.5.2')">Release 8.5.2  [2020-05-26]</a></h3>
+<ul id="v8.5.2.list">
+  <li><a id="v8.5.2.bug_fixes" href="javascript:toggleList('v8.5.2.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.5.2.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9350">LUCENE-9350</a>: Partial reversion of <a href="http://issues.apache.org/jira/browse/LUCENE-9068">LUCENE-9068</a>; holding levenshtein automata on FuzzyQuery can end
+up blowing up query caches which use query objects as cache keys, so building the automata is
+now delayed to search time again.
+<br /><span class="attrib">(Alan Woodward, Mike Drob)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.5.1" href="javascript:toggleList('v8.5.1')">Release 8.5.1  [2020-04-16]</a></h3>
+<ul id="v8.5.1.list">
+  <li><a id="v8.5.1.bug_fixes" href="javascript:toggleList('v8.5.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.5.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9300">LUCENE-9300</a>: Fix corruption of the new gen field infos when doc values updates are applied on a segment created
+externally and added to the index with IndexWriter#addIndexes(Directory).
+<br /><span class="attrib">(Jim Ferenczi, Adrien Grand)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.5.0" href="javascript:toggleList('v8.5.0')">Release 8.5.0  [2020-03-24]</a></h3>
+<ul id="v8.5.0.list">
+  <li><a id="v8.5.0.api_changes" href="javascript:toggleList('v8.5.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.5.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9093">LUCENE-9093</a>: Not an API change but a change in behavior of the UnifiedHighlighter's LengthGoalBreakIterator that will
+yield Passages sized a little different due to the fact that the sizing pivot is now the center of the first match and
+not its left edge.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9116">LUCENE-9116</a>: PostingsWriterBase and PostingsReaderBase no longer support
+setting a field's metadata via a `long[]`.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9116">LUCENE-9116</a>: The FSTOrd postings format has been removed.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8369">LUCENE-8369</a>: Remove obsolete spatial module.
+<br /><span class="attrib">(Nick Knize, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8621">LUCENE-8621</a>: Refactor LatLonShape, XYShape, and all query and utility classes to core.
+<br /><span class="attrib">(Nick Knize)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9218">LUCENE-9218</a>: XY geometries API works in float space.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9212">LUCENE-9212</a>: Intervals.multiterm() takes CompiledAutomaton rather than plain Automaton
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9150">LUCENE-9150</a>: Restore support for dynamic PlanetModel in spatial3d.
+<br /><span class="attrib">(Nick Knize)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9171">LUCENE-9171</a>: QueryBuilder.newTermQuery() and .newSynonymQuery() now take boost parameters.
+<br /><span class="attrib">(Alessandro Benedetti, Alan Woodward)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.5.0.new_features" href="javascript:toggleList('v8.5.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v8.5.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8903">LUCENE-8903</a>: Add LatLonShape and XYShape point query.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8707">LUCENE-8707</a>: Add LatLonShape and XYShape distance query.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9238">LUCENE-9238</a>: New XYPointField field and Queries for indexing, searching and sorting
+cartesian points.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.5.0.improvements" href="javascript:toggleList('v8.5.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v8.5.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9149">LUCENE-9149</a>: Increase data dimension limit in BKD.
+<br /><span class="attrib">(Nick Knize)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9102">LUCENE-9102</a>: Add maxQueryLength option to DirectSpellchecker.
+<br /><span class="attrib">(Andy Webb via Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9091">LUCENE-9091</a>: UnifiedHighlighter HTML escaping should only escape essentials
+<br /><span class="attrib">(Nándor Mátravölgyi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9105">LUCENE-9105</a>: UniformSplit postings format detects corrupted index and better handles IO exceptions.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9106">LUCENE-9106</a>: UniformSplit postings format allows extension of block/line serializers.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9093">LUCENE-9093</a>: UnifiedHighlighter's LengthGoalBreakIterator has a new fragmentAlignment option to better center the
+first match in the passage. Also the sizing point now pivots at the center of the first match term and not its left
+edge. This yields Passages that won't be identical to the previous behavior.
+<br /><span class="attrib">(Nándor Mátravölgyi, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9153">LUCENE-9153</a>: Allow WhitespaceAnalyzer to set a maxTokenLength other than the default of 255
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9152">LUCENE-9152</a>: Improve line intersections with polygons when they are touching from the outside.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9123">LUCENE-9123</a>: Add new JapaneseTokenizer constructors with discardCompoundToken option that controls whether
+the tokenizer emits original (compound) tokens when the mode is not NORMAL.
+<br /><span class="attrib">(Kazuaki Hiraga via Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9253">LUCENE-9253</a>: KoreanTokenizer now supports custom dictionaries(system, unknown).
+<br /><span class="attrib">(Namgyu Kim)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9171">LUCENE-9171</a>: QueryBuilder can now use BoostAttributes on input token streams to selectively
+boost particular terms or synonyms in parsed queries.
+<br /><span class="attrib">(Alessandro Benedetti, Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9298">LUCENE-9298</a>: Improve RAM accounting in BufferedUpdates when deleted doc IDs and terms are cleared.
+<br /><span class="attrib">(Yu Binglei, Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.5.0.optimizations" href="javascript:toggleList('v8.5.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v8.5.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9211">LUCENE-9211</a>: Add compression for Binary doc value fields.
+<br /><span class="attrib">(Mark Harwood)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4702">LUCENE-4702</a>: Better compression of terms dictionaries.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9228">LUCENE-9228</a>: Sort dvUpdates in the term order before applying if they all update a
+single field to the same value. This optimization can reduce the flush time by around
+20% for the docValues update user cases.
+<br /><span class="attrib">(Nhat Nguyen, Adrien Grand, Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9245">LUCENE-9245</a>: Reduce AutomatonTermsEnum memory usage.
+<br /><span class="attrib">(Bruno Roustant, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9237">LUCENE-9237</a>: Faster UniformSplit intersect TermsEnum.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9260">LUCENE-9260</a>: LeafReader#checkIntegrity verifies checksums of CFS files.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9068">LUCENE-9068</a>: FuzzyQuery builds its Automaton up-front
+<br /><span class="attrib">(Alan Woodward, Mike Drob)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9113">LUCENE-9113</a>: Faster merging of SORTED/SORTED_SET doc values.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9125">LUCENE-9125</a>: Optimize Automaton.step() with binary search and introduce Automaton.next().
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9147">LUCENE-9147</a>: The index of stored fields and term vectors in now off-heap.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.5.0.bug_fixes" href="javascript:toggleList('v8.5.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v8.5.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9084">LUCENE-9084</a>: Fix potential deadlock due to circular synchronization in AnalyzingInfixSuggester
+<br /><span class="attrib">(Paul Ward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9115">LUCENE-9115</a>: NRTCachingDirectory no longer caches files of unknown size.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9144">LUCENE-9144</a>: Fix error message on OneDimensionBKDWriter when too many points are added to the writer.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9135">LUCENE-9135</a>: Make UniformSplit FieldMetadata counters long.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9200">LUCENE-9200</a>: Fix TieredMergePolicy to use double (not float) math to make its merging decisions, fixing
+a corner-case bug uncovered by fun randomized tests
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9099">LUCENE-9099</a>: Unordered and Ordered interval queries now correctly handle
+repeated subterms - ordered intervals could supply an 'extra' minimized
+interval, resulting in odd matches when combined with eg CONTAINS queries;
+and unordered intervals would match duplicate subterms on the same position,
+so an query for UNORDERED(foo, foo) would match a document containing 'foo'
+only once.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9250">LUCENE-9250</a>: Add support for Circle2d#intersectsLine around the dateline.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9243">LUCENE-9243</a>: Add fudge factor when creating a bounding box of a XYCircle.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9239">LUCENE-9239</a>: Circle2D#WithinTriangle detects properly if a triangle is Within distance.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9251">LUCENE-9251</a>: Fix bug in the polygon tessellator where edges with different value on #isEdgeFromPolygon
+were bot filtered out properly.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9263">LUCENE-9263</a>: Fix wrong transformation of distance in meters to radians in Geo3DPoint.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.5.0.other" href="javascript:toggleList('v8.5.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v8.5.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9109">LUCENE-9109</a>: Backport some changes from master (except StackWalker) to improve
+TestSecurityManager
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9110">LUCENE-9110</a>: Backport refactored stack analysis in tests to use generalized
+LuceneTestCase methods
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9141">LUCENE-9141</a>: Simplify LatLonShapeXQuery API by adding a new abstract class called LatLonGeometry. Queries are
+executed with input objects that extend such interface.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9194">LUCENE-9194</a>: Simplify XYShapeXQuery API by adding a new abstract class called XYGeometry. Queries are
+executed with input objects that extend such interface.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9096">LUCENE-9096</a>: Simplification of CompressingTermVectorsWriter#flushOffsets.
+<br /><span class="attrib">(kkewwei via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9225">LUCENE-9225</a>: Rectangle extends LatLonGeometry so it can be used in a geometry collection.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.4.1" href="javascript:toggleList('v8.4.1')">Release 8.4.1  [2020-01-13]</a></h3>
+<ul id="v8.4.1.list">
+  <li><a id="v8.4.1.bug_fixes" href="javascript:toggleList('v8.4.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.4.1.bug_fixes.list">
+      <li>(No changes)
+</li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.4.0" href="javascript:toggleList('v8.4.0')">Release 8.4.0  [2019-12-29]</a></h3>
+<ul id="v8.4.0.list">
+  <li><a id="v8.4.0.api_changes" href="javascript:toggleList('v8.4.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.4.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9029">LUCENE-9029</a>: Deprecate SloppyMath toRadians/toDegrees in favor of Java Math.
+<br /><span class="attrib">(Jack Conradson via Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.new_features" href="javascript:toggleList('v8.4.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.4.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8620">LUCENE-8620</a>: Add CONTAINS support for LatLonShape and XYShape.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.improvements" href="javascript:toggleList('v8.4.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v8.4.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9002">LUCENE-9002</a>: Skip costly caching clause in LRUQueryCache if it makes the query
+many times slower.
+<br /><span class="attrib">(Guoqiang Jiang)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9006">LUCENE-9006</a>: WordDelimiterGraphFilter's catenateAll token is now ordered before any token parts, like WDF did.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9028">LUCENE-9028</a>: introducing Intervals.multiterm()
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9018">LUCENE-9018</a>: ConcatenateGraphFilter now has a configurable separator.
+<br /><span class="attrib">(Stanislav Mikulchik, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9036">LUCENE-9036</a>: ExitableDirectoryReader may interupt scaning over DocValues
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9062">LUCENE-9062</a>: QueryVisitor now has a consumeTermsMatching() method, allowing queries
+that match a class of terms to pass a ByteRunAutomaton matching those that class
+back to the visitor.
+<br /><span class="attrib">(Alan Woodward, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9073">LUCENE-9073</a>: IntervalQuery to respond field on toString() and explain()
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.optimizations" href="javascript:toggleList('v8.4.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.4.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8928">LUCENE-8928</a>: When building a kd-tree for dimensions n &gt; 2, compute exact bounds for an inner node every N splits
+to improve the quality of the tree. N is defined by SPLITS_BEFORE_EXACT_BOUNDS which is set to 4.
+<br /><span class="attrib">(Ignacio Vera, Adrien Grand)</span></li>
+      <li>BaseDirectoryReader no longer sums up the `LeafReader#numDocs` of its leaves
+eagerly. This especially helps when creating views of readers that hide
+documents, since computing the number of live documents is an expensive
+operation.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8992">LUCENE-8992</a>: TopFieldCollector and TopScoreDocCollector can now share minimum scores across leaves
+concurrently.
+<br /><span class="attrib">(Adrien Grand, Atri Sharma, Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8932">LUCENE-8932</a>: BKDReader's index is now stored off-heap when the IndexInput is
+an instance of ByteBufferIndexInput.
+<br /><span class="attrib">(Jack Conradson via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9024">LUCENE-9024</a>: IntroSelector now falls back to the median of medians algorithm
+instead of sorting when the maximum recursion level is exceeded, providing
+better worst-case runtime.
+<br /><span class="attrib">(Paul Sanwald via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8920">LUCENE-8920</a>: The denser arcs of FST now index labels with a bitset in order
+to provide near constant time access.
+<br /><span class="attrib">(Bruno Roustant, Mike Sokolov via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9027">LUCENE-9027</a>: Use SIMD instructions to decode postings.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9049">LUCENE-9049</a>: Remove FST cached root arcs now redundant with labels indexed by bitset.
+This frees some on-heap FST space.
+<br /><span class="attrib">(Jack Conradson via Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9045">LUCENE-9045</a>: Do not use TreeMap/TreeSet in BlockTree and PerFieldPostingsFormat.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.bug_fixes" href="javascript:toggleList('v8.4.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v8.4.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9001">LUCENE-9001</a>: Fix race condition in SetOnce.
+<br /><span class="attrib">(Przemko Robakowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9030">LUCENE-9030</a>: Fix WordnetSynonymParser behaviour so it behaves similar to
+SolrSynonymParser.
+<br /><span class="attrib">(Christoph Buescher via Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9054">LUCENE-9054</a>: Fix reproduceJenkinsFailures.py to not overwrite junit XML files when retrying
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9031">LUCENE-9031</a>: UnsupportedOperationException on MatchesIterator.getQuery()
+<br /><span class="attrib">(Alan Woodward, Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8996">LUCENE-8996</a>: maxScore was sometimes missing from distributed grouped responses.
+<br /><span class="attrib">(Julien Massenet, Diego Ceccarelli, Munendra S N, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9055">LUCENE-9055</a>: Fix the detection of lines crossing triangles through edge points.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9103">LUCENE-9103</a>: Disjunctions can miss some hits in some rare conditions.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.other" href="javascript:toggleList('v8.4.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v8.4.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8979">LUCENE-8979</a>: Code Cleanup: Use entryset for map iteration wherever possible. - Part 2
+<br /><span class="attrib">(Koen De Groote)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8746">LUCENE-8746</a>: Refactor EdgeTree - Introduce a Component tree that represents the tree of components (e.g polygons).
+Edge tree is now just a tree of edges.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8994">LUCENE-8994</a>: Code Cleanup - Pass values to list constructor instead of empty constructor followed by addAll().
+<br /><span class="attrib">(Koen De Groote)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9046">LUCENE-9046</a>: Fix wrong example in Javadoc of TermInSetQuery
+<br /><span class="attrib">(Namgyu Kim)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8983">LUCENE-8983</a>: Add sandbox PhraseWildcardQuery to control multi-terms expansions in a phrase.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9067">LUCENE-9067</a>: Polygon2D#contains() is now thread safe.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.4.0.build" href="javascript:toggleList('v8.4.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v8.4.0.build.list">
+      <li>Upgrade forbiddenapis to version 2.7; upgrade Groovy to 2.4.17.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9041">LUCENE-9041</a>: Upgrade ecj to 3.19.0 to fix sporadic precommit javadoc issues
+<br /><span class="attrib">(Kevin Risden)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.3.1" href="javascript:toggleList('v8.3.1')">Release 8.3.1  [2019-12-03]</a></h3>
+<ul id="v8.3.1.list">
+  <li><a id="v8.3.1.bug_fixes" href="javascript:toggleList('v8.3.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v8.3.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9050">LUCENE-9050</a>: MultiTermIntervalsSource.visit() was not calling back to its
+visitor.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.3.0" href="javascript:toggleList('v8.3.0')">Release 8.3.0  [2019-11-02]</a></h3>
+<ul id="v8.3.0.list">
+  <li><a id="v8.3.0.api_changes" href="javascript:toggleList('v8.3.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v8.3.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8909">LUCENE-8909</a>: IndexWriter#getFieldNames() method is used to get fields present in index. After <a href="http://issues.apache.org/jira/browse/LUCENE-8316">LUCENE-8316</a>, this
+method is no longer required. Hence, deprecate IndexWriter#getFieldNames() method.
+<br /><span class="attrib">(Adrien Grand, Munendra S N)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8755">LUCENE-8755</a>: SpatialPrefixTreeFactory now consumes the "version" parsed with Lucene's Version class.  The quad
+and packed quad prefix trees are sensitive to this.  It's recommended to pass the version like you
+should do likewise for analysis components for tokenized text, or else changes to the encoding in future versions
+may be incompatible with older indexes.
+<br /><span class="attrib">(Chongchen Chen, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8956">LUCENE-8956</a>: QueryRescorer now only sorts the first topN hits instead of all
+initial hits.
+<br /><span class="attrib">(Paul Sanwald via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8921">LUCENE-8921</a>: IndexSearcher.termStatistics() no longer takes a TermStates; it takes the docFreq and totalTermFreq.
+And don't call if docFreq &lt;= 0.  The previous implementation survives as deprecated and final.  It's removed in 9.0.
+<br /><span class="attrib">(Bruno Roustant, David Smiley, Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8990">LUCENE-8990</a>: PointValues#estimateDocCount(visitor) estimates the number of documents that would be matched by
+the given IntersectVisitor. THe method is used to compute the cost() of ScorerSuppliers instead of
+PointValues#estimatePointCount(visitor).
+<br /><span class="attrib">(Ignacio Vera, Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.3.0.new_features" href="javascript:toggleList('v8.3.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v8.3.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8936">LUCENE-8936</a>: Add SpanishMinimalStemFilter
+<br /><span class="attrib">(vinod kumar via Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8764">LUCENE-8764</a> <a href="http://issues.apache.org/jira/browse/LUCENE-8945">LUCENE-8945</a>: Add "export all terms and doc freqs" feature to Luke with delimiters.
+<br /><span class="attrib">(Leonardo Menezes, Amish Shah via Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8747">LUCENE-8747</a>: Composite Matches from multiple subqueries now allow access to
+their submatches, and a new NamedMatches API allows marking of subqueries
+and a simple way to find which subqueries have matched on a given document
+<br /><span class="attrib">(Alan Woodward, Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8769">LUCENE-8769</a>: Introduce Range Query For Multiple Connected Ranges
+<br /><span class="attrib">(Atri Sharma)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8960">LUCENE-8960</a>: Introduce LatLonDocValuesPointInPolygonQuery for LatLonDocValuesField
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8753">LUCENE-8753</a>: New UniformSplitPostingsFormat (name "UniformSplit") primarily benefiting in simplicity and
+extensibility.  New STUniformSplitPostingsFormat (name "SharedTermsUniformSplit") that shares a single internal
+term dictionary across fields.
+<br /><span class="attrib">(Bruno Roustant, Juan Rodriguez, David Smiley)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.3.0.improvements" href="javascript:toggleList('v8.3.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(16)
+    <ol id="v8.3.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8874">LUCENE-8874</a>: Show SPI names instead of class names in Luke Analysis tab.
+<br /><span class="attrib">(Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8894">LUCENE-8894</a>: Add APIs to find SPI names for Tokenizer/CharFilter/TokenFilter factory classes.
+<br /><span class="attrib">(Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8914">LUCENE-8914</a>: move the logic for discarding inner modes in FloatPointNearestNeighbor to the IntersectVisitor
+so we take advantage of the change introduced in <a href="http://issues.apache.org/jira/browse/LUCENE-7862">LUCENE-7862</a>.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8955">LUCENE-8955</a>: move the logic for discarding inner modes in LatLonPoint NearestNeighbor to the IntersectVisitor
+so we take advantage of the change introduced in <a href="http://issues.apache.org/jira/browse/LUCENE-7862">LUCENE-7862</a>.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8918">LUCENE-8918</a>: PhraseQuery throws exceptions at construction time if it is passed
+null arguments.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8916">LUCENE-8916</a>: GraphTokenStreamFiniteStrings preserves all Token attributes
+through its finite strings TokenStreams
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8933">LUCENE-8933</a>: Check kuromoji user dictionary beforehand to avoid unexpected runtime exceptions. (Tomoko Uchida
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8906">LUCENE-8906</a>: Expose Lucene50PostingsFormat.IntBlockTermState as public so that other postings formats can re-use it.
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8942">LUCENE-8942</a>: Remove redundant parameters and improve visibility strictness in
+LRUQueryCache
+<br /><span class="attrib">(Atri Sharma)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-13663">SOLR-13663</a>: Introduce &lt;SpanPositionRange&gt; into XML Query Parser
+<br /><span class="attrib">(Alessandro Benedetti via Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8952">LUCENE-8952</a>: Use a sort key instead of true distance in NearestNeighbor
+<br /><span class="attrib">(Julie Tibshirani)</span>.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8620">LUCENE-8620</a>: Tessellator labels the edges of the generated triangles whether they belong to
+the original polygon. This information is added to the triangle encoding.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8964">LUCENE-8964</a>: Fix geojson shape parsing on string arrays in properties
+<br /><span class="attrib">(Alexander Reelsen)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8976">LUCENE-8976</a>: Use exact distance between point and bounding rectangle in FloatPointNearestNeighbor.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8966">LUCENE-8966</a>: The Korean analyzer now splits tokens on boundaries between digits and alphabetic characters.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8984">LUCENE-8984</a>: MoreLikeThis MLT is biased for uncommon fields
+<br /><span class="attrib">(Andy Hind via Anshum Gupta)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.3.0.optimizations" href="javascript:toggleList('v8.3.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v8.3.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8922">LUCENE-8922</a>: DisjunctionMaxQuery more efficiently leverages impacts to skip
+non-competitive hits.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8935">LUCENE-8935</a>: BooleanQuery with no scoring clause can now early terminate the query when
+the total hits is not requested.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8941">LUCENE-8941</a>: Matches on wildcard queries will defer building their full
+disjunction until a MatchesIterator is pulled
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8755">LUCENE-8755</a>: spatial-extras quad and packed quad prefix trees now index points faster.
+<br /><span class="attrib">(Chongchen Chen, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8860">LUCENE-8860</a>: add additional leaf node level optimizations in LatLonShapeBoundingBoxQuery.
+<br /><span class="attrib">(Igor Motov via Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8968">LUCENE-8968</a>: Improve performance of WITHIN and DISJOINT queries for Shape queries by
+doing just one pass whenever possible.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8939">LUCENE-8939</a>: Introduce shared count based early termination across multiple slices
+<br /><span class="attrib">(Atri Sharma)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8980">LUCENE-8980</a>: Blocktree's seekExact now short-circuits false if the term isn't in the min-max range of the segment.
+Large perf gain for ID/time like data when populated sequentially.
+<br /><span class="attrib">(Guoqiang Jiang)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.3.0.bug_fixes" href="javascript:toggleList('v8.3.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v8.3.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8755">LUCENE-8755</a>: spatial-extras quad and packed quad prefix trees could throw a
+NullPointerException for certain cell edge coordinates
+<br /><span class="attrib">(Chongchen Chen, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-9005">LUCENE-9005</a>: BooleanQuery.visit() would pull subVisitors from its parent visitor, rather
+than from a visitor for its own specific query.  This could cause problems when BQ was
+nested under another BQ. Instead, we now pull a MUST subvisitor, pass it to any MUST
+subclauses, and then pull SHOULD, MUST_NOT and FILTER visitors from it rather than from
+the parent.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.3.0.other" href="javascript:toggleList('v8.3.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v8.3.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8778">LUCENE-8778</a> <a href="http://issues.apache.org/jira/browse/LUCENE-8911">LUCENE-8911</a> <a href="http://issues.apache.org/jira/browse/LUCENE-8957">LUCENE-8957</a>: Define analyzer SPI names as static final fields and document the names in Javadocs.
+<br /><span class="attrib">(Tomoko Uchida, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8758">LUCENE-8758</a>: QuadPrefixTree: removed levelS and levelN fields which weren't used.
+<br /><span class="attrib">(Amish Shah)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8975">LUCENE-8975</a>: Code Cleanup: Use entryset for map iteration wherever possible.
+<br /><span class="attrib">(Koen De Groote)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8993">LUCENE-8993</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-8807">LUCENE-8807</a>: Changed all repository and download references in build files
+to HTTPS.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8998">LUCENE-8998</a>: Fix OverviewImplTest.testIsOptimized reproducible failure.
+<br /><span class="attrib">(Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8999">LUCENE-8999</a>: LuceneTestCase.expectThrows now propogates assert/assumption failures up to the test
+w/o wrapping in a new assertion failure unless the caller has explicitly expected them
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8062">LUCENE-8062</a>: GlobalOrdinalsWithScoreQuery is no longer eligible for query caching.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v8.2.0" href="javascript:toggleList('v8.2.0')">Release 8.2.0  [2019-07-26]</a></h3>
+<ul id="v8.2.0.list">
+  <li><a id="v8.2.0.api_changes" href="javascript:toggleList('v8.2.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v8.2.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8865">LUCENE-8865</a>: IndexSearcher now uses Executor instead of ExecutorSerivce.
+This change is fully backwards compatible since ExecutorService directly
+implements Executor.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8856">LUCENE-8856</a>: Intervals queries have moved from the sandbox to the queries
+module.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8893">LUCENE-8893</a>: Intervals.wildcard() and Intervals.prefix() methods now take
+BytesRef rather than String.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.2.0.new_features" href="javascript:toggleList('v8.2.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v8.2.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8632">LUCENE-8632</a>: New XYShape Field and Queries for indexing and searching general cartesian
+geometries.
+<br /><span class="attrib">(Nick Knize)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8891">LUCENE-8891</a>: Snowball stemmer/analyzer for the Estonian language.
+<br /><span class="attrib">(Gert Morten Paimla via Tomoko Uchida)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8815">LUCENE-8815</a>: Provide a DoubleValues implementation for retrieving the value of features without
+requiring a separate numeric field. Note that as feature values are stored with only 8 bits of
+mantissa the values returned may have a delta from the original values indexed.
+<br /><span class="attrib">(Colin Goodheart-Smithe via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8803">LUCENE-8803</a>: Provide a FeatureSortfield to allow sorting search hits by descending value of a
+feature. This is exposed via the factory method FeatureField#newFeatureSort.
+<br /><span class="attrib">(Colin Goodheart-Smithe via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8784">LUCENE-8784</a>: The KoreanTokenizer now preserves punctuations if discardPunctuation is set
+to false (defaults to true).
+<br /><span class="attrib">(Namgyu Kim via Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8812">LUCENE-8812</a>: Add new KoreanNumberFilter that can change Hangul character to number
+and process decimal point. It is similar to the JapaneseNumberFilter.
+<br /><span class="attrib">(Namgyu Kim)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8362">LUCENE-8362</a>: Add doc-value support to range fields.
+<br /><span class="attrib">(Atri Sharma via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8766">LUCENE-8766</a>: Add monitor subproject (previously Luwak monitoring library). This
+allows a stream of documents to be matched against a set of registered queries
+in an efficient manner, for use as a monitoring or classification tool.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-7714">LUCENE-7714</a>: Add a numeric range query in sandbox that takes advantage of index sorting.
+<br /><span class="attrib">(Julie Tibshirani via Jim Ferenczi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8859">LUCENE-8859</a>: The completion suggester's postings format now have an option to
+load its internal FST off-heap.
+<br /><span class="attrib">(Jim Ferenczi)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.2.0.bug_fixes" href="javascript:toggleList('v8.2.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.2.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8831">LUCENE-8831</a>: Fixed LatLonShapeBoundingBoxQuery .hashCode methods.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8775">LUCENE-8775</a>: Improve tessellator to handle better cases where a hole share a vertex
+with the polygon.
+<br /><span class="attrib">(Ignacio Vera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8785">LUCENE-8785</a>: Ensure new threadstates are locked before retrieving the number of active threadstates.
+This causes assertion errors and potentially broken field attributes in the IndexWriter when
+IndexWriter#deleteAll is called while actively indexing.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8804">LUCENE-8804</a>: Forbid calls to putAttribute on frozen FieldType instances.
+<br /><span class="attrib">(Vamshi Vijay Nakkirtha via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8828">LUCENE-8828</a>: Removes the buggy 'disallow overlaps' boolean from Intervals.unordered(),
+and replaces it with a new Intervals.unorderedNoOverlaps() method
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8843">LUCENE-8843</a>: Don't ignore exceptions that are thrown when trying to open a
+file in IOUtils#fsync.
+<br /><span class="attrib">(Jason Tedor via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8835">LUCENE-8835</a>: FileSwitchDirectory now respects the file extension when listing directory
+contents to ensure we don't expose pending deletes if both directory point to the same
+underlying filesystem directory.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8853">LUCENE-8853</a>: FileSwitchDirectory now applies best effort to place tmp files in the same
+directory as the target files.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-8892">LUCENE-8892</a>: Add missing closing parentheses in MultiBoolFunction's description()
+<br /><span class="attrib">(Florian Diebold, Munendra S N)</span></li>
+    </ol>
+  </li>
+  <li><a id="v8.2.0.improvements" href="javascript:toggleList('v8.2.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v8.2.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-7840">LUCENE-7840</a>: Non-scoring BooleanQuery now removes SHOULD clauses before building the scorer supplier
+as opposed to eliminating them during scoring construction.
+<br /><span class="attrib">(Atri Sharma via Jim Ferenczi)</span></li>

[... 16680 lines stripped ...]