You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2015/09/11 14:20:50 UTC

svn commit: r10467 [3/19] - in /dev/lucene/lucene-solr-5.3.1-RC1-rev1702389: ./ lucene/ lucene/changes/ lucene/maven/ lucene/maven/org/ lucene/maven/org/apache/ lucene/maven/org/apache/lucene/ lucene/maven/org/apache/lucene/lucene-analyzers-common/ luc...

Added: dev/lucene/lucene-solr-5.3.1-RC1-rev1702389/lucene/changes/Changes.html
==============================================================================
--- dev/lucene/lucene-solr-5.3.1-RC1-rev1702389/lucene/changes/Changes.html (added)
+++ dev/lucene/lucene-solr-5.3.1-RC1-rev1702389/lucene/changes/Changes.html Fri Sep 11 12:20:48 2015
@@ -0,0 +1,12897 @@
+<!--
+**********************************************************
+** 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("^(?:v5\\\\.3\\\\.1|v5\\\\.3\\\\.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 != 'v5.3.1.list' 
+            && list.id != 'v5.3.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 == 'v5.3.1' || anchor.id == 'v5.3.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="v5.3.1" href="javascript:toggleList('v5.3.1')">Release 5.3.1 </a></h2>
+<ul id="v5.3.1.list">
+  <li><a id="v5.3.1.bug_fixes" href="javascript:toggleList('v5.3.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v5.3.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6774">LUCENE-6774</a>: Remove classloader hack in MorfologikFilter.
+<br /><span class="attrib">(Robert Muir,
+Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6781">LUCENE-6781</a>: Fixed BoostingQuery to rewrite wrapped queries.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6748">LUCENE-6748</a>: UsageTrackingQueryCachingPolicy no longer caches trivial queries
+like MatchAllDocsQuery.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.1.tests" href="javascript:toggleList('v5.3.1.tests')">Tests</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v5.3.1.tests.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6760">LUCENE-6760</a>, <a href="http://issues.apache.org/jira/browse/SOLR-7958">SOLR-7958</a>: Move TestUtil#randomWhitespace to the only
+Solr test that is using it. The method is not useful for Lucene tests
+(and easily breaks, e.g., in Java 9 caused by Unicode version updates).
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="v5.3.0" href="javascript:toggleList('v5.3.0')">Release 5.3.0  [2015-08-25]</a></h2>
+<ul id="v5.3.0.list">
+  <li><a id="v5.3.0.new_features" href="javascript:toggleList('v5.3.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(31)
+    <ol id="v5.3.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6485">LUCENE-6485</a>: Add CustomSeparatorBreakIterator to postings
+highlighter which splits on any character. For example, it
+can be used with getMultiValueSeparator render whole field
+values.
+<br /><span class="attrib">(Luca Cavanna via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6459">LUCENE-6459</a>: Add common suggest API that mirrors Lucene's
+Query/IndexSearcher APIs for Document based suggester.
+Adds PrefixCompletionQuery, RegexCompletionQuery,
+FuzzyCompletionQuery and ContextQuery.
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6487">LUCENE-6487</a>: Spatial Geo3D API now has a WGS84 ellipsoid world model option.
+<br /><span class="attrib">(Karl Wright via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6477">LUCENE-6477</a>: Add experimental BKD geospatial tree doc values format
+and queries, for fast "bbox/polygon contains lat/lon points"
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6526">LUCENE-6526</a>: Asserting(Query|Weight|Scorer) now ensure scores are not computed
+if they are not needed.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6481">LUCENE-6481</a>: Add GeoPointField, GeoPointInBBoxQuery,
+GeoPointInPolygonQuery for simple "indexed lat/lon point in
+bbox/shape" searching.
+<br /><span class="attrib">(Nick Knize via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5954">LUCENE-5954</a>: The segments_N commit point now stores the Lucene
+version that wrote the commit as well as the lucene version that
+wrote the oldest segment in the index, for faster checking of "too
+old" indices
+<br /><span class="attrib">(Ryan Ernst, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6519">LUCENE-6519</a>: BKDPointInPolygonQuery is much faster by avoiding
+the per-hit polygon check when a leaf cell is fully contained by the
+polygon.
+<br /><span class="attrib">(Nick Knize, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6549">LUCENE-6549</a>: Add preload option to MMapDirectory.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6504">LUCENE-6504</a>: Add Lucene53Codec, with norms implemented directly
+via the Directory's RandomAccessInput api.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6539">LUCENE-6539</a>: Add new DocValuesNumbersQuery, to match any document
+containing one of the specified long values.  This change also
+moves the existing DocValuesTermsQuery and DocValuesRangeQuery
+to Lucene's sandbox module, since in general these queries are
+quite slow and are only fast in specific cases.
+<br /><span class="attrib">(Adrien Grand,
+Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6577">LUCENE-6577</a>: Give earlier and better error message for invalid CRC.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6544">LUCENE-6544</a>: Geo3D: (1) Regularize path &amp; polygon construction, (2) add
+PlanetModel.surfaceDistance() (ellipsoidal calculation), (3) cache lat &amp; lon
+in GeoPoint, (4) add thread-safety where missing -- Geo3dShape.
+<br /><span class="attrib">(Karl Wright,
+David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6606">LUCENE-6606</a>: SegmentInfo.toString now confesses how the documents
+were sorted, when SortingMergePolicy was used
+<br /><span class="attrib">(Christine Poerschke
+via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6524">LUCENE-6524</a>: IndexWriter can now be initialized from an already open
+near-real-time or non-NRT reader.
+<br /><span class="attrib">(Boaz Leskes, Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6578">LUCENE-6578</a>: Geo3D can now compute the distance from a point to a shape, both
+inner distance and to an outside edge. Multiple distance algorithms are
+available.
+<br /><span class="attrib">(Karl Wright, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6632">LUCENE-6632</a>: Geo3D: Compute circle planes more accurately.
+<br /><span class="attrib">(Karl Wright via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6653">LUCENE-6653</a>: Added general purpose BytesTermAttribute to basic token
+attributes package that can be used for TokenStreams that solely produce
+binary terms.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6365">LUCENE-6365</a>: Add Operations.topoSort, to run topological sort of the
+states in an Automaton
+<br /><span class="attrib">(Markus Heiden via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6365">LUCENE-6365</a>: Replace Operations.getFiniteStrings with a
+more scalable iterator API (FiniteStringsIterator)
+<br /><span class="attrib">(Markus Heiden
+via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6589">LUCENE-6589</a>: Add a new org.apache.lucene.search.join.CheckJoinIndex class
+that can be used to validate that an index has an appropriate structure to
+run join queries.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6659">LUCENE-6659</a>: Remove IndexWriter's unnecessary hard limit on max concurrency
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6547">LUCENE-6547</a>: Add GeoPointDistanceQuery, matching all points within
+the specified distance from the center point.  Fix
+GeoPointInBBoxQuery to handle dateline crossing.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6694">LUCENE-6694</a>: Add LithuanianAnalyzer and LithuanianStemmer.
+<br /><span class="attrib">(Dainius Jocas via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6695">LUCENE-6695</a>: Added a new BlendedTermQuery to blend statistics across several
+terms.
+<br /><span class="attrib">(Simon Willnauer, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6706">LUCENE-6706</a>: Added a new PayloadScoreQuery that generalises the behaviour of
+PayloadTermQuery and PayloadNearQuery to all Span queries.
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6697">LUCENE-6697</a>: Add experimental range tree doc values format and
+queries, based on a 1D version of the spatial BKD tree, for a faster
+and smaller alternative to postings-based numeric and binary term
+filtering.  Range trees can also handle values larger than 64 bits.
+<br /><span class="attrib">(Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6647">LUCENE-6647</a>: Add GeoHash string utility APIs
+<br /><span class="attrib">(Nick Knize via Mike
+McCandless)</span>.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6710">LUCENE-6710</a>: GeoPointField now uses full 64 bits (up from 62) to encode
+lat/lon
+<br /><span class="attrib">(Nick Knize via Mike McCandless)</span>.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6580">LUCENE-6580</a>: SpanNearQuery now allows defined-width gaps in its subqueries
+<br /><span class="attrib">(Alan Woodward, Adrien Grand)</span>.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6712">LUCENE-6712</a>: Use doc values to post-filter GeoPointField hits that
+fall in boundary cells, resulting in smaller index, faster searches
+and less heap used for each query
+<br /><span class="attrib">(Nick Knize via Mike McCandless)</span>.
+<p/>
+</li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.api_changes" href="javascript:toggleList('v5.3.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(21)
+    <ol id="v5.3.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6508">LUCENE-6508</a>: Simplify Lock api, there is now just
+Directory.obtainLock() which returns a Lock that can be
+released (or fails with exception). Add lock verification
+to IndexWriter. Improve exception messages when locking fails.
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6529">LUCENE-6529</a>: Removed an optimization in UninvertingReader that was causing
+incorrect results for Numeric fields using precisionStep
+<br /><span class="attrib">(hossman, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6551">LUCENE-6551</a>: Add missing ConcurrentMergeScheduler.getAutoIOThrottle
+getter
+<br /><span class="attrib">(Simon Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6552">LUCENE-6552</a>: Add MergePolicy.OneMerge.getMergeInfo and rename
+setInfo to setMergeInfo
+<br /><span class="attrib">(Simon Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6525">LUCENE-6525</a>: Deprecate IndexWriterConfig's writeLockTimeout.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6466">LUCENE-6466</a>: Moved SpanQuery.getSpans() and .extractTerms() to SpanWeight
+<br /><span class="attrib">(Alan Woodward, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6371">LUCENE-6371</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6490">LUCENE-6490</a>: Payload collection from Spans is moved to a more generic
+SpanCollector framework.  Spans no longer implements .hasPayload() and
+.getPayload() methods, and instead exposes a collect() method that allows
+the collection of arbitrary postings information. SpanPayloadCheckQuery and
+SpanPayloadNearCheckQuery have moved from the .spans package to the .payloads
+package.
+<br /><span class="attrib">(Alan Woodward, David Smiley, Paul Elschot, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6583">LUCENE-6583</a>: FilteredQuery is deprecated and will be removed in 6.0. It should
+be replaced with a BooleanQuery which handle the query as a MUST clause and
+the filter as a FILTER clause.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6553">LUCENE-6553</a>: The postings, spans and scorer APIs no longer take an acceptDocs
+parameter. Live docs are now always checked on top of these APIs.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6634">LUCENE-6634</a>: PKIndexSplitter now takes a Query instead of a Filter to decide
+how to split an index.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6643">LUCENE-6643</a>: GroupingSearch from lucene/grouping was changed to take a Query
+object to define groups instead of a Filter.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6554">LUCENE-6554</a>: ToParentBlockJoinFieldComparator was removed because of a bug
+with missing values that could not be fixed. ToParentBlockJoinSortField now
+works with string or numeric doc values selectors. Sorting on anything else
+than a string or numeric field would require to implement a custom selector.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6648">LUCENE-6648</a>: All lucene/facet APIs now take Query objects where they used to
+take Filter objects.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6640">LUCENE-6640</a>: Suggesters now take a BitsProducer object instead of a Filter
+object to reduce the scope of doc IDs that may be returned, emphasizing the
+fact that these objects need to support random-access.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6646">LUCENE-6646</a>: Make EarlyTerminatingCollector take a Sort object directly
+instead of a SortingMergePolicy.
+<br /><span class="attrib">(Christine Poerschke via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6649">LUCENE-6649</a>: BitDocIdSetFilter and BitDocIdSetCachingWrapperFilter are now
+deprecated in favour of BitSetProducer and QueryBitSetProducer, which do not
+extend oal.search.Filter.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6607">LUCENE-6607</a>: Factor out geo3d into its own spatial3d module.
+<br /><span class="attrib">(Karl
+Wright, Nick Knize, David Smiley, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6531">LUCENE-6531</a>: PhraseQuery is now immutable and can be built using the
+PhraseQuery.Builder class.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6570">LUCENE-6570</a>: BooleanQuery is now immutable and can be built using the
+BooleanQuery.Builder class.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6702">LUCENE-6702</a>: NRTSuggester: Add a method to inject context values at index time
+in ContextSuggestField. Simplify ContextQuery logic for extracting contexts and
+add dedicated method to consider all context values at query time.
+<br /><span class="attrib">(Areek Zillur, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6719">LUCENE-6719</a>: NumericUtils getMinInt, getMaxInt, getMinLong, getMaxLong now
+return null if there are no terms for the specified field, previously these
+methods returned primitive values and raised an undocumented NullPointerException
+if there were no terms for the field.
+<br /><span class="attrib">(hossman, Timothy Potter)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.bug_fixes" href="javascript:toggleList('v5.3.0.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(27)
+    <ol id="v5.3.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6500">LUCENE-6500</a>: ParallelCompositeReader did not always call
+closed listeners. This was fixed by <a href="http://issues.apache.org/jira/browse/LUCENE-6501">LUCENE-6501</a>.
+<br /><span class="attrib">(Adrien Grand, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6520">LUCENE-6520</a>: Geo3D GeoPath.done() would throw an NPE if adjacent path
+segments were co-linear.
+<br /><span class="attrib">(Karl Wright via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5805">LUCENE-5805</a>: QueryNodeImpl.removeFromParent was doing nothing in a
+costly manner
+<br /><span class="attrib">(Christoph Kaser, Cao Manh Dat via Mike McCAndless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6533">LUCENE-6533</a>: SlowCompositeReaderWrapper no longer caches its live docs
+instance since this can prevent future improvements like a
+disk-backed live docs
+<br /><span class="attrib">(Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6558">LUCENE-6558</a>: Highlighters now work with CustomScoreQuery
+<br /><span class="attrib">(Cao Manh
+Dat via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6560">LUCENE-6560</a>: BKDPointInBBoxQuery now handles "dateline crossing"
+correctly
+<br /><span class="attrib">(Nick Knize, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6564">LUCENE-6564</a>: Change PrintStreamInfoStream to use thread safe Java 8
+ISO-8601 date formatting (in Lucene 5.x use Java 7 FileTime#toString
+as workaround); fix output of tests to use same format.
+<br /><span class="attrib">(Uwe Schindler,
+Ramkumar Aiyengar)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6593">LUCENE-6593</a>: Fixed ToChildBlockJoinQuery's scorer to not refuse to advance
+to a document that belongs to the parent space.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6591">LUCENE-6591</a>: Never write a negative vLong
+<br /><span class="attrib">(Robert Muir, Ryan Ernst,
+Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6588">LUCENE-6588</a>: Fix how ToChildBlockJoinQuery deals with acceptDocs.
+<br /><span class="attrib">(Christoph Kaser via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6597">LUCENE-6597</a>: Geo3D's GeoCircle now supports a world-globe diameter.
+<br /><span class="attrib">(Karl Wright via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6608">LUCENE-6608</a>: Fix potential resource leak in BigramDictionary.
+<br /><span class="attrib">(Rishabh Patel via Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6614">LUCENE-6614</a>: Improve partition detection in IOUtils#spins() so it
+works with NVMe drives.
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6586">LUCENE-6586</a>: Fix typo in GermanStemmer, causing possible wrong value
+for substCount.
+<br /><span class="attrib">(Christoph Kaser via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6658">LUCENE-6658</a>: Fix IndexUpgrader to also upgrade indexes without any
+segments.
+<br /><span class="attrib">(Trejkaz, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6677">LUCENE-6677</a>: QueryParserBase fails to enforce maxDeterminizedStates when
+creating a WildcardQuery
+<br /><span class="attrib">(David Causse via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6680">LUCENE-6680</a>: Preserve two suggestions that have same key and weight but
+different payloads
+<br /><span class="attrib">(Arcadius Ahouansou via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6681">LUCENE-6681</a>: SortingMergePolicy must override MergePolicy.size(...).
+<br /><span class="attrib">(Christine Poerschke via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6682">LUCENE-6682</a>: StandardTokenizer performance bug: scanner buffer is
+unnecessarily copied when maxTokenLength doesn't change.  Also stop silently
+maxing out buffer size (and effectively also max token length) at 1M chars,
+but instead throw an exception from setMaxTokenLength() when the given
+length is greater than 1M chars.
+<br /><span class="attrib">(Piotr Idzikowski, Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6696">LUCENE-6696</a>: Fix FilterDirectoryReader.close() to never close the
+underlying reader several times.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6334">LUCENE-6334</a>: FastVectorHighlighter failed to highlight phrases across
+more than one value in a multi-valued field.
+<br /><span class="attrib">(Chris Earle, Nik Everett
+via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6704">LUCENE-6704</a>: GeoPointDistanceQuery was visiting too many term ranges,
+consuming too much heap for a large radius
+<br /><span class="attrib">(Nick Knize via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-5882">SOLR-5882</a>: fix ScoreMode.Min at ToParentBlockJoinQuery
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6718">LUCENE-6718</a>: JoinUtil.createJoinQuery failed to rewrite queries before
+creating a Weight.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6713">LUCENE-6713</a>: TooComplexToDeterminizeException claims to be serializable
+but wasn't
+<br /><span class="attrib">(Simon Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6723">LUCENE-6723</a>: Fix date parsing problems in Java 9 with date formats using
+English weekday/month names.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6618">LUCENE-6618</a>: Properly set MMapDirectory.UNMAP_SUPPORTED when it is now allowed
+by security policy.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.changes_in_runtime_behavior" href="javascript:toggleList('v5.3.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v5.3.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6501">LUCENE-6501</a>: The subreader structure in ParallelCompositeReader
+was flattened, because the current implementation had too many
+hidden bugs regarding refounting and close listeners.
+If you create a new ParallelCompositeReader, it will just take
+all leaves of the passed readers and form a flat structure of
+ParallelLeafReaders instead of trying to assemble the original
+structure of composite and leaf readers.
+<br /><span class="attrib">(Adrien Grand,
+Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6538">LUCENE-6538</a>: Also include java.vm.version and java.runtime.version
+in per-segment diagnostics
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6537">LUCENE-6537</a>: NearSpansOrdered no longer tries to minimize its
+Span matches.  This means that the matching algorithm is entirely
+lazy.  All spans returned by the previous implementation are still
+reported, but matching documents may now also return additional
+spans that were previously discarded in preference to shorter
+overlapping ones.
+<br /><span class="attrib">(Alan Woodward, Adrien Grand, Paul Elschot)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6569">LUCENE-6569</a>: Optimize MultiFunction.anyExists and allExists to eliminate
+excessive array creation in common 2 argument usage
+<br /><span class="attrib">(Jacob Graves, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-2880">LUCENE-2880</a>: Span queries now score more consistently with regular queries.
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6601">LUCENE-6601</a>: FilteredQuery now always rewrites to a BooleanQuery which handles
+the query as a MUST clause and the filter as a FILTER clause.
+LEAP_FROG_QUERY_FIRST_STRATEGY and LEAP_FROG_FILTER_FIRST_STRATEGY do not
+guarantee anymore which iterator will be advanced first, it will depend on the
+respective costs of the iterators. QUERY_FIRST_FILTER_STRATEGY and
+RANDOM_ACCESS_FILTER_STRATEGY still consume the filter using its random-access
+API, however the returned bits may be called on different documents compared
+to before.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6542">LUCENE-6542</a>: FSDirectory's ctor now works with security policies or file systems
+that restrict write access.
+<br /><span class="attrib">(Trejkaz, hossman, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6651">LUCENE-6651</a>: The default implementation of AttributeImpl#reflectWith(AttributeReflector)
+now uses AccessControler#doPrivileged() to do the reflection. Please consider
+implementing this method in all your custom attributes, because the method will be
+made abstract in Lucene 6.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6639">LUCENE-6639</a>: LRUQueryCache and CachingWrapperQuery now consider a query as
+"used" when the first Scorer is pulled instead of when a Scorer is pulled on
+the first segment on an index.
+<br /><span class="attrib">(Terry Smith, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6579">LUCENE-6579</a>: IndexWriter now sacrifices (closes) itself to protect the index
+when an unexpected, tragic exception strikes while merging.
+<br /><span class="attrib">(Robert
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6691">LUCENE-6691</a>: SortingMergePolicy.isSorted now considers FilterLeafReader instances.
+EarlyTerminatingSortingCollector.terminatedEarly accessor added.
+TestEarlyTerminatingSortingCollector.testTerminatedEarly test added.
+<br /><span class="attrib">(Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6609">LUCENE-6609</a>: Add getSortField impls to many subclasses of FieldCacheSource which return
+the most direct SortField implementation.  In many trivial sort by ValueSource usages, this
+will result in less RAM, and more precise sorting of extreme values due to no longer
+converting to double.
+<br /><span class="attrib">(hossman)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.optimizations" href="javascript:toggleList('v5.3.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v5.3.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6548">LUCENE-6548</a>: Some optimizations for BlockTree's intersect with very
+finite automata
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6585">LUCENE-6585</a>: Flatten conjunctions and conjunction approximations into
+parent conjunctions. For example a sloppy phrase query of "foo bar"~5
+with a filter of "baz" will internally leapfrog foo,bar,baz as one
+conjunction.
+<br /><span class="attrib">(Ryan Ernst, Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6325">LUCENE-6325</a>: Reduce RAM usage of FieldInfos, and speed up lookup by
+number, by using an array instead of TreeMap except in very sparse
+cases
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6617">LUCENE-6617</a>: Reduce heap usage for small FSTs
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6616">LUCENE-6616</a>: IndexWriter now lists the files in the index directory
+only once on init, and IndexFileDeleter no longer suppresses
+FileNotFoundException and NoSuchFileException.  This also improves
+IndexFileDeleter to delete segments_N files last, so that in the
+presence of a virus checker, the index is never left in a state
+where an expired segments_N references non-existing files
+<br /><span class="attrib">(Robert
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6645">LUCENE-6645</a>: Optimized the way we merge postings lists in multi-term queries
+and TermsQuery. This should especially help when there are lots of small
+postings lists.
+<br /><span class="attrib">(Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6668">LUCENE-6668</a>: Optimized storage for sorted set and sorted numeric doc values
+in the case that there are few unique sets of values.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6690">LUCENE-6690</a>: Sped up MultiTermsEnum.next() on high-cardinality fields.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6621">LUCENE-6621</a>: Removed two unused variables in analysis/stempel/src/java/org/
+egothor/stemmer/Compile.java
+<br /><span class="attrib">(Rishabh Patel via Christine Poerschke)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.build" href="javascript:toggleList('v5.3.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v5.3.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6518">LUCENE-6518</a>: Don't report false thread leaks from IBM J9
+ClassCache Reaper in test framework.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6567">LUCENE-6567</a>: Simplify payload checking in SpanPayloadCheckQuery
+<br /><span class="attrib">(Alan
+Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6568">LUCENE-6568</a>: Make rat invocation depend on ivy configuration being set up
+<br /><span class="attrib">(Ramkumar Aiyengar)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6683">LUCENE-6683</a>: ivy-fail goal directs people to non-existent page
+<br /><span class="attrib">(Mike Drob via Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6693">LUCENE-6693</a>: Updated Groovy to 2.4.4, Pegdown to 1.5, Svnkit to 1.8.10.
+Also fixed some PermGen errors while running full build caused by
+these updates: Tasks are now installed from root's build.xml.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6741">LUCENE-6741</a>: Fix jflex files to regenerate the java files correctly.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.test_framework" href="javascript:toggleList('v5.3.0.test_framework')">Test Framework</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v5.3.0.test_framework.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6637">LUCENE-6637</a>: Fix FSTTester to not violate file permissions
+on -Dtests.verbose=true.
+<br /><span class="attrib">(Mesbah M. Alam, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6542">LUCENE-6542</a>: LuceneTestCase now has runWithRestrictedPermissions() to run
+an action with reduced permissions. This can be used to simulate special
+environments (e.g., read-only dirs). If tests are running without a security
+manager, an assume cancels test execution automatically.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6652">LUCENE-6652</a>: Removed lots of useless Byte(s)TermAttributes all over test
+infrastructure.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6563">LUCENE-6563</a>: Improve MockFileSystemTestCase.testURI to check if a path
+can be encoded according to local filesystem requirements. Otherwise
+stop test execution.
+<br /><span class="attrib">(Christine Poerschke via Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.3.0.changes_in_backwards_compatibility_policy" href="javascript:toggleList('v5.3.0.changes_in_backwards_compatibility_policy')">Changes in Backwards Compatibility Policy</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v5.3.0.changes_in_backwards_compatibility_policy.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6553">LUCENE-6553</a>: The iterator returned by the LeafReader.postings method now
+always includes deleted docs, so you have to check for deleted documents on
+top of the iterator.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6633">LUCENE-6633</a>: DuplicateFilter has been deprecated and will be removed in 6.0.
+DiversifiedTopDocsCollector can be used instead with a maximum number of hits
+per key equal to 1.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6653">LUCENE-6653</a>: The workflow for consuming the TermToBytesRefAttribute was changed:
+getBytesRef() now does all work and is called on each token, fillBytesRef()
+was removed. The implementation is free to reuse the internal BytesRef
+or return a new one on each call.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6682">LUCENE-6682</a>: StandardTokenizer.setMaxTokenLength() now throws an exception if
+a length greater than 1M chars is given.  Previously the effective max token
+length (the scanner's buffer) was capped at 1M chars, but getMaxTokenLength()
+incorrectly returned the previously requested length, even when it exceeded 1M.
+<br /><span class="attrib">(Piotr Idzikowski, Steve Rowe)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="older" href="javascript:toggleList('older')">Older Releases</a></h2>
+<ul id="older.list">
+<h3><a id="v5.2.1" href="javascript:toggleList('v5.2.1')">Release 5.2.1  [2015-06-15]</a></h3>
+<ul id="v5.2.1.list">
+  <li><a id="v5.2.1.bug_fixes" href="javascript:toggleList('v5.2.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v5.2.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6482">LUCENE-6482</a>: Fix class loading deadlock relating to Codec initialization,
+default codec and SPI discovery.
+<br /><span class="attrib">(Shikhar Bhushan, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6523">LUCENE-6523</a>: NRT readers now reflect a new commit even if there is
+no change to the commit user data
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6527">LUCENE-6527</a>: Queries now get a dummy Similarity when scores are not needed
+in order to not load unnecessary information like norms.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6559">LUCENE-6559</a>: TimeLimitingCollector now also checks for timeout when a new
+leaf reader is pulled ie. if we move from one segment to another even without
+collecting a hit.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v5.2.0" href="javascript:toggleList('v5.2.0')">Release 5.2.0  [2015-06-07]</a></h3>
+<ul id="v5.2.0.list">
+  <li><a id="v5.2.0.new_features" href="javascript:toggleList('v5.2.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(16)
+    <ol id="v5.2.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6308">LUCENE-6308</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6385">LUCENE-6385</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6391">LUCENE-6391</a>: Span queries now share
+document conjunction/intersection
+code with boolean queries, and use two-phased iterators for
+faster intersection by avoiding loading positions in certain cases.
+<br /><span class="attrib">(Paul Elschot, Terry Smith, Robert Muir via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6393">LUCENE-6393</a>: Add two-phase support to SpanPositionCheckQuery
+and its subclasses: SpanPositionRangeQuery, SpanPayloadCheckQuery,
+SpanNearPayloadCheckQuery, SpanFirstQuery.
+<br /><span class="attrib">(Paul Elschot, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6394">LUCENE-6394</a>: Add two-phase support to SpanNotQuery and refactor
+FilterSpans to just have an accept(Spans candidate) method for
+subclasses.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6373">LUCENE-6373</a>: SpanOrQuery shares disjunction logic with boolean
+queries, and supports two-phased iterators to avoid loading
+positions when possible.
+<br /><span class="attrib">(Paul Elschot via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6352">LUCENE-6352</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6472">LUCENE-6472</a>: Added a new query time join to the join module
+that uses global ordinals, which is faster for subsequent joins between
+reopens.
+<br /><span class="attrib">(Martijn van Groningen, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5879">LUCENE-5879</a>: Added experimental auto-prefix terms to BlockTree terms
+dictionary, exposed as AutoPrefixPostingsFormat
+<br /><span class="attrib">(Adrien Grand,
+Uwe Schindler, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5579">LUCENE-5579</a>: New CompositeSpatialStrategy combines speed of RPT with
+accuracy of SDV. Includes optimized Intersect predicate to avoid many
+geometry checks. Uses TwoPhaseIterator.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5989">LUCENE-5989</a>: Allow passing BytesRef to StringField to make it easier
+to index arbitrary binary tokens, and change the experimental
+StoredFieldVisitor.stringField API to take UTF-8 byte[] instead of
+String
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6389">LUCENE-6389</a>: Added ScoreMode.Min that aggregates the lowest child score
+to the parent hit.
+<br /><span class="attrib">(Martijn van Groningen, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6423">LUCENE-6423</a>: New LimitTokenOffsetFilter that limits tokens to those before
+a configured maximum start offset.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6422">LUCENE-6422</a>: New spatial PackedQuadPrefixTree, a generally more efficient
+choice than QuadPrefixTree, especially for high precision shapes.
+When used, you should typically disable RPT's pruneLeafyBranches option.
+<br /><span class="attrib">(Nick Knize, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6451">LUCENE-6451</a>: Expressions now support bindings keys that look like
+zero arg functions
+<br /><span class="attrib">(Jack Conradson via Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6083">LUCENE-6083</a>: Add SpanWithinQuery and SpanContainingQuery that return
+spans inside of / containing another spans.
+<br /><span class="attrib">(Paul Elschot via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6454">LUCENE-6454</a>: Added distinction between member variable and method in
+expression helper VariableContext
+<br /><span class="attrib">(Jack Conradson via Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6196">LUCENE-6196</a>: New Spatial "Geo3d" API with partial Spatial4j integration.
+It is a set of shapes implemented using 3D planar geometry for calculating
+spatial relations on the surface of a sphere. Shapes include Point, BBox,
+Circle, Path (buffered line string), and Polygon.
+<br /><span class="attrib">(Karl Wright via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6464">LUCENE-6464</a>: Add a new expert lookup method to
+AnalyzingInfixSuggester to accept an arbitrary BooleanQuery to
+express how contexts should be filtered.
+<br /><span class="attrib">(Arcadius Ahouansou via
+Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.optimizations" href="javascript:toggleList('v5.2.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v5.2.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6379">LUCENE-6379</a>: IndexWriter.deleteDocuments(Query...) now detects if
+one of the queries is MatchAllDocsQuery and just invokes the much
+faster IndexWriter.deleteAll in that case
+<br /><span class="attrib">(Robert Muir, Adrien
+Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6388">LUCENE-6388</a>: Optimize SpanNearQuery when payloads are not present.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6421">LUCENE-6421</a>: Defer reading of positions in MultiPhraseQuery until
+they are needed.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6392">LUCENE-6392</a>: Highligher- reduce memory of tokens in
+TokenStreamFromTermVector, and add maxStartOffset limit.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6456">LUCENE-6456</a>: Queries that generate doc id sets that are too large for the
+query cache are not cached instead of evicting everything.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6455">LUCENE-6455</a>: Require a minimum index size to enable query caching in order
+not to cache eg. on MemoryIndex.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6330">LUCENE-6330</a>: BooleanScorer (used for top-level disjunctions) does not decode
+norms when not necessary anymore.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6350">LUCENE-6350</a>: TermsQuery is now compressed with PrefixCodedTerms.
+<br /><span class="attrib">(Robert Muir, Mike McCandless, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6458">LUCENE-6458</a>: Multi-term queries matching few terms per segment now execute
+like a disjunction.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6360">LUCENE-6360</a>: TermsQuery rewrites to a disjunction when there are 16 matching
+terms or less.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.bug_fixes" href="javascript:toggleList('v5.2.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(16)
+    <ol id="v5.2.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-329">LUCENE-329</a>: Fix FuzzyQuery defaults to rank exact matches highest.
+<br /><span class="attrib">(Mark Harwood, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6378">LUCENE-6378</a>: Fix all RuntimeExceptions to throw the underlying root cause.
+<br /><span class="attrib">(Varun Thacker, Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6415">LUCENE-6415</a>: TermsQuery.extractTerms is a no-op (used to throw an
+UnsupportedOperationException).
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6416">LUCENE-6416</a>: BooleanQuery.extractTerms now only extracts terms from scoring
+clauses.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6409">LUCENE-6409</a>: Fixed integer overflow in LongBitSet.ensureCapacity.
+<br /><span class="attrib">(Luc Vanlerberghe via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6424">LUCENE-6424</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6430">LUCENE-6430</a>: Fix many bugs with mockfs filesystems in the
+test-framework: always consistently wrap Path, fix buggy behavior for
+globs, implement equals/hashcode for filtered Paths, etc.
+<br /><span class="attrib">(Ryan Ernst, Simon Willnauer, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6426">LUCENE-6426</a>: Fix FieldType's copy constructor to also copy over the numeric
+precision step.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6345">LUCENE-6345</a>: Null check terms/fields in Lucene queries
+<br /><span class="attrib">(Lee
+Hinman via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6400">LUCENE-6400</a>: SolrSynonymParser should preserve original token instead
+of replacing it with a synonym, when expand=true and there is no
+explicit mapping
+<br /><span class="attrib">(Ian Ribas, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6449">LUCENE-6449</a>: Don't throw NullPointerException if some segments are
+missing the field being highlighted, in PostingsHighlighter
+<br /><span class="attrib">(Roman
+Khmelichek via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6427">LUCENE-6427</a>: Added assertion about the presence of ghost bits in
+(Fixed|Long)BitSet.
+<br /><span class="attrib">(Luc Vanlerberghe via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6468">LUCENE-6468</a>: Fixed NPE with empty Kuromoji user dictionary.
+<br /><span class="attrib">(Jun Ohtani via Christian Moen)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6483">LUCENE-6483</a>: Ensure core closed listeners are called on the same cache key as
+the reader which has been used to register the listener.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6486">LUCENE-6486</a> DocumentDictionary iterator no longer skips
+documents with no payloads and now returns an empty BytesRef instead
+<br /><span class="attrib">(Marius Grama via Michael McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6505">LUCENE-6505</a>: NRT readers now reflect segments_N filename and commit
+user data from previous commits
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6507">LUCENE-6507</a>: Don't let NativeFSLock.close() release other locks
+<br /><span class="attrib">(Simon Willnauer, Robert Muir, Uwe Schindler, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.api_changes" href="javascript:toggleList('v5.2.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v5.2.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6377">LUCENE-6377</a>: SearcherFactory#newSearcher now accepts the previous reader
+to simplify warming logic during opening new searchers.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6410">LUCENE-6410</a>: Removed unused "reuse" parameter to
+Terms.iterator.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6425">LUCENE-6425</a>: Replaced Query.extractTerms with Weight.extractTerms.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6446">LUCENE-6446</a>: Simplified Explanation API.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6445">LUCENE-6445</a>: Two new methods in Highlighter's TokenSources; the existing
+methods are now marked deprecated.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6484">LUCENE-6484</a>: Removed EliasFanoDocIdSet, which was unused.
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6497">LUCENE-6497</a>: Allow subclasses of FieldType to check frozen state
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.other" href="javascript:toggleList('v5.2.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v5.2.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6413">LUCENE-6413</a>: Test runner should report the number of suites completed/
+remaining.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5439">LUCENE-5439</a>: Add 'ant jacoco' build target.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6315">LUCENE-6315</a>: Simplify the private iterator Lucene uses internally
+when resolving deleted terms to matched docids.
+<br /><span class="attrib">(Robert Muir, Adrien
+Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6399">LUCENE-6399</a>: Benchmark module's QueryMaker.resetInputs should call setConfig
+so queries can react to property changes in new rounds.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6382">LUCENE-6382</a>: Lucene now enforces that positions never exceed the
+maximum value IndexWriter.MAX_POSITION.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6372">LUCENE-6372</a>: Simplified and improved equals/hashcode of span queries.
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.build" href="javascript:toggleList('v5.2.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v5.2.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6420">LUCENE-6420</a>: Update forbiddenapis to v1.8
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.2.0.test_framework" href="javascript:toggleList('v5.2.0.test_framework')">Test Framework</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v5.2.0.test_framework.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6419">LUCENE-6419</a>: Added two-phase iteration assertions to AssertingQuery.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6437">LUCENE-6437</a>: Randomly set CPU core count and spins, derived from
+test's master seed, used by ConcurrentMergeScheduler to set dynamic
+defaults, for better test randomization and to help tests reproduce
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v5.1.0" href="javascript:toggleList('v5.1.0')">Release 5.1.0  [2015-04-14]</a></h3>
+<ul id="v5.1.0.list">
+  <li><a id="v5.1.0.new_features" href="javascript:toggleList('v5.1.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v5.1.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6066">LUCENE-6066</a>: Added DiversifiedTopDocsCollector to misc for collecting no more
+than a given number of results under a choice of key. Introduces new remove
+method to core's PriorityQueue.
+<br /><span class="attrib">(Mark Harwood)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6191">LUCENE-6191</a>: New spatial 2D heatmap faceting for PrefixTreeStrategy.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6227">LUCENE-6227</a>: Added BooleanClause.Occur.FILTER to filter documents without
+participating in scoring (on the contrary to MUST).
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6294">LUCENE-6294</a>: Added oal.search.CollectorManager to allow for parallelization
+of the document collection process on IndexSearcher.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6303">LUCENE-6303</a>: Added filter caching baked into IndexSearcher, disabled by
+default.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6304">LUCENE-6304</a>: Added a new MatchNoDocsQuery that matches no documents.
+<br /><span class="attrib">(Lee Hinman via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6341">LUCENE-6341</a>: Add a -fast option to CheckIndex.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6355">LUCENE-6355</a>: IndexWriter's infoStream now also logs time to write FieldInfos
+during merge
+<br /><span class="attrib">(Lee Hinman via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6339">LUCENE-6339</a>: Added Near-real time Document Suggester via custom postings format
+<br /><span class="attrib">(Areek Zillur, Mike McCandless, Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.1.0.bug_fixes" href="javascript:toggleList('v5.1.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v5.1.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6368">LUCENE-6368</a>: FST.save can truncate output (BufferedOutputStream may be closed
+after the underlying stream).
+<br /><span class="attrib">(Ippei Matsushima via Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6249">LUCENE-6249</a>: StandardQueryParser doesn't support pure negative clauses.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6190">LUCENE-6190</a>: Spatial pointsOnly flag on PrefixTreeStrategy shouldn't switch all predicates to
+Intersects.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6242">LUCENE-6242</a>: Ram usage estimation was incorrect for SparseFixedBitSet when
+object alignment was different from 8.
+<br /><span class="attrib">(Uwe Schindler, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6293">LUCENE-6293</a>: Fixed TimSorter bug.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6001">LUCENE-6001</a>: DrillSideways hits NullPointerException for certain
+BooleanQuery searches.
+<br /><span class="attrib">(Dragan Jotannovic, jane chang via Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6311">LUCENE-6311</a>: Fix NIOFSDirectory and SimpleFSDirectory so that the
+toString method of IndexInputs confess when they are from a compound
+file.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6381">LUCENE-6381</a>: Add defensive wait time limit in
+DocumentsWriterStallControl to prevent hangs during indexing if we
+miss a .notify/All somewhere
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6386">LUCENE-6386</a>: Correct IndexWriter.forceMerge documentation to state
+that up to 3X (X = current index size) spare disk space may be needed
+to complete forceMerge(1).
+<br /><span class="attrib">(Robert Muir, Shai Erera, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6395">LUCENE-6395</a>: Seeking by term ordinal was failing to set the term's
+bytes in MemoryIndex
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6429">LUCENE-6429</a>: Removed the TermQuery(Term,int) constructor which could lead to
+inconsistent term statistics.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.1.0.optimizations" href="javascript:toggleList('v5.1.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(16)
+    <ol id="v5.1.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6183">LUCENE-6183</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5647">LUCENE-5647</a>: Avoid recompressing stored fields
+and term vectors when merging segments without deletions.
+Lucene50Codec's BEST_COMPRESSION mode uses a higher deflate
+level for more compact storage.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6184">LUCENE-6184</a>: Make BooleanScorer only score windows that contain
+matches.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6161">LUCENE-6161</a>: Speed up resolving of deleted terms to docIDs by doing
+a combined merge sort between deleted terms and segment terms
+instead of a separate merge sort for each segment.  In delete-heavy
+use cases this can be a sizable speedup.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6201">LUCENE-6201</a>: BooleanScorer can now deal with values of minShouldMatch that
+are greater than one and is used when queries produce dense result sets.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6218">LUCENE-6218</a>: Don't decode frequencies or match all positions when scoring
+is not needed.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6233">LUCENE-6233</a> Speed up CheckIndex when the index has term vectors
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6198">LUCENE-6198</a>: Added the TwoPhaseIterator API, exposed on scorers which
+is for now only used on phrase queries and conjunctions in order to check
+positions lazily if the phrase query is in a conjunction with other queries.
+<br /><span class="attrib">(Robert Muir, Adrien Grand, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6244">LUCENE-6244</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6251">LUCENE-6251</a>: All boolean queries but those that have a
+minShouldMatch &gt; 1 now either propagate or take advantage of the two-phase
+iteration capabilities added in <a href="http://issues.apache.org/jira/browse/LUCENE-6198">LUCENE-6198</a>.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6241">LUCENE-6241</a>: FSDirectory.listAll() doesnt filter out subdirectories anymore,
+for faster performance. Subdirectories don't matter to Lucene. If you need to
+filter out non-index files with some custom usage, you may want to look at
+the IndexFileNames class.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6262">LUCENE-6262</a>: ConstantScoreQuery does not wrap the inner weight anymore when
+scores are not required.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6263">LUCENE-6263</a>: MultiCollector automatically caches scores when several
+collectors need them.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6275">LUCENE-6275</a>: SloppyPhraseScorer now uses the same logic as ConjunctionScorer
+in order to advance doc IDs, which takes advantage of the cost() API.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6290">LUCENE-6290</a>: QueryWrapperFilter propagates approximations and FilteredQuery
+rewrites to a BooleanQuery when the filter is a QueryWrapperFilter in order
+to leverage approximations.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6318">LUCENE-6318</a>: Reduce RAM usage of FieldInfos when there are many fields.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6320">LUCENE-6320</a>: Speed up CheckIndex.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4942">LUCENE-4942</a>: Optimized the encoding of PrefixTreeStrategy indexes for
+non-point data: 33% smaller index, 68% faster indexing, and 44% faster
+searching. YMMV
+<br /><span class="attrib">(David Smiley)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.1.0.api_changes" href="javascript:toggleList('v5.1.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(21)
+    <ol id="v5.1.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6204">LUCENE-6204</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6208">LUCENE-6208</a>: Simplify CompoundFormat: remove files()
+and remove files parameter to write().
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6217">LUCENE-6217</a>: Add IndexWriter.isOpen and getTragicException.
+<br /><span class="attrib">(Simon
+Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6218">LUCENE-6218</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6220">LUCENE-6220</a>: Add Collector.needsScores() and needsScores
+parameter to Query.createWeight().
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4524">LUCENE-4524</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6246">LUCENE-6246</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6256">LUCENE-6256</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6271">LUCENE-6271</a>: Merge DocsEnum and DocsAndPositionsEnum
+into a single PostingsEnum iterator.  TermsEnum.docs() and TermsEnum.docsAndPositions()
+are replaced by TermsEnum.postings().
+<br /><span class="attrib">(Alan Woodward, Simon Willnauer, Robert Muir, Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6222">LUCENE-6222</a>: Removed TermFilter, use a QueryWrapperFilter(TermQuery)
+instead. This will be as efficient now that queries can opt out from
+scoring.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6269">LUCENE-6269</a>: Removed BooleanFilter, use a QueryWrapperFilter(BooleanQuery)
+instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6270">LUCENE-6270</a>: Replaced TermsFilter with TermsQuery, use a
+QueryWrapperFilter(TermsQuery) instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6223">LUCENE-6223</a>: Move BooleanQuery.BooleanWeight to BooleanWeight.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-1518">LUCENE-1518</a>: Make Filter extend Query and return 0 as score.
+<br /><span class="attrib">(Uwe Schindler, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6245">LUCENE-6245</a>: Force Filter subclasses to implement toString API from Query.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6268">LUCENE-6268</a>: Replace FieldValueFilter and DocValuesRangeFilter with equivalent
+queries that support approximations.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6289">LUCENE-6289</a>: Replace DocValuesRangeFilter with DocValuesRangeQuery which
+supports approximations.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6266">LUCENE-6266</a>: Remove unnecessary Directory params from SegmentInfo.toString,
+SegmentInfos.files/toString, and SegmentCommitInfo.toString.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6272">LUCENE-6272</a>: Scorer extends DocSetIdIterator rather than DocsEnum
+<br /><span class="attrib">(Alan
+Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6281">LUCENE-6281</a>: Removed support for slow collations from lucene/sandbox. Better
+performance would be achieved through CollationKeyAnalyzer or
+ICUCollationKeyAnalyzer.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6286">LUCENE-6286</a>: Removed IndexSearcher methods that take a Filter object.
+A BooleanQuery with a filter clause must be used instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6300">LUCENE-6300</a>: PrefixFilter, TermRangeFilter and NumericRangeFilter have been
+removed. Use PrefixQuery, TermRangeQuery and NumericRangeQuery instead.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6303">LUCENE-6303</a>: Replaced FilterCache with QueryCache and CachingWrapperFilter
+with CachingWrapperQuery.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6317">LUCENE-6317</a>: Deprecate DataOutput.writeStringSet and writeStringStringMap.
+Use writeSetOfStrings/Maps instead.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6307">LUCENE-6307</a>: Rename SegmentInfo.getDocCount -&gt; .maxDoc,
+SegmentInfos.totalDocCount -&gt; .totalMaxDoc, MergeInfo.totalDocCount
+<ul class="bulleted-list">
+<li class="bulleted-list">
+&gt; .totalMaxDoc and MergePolicy.OneMerge.totalDocCount -&gt;
+</li>
+</ul>
+.totalMaxDoc
+<br /><span class="attrib">(Adrien Grand, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6367">LUCENE-6367</a>: PrefixQuery now subclasses AutomatonQuery, removing the
+specialized PrefixTermsEnum.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.1.0.other" href="javascript:toggleList('v5.1.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v5.1.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6248">LUCENE-6248</a>: Remove unused odd constants from StandardSyntaxParser.jj
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6193">LUCENE-6193</a>: Collapse identical catch branches in try-catch statements.
+<br /><span class="attrib">(shalin)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6239">LUCENE-6239</a>: Removed RAMUsageEstimator's sun.misc.Unsafe calls.
+<br /><span class="attrib">(Robert Muir, Dawid Weiss, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6292">LUCENE-6292</a>: Seed StringHelper better.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6333">LUCENE-6333</a>: Refactored queries to delegate their equals and hashcode
+impls to the super class.
+<br /><span class="attrib">(Lee Hinman via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6343">LUCENE-6343</a>: DefaultSimilarity javadocs had the wrong float value to
+demonstrate precision of encoded norms
+<br /><span class="attrib">(András Péteri via Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.1.0.changes_in_runtime_behavior" href="javascript:toggleList('v5.1.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v5.1.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6255">LUCENE-6255</a>: PhraseQuery now ignores leading holes and requires that
+positions are positive and added in order.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6298">LUCENE-6298</a>: SimpleQueryParser returns an empty query rather than
+null, if e.g. the terms were all stopwords.
+<br /><span class="attrib">(Lee Hinman via Robert Muir)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v5.0.0" href="javascript:toggleList('v5.0.0')">Release 5.0.0  [2015-02-20]</a></h3>
+<ul id="v5.0.0.list">
+  <li><a id="v5.0.0.new_features" href="javascript:toggleList('v5.0.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(32)
+    <ol id="v5.0.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5945">LUCENE-5945</a>: All file handling converted to NIO.2 apis.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5946">LUCENE-5946</a>: SimpleFSDirectory now uses Files.newByteChannel, for
+portability with custom FileSystemProviders. If you want the old
+non-interruptible behavior of RandomAccessFile, use RAFDirectory
+in the misc/ module.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-3359">SOLR-3359</a>: Added analyzer attribute/property to SynonymFilterFactory.
+<br /><span class="attrib">(Ryo Onodera via Koji Sekiguchi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5648">LUCENE-5648</a>: Index and search date ranges, particularly multi-valued ones. It's
+implemented in the spatial module as DateRangePrefixTree used with
+NumberRangePrefixTreeStrategy.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5895">LUCENE-5895</a>: Lucene now stores a unique id per-segment and per-commit to aid
+in accurate replication of index files
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5889">LUCENE-5889</a>: Add commit method to AnalyzingInfixSuggester, and allow just using .add
+to build up the suggester.
+<br /><span class="attrib">(Varun Thacker via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5123">LUCENE-5123</a>: Add a "pull" option to the postings writing API, so
+that a PostingsFormat now receives a Fields instance and it is
+responsible for iterating through all fields, terms, documents and
+positions.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5268">LUCENE-5268</a>: Full cutover of all postings formats to the "pull"
+FieldsConsumer API, removing PushFieldsConsumer.  Added new
+PushPostingsWriterBase for single-pass push of docs/positions to the
+postings format.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5906">LUCENE-5906</a>: Use Files.delete everywhere instead of File.delete, so that
+when things go wrong, you get a real exception message why.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5933">LUCENE-5933</a>: Added FilterSpans for easier wrapping of Spans instance.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5925">LUCENE-5925</a>: Remove fallback logic from opening commits, instead use
+Directory.renameFile so that in-progress commits are never visible.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5820">LUCENE-5820</a>: SuggestStopFilter should have a factory.
+<br /><span class="attrib">(Varun Thacker via Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5949">LUCENE-5949</a>: Add Accountable.getChildResources().
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-5986">SOLR-5986</a>: Added ExitableDirectoryReader that extends FilterDirectoryReader and enables
+exiting requests that take too long to enumerate over terms.
+<br /><span class="attrib">(Anshum Gupta, Steve Rowe,
+Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5911">LUCENE-5911</a>: Add MemoryIndex.freeze() to allow thread-safe searching over a
+MemoryIndex.
+<br /><span class="attrib">(Alan Woodward, David Smiley, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5969">LUCENE-5969</a>: Lucene 5.0 has a new index format with mismatched file detection,
+improved exception handling, and indirect norms encoding for sparse fields.
+<br /><span class="attrib">(Mike McCandless, Ryan Ernst, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6053">LUCENE-6053</a>: Add Serbian analyzer.
+<br /><span class="attrib">(Nikola Smolenski via Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4400">LUCENE-4400</a>: Add support for new NYSIIS Apache commons phonetic
+codec
+<br /><span class="attrib">(Thomas Neidhart via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6059">LUCENE-6059</a>: Add Daitch-Mokotoff Soundex phonetic Apache commons
+phonetic codec, and upgrade to Apache commons codec 1.10.
+<br /><span class="attrib">(Thomas
+Neidhart via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6058">LUCENE-6058</a>: With the upgrade to Apache commons codec 1.10, the
+experimental BeiderMorseFilter has changed its behavior, so any
+index using it will need to be rebuilt.
+<br /><span class="attrib">(Thomas
+Neidhart via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6050">LUCENE-6050</a>: Accept MUST and MUST_NOT (in addition to SHOULD) for
+each context passed to Analyzing/BlendedInfixSuggester
+<br /><span class="attrib">(Arcadius
+Ahouansou, jane chang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5929">LUCENE-5929</a>: Also extract terms to highlight from block join
+queries.
+<br /><span class="attrib">(Julie Tibshirani via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6063">LUCENE-6063</a>: Allow overriding whether/how ConcurrentMergeScheduler
+stalls incoming threads when merges are falling behind
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5833">LUCENE-5833</a>: DocumentDictionary now enumerates each value separately
+in a multi-valued field (not just the first value), so you can build
+suggesters from multi-valued fields.
+<br /><span class="attrib">(Varun Thacker via Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6077">LUCENE-6077</a>: Added a filter cache.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6088">LUCENE-6088</a>: TermsFilter implements Accountable.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6034">LUCENE-6034</a>: The default highlighter when used with QueryScorer will highlight payload-sensitive
+queries provided that term vectors with positions, offsets, and payloads are present. This is the
+only highlighter that can highlight such queries accurately.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5914">LUCENE-5914</a>: Add an option to Lucene50Codec to support either BEST_SPEED
+or BEST_COMPRESSION for stored fields.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6119">LUCENE-6119</a>: Add auto-IO-throttling to ConcurrentMergeScheduler, to
+rate limit IO writes for each merge depending on incoming merge
+rate.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6155">LUCENE-6155</a>: Add payload support to MemoryIndex. The default highlighter's
+QueryScorer and WeighedSpanTermExtractor now have setUsePayloads(bool).
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6166">LUCENE-6166</a>: Deletions (alone) can now trigger new merges.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6177">LUCENE-6177</a>: Add CustomAnalyzer that allows to configure analyzers
+like you do in Solr's index schema. This class has a builder API to configure
+Tokenizers, TokenFilters, and CharFilters based on their SPI names
+and parameters as documented by the corresponding factories.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.optimizations" href="javascript:toggleList('v5.0.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(18)
+    <ol id="v5.0.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5960">LUCENE-5960</a>: Use a more efficient bitset, not a Set&lt;Integer&gt;, to
+track visited states.
+<br /><span class="attrib">(Markus Heiden via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5959">LUCENE-5959</a>: Don't allocate excess memory when building automaton in
+finish.
+<br /><span class="attrib">(Markus Heiden via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5963">LUCENE-5963</a>: Reduce memory allocations in
+AnalyzingSuggester.
+<br /><span class="attrib">(Markus Heiden via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5938">LUCENE-5938</a>: MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE is now faster on
+queries that match few documents by using a sparse bit set implementation.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5969">LUCENE-5969</a>: Refactor merging to be more efficient, checksum calculation is
+per-segment/per-producer, and norms and doc values merging no longer cause
+RAM spikes for latent fields.

[... 11651 lines stripped ...]