You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by th...@apache.org on 2015/04/09 19:22:09 UTC

svn commit: r8568 [4/21] - in /dev/lucene/lucene-solr-5.1.0-RC2-rev1672403: ./ 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/ luce...

Added: dev/lucene/lucene-solr-5.1.0-RC2-rev1672403/lucene/changes/Changes.html
==============================================================================
--- dev/lucene/lucene-solr-5.1.0-RC2-rev1672403/lucene/changes/Changes.html (added)
+++ dev/lucene/lucene-solr-5.1.0-RC2-rev1672403/lucene/changes/Changes.html Thu Apr  9 17:22:06 2015
@@ -0,0 +1,12185 @@
+<!--
+**********************************************************
+** 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\\\\.1\\\\.0|v5\\\\.0\\\\.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.1.0.list' 
+            && list.id != 'v5.0.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.1.0' || anchor.id == 'v5.0.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.1.0" href="javascript:toggleList('v5.1.0')">Release 5.1.0 </a></h2>
+<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;(10)
+    <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>
+    </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>
+<h2><a id="v5.0.0" href="javascript:toggleList('v5.0.0')">Release 5.0.0  [2015-02-20]</a></h2>
+<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.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5983">LUCENE-5983</a>: CachingWrapperFilter now uses a new DocIdSet implementation
+called RoaringDocIdSet instead of WAH8DocIdSet.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6022">LUCENE-6022</a>: DocValuesDocIdSet checks live docs before doc values.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6030">LUCENE-6030</a>: Add norms patched compression for a small number of common values
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6040">LUCENE-6040</a>: Speed up EliasFanoDocIdSet through broadword bit selection.
+<br /><span class="attrib">(Paul Elschot)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6033">LUCENE-6033</a>: CachingTokenFilter now uses ArrayList not LinkedList, and has new
+isCached() method.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6031">LUCENE-6031</a>: TokenSources (in the default highlighter) converts term vectors into a
+TokenStream much faster in linear time (not N*log(N) using less memory, and with reset()
+implemented.  Only one of offsets or positions are required of the term vector.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6089">LUCENE-6089</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6090">LUCENE-6090</a>: Tune CompressionMode.HIGH_COMPRESSION for
+better compression and less cpu usage.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6034">LUCENE-6034</a>: QueryScorer, used by the default highlighter, needn't re-index the provided
+TokenStream with MemoryIndex when it comes from TokenSources (term vectors) with offsets and
+positions.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5951">LUCENE-5951</a>: ConcurrentMergeScheduler detects whether the index is on SSD or not
+and does a better job defaulting its settings.  This only works on Linux for now;
+other OS's will continue to use the previous defaults (tuned for spinning disks).
+<br /><span class="attrib">(Robert Muir, Uwe Schindler, hossman, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6131">LUCENE-6131</a>: Optimize SortingMergePolicy.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6133">LUCENE-6133</a>: Improve default StoredFieldsWriter.merge() to be more efficient.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6145">LUCENE-6145</a>: Make EarlyTerminatingSortingCollector able to early-terminate
+when the sort order is a prefix of the index-time order.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6178">LUCENE-6178</a>: Score boolean queries containing MUST_NOT clauses with BooleanScorer2,
+to use skip list data and avoid unnecessary scoring.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.api_changes" href="javascript:toggleList('v5.0.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(40)
+    <ol id="v5.0.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5900">LUCENE-5900</a>: Deprecated more constructors taking Version in *InfixSuggester and
+ICUCollationKeyAnalyzer, and removed TEST_VERSION_CURRENT from the test framework.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4535">LUCENE-4535</a>: oal.util.FilterIterator is now an internal API.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4924">LUCENE-4924</a>: DocIdSetIterator.docID() must now return -1 when the iterator is
+not positioned. This change affects all classes that inherit from
+DocIdSetIterator, including DocsEnum and DocsAndPositionsEnum.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5127">LUCENE-5127</a>: Reduce RAM usage of FixedGapTermsIndex. Remove
+IndexWriterConfig.setTermIndexInterval, IndexWriterConfig.setReaderTermsIndexDivisor,
+and termsIndexDivisor from StandardDirectoryReader. These options have been no-ops
+with the default codec since Lucene 4.0. If you want to configure the interval for
+this term index, pass it directly in your codec, where it can also be configured
+per-field.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5388">LUCENE-5388</a>: Remove Reader from Tokenizer's constructor and from
+Analyzer's createComponents. TokenStreams now always get their input
+via setReader.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="https://github.com/apache/lucene-solr/pull/16">pull request #16</a>)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5527">LUCENE-5527</a>: The Collector API has been refactored to use a dedicated Collector
+per leaf.
+<br /><span class="attrib">(Shikhar Bhushan, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5702">LUCENE-5702</a>: The FieldComparator API has been refactor to a per-leaf API, just
+like Collectors.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4246">LUCENE-4246</a>: IndexWriter.close now always closes, even if it throws
+an exception.  The new IndexWriterConfig.setCommitOnClose (default
+true) determines whether close() should commit before closing.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5608">LUCENE-5608</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5565">LUCENE-5565</a>: Refactor SpatialPrefixTree/Cell API. Doesn't use Strings
+as tokens anymore, and now iterates cells on-demand during indexing instead of
+building a collection.  RPT now has more setters.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5666">LUCENE-5666</a>: Change uninverted access (sorting, faceting, grouping, etc)
+to use the DocValues API instead of FieldCache. For FieldCache functionality,
+use UninvertingReader in lucene/misc (or implement your own FilterReader).
+UninvertingReader is more efficient: supports multi-valued numeric fields,
+detects when a multi-valued field is single-valued, reuses caches
+of compatible types (e.g. SORTED also supports BINARY and SORTED_SET access
+without insanity).  "Insanity" is no longer possible unless you explicitly want it.
+Rename FieldCache* and DocTermOrds* classes in the search package to DocValues*.
+Move SortedSetSortField to core and add SortedSetFieldSource to queries/, which
+takes the same selectors. Add helper methods to DocValues.java that are better
+suited for search code (never return null, etc).
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5871">LUCENE-5871</a>: Remove Version from IndexWriterConfig. Use
+IndexWriterConfig.setCommitOnClose to change the behavior of IndexWriter.close().
+The default has been changed to match that of 4.x.
+<br /><span class="attrib">(Ryan Ernst, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5965">LUCENE-5965</a>: CorruptIndexException requires a String or DataInput resource.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5972">LUCENE-5972</a>: IndexFormatTooOldException and IndexFormatTooNewException now
+             extend from IOException.
+<br /><span class="attrib">(Ryan Ernst, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5569">LUCENE-5569</a>: *AtomicReader/AtomicReaderContext have been renamed to *LeafReader/LeafReaderContext.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5938">LUCENE-5938</a>: Removed MultiTermQuery.ConstantScoreAutoRewrite as
+MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE is usually better.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5924">LUCENE-5924</a>: Rename CheckIndex -fix option to -exorcise. This option does not
+actually fix the index, it just drops data.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5969">LUCENE-5969</a>: Add Codec.compoundFormat, which handles the encoding of compound
+files. Add getMergeInstance() to codec producer APIs, which can be overridden
+to return an instance optimized for merging instead of searching. Add
+Terms.getStats() which can return additional codec-specific statistics about a field.
+Change instance method SegmentInfos.read() to two static methods: SegmentInfos.readCommit()
+and SegmentInfos.readLatestCommit().
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5992">LUCENE-5992</a>: Remove FieldInfos from SegmentInfosWriter.write API.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5998">LUCENE-5998</a>: Simplify Field/SegmentInfoFormat to read+write methods.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6000">LUCENE-6000</a>: Removed StandardTokenizerInterface.  Tokenizers now use
+their jflex impl directly.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6006">LUCENE-6006</a>: Removed FieldInfo.normType since it's redundant: it
+will be DocValuesType.NUMERIC if the field indexed and does not omit
+norms, else null.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6013">LUCENE-6013</a>: Removed indexed boolean from IndexableFieldType and
+FieldInfo, since it's redundant with IndexOptions != null.
+<br /><span class="attrib">(Robert
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6021">LUCENE-6021</a>: FixedBitSet.nextSetBit now returns DocIdSetIterator.NO_MORE_DOCS
+instead of -1 when there are no more bits which are set.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5953">LUCENE-5953</a>: Directory and LockFactory APIs were restructured: Locking is
+now under the responsibility of the Directory implementation. LockFactory is
+only used by subclasses of BaseDirectory to delegate locking to an impl
+class. LockFactories are now singletons and are responsible to create a Lock
+instance based on a Directory implementation passed to the factory method.
+See MIGRATE.txt for more details.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6062">LUCENE-6062</a>: Throw exception instead of silently doing nothing if you try to
+sort/group/etc on a misconfigured field (e.g. no docvalues, no UninvertingReader, etc).
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6068">LUCENE-6068</a>: LeafReader.fields() never returns null.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6082">LUCENE-6082</a>: Remove abort() from codec apis.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6084">LUCENE-6084</a>: IndexOutput's constructor now requires a String
+resourceDescription so its toString is sane
+<br /><span class="attrib">(Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6087">LUCENE-6087</a>: Allow passing custom DirectoryReader to SearcherManager
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6085">LUCENE-6085</a>: Undeprecate SegmentInfo attributes, but add safety so they
+won't be trappy if codec tries to use them during docvalues updates.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6097">LUCENE-6097</a>: Remove dangerous / overly expert
+IndexWriter.abortMerges and waitForMerges methods.
+<br /><span class="attrib">(Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6099">LUCENE-6099</a>: Add FilterDirectory.unwrap and
+FilterDirectoryReader.unwrap
+<br /><span class="attrib">(Simon Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6121">LUCENE-6121</a>: CachingTokenFilter.reset() now propagates to its input if called before
+incrementToken().  You must call reset() now on this filter instead of doing it a-priori on the
+input(), which previously didn't work.
+<br /><span class="attrib">(David Smiley, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6147">LUCENE-6147</a>: Make the core Accountables.namedAccountable function public
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6150">LUCENE-6150</a>: Remove staleFiles set and onIndexOutputClosed() from FSDirectory.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6146">LUCENE-6146</a>: Replaced Directory.copy() with Directory.copyFrom().
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6149">LUCENE-6149</a>: Infix suggesters' highlighting and allTermsRequired can
+be set at the constructor for non-contextual lookup.
+<br /><span class="attrib">(Boon Low, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6158">LUCENE-6158</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6165">LUCENE-6165</a>: IndexWriter.addIndexes(IndexReader...) changed to
+addIndexes(CodecReader...)
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6179">LUCENE-6179</a>: Out-of-order scoring is not allowed anymore, so
+Weight.scoresDocsOutOfOrder and LeafCollector.acceptsDocsOutOfOrder have been
+removed and boolean queries now always score in order.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6212">LUCENE-6212</a>: IndexWriter no longer accepts per-document Analyzer to
+add/updateDocument.  These methods were trappy as they made it
+easy to accidentally index tokens that were not easily
+searchable.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.bug_fixes" href="javascript:toggleList('v5.0.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(30)
+    <ol id="v5.0.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5650">LUCENE-5650</a>: Enforce read-only access to any path outside the temporary
+folder via security manager, and make test temp dirs absolute.
+<br /><span class="attrib">(Ryan Ernst, Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5948">LUCENE-5948</a>: RateLimiter now fully inits itself on init.
+<br /><span class="attrib">(Varun
+Thacker via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5981">LUCENE-5981</a>: CheckIndex obtains write.lock, since with some parameters it
+may modify the index, and to prevent false corruption reports, as it does
+not have the regular "spinlock" of DirectoryReader.open. It now implements
+Closeable and you must close it to release the lock.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6004">LUCENE-6004</a>: Don't highlight the LookupResult.key returned from
+AnalyzingInfixSuggester
+<br /><span class="attrib">(Christian Reuschling, jane chang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5980">LUCENE-5980</a>: Don't let document length overflow.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5999">LUCENE-5999</a>: Fix backcompat support for StandardTokenizer
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5961">LUCENE-5961</a>: Fix the exists() method for FunctionValues returned by many ValueSources to
+behave properly when wrapping other ValueSources which do not exist for the specified document
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6039">LUCENE-6039</a>: Add IndexOptions.NONE and DocValuesType.NONE instead of
+using null to mean not index and no doc values, renamed
+IndexOptions.DOCS_ONLY to DOCS, and pulled IndexOptions and
+DocValues out of FieldInfo into their own classes in
+org.apache.lucene.index
+<br /><span class="attrib">(Simon Willnauer, Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6043">LUCENE-6043</a>: Fix backcompat support for UAX29URLEmailTokenizer
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6041">LUCENE-6041</a>: Remove sugar methods FieldInfo.isIndexed and
+FieldInfo.hasDocValues.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6044">LUCENE-6044</a>: Fix backcompat support for token filters with enablePositionIncrements=false.
+Also fixed backcompat for TrimFilter with updateOffsets=true.  These options
+are supported with a match version before 4.4, and no longer valid at all with 5.0.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6042">LUCENE-6042</a>: CustomScoreQuery explain was incorrect in some cases,
+such as when nested inside a boolean query.
+<br /><span class="attrib">(Denis Lantsman via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6046">LUCENE-6046</a>: Add maxDeterminizedStates safety to determinize (which has
+an exponential worst case) so that if it would create too many states, it
+now throws an exception instead of exhausting CPU/RAM.
+<br /><span class="attrib">(Nik
+Everett via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6054">LUCENE-6054</a>: Allow repeating the empty automaton
+<br /><span class="attrib">(Nik Everett via
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6049">LUCENE-6049</a>: Don't throw cryptic exception writing a segment when
+the only docs in it had fields that hit non-aborting exceptions
+during indexing but also had doc values.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6055">LUCENE-6055</a>: PayloadAttribute.clone() now does a deep clone of the underlying
+bytes.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6060">LUCENE-6060</a>: Remove dangerous IndexWriter.unlock method
+<br /><span class="attrib">(Simon
+Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6062">LUCENE-6062</a>: Pass correct fieldinfos to docvalues producer when the
+segment has updates.
+<br /><span class="attrib">(Mike McCandless, Shai Erera, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6075">LUCENE-6075</a>: Don't overflow int in SimpleRateLimiter
+<br /><span class="attrib">(Boaz Leskes
+via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5987">LUCENE-5987</a>: IndexWriter will now forcefully close itself on
+aborting exception (an exception that would otherwise cause silent
+data loss).
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6094">LUCENE-6094</a>: Allow IW.rollback to stop ConcurrentMergeScheduler even
+when it's stalling because there are too many merges.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6105">LUCENE-6105</a>: Don't cache FST root arcs if the number of root arcs is
+small, or if the cache would be &gt; 20% of the size of the FST.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6124">LUCENE-6124</a>: Fix double-close() problems in codec and store APIs.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6152">LUCENE-6152</a>: Fix double close problems in OutputStreamIndexOutput.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6139">LUCENE-6139</a>: Highlighter: TokenGroup start &amp; end offset getters should have
+been returning the offsets of just the matching tokens in the group when
+there's a distinction.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6173">LUCENE-6173</a>: NumericTermAttribute and spatial/CellTokenStream do not clone
+their BytesRef(Builder)s. Also equals/hashCode was missing.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6205">LUCENE-6205</a>: Fixed intermittent concurrency issue that could cause
+FileNotFoundException when writing doc values updates at the same
+time that a merge kicks off.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6192">LUCENE-6192</a>: Fix int overflow corruption case in skip data for
+high frequency terms in extremely large indices
+<br /><span class="attrib">(Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6093">LUCENE-6093</a>: Don't throw NullPointerException from
+BlendedInfixSuggester for lookups that do not end in a prefix
+token.
+<br /><span class="attrib">(jane chang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6214">LUCENE-6214</a>: Fixed IndexWriter deadlock when one thread is
+committing while another opens a near-real-time reader and an
+unrecoverable (tragic) exception is hit.
+<br /><span class="attrib">(Simon Willnauer, Mike
+McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.documentation" href="javascript:toggleList('v5.0.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v5.0.0.documentation.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5392">LUCENE-5392</a>: Add/improve analysis package documentation to reflect
+analysis API changes.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="https://github.com/apache/lucene-solr/pull/17">pull request #17</a>)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6057">LUCENE-6057</a>: Improve Sort(SortField) docs
+<br /><span class="attrib">(Martin Braun via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6112">LUCENE-6112</a>: Fix compile error in FST package example code
+<br /><span class="attrib">(Tomoko Uchida via Koji Sekiguchi)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.tests" href="javascript:toggleList('v5.0.0.tests')">Tests</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v5.0.0.tests.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5957">LUCENE-5957</a>: Add option for tests to not randomize codec
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5974">LUCENE-5974</a>: Add check that backcompat indexes use default codecs
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5971">LUCENE-5971</a>: Create addBackcompatIndexes.py script to build and add
+backcompat test indexes for a given lucene version. Also renamed backcompat
+index files to use Version.toString() in filename.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6002">LUCENE-6002</a>: Monster tests no longer fail.  Most of them now have an 80 hour
+timeout, effectively removing the timeout.  The tests that operate near the 2
+billion limit now use IndexWriter.MAX_DOCS instead of Integer.MAX_VALUE.
+Some of the slow Monster tests now explicitly choose the default codec.
+<br /><span class="attrib">(Mike McCandless, Shawn Heisey)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5968">LUCENE-5968</a>: Improve error message when 'ant beast' is run on top-level
+modules.
+<br /><span class="attrib">(Ramkumar Aiyengar, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6120">LUCENE-6120</a>: Fix MockDirectoryWrapper's close() handling.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.build" href="javascript:toggleList('v5.0.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v5.0.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5909">LUCENE-5909</a>: Smoke tester now has better command line parsing and
+optionally also runs on Java 8.
+<br /><span class="attrib">(Ryan Ernst, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5902">LUCENE-5902</a>: Add bumpVersion.py script to manage version increase after release branch is cut.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5962">LUCENE-5962</a>: Rename diffSources.py to createPatch.py and make it work with all text file types.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5995">LUCENE-5995</a>: Upgrade ICU to 54.1
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6070">LUCENE-6070</a>: Upgrade forbidden-apis to 1.7
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v5.0.0.other" href="javascript:toggleList('v5.0.0.other')">Other</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v5.0.0.other.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5563">LUCENE-5563</a>: Removed sep layout: which has fallen behind on features and doesn't
+perform as well as other options.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4086">LUCENE-4086</a>: Removed support for Lucene 3.x indexes. See migration guide for
+more information.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5858">LUCENE-5858</a>: Moved Lucene 4 compatibility codecs to 'lucene-backward-codecs.jar'.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5915">LUCENE-5915</a>: Remove Pulsing postings format.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6213">LUCENE-6213</a>: Add useful exception message when commit contains segments from legacy codecs.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="older" href="javascript:toggleList('older')">Older Releases</a></h2>
+<ul id="older.list">
+<h3><a id="v4.10.4" href="javascript:toggleList('v4.10.4')">Release 4.10.4  [2015-03-03]</a></h3>
+<ul id="v4.10.4.list">
+  <li><a id="v4.10.4.bug_fixes" href="javascript:toggleList('v4.10.4.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v4.10.4.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6019">LUCENE-6019</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-6117">LUCENE-6117</a>: Remove -Dtests.assert to make IndexWriter
+infoStream sane.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6161">LUCENE-6161</a>: Resolving deletes was failing to reuse DocsEnum likely
+causing substantial performance cost for use cases that frequently
+delete old documents
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6192">LUCENE-6192</a>: Fix int overflow corruption case in skip data for
+high frequency terms in extremely large indices
+<br /><span class="attrib">(Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6207">LUCENE-6207</a>: Fixed consumption of several terms enums on the same
+sorted (set) doc values instance at the same time.
+<br /><span class="attrib">(Tom Shally, Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6093">LUCENE-6093</a>: Don't throw NullPointerException from
+BlendedInfixSuggester for lookups that do not end in a prefix
+token.
+<br /><span class="attrib">(jane chang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6279">LUCENE-6279</a>: Don't let an abusive leftover _N_upgraded.si in the
+index directory cause index corruption on upgrade
+<br /><span class="attrib">(Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6287">LUCENE-6287</a>: Fix concurrency bug in IndexWriter that could cause
+index corruption (missing _N.si files) the first time 4.x kisses a
+3.x index if merges are also running.
+<br /><span class="attrib">(Simon Willnauer, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6205">LUCENE-6205</a>: Fixed intermittent concurrency issue that could cause
+FileNotFoundException when writing doc values updates at the same
+time that a merge kicks off.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6214">LUCENE-6214</a>: Fixed IndexWriter deadlock when one thread is
+committing while another opens a near-real-time reader and an
+unrecoverable (tragic) exception is hit.
+<br /><span class="attrib">(Simon Willnauer, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6105">LUCENE-6105</a>: Don't cache FST root arcs if the number of root arcs is
+small, or if the cache would be &gt; 20% of the size of the FST.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</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-6306">LUCENE-6306</a>: Merging of doc values and norms now checks whether the
+merge was aborted so IndexWriter.rollback can more promptly abort a
+running merge.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.4.api_changes" href="javascript:toggleList('v4.10.4.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.10.4.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6212">LUCENE-6212</a>: Deprecate IndexWriter APIs that accept per-document Analyzer.
+These methods were trappy as they made it easy to accidentally index
+tokens that were not easily searchable and will be removed in 5.0.0.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.10.3" href="javascript:toggleList('v4.10.3')">Release 4.10.3  [2014-12-29]</a></h3>
+<ul id="v4.10.3.list">
+  <li><a id="v4.10.3.bug_fixes" href="javascript:toggleList('v4.10.3.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v4.10.3.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6046">LUCENE-6046</a>: Add maxDeterminizedStates safety to determinize (which has
+an exponential worst case) so that if it would create too many states, it
+now throws an exception instead of exhausting CPU/RAM.
+<br /><span class="attrib">(Nik
+Everett via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6054">LUCENE-6054</a>: Allow repeating the empty automaton
+<br /><span class="attrib">(Nik Everett via
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6049">LUCENE-6049</a>: Don't throw cryptic exception writing a segment when
+the only docs in it had fields that hit non-aborting exceptions
+during indexing but also had doc values.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6060">LUCENE-6060</a>: Deprecate IndexWriter.unlock
+<br /><span class="attrib">(Simon Willnauer, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-3229">LUCENE-3229</a>: Overlapping ordered SpanNearQuery spans should not match.
+<br /><span class="attrib">(Ludovic Boutros, Paul Elschot, Greg Dearing, ehatcher)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6004">LUCENE-6004</a>: Don't highlight the LookupResult.key returned from
+AnalyzingInfixSuggester
+<br /><span class="attrib">(Christian Reuschling, jane chang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6075">LUCENE-6075</a>: Don't overflow int in SimpleRateLimiter
+<br /><span class="attrib">(Boaz Leskes
+via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5980">LUCENE-5980</a>: Don't let document length overflow.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6042">LUCENE-6042</a>: CustomScoreQuery explain was incorrect in some cases,
+such as when nested inside a boolean query.
+<br /><span class="attrib">(Denis Lantsman via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5948">LUCENE-5948</a>: RateLimiter now fully inits itself on init.
+<br /><span class="attrib">(Varun
+Thacker via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6055">LUCENE-6055</a>: PayloadAttribute.clone() now does a deep clone of the underlying
+bytes.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6094">LUCENE-6094</a>: Allow IW.rollback to stop ConcurrentMergeScheduler even
+when it's stalling because there are too many merges.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.3.documentation" href="javascript:toggleList('v4.10.3.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.10.3.documentation.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6057">LUCENE-6057</a>: Improve Sort(SortField) docs
+<br /><span class="attrib">(Martin Braun via Mike McCandless)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.10.2" href="javascript:toggleList('v4.10.2')">Release 4.10.2  [2014-10-29]</a></h3>
+<ul id="v4.10.2.list">
+  <li><a id="v4.10.2.bug_fixes" href="javascript:toggleList('v4.10.2.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.10.2.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5977">LUCENE-5977</a>: Fix tokenstream safety checks in IndexWriter to properly
+work across multi-valued fields. Previously some cases across multi-valued
+fields would happily create a corrupt index.
+<br /><span class="attrib">(Dawid Weiss, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-6019">LUCENE-6019</a>: Detect when DocValuesType illegally changes for the
+same field name.  Also added -Dtests.asserts=true|false so we can
+run tests with and without assertions.
+<br /><span class="attrib">(Simon Willnauer, Robert
+Muir, Mike McCandless)</span>.
+<p/>
+</li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.10.1" href="javascript:toggleList('v4.10.1')">Release 4.10.1  [2014-09-28]</a></h3>
+<ul id="v4.10.1.list">
+  <li><a id="v4.10.1.bug_fixes" href="javascript:toggleList('v4.10.1.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(7)
+    <ol id="v4.10.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5934">LUCENE-5934</a>: Fix backwards compatibility for 4.0 indexes.
+<br /><span class="attrib">(Ian Lea, Uwe Schindler, Robert Muir, Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5939">LUCENE-5939</a>: Regenerate old backcompat indexes to ensure they were built with
+the exact release
+<br /><span class="attrib">(Ryan Ernst, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5952">LUCENE-5952</a>: Improve error messages when version cannot be parsed;
+don't check for too old or too new major version (it's too low level
+to enforce here); use simple string tokenizer.
+<br /><span class="attrib">(Ryan Ernst, Uwe Schindler,
+Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5958">LUCENE-5958</a>: Don't let exceptions during checkpoint corrupt the index.
+Refactor existing OOM handling too, so you don't need to handle OOM special
+for every IndexWriter method: instead such disasters will cause IW to close itself
+defensively.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5904">LUCENE-5904</a>: Fixed a corruption case that can happen when 1)
+IndexWriter is uncleanly shut-down (OS crash, power loss, etc.), 2)
+on startup, when a new IndexWriter is created, a virus checker is
+holding some of the previously written but unused files open and
+preventing deletion, 3) IndexWriter writes these files again during
+the course of indexing, then the files can later be deleted, causing
+corruption.  This case was detected by adding evilness to
+MockDirectoryWrapper to have it simulate a virus checker holding a
+file open and preventing deletion
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5916">LUCENE-5916</a>: Static scope test components should be consistent between
+tests (and test iterations). Fix for FaultyIndexInput in particular.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5975">LUCENE-5975</a>: Fix reading of 3.0-3.3 indexes, where bugs in these old
+index formats would result in CorruptIndexException "did not read all
+bytes from file" when reading the deleted docs file.
+<br /><span class="attrib">(Patrick Mi, Robert MUir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.1.tests" href="javascript:toggleList('v4.10.1.tests')">Tests</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.10.1.tests.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5936">LUCENE-5936</a>: Add backcompat checks to verify what is tested matches known versions
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.10.0" href="javascript:toggleList('v4.10.0')">Release 4.10.0  [2014-09-04]</a></h3>
+<ul id="v4.10.0.list">
+  <li><a id="v4.10.0.new_features" href="javascript:toggleList('v4.10.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v4.10.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5778">LUCENE-5778</a>: Support hunspell morphological description fields/aliases.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5801">LUCENE-5801</a>: Added (back) OrdinalMappingAtomicReader for merging search
+indexes that contain category ordinals from separate taxonomy indexes.
+<br /><span class="attrib">(Nicola Buso via Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4175">LUCENE-4175</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5714">LUCENE-5714</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5779">LUCENE-5779</a>: Index and search rectangles with spatial
+BBoxSpatialStrategy using most predicates.  Sort documents by relative overlap
+of query areas or just by indexed shape area.
+<br /><span class="attrib">(Ryan McKinley, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5806">LUCENE-5806</a>: Extend expressions grammar to support array access in variables.
+Added helper class VariableContext to parse complex variable into pieces.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5826">LUCENE-5826</a>: Support proper hunspell case handling, LANG, KEEPCASE, NEEDAFFIX,
+and ONLYINCOMPOUND flags.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5815">LUCENE-5815</a>: Add TermAutomatonQuery, a proximity query allowing you
+to create an arbitrary automaton, using terms on the transitions,
+expressing which sequence of sequential terms (including a special
+"any" term) are allowed.  This is a generalization of
+MultiPhraseQuery and span queries, and enables "correct" (including
+position) length search-time graph synonyms.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5819">LUCENE-5819</a>: Add OrdsLucene41 block tree terms dict and postings
+format, to include term ordinals in the index so the optional
+TermsEnum.ord() and TermsEnum.seekExact(long ord) APIs work.
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5835">LUCENE-5835</a>: TermValComparator can sort missing values last.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5825">LUCENE-5825</a>: Benchmark module can use custom postings format, e.g.:
+ codec.postingsFormat=Memory
+<br /><span class="attrib">(Varun Shenoy, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5842">LUCENE-5842</a>: When opening large files (where it's too expensive to compare
+checksum against all the bytes), retrieve checksum to validate structure
+of footer, this can detect some forms of corruption such as truncation.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5739">LUCENE-5739</a>: Added DataInput.readZ(Int|Long) and DataOutput.writeZ(Int|Long)
+to read and write small signed integers.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.0.api_changes" href="javascript:toggleList('v4.10.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v4.10.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5752">LUCENE-5752</a>: Simplified Automaton API to be immutable.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5793">LUCENE-5793</a>: Add equals/hashCode to FieldType.
+<br /><span class="attrib">(Shay Banon, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5692">LUCENE-5692</a>: DisjointSpatialFilter is deprecated (used by RecursivePrefixTreeStrategy)
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5771">LUCENE-5771</a>: SpatialOperation's predicate names are now aliased to OGC standard names.
+Thus you can use: Disjoint, Equals, Intersects, Overlaps, Within, Contains, Covers,
+CoveredBy. The area requirement on the predicates was removed, and Overlaps' definition
+was fixed.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5850">LUCENE-5850</a>: Made Version handling more robust and extensible. Deprecated
+Constants.LUCENE_MAIN_VERSION, Constants.LUCENE_VERSION and current Version
+constants of the form LUCENE_X_Y. Added version constants that include bugfix
+number of form LUCENE_X_Y_Z.  Changed Version.LUCENE_CURRENT to Version.LATEST.
+CheckIndex now prints the Lucene version used to write each segment.
+<br /><span class="attrib">(Ryan Ernst, Uwe Schindler, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5836">LUCENE-5836</a>: BytesRef has been splitted into BytesRef, whose intended usage is
+to be just a reference to a section of a larger byte[] and BytesRefBuilder
+which is a StringBuilder-like class for BytesRef instances.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5883">LUCENE-5883</a>: You can now change the MergePolicy instance on a live IndexWriter,
+without first closing and reopening the writer. This allows to e.g. run a special
+merge with UpgradeIndexMergePolicy without reopening the writer. Also, MergePolicy
+no longer implements Closeable; if you need to release your custom MergePolicy's
+resources, you need to implement close() and call it explicitly.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5859">LUCENE-5859</a>: Deprecate Analyzer constructors taking Version.  Use Analyzer.setVersion()
+to set the version an analyzer to replicate behavior from a specific release.
+<br /><span class="attrib">(Ryan Ernst, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.0.optimizations" href="javascript:toggleList('v4.10.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.10.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5780">LUCENE-5780</a>: Make OrdinalMap more memory-efficient, especially in case the
+first segment has all values.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5782">LUCENE-5782</a>: OrdinalMap now sorts enums before being built in order to
+improve compression.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5798">LUCENE-5798</a>: Optimize MultiDocsEnum reuse.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5799">LUCENE-5799</a>: Optimize numeric docvalues merging.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5797">LUCENE-5797</a>: Optimize norms merging
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5803">LUCENE-5803</a>: Add DelegatingAnalyzerWrapper, an optimized variant
+of AnalyzerWrapper that doesn't allow to wrap components or readers.
+This wrapper class is the base class of all analyzers that just delegate
+to another analyzer, e.g. per field name: PerFieldAnalyzerWrapper and
+Solr's schema support.
+<br /><span class="attrib">(Shay Banon, Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5795">LUCENE-5795</a>: MoreLikeThisQuery now only collects the top N terms instead
+of collecting all terms from the like text when building the query.
+<br /><span class="attrib">(Alex Ksikes, Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5681">LUCENE-5681</a>: Fix RAMDirectory's IndexInput to not do double buffering
+on slices (causes useless data copying, especially on random access slices).
+This also improves slices of NRTCachingDirectory, because the cache
+is based on RAMDirectory. BufferedIndexInput.wrap() was marked with a
+warning in javadocs. It is almost always a better idea to implement
+slicing on your own!
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5834">LUCENE-5834</a>: Empty sorted set and numeric doc values are now singletons.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5841">LUCENE-5841</a>: Improve performance of block tree terms dictionary when
+assigning terms to blocks.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5856">LUCENE-5856</a>: Optimize Fixed/Open/LongBitSet to remove unnecessary AND.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5884">LUCENE-5884</a>: Optimize FST.ramBytesUsed.
+<br /><span class="attrib">(Adrien Grand, Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5882">LUCENE-5882</a>: Add Lucene410DocValuesFormat, with faster term lookups
+for SORTED/SORTED_SET fields.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5887">LUCENE-5887</a>: Remove WeakIdentityMap caching in AttributeFactory,
+AttributeSource, and VirtualMethod in favour of Java 7's ClassValue.
+Always use MethodHandles to create AttributeImpl classes.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.10.0.bug_fixes" href="javascript:toggleList('v4.10.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v4.10.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5796">LUCENE-5796</a>: Fixes the Scorer.getChildren() method for two combinations
+of BooleanQuery.
+<br /><span class="attrib">(Terry Smith via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5790">LUCENE-5790</a>: Fix compareTo in MutableValueDouble and MutableValueBool, this caused
+incorrect results when grouping on fields with missing values.
+<br /><span class="attrib">(海老澤 志信, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5817">LUCENE-5817</a>: Fix hunspell zero-affix handling: previously only zero-strips worked
+correctly.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5818">LUCENE-5818</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5823">LUCENE-5823</a>: Fix hunspell overgeneration for short strings that also
+match affixes, words are only stripped to a zero-length string if FULLSTRIP option
+is specified in the dictionary.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5824">LUCENE-5824</a>: Fix hunspell 'long' flag handling.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5838">LUCENE-5838</a>: Fix hunspell when the .aff file has over 64k affixes.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5869">LUCENE-5869</a>: Added restriction to positive values for maxExpansions in
+FuzzyQuery.
+<br /><span class="attrib">(Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5672">LUCENE-5672</a>: IndexWriter.addIndexes() calls maybeMerge(), to ensure the index stays
+healthy. If you don't want merging use NoMergePolicy instead.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5908">LUCENE-5908</a>: Fix Lucene43NGramTokenizer to be final
+<p/>
+</li>
+    </ol>
+  </li>
+  <li><a id="v4.10.0.test_framework" href="javascript:toggleList('v4.10.0.test_framework')">Test Framework</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.10.0.test_framework.list">

[... 10955 lines stripped ...]