You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/06/24 12:42:47 UTC

svn commit: r5658 [4/5] - in /release/lucene/java/4.9.0: ./ changes/

Added: release/lucene/java/4.9.0/changes/Changes.html
==============================================================================
--- release/lucene/java/4.9.0/changes/Changes.html (added)
+++ release/lucene/java/4.9.0/changes/Changes.html Tue Jun 24 10:42:40 2014
@@ -0,0 +1,11077 @@
+<!--
+**********************************************************
+** 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("^(?:v4\\\\.9\\\\.0|v4\\\\.8\\\\.1)");
+    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 != 'v4.9.0.list' 
+            && list.id != 'v4.8.1.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 == 'v4.9.0' || anchor.id == 'v4.8.1') {
+            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="v4.9.0" href="javascript:toggleList('v4.9.0')">Release 4.9.0 </a></h2>
+<ul id="v4.9.0.list">
+  <li><a id="v4.9.0.changes_in_runtime_behavior" href="javascript:toggleList('v4.9.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.9.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5611">LUCENE-5611</a>: Changing the term vector options for multiple field
+instances by the same name in one document is not longer accepted;
+IndexWriter will now throw IllegalArgumentException.
+<br /><span class="attrib">(Robert Muir,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5646">LUCENE-5646</a>: Remove rare/undertested bulk merge algorithm in
+CompressingStoredFieldsWriter.
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.new_features" href="javascript:toggleList('v4.9.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v4.9.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5610">LUCENE-5610</a>: Add Terms.getMin and Terms.getMax to get the lowest and
+highest terms, and NumericUtils.get{Min/Max}{Int/Long} to get the
+minimum numeric values from the provided Terms.
+<br /><span class="attrib">(Robert Muir, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5675">LUCENE-5675</a>: Add IDVersionPostingsFormat, a postings format
+optimized for primary-key (ID) fields that also record a version
+(long) for each ID.
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5680">LUCENE-5680</a>: Add ability to atomically update a set of DocValues
+fields.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5717">LUCENE-5717</a>: Add support for multiterm queries nested inside
+filtered and constant-score queries to postings highlighter.
+<br /><span class="attrib">(Luca Cavanna via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5731">LUCENE-5731</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5760">LUCENE-5760</a>: Add RandomAccessInput, a random access API for directory.
+Add DirectReader/Writer, optimized for reading packed integers directly
+from Directory. Add Lucene49Codec and Lucene49DocValuesFormat that make
+use of these.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5743">LUCENE-5743</a>: Add Lucene49NormsFormat, which can compress in some cases
+such as very short fields.
+<br /><span class="attrib">(Ryan Ernst, Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5748">LUCENE-5748</a>: Add SORTED_NUMERIC docvalues type, which is efficient
+for processing numeric fields with multiple values.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5754">LUCENE-5754</a>: Allow "$" as part of variable and function names in
+expressions module.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.changes_in_backwards_compatibility_policy" href="javascript:toggleList('v4.9.0.changes_in_backwards_compatibility_policy')">Changes in Backwards Compatibility Policy</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v4.9.0.changes_in_backwards_compatibility_policy.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5634">LUCENE-5634</a>: Add reuse argument to IndexableField.tokenStream. This
+can be used by custom fieldtypes, which don't use the Analyzer, but
+implement their own TokenStream.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5640">LUCENE-5640</a>: AttributeSource.AttributeFactory was moved to a
+top-level class: org.apache.lucene.util.AttributeFactory
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4371">LUCENE-4371</a>: Removed IndexInputSlicer and Directory.createSlicer() and replaced
+with IndexInput.slice().
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5727">LUCENE-5727</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5678">LUCENE-5678</a>: Remove IndexOutput.seek, IndexOutput.setLength().
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.api_changes" href="javascript:toggleList('v4.9.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(20)
+    <ol id="v4.9.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5756">LUCENE-5756</a>: IndexWriter now implements Accountable and IW#ramSizeInBytes()
+has been deprecated infavor of IW#ramBytesUsed()
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5725">LUCENE-5725</a>: MoreLikeThis#like now accepts multiple values per field.
+The pre-existing method has been deprecated in favor of a variable arguments
+for the like text.
+<br /><span class="attrib">(Alex Ksikes via Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5711">LUCENE-5711</a>: MergePolicy accepts an IndexWriter instance
+on each method rather than holding state against a single
+IndexWriter instance.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5582">LUCENE-5582</a>: Deprecate IndexOutput.length (just use
+IndexOutput.getFilePointer instead) and IndexOutput.setLength.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5621">LUCENE-5621</a>: Deprecate IndexOutput.flush: this is not used by Lucene.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5611">LUCENE-5611</a>: Simplified Lucene's default indexing chain / APIs.
+AttributeSource/TokenStream.getAttribute now returns null if the
+attribute is not present (previously it threw
+IllegalArgumentException).  StoredFieldsWriter.startDocument no
+longer receives the number of fields that will be added
+<br /><span class="attrib">(Robert
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5632">LUCENE-5632</a>: In preparation for coming Lucene versions, the Version
+enum constants were renamed to make them better readable. The constant
+for Lucene 4.9 is now "LUCENE_4_9". Version.parseLeniently() is still
+able to parse the old strings ("LUCENE_49"). The old identifiers got
+deprecated and will be removed in Lucene 5.0.
+<br /><span class="attrib">(Uwe Schindler,
+Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5633">LUCENE-5633</a>: Change NoMergePolicy to a singleton with no distinction between
+compound and non-compound types.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5640">LUCENE-5640</a>: The Token class was deprecated. Since Lucene 2.9, TokenStreams
+are using Attributes, Token is no longer used.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5679">LUCENE-5679</a>: Consolidated IndexWriter.deleteDocuments(Term) and
+IndexWriter.deleteDocuments(Query) with their varargs counterparts.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5706">LUCENE-5706</a>: Removed the option to unset a DocValues field through DocValues
+updates.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5700">LUCENE-5700</a>: Added oal.util.Accountable that is now implemented by all
+classes whose memory usage can be estimated.
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5708">LUCENE-5708</a>: Remove IndexWriterConfig.clone, so now IndexWriter
+simply uses the IndexWriterConfig you pass it, and you must create a
+new IndexWriterConfig for each IndexWriter.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5701">LUCENE-5701</a>: Core closed listeners are now available in the AtomicReader API,
+they used to sit only in SegmentReader.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5678">LUCENE-5678</a>: IndexOutput no longer allows seeking, so it is no longer required
+to use RandomAccessFile to write Indexes. Lucene now uses standard FileOutputStream
+wrapped with OutputStreamIndexOutput to write index data. BufferedIndexOutput was
+removed, because buffering and checksumming is provided by FilterOutputStreams,
+provided by the JDK.
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5703">LUCENE-5703</a>: BinaryDocValues API changed to work like TermsEnum and not allocate/
+copy bytes on each access, you are responsible for cloning if you want to keep
+data around.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5695">LUCENE-5695</a>: DocIdSet implements Accountable.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5757">LUCENE-5757</a>: Moved RamUsageEstimator's reflection-based processing to RamUsageTester
+in the test-framework module.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5761">LUCENE-5761</a>: Removed DiskDocValuesFormat, it was very inefficient and saved very little
+RAM over the default codec.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5775">LUCENE-5775</a>: Deprecate JaspellLookup.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.optimizations" href="javascript:toggleList('v4.9.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(18)
+    <ol id="v4.9.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5603">LUCENE-5603</a>: hunspell stemmer more efficiently strips prefixes
+and suffixes.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5599">LUCENE-5599</a>: HttpReplicator did not properly delegate bulk read() to wrapped
+InputStream.
+<br /><span class="attrib">(Christoph Kaser via Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5591">LUCENE-5591</a>: pass an IOContext with estimated flush size when applying DV
+updates.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5634">LUCENE-5634</a>: IndexWriter reuses TokenStream instances for String and Numeric
+fields by default.
+<br /><span class="attrib">(Uwe Schindler, Shay Banon, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5638">LUCENE-5638</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5640">LUCENE-5640</a>: TokenStream uses a more performant AttributeFactory
+by default, that packs the core attributes into one implementation
+(PackedTokenAttributeImpl), for faster clearAttributes(), saveState(), and
+restoreState(). In addition, AttributeFactory uses Java 7 MethodHandles for
+instantiating Attribute implementations.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5609">LUCENE-5609</a>: Changed the default NumericField precisionStep from 4
+to 8 (for int/float) and 16 (for long/double), for faster indexing
+time and smaller indices.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5670">LUCENE-5670</a>: Add skip/FinalOutput to FST Outputs.
+<br /><span class="attrib">(Christian
+Ziech via Mike McCandless)</span>.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4236">LUCENE-4236</a>: Optimize BooleanQuery's in-order scoring. This speeds up
+some types of boolean queries.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5694">LUCENE-5694</a>: Don't score() subscorers in DisjunctionSumScorer or
+DisjunctionMaxScorer unless score() is called.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5720">LUCENE-5720</a>: Optimize DirectPackedReader's decompression.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5722">LUCENE-5722</a>: Optimize ByteBufferIndexInput#seek() by specializing
+implementations. This improves random access as used by docvalues codecs
+if used with MMapDirectory.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5730">LUCENE-5730</a>: FSDirectory.open returns MMapDirectory for 64-bit operating
+systems, not just Linux and Windows.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5703">LUCENE-5703</a>: BinaryDocValues producers don't allocate or copy bytes on
+each access anymore.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5721">LUCENE-5721</a>: Monotonic compression doesn't use zig-zag encoding anymore.
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5750">LUCENE-5750</a>: Speed up monotonic addressing for BINARY and SORTED_SET
+docvalues.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5751">LUCENE-5751</a>: Speed up MemoryDocValues.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5767">LUCENE-5767</a>: OrdinalMap optimizations, that mostly help on low cardinalities.
+<br /><span class="attrib">(Martijn van Groningen, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5769">LUCENE-5769</a>: SingletonSortedSetDocValues now supports random access ordinals.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.bug_fixes" href="javascript:toggleList('v4.9.0.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v4.9.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5738">LUCENE-5738</a>: Ensure NativeFSLock prevents opening the file channel for the
+lock if the lock is already obtained by the JVM. Trying to obtain an already
+obtained lock in the same JVM can unlock the file might allow other processes
+to lock the file even without explicitly unlocking the FileLock. This behavior
+is operating system dependent.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5673">LUCENE-5673</a>: MMapDirectory: Work around a "bug" in the JDK that throws
+a confusing OutOfMemoryError wrapped inside IOException if the FileChannel
+mapping failed because of lack of virtual address space. The IOException is
+rethrown with more useful information about the problem, omitting the
+incorrect OutOfMemoryError.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5682">LUCENE-5682</a>: NPE in QueryRescorer when Scorer is null
+<br /><span class="attrib">(Joel Bernstein, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5691">LUCENE-5691</a>: DocTermOrds lookupTerm(BytesRef) would return incorrect results
+if the underlying TermsEnum supports ord() and the insertion point would
+be at the end.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5618">LUCENE-5618</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5636">LUCENE-5636</a>: SegmentReader referenced unneeded files following
+doc-values updates. Now doc-values field updates are written in separate file
+per field.
+<br /><span class="attrib">(Shai Erera, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5684">LUCENE-5684</a>: Make best effort to detect invalid usage of Lucene,
+when IndexReader is reopened after all files in its index were
+removed and recreated by the application (the proper way to do
+this is IndexWriter.deleteAll, or opening an IndexWriter with
+OpenMode.CREATE)
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5704">LUCENE-5704</a>: Fix compilation error with Java 8u20.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5710">LUCENE-5710</a>: Include the inner exception as the cause and in the
+exception message when an immense term is hit during indexing
+<br /><span class="attrib">(Lee
+Hinman via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5724">LUCENE-5724</a>: CompoundFileWriter was failing to pass through the
+IOContext in some cases, causing NRTCachingDirectory to cache
+compound files when it shouldn't, then causing OOMEs.
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5747">LUCENE-5747</a>: Project-specific settings for the eclipse development
+environment will prevent automatic code reformatting.
+<br /><span class="attrib">(Shawn Heisey)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5768">LUCENE-5768</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5777">LUCENE-5777</a>: Hunspell condition checks containing character classes
+were buggy.
+<br /><span class="attrib">(Clinton Gormley, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.test_framework" href="javascript:toggleList('v4.9.0.test_framework')">Test Framework</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.9.0.test_framework.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5622">LUCENE-5622</a>: Fail tests if they print over the given limit of bytes to
+System.out or System.err.
+<br /><span class="attrib">(Robert Muir, Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5619">LUCENE-5619</a>: Added backwards compatibility tests to ensure we can update existing
+indexes with doc-values updates.
+<br /><span class="attrib">(Shai Erera, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.9.0.build" href="javascript:toggleList('v4.9.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.9.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5442">LUCENE-5442</a>: The Ant check-lib-versions target now runs Ivy resolution
+transitively, then fails the build when it finds a version conflict: when a
+transitive dependency's version is more recent than the direct dependency's
+version specified in lucene/ivy-versions.properties.  Exceptions are
+specifiable in lucene/ivy-ignore-conflicts.properties.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5715">LUCENE-5715</a>: Upgrade direct dependencies known to be older than transitive
+dependencies: com.sun.jersey.version:1.8-&gt;1.9; com.sun.xml.bind:jaxb-impl:2.2.2-&gt;2.2.3-1;
+commons-beanutils:commons-beanutils:1.7.0-&gt;1.8.3; commons-digester:commons-digester:2.0-&gt;2.1;
+commons-io:commons-io:2.1-&gt;2.3; commons-logging:commons-logging:1.1.1-&gt;1.1.3;
+io.netty:netty:3.6.2.Final-&gt;3.7.0.Final; javax.activation:activation:1.1-&gt;1.1.1;
+javax.mail:mail:1.4.1-&gt;1.4.3; log4j:log4j:1.2.16-&gt;1.2.17; org.apache.avro:avro:1.7.4-&gt;1.7.5;
+org.tukaani:xz:1.2-&gt;1.4; org.xerial.snappy:snappy-java:1.0.4.1-&gt;1.0.5
+<br /><span class="attrib">(Steve Rowe)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="v4.8.1" href="javascript:toggleList('v4.8.1')">Release 4.8.1  [2014-05-20]</a></h2>
+<ul id="v4.8.1.list">
+  <li><a id="v4.8.1.bug_fixes" href="javascript:toggleList('v4.8.1.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(15)
+    <ol id="v4.8.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5639">LUCENE-5639</a>: Fix PositionLengthAttribute implementation in Token class.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5635">LUCENE-5635</a>: IndexWriter didn't properly handle IOException on TokenStream.reset(),
+which could leave the analyzer in an inconsistent state.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5599">LUCENE-5599</a>: HttpReplicator did not properly delegate bulk read() to wrapped
+InputStream.
+<br /><span class="attrib">(Christoph Kaser via Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5600">LUCENE-5600</a>: HttpClientBase did not properly consume a connection if a server
+error occurred.
+<br /><span class="attrib">(Christoph Kaser via Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5628">LUCENE-5628</a>: Change getFiniteStrings to iterative not recursive
+implementation, so that building suggesters on a long suggestion
+doesn't risk overflowing the stack; previously it consumed one Java
+stack frame per character in the expanded suggestion.  If you are building
+a suggester this is a nasty trap. (Robert Muir, Simon Willnauer,
+Mike McCandless).
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5559">LUCENE-5559</a>: Add additional argument validation for CapitalizationFilter
+and CodepointCountFilter.
+<br /><span class="attrib">(Ahmet Arslan via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5641">LUCENE-5641</a>: SimpleRateLimiter would silently rate limit at 8 MB/sec
+even if you asked for higher rates.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5644">LUCENE-5644</a>: IndexWriter clears which threads use which internal
+thread states on flush, so that if an application reduces how many
+threads it uses for indexing, that results in a reduction of how
+many segments are flushed on a full-flush (e.g. to obtain a
+near-real-time reader).
+<br /><span class="attrib">(Simon Willnauer, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5653">LUCENE-5653</a>: JoinUtil with ScoreMode.Avg on a multi-valued field
+with more than 256 values would throw exception.
+<br /><span class="attrib">(Mikhail Khludnev via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5654">LUCENE-5654</a>: Fix various close() methods that could suppress
+throwables such as OutOfMemoryError, instead returning scary messages
+that look like index corruption.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5656">LUCENE-5656</a>: Fix rare fd leak in SegmentReader when multiple docvalues
+fields have been updated with IndexWriter.updateXXXDocValue and one
+hits exception.
+<br /><span class="attrib">(Shai Erera, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5660">LUCENE-5660</a>: AnalyzingSuggester.build will now throw IllegalArgumentException if
+you give it a longer suggestion than it can handle
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5662">LUCENE-5662</a>: Add missing checks to Field to prevent IndexWriter.abort
+if a stored value is null.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5668">LUCENE-5668</a>: Fix off-by-one in TieredMergePolicy
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5671">LUCENE-5671</a>: Upgrade ICU version to fix an ICU concurrency problem that
+could cause exceptions when indexing.
+<br /><span class="attrib">(feedly team, Robert Muir)</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.8.0" href="javascript:toggleList('v4.8.0')">Release 4.8.0  [2014-04-28]</a></h3>
+<ul id="v4.8.0.list">
+  <li><a id="v4.8.0.system_requirements" href="javascript:toggleList('v4.8.0.system_requirements')">System Requirements</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.8.0.system_requirements.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4747">LUCENE-4747</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5514">LUCENE-5514</a>: Move to Java 7 as minimum Java version.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.changes_in_runtime_behavior" href="javascript:toggleList('v4.8.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.8.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5472">LUCENE-5472</a>: IndexWriter.addDocument will now throw an IllegalArgumentException
+if a Term to be indexed exceeds IndexWriter.MAX_TERM_LENGTH.  To recreate previous
+behavior of silently ignoring these terms, use LengthFilter in your Analyzer.
+<br /><span class="attrib">(hossman, Mike McCandless, Varun Thacker)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.new_features" href="javascript:toggleList('v4.8.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(24)
+    <ol id="v4.8.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5356">LUCENE-5356</a>: Morfologik filter can accept custom dictionary resources.
+<br /><span class="attrib">(Michal Hlavac, Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5454">LUCENE-5454</a>: Add SortedSetSortField to lucene/sandbox, to allow sorting
+on multi-valued field.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5478">LUCENE-5478</a>: CommonTermsQuery now allows to create custom term queries
+similar to the query parser by overriding a newTermQuery method.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5477">LUCENE-5477</a>: AnalyzingInfixSuggester now supports near-real-time
+additions and updates (to change weight or payload of an existing
+suggestion).
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5482">LUCENE-5482</a>: Improve default TurkishAnalyzer by adding apostrophe
+handling suitable for Turkish.
+<br /><span class="attrib">(Ahmet Arslan via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5479">LUCENE-5479</a>: FacetsConfig subclass can now customize the default
+per-dim facets configuration.
+<br /><span class="attrib">(Rob Audenaerde via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5485">LUCENE-5485</a>: Add circumfix support to HunspellStemFilter.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5224">LUCENE-5224</a>: Add iconv, oconv, and ignore support to HunspellStemFilter.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5493">LUCENE-5493</a>: SortingMergePolicy, and EarlyTerminatingSortingCollector
+support arbitrary Sort specifications.
+<br /><span class="attrib">(Robert Muir, Mike McCandless, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-3758">LUCENE-3758</a>: Allow the ComplexPhraseQueryParser to search order or
+un-order proximity queries.
+<br /><span class="attrib">(Ahmet Arslan via Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5530">LUCENE-5530</a>: ComplexPhraseQueryParser throws ParseException for fielded queries.
+<br /><span class="attrib">(Erick Erickson via Tomas Fernandez Lobbe and Ahmet Arslan)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5513">LUCENE-5513</a>: Add IndexWriter.updateBinaryDocValue which lets
+you update the value of a BinaryDocValuesField without reindexing the
+document(s).
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4072">LUCENE-4072</a>: Add ICUNormalizer2CharFilter, which lets you do unicode normalization
+with offset correction before the tokenizer.
+<br /><span class="attrib">(David Goldfarb, Ippei UKAI via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5476">LUCENE-5476</a>: Add RandomSamplingFacetsCollector for computing facets on a sampled
+set of matching hits, in cases where there are millions of hits.
+<br /><span class="attrib">(Rob Audenaerde, Gilad Barkai, Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4984">LUCENE-4984</a>: Add SegmentingTokenizerBase, abstract class for tokenizers
+that want to do two-pass tokenization such as by sentence and then by word.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5489">LUCENE-5489</a>: Add Rescorer/QueryRescorer, to resort the hits from a
+first pass search using scores from a more costly second pass
+search.
+<br /><span class="attrib">(Simon Willnauer, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5528">LUCENE-5528</a>: Add context to suggesters (InputIterator and Lookup
+classes), and fix AnalyzingInfixSuggester to handle contexts.
+Suggester contexts allow you to filter suggestions.
+<br /><span class="attrib">(Areek Zillur,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5545">LUCENE-5545</a>: Add SortRescorer and Expression.getRescorer, to
+resort the hits from a first pass search using a Sort or an
+Expression.
+<br /><span class="attrib">(Simon Willnauer, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5558">LUCENE-5558</a>: Add TruncateTokenFilter which truncates terms to
+the specified length.
+<br /><span class="attrib">(Ahmet Arslan via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-2446">LUCENE-2446</a>: Added checksums to lucene index files. As of 4.8, the last 8
+bytes of each file contain a zlib-crc32 checksum. Small metadata files are
+verified on load. Larger files can be checked on demand via
+AtomicReader.checkIntegrity. You can configure this to happen automatically
+before merges by enabling IndexWriterConfig.setCheckIntegrityAtMerge.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5580">LUCENE-5580</a>: Checksums are automatically verified on the default stored
+fields format when performing a bulk merge.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5602">LUCENE-5602</a>: Checksums are automatically verified on the default term
+vectors format when performing a bulk merge.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5583">LUCENE-5583</a>: Added DataInput.skipBytes. ChecksumIndexInput can now seek, but
+only forward.
+<br /><span class="attrib">(Adrien Grand, Mike McCandless, Simon Willnauer, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5588">LUCENE-5588</a>: Lucene now calls fsync() on the index directory, ensuring
+that all file metadata is persisted on disk in case of power failure.
+This does not work on all file systems and operating systems, but Linux
+and MacOSX are known to work. On Windows, fsyncing a directory is not
+possible with Java APIs.
+<br /><span class="attrib">(Mike McCandless, Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.api_changes" href="javascript:toggleList('v4.8.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v4.8.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5454">LUCENE-5454</a>: Add RandomAccessOrds, an optional extension of SortedSetDocValues
+that supports random access to the ordinals in a document.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5468">LUCENE-5468</a>: Move offline Sort (from suggest module) to OfflineSort.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5493">LUCENE-5493</a>: SortingMergePolicy and EarlyTerminatingSortingCollector take
+Sort instead of Sorter. BlockJoinSorter is removed, replaced with
+BlockJoinComparatorSource, which can take a Sort for ordering of parents
+and a separate Sort for ordering of children within a block.
+<br /><span class="attrib">(Robert Muir, Mike McCandless, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5516">LUCENE-5516</a>: MergeScheduler#merge() now accepts a MergeTrigger as well as
+a boolean that indicates if a new merge was found in the caller thread before
+the scheduler was called.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5487">LUCENE-5487</a>: Separated bulk scorer (new Weight.bulkScorer method) from
+normal scoring (Weight.scorer) for those queries that can do bulk
+scoring more efficiently, e.g. BooleanQuery in some cases.  This
+also simplified the Weight.scorer API by removing the two confusing
+booleans.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5519">LUCENE-5519</a>: TopNSearcher now allows to retrieve incomplete results if the max
+size of the candidate queue is unknown. The queue can still be bound in order
+to apply pruning while retrieving the top N but will not throw an exception if
+too many results are rejected to guarantee an absolutely correct top N result.
+The TopNSearcher now returns a struct like class that indicates if the result
+is complete in the sense of the top N or not. Consumers of this API should assert
+on the completeness if the bounded queue size is know ahead of time.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4984">LUCENE-4984</a>: Deprecate ThaiWordFilter and smartcn SentenceTokenizer and WordTokenFilter.
+These filters would not work correctly with CharFilters and could not be safely placed
+at an arbitrary position in the analysis chain. Use ThaiTokenizer and HMMChineseTokenizer
+instead.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5543">LUCENE-5543</a>: Remove/deprecate Directory.fileExists
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5573">LUCENE-5573</a>: Move docvalues constants and helper methods to o.a.l.index.DocValues.
+<br /><span class="attrib">(Dawid Weiss, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5604">LUCENE-5604</a>: Switched BytesRef.hashCode to MurmurHash3 (32 bit).
+TermToBytesRefAttribute.fillBytesRef no longer returns the hash
+code.  BytesRefHash now uses MurmurHash3 for its hashing.
+<br /><span class="attrib">(Robert
+Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.optimizations" href="javascript:toggleList('v4.8.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v4.8.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5468">LUCENE-5468</a>: HunspellStemFilter uses 10 to 100x less RAM. It also loads
+all known openoffice dictionaries without error, and supports an additional
+longestOnly option for a less aggressive approach.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4848">LUCENE-4848</a>: Use Java 7 NIO2-FileChannel instead of RandomAccessFile
+for NIOFSDirectory and MMapDirectory. This allows to delete open files
+on Windows if NIOFSDirectory is used, mmapped files are still locked.
+<br /><span class="attrib">(Michael Poindexter, Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5515">LUCENE-5515</a>: Improved TopDocs#merge to create a merged ScoreDoc
+array with length of at most equal to the specified size instead of length
+equal to at most from + size as was before.
+<br /><span class="attrib">(Martijn van Groningen)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5529">LUCENE-5529</a>: Spatial search of non-point indexed shapes should be a little
+faster due to skipping intersection tests on redundant cells.
+<br /><span class="attrib">(David Smiley)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.bug_fixes" href="javascript:toggleList('v4.8.0.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.8.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5483">LUCENE-5483</a>: Fix inaccuracies in HunspellStemFilter. Multi-stage affix-stripping,
+prefix-suffix dependencies, and COMPLEXPREFIXES now work correctly according
+to the hunspell algorithm. Removed recursionCap parameter, as its no longer needed, rules for
+recursive affix application are driven correctly by continuation classes in the affix file.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5497">LUCENE-5497</a>: HunspellStemFilter properly handles escaped terms and affixes without conditions.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5505">LUCENE-5505</a>: HunspellStemFilter ignores BOM markers in dictionaries and handles varying
+types of whitespace in SET/FLAG commands.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5507">LUCENE-5507</a>: Fix HunspellStemFilter loading of dictionaries with large amounts of aliases
+etc before the encoding declaration.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5111">LUCENE-5111</a>: Fix WordDelimiterFilter to return offsets in correct order.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5555">LUCENE-5555</a>: Fix SortedInputIterator to correctly encode/decode contexts in presence of payload
+<br /><span class="attrib">(Areek Zillur)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5559">LUCENE-5559</a>: Add missing argument checks to tokenfilters taking
+numeric arguments.
+<br /><span class="attrib">(Ahmet Arslan via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5568">LUCENE-5568</a>: Benchmark module's "default.codec" option didn't work.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-5983">SOLR-5983</a>: HTMLStripCharFilter is treating CDATA sections incorrectly.
+<br /><span class="attrib">(Dan Funk, Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5615">LUCENE-5615</a>: Validate per-segment delete counts at write time, to
+help catch bugs that might otherwise cause corruption
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5612">LUCENE-5612</a>: NativeFSLockFactory no longer deletes its lock file. This cannot be done
+safely without the risk of deleting someone else's lock file. If you use NativeFSLockFactory,
+you may see write.lock hanging around from time to time: its harmless.
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5624">LUCENE-5624</a>: Ensure NativeFSLockFactory does not leak file handles if it is unable
+to obtain the lock.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5626">LUCENE-5626</a>: Fix bug in SimpleFSLockFactory's obtain() that sometimes throwed
+IOException (ERROR_ACESS_DENIED) on Windows if the lock file was created
+concurrently. This error is now handled the same way like in NativeFSLockFactory
+by returning false.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir, Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5630">LUCENE-5630</a>: Add missing META-INF entry for UpperCaseFilterFactory.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.tests" href="javascript:toggleList('v4.8.0.tests')">Tests</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.8.0.tests.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5630">LUCENE-5630</a>: Fix TestAllAnalyzersHaveFactories to correctly check for existence
+of class and corresponding Map&lt;String,String&gt; ctor.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.test_framework" href="javascript:toggleList('v4.8.0.test_framework')">Test Framework</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v4.8.0.test_framework.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5592">LUCENE-5592</a>: Incorrectly reported uncloseable files.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5577">LUCENE-5577</a>: Temporary folder and file management (and cleanup facilities)
+<br /><span class="attrib">(Mark Miller, Uwe Schindler, Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5567">LUCENE-5567</a>: When a suite fails with zombie threads failure marker and count
+is not propagated properly.
+<br /><span class="attrib">(Dawid Weiss)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5449">LUCENE-5449</a>: Rename _TestUtil and _TestHelper to remove the leading _.
+<p/>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5501">LUCENE-5501</a>: Added random out-of-order collection testing (when the collector
+supports it) to AssertingIndexSearcher.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.build" href="javascript:toggleList('v4.8.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v4.8.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5463">LUCENE-5463</a>: RamUsageEstimator.(human)sizeOf(Object) is now a forbidden API.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5512">LUCENE-5512</a>: Remove redundant typing (use diamond operator) throughout
+the codebase.
+<br /><span class="attrib">(Furkan KAMACI via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5614">LUCENE-5614</a>: Enable building on Java 8 using Apache Ant 1.8.3 or 1.8.4
+by adding a workaround for the Ant bug.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5612">LUCENE-5612</a>: Add a new Ant target in lucene/core to test LockFactory
+implementations: "ant test-lock-factory".
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless,
+Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.8.0.documentation" href="javascript:toggleList('v4.8.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.8.0.documentation.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5534">LUCENE-5534</a>: Add javadocs to GreekStemmer methods.
+<br /><span class="attrib">(Stamatis Pitsios via Robert Muir)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.7.2" href="javascript:toggleList('v4.7.2')">Release 4.7.2  [2014-04-15]</a></h3>
+<ul id="v4.7.2.list">
+  <li><a id="v4.7.2.bug_fixes" href="javascript:toggleList('v4.7.2.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.7.2.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5574">LUCENE-5574</a>: Closing a near-real-time reader no longer attempts to
+delete unreferenced files if the original writer has been closed;
+this could cause index corruption in certain cases where index files
+were directly changed (deleted, overwritten, etc.) in the index
+directory outside of Lucene.
+<br /><span class="attrib">(Simon Willnauer, Shai Erera, Robert
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5570">LUCENE-5570</a>: Don't let FSDirectory.sync() create new zero-byte files, instead throw
+exception if a file is missing.
+<br /><span class="attrib">(Uwe Schindler, Mike McCandless, Robert Muir)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.7.1" href="javascript:toggleList('v4.7.1')">Release 4.7.1  [2014-04-02]</a></h3>
+<ul id="v4.7.1.list">
+  <li><a id="v4.7.1.changes_in_runtime_behavior" href="javascript:toggleList('v4.7.1.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.7.1.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5532">LUCENE-5532</a>: AutomatonQuery.equals is no longer implemented as "accepts same language".
+This was inconsistent with hashCode, and unnecessary for any subclasses in Lucene.
+If you desire this in a custom subclass, minimize the automaton.
+<br /><span class="attrib">(Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.1.bug_fixes" href="javascript:toggleList('v4.7.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.7.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5450">LUCENE-5450</a>: Fix getField() NPE issues with SpanOr/SpanNear when they have an
+empty list of clauses. This can happen for example,  when a wildcard matches
+no terms.
+<br /><span class="attrib">(Tim Allison via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5473">LUCENE-5473</a>: Throw IllegalArgumentException, not
+NullPointerException, if the synonym map is empty when creating
+SynonymFilter
+<br /><span class="attrib">(帅广应 via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5432">LUCENE-5432</a>: EliasFanoDocIdSet: Fix number of index entry bits when the maximum
+entry is a power of 2.
+<br /><span class="attrib">(Paul Elschot via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5466">LUCENE-5466</a>: query is always null in countDocsWithClass() of SimpleNaiveBayesClassifier.
+<br /><span class="attrib">(Koji Sekiguchi)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5502">LUCENE-5502</a>: Fixed TermsFilter.equals that could return true for different
+filters.
+<br /><span class="attrib">(Igor Motov via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5522">LUCENE-5522</a>: FacetsConfig didn't add drill-down terms for association facet
+fields labels.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5520">LUCENE-5520</a>: ToChildBlockJoinQuery would hit
+ArrayIndexOutOfBoundsException if a parent document had no children
+<br /><span class="attrib">(Sally Ang via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5532">LUCENE-5532</a>: AutomatonQuery.hashCode was not thread-safe.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5525">LUCENE-5525</a>: Implement MultiFacets.getAllDims, so you can do sparse
+facets through DrillSideways, for example.
+<br /><span class="attrib">(Jose Peleteiro, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5481">LUCENE-5481</a>: IndexWriter.forceMerge used to run a merge even if there was a
+single segment in the index.
+<br /><span class="attrib">(Adrien Grand, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5538">LUCENE-5538</a>: Fix FastVectorHighlighter bug with index-time synonyms when the
+query is more complex than a single phrase.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5544">LUCENE-5544</a>: Exceptions during IndexWriter.rollback could leak file handles
+and the write lock.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4978">LUCENE-4978</a>: Spatial RecursivePrefixTree queries could result in false-negatives for
+indexed shapes within 1/2 maxDistErr from the edge of the query shape.  This meant
+searching for a point by the same point as a query rarely worked.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5553">LUCENE-5553</a>: IndexReader#ReaderClosedListener is not always invoked when
+IndexReader#close() is called or if refCount is 0. If an exception is
+thrown during interal close or on any of the close listerns some or all
+listerners might be missed. This can cause memory leaks if the core listeners
+are used to clear caches.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.1.build" href="javascript:toggleList('v4.7.1.build')">Build</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.7.1.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5511">LUCENE-5511</a>: "ant precommit" / "ant check-svn-working-copy" now work again
+with any working copy format (thanks to svnkit 1.8.4).
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.7.0" href="javascript:toggleList('v4.7.0')">Release 4.7.0  [2014-02-26]</a></h3>
+<ul id="v4.7.0.list">
+  <li><a id="v4.7.0.new_features" href="javascript:toggleList('v4.7.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(24)
+    <ol id="v4.7.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5336">LUCENE-5336</a>: Add SimpleQueryParser: parser for human-entered queries.
+<br /><span class="attrib">(Jack Conradson via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5337">LUCENE-5337</a>: Add Payload support to FileDictionary (Suggest) and make it more
+configurable
+<br /><span class="attrib">(Areek Zilluer via Erick Erickson)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5329">LUCENE-5329</a>: suggest: DocumentDictionary and
+DocumentExpressionDictionary are now lenient for dirty documents
+(missing the term, weight or payload).
+<br /><span class="attrib">(Areek Zillur via
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5404">LUCENE-5404</a>: Add .getCount method to all suggesters (Lookup); persist count
+metadata on .store(); Dictionary returns InputIterator; Dictionary.getWordIterator
+renamed to .getEntryIterator.
+<br /><span class="attrib">(Areek Zillur)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-1871">SOLR-1871</a>: The RangeMapFloatFunction accepts an arbitrary ValueSource
+as target and default values.
+<br /><span class="attrib">(Chris Harris, shalin)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5371">LUCENE-5371</a>: Speed up Lucene range faceting from O(N) per hit to
+O(log(N)) per hit using segment trees; this only really starts to
+matter in practice if the number of ranges is over 10 or so.
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5379">LUCENE-5379</a>: Add Analyzer for Kurdish.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5369">LUCENE-5369</a>: Added an UpperCaseFilter to make UPPERCASE tokens.
+<br /><span class="attrib">(ryan)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5345">LUCENE-5345</a>: Add a new BlendedInfixSuggester, which is like
+AnalyzingInfixSuggester but boosts suggestions that matched tokens
+with lower positions.
+<br /><span class="attrib">(Remi Melisson via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5399">LUCENE-5399</a>: When sorting by String (SortField.STRING), you can now
+specify whether missing values should be sorted first (the default),
+using SortField.setMissingValue(SortField.STRING_FIRST), or last,
+using SortField.setMissingValue(SortField.STRING_LAST).
+<br /><span class="attrib">(Rob Muir,
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5099">LUCENE-5099</a>: QueryNode should have the ability to detach from its node
+parent. Added QueryNode.removeFromParent() that allows nodes to be
+detached from its parent node.
+<br /><span class="attrib">(Adriano Crestani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5395">LUCENE-5395</a> <a href="http://issues.apache.org/jira/browse/LUCENE-5451">LUCENE-5451</a>: Upgrade to Spatial4j 0.4.1: Parses WKT (including
+ENVELOPE) with extension "BUFFER"; buffering a point results in a Circle.
+JTS isn't needed for WKT any more but remains required for Polygons. New
+Shapes: ShapeCollection and BufferedLineString. Various other improvements and
+bug fixes too. More info:
+<a href="https://github.com/spatial4j/spatial4j/blob/master/CHANGES.md">https://github.com/spatial4j/spatial4j/blob/master/CHANGES.md</a>
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5415">LUCENE-5415</a>: Add multitermquery (wildcards,prefix,etc) to PostingsHighlighter.
+<br /><span class="attrib">(Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-3069">LUCENE-3069</a>: Add two memory resident dictionaries (FST terms dictionary and
+FSTOrd terms dictionary) to improve primary key lookups. The PostingsBaseFormat
+API is also changed so that term dictionaries get the ability to block
+encode term metadata, and all dictionary implementations can now plug in any
+PostingsBaseFormat.
+<br /><span class="attrib">(Han Jiang, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5353">LUCENE-5353</a>: ShingleFilter's filler token should be configurable.
+<br /><span class="attrib">(Ahmet Arslan, Simon Willnauer, Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5320">LUCENE-5320</a>: Add SearcherTaxonomyManager over search and taxonomy index
+directories (i.e. not only NRT).
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5410">LUCENE-5410</a>: Add fuzzy and near support via '~' operator to SimpleQueryParser.
+<br /><span class="attrib">(Lee Hinman via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5426">LUCENE-5426</a>: Make SortedSetDocValuesReaderState abstract to allow
+custom implementations for Lucene doc values faceting
+<br /><span class="attrib">(John Wang via
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5434">LUCENE-5434</a>: NRT support for file systems that do no have delete on last
+close or cannot delete while referenced semantics.
+<br /><span class="attrib">(Mark Miller, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5418">LUCENE-5418</a>: Drilling down or sideways on a Lucene facet range
+(using Range.getFilter()) is now faster for costly filters (uses
+random access, not iteration); range facet counts now accept a
+fast-match filter to avoid computing the value for documents that
+are out of bounds, e.g. using a bounding box filter with distance
+range faceting.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5440">LUCENE-5440</a>: Add LongBitSet for managing more than 2.1B bits (otherwise use
+FixedBitSet).
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5437">LUCENE-5437</a>: ASCIIFoldingFilter now has an option to preserve the original token
+and emit it on the same position as the folded token only if the actual token was
+folded.
+<br /><span class="attrib">(Simon Willnauer, Nik Everett)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5408">LUCENE-5408</a>: Add spatial SerializedDVStrategy that serializes a binary
+representations of a shape into BinaryDocValues. It supports exact geometry
+relationship calculations.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5457">LUCENE-5457</a>: Add SloppyMath.earthDiameter(double latitude) that returns an
+approximate value of the diameter of the earth at the given latitude.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.build" href="javascript:toggleList('v4.7.0.build')">Build</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v4.7.0.build.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5217">LUCENE-5217</a>,<a href="http://issues.apache.org/jira/browse/LUCENE-5420">LUCENE-5420</a>: Maven config: get dependencies from Ant+Ivy config;
+disable transitive dependency resolution for all depended-on artifacts by
+putting an exclusion for each transitive dependency in the
+&lt;dependencyManagement&gt; section of the grandparent POM.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5322">LUCENE-5322</a>: Clean up / simplify Maven-related Ant targets.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5347">LUCENE-5347</a>: Upgrade forbidden-apis checker to version 1.4.
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4381">LUCENE-4381</a>: Upgrade analysis/icu to 52.1.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5357">LUCENE-5357</a>: Upgrade StandardTokenizer and UAX29URLEmailTokenizer to
+Unicode 6.3; update UAX29URLEmailTokenizer's recognized top level
+domains in URLs and Emails from the IANA Root Zone Database.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5360">LUCENE-5360</a>: Add support for developing in Netbeans IDE.
+<br /><span class="attrib">(Michal Hlavac, Uwe Schindler, Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-5590">SOLR-5590</a>: Upgrade HttpClient/HttpComponents to 4.3.x.
+<br /><span class="attrib">(Karl Wright via Shawn Heisey)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5385">LUCENE-5385</a>: "ant precommit" / "ant check-svn-working-copy" now work
+for SVN 1.8 or GIT checkouts. The ANT target prints a warning instead
+of failing. It also instructs the user, how to run on SVN 1.8 working
+copies.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5383">LUCENE-5383</a>: fix changes2html to link pull requests
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5411">LUCENE-5411</a>: Upgrade to released JFlex 1.5.0; stop requiring
+a locally built JFlex snapshot jar.
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5465">LUCENE-5465</a>: Solr Contrib "map-reduce" breaks Manifest of all other
+JAR files by adding a broken Main-Class attribute.
+<br /><span class="attrib">(Uwe Schindler, Steve Rowe)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.bug_fixes" href="javascript:toggleList('v4.7.0.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v4.7.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5285">LUCENE-5285</a>: Improved highlighting of multi-valued fields with
+FastVectorHighlighter.
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5391">LUCENE-5391</a>: UAX29URLEmailTokenizer should not tokenize no-scheme
+domain-only URLs that are followed by an alphanumeric character.
+<br /><span class="attrib">(Chris Geeringh, Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5405">LUCENE-5405</a>: If an analysis component throws an exception, Lucene
+logs the field name to the info stream to assist in
+diagnosis.
+<br /><span class="attrib">(Benson Margulies)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-5661">SOLR-5661</a>: PriorityQueue now refuses to allocate itself if the
+incoming maxSize is too large
+<br /><span class="attrib">(Raintung Li via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5228">LUCENE-5228</a>: IndexWriter.addIndexes(Directory[]) now acquires a
+write lock in each Directory, to ensure that no open IndexWriter is
+changing the incoming indices.  This also means that you cannot pass
+the same Directory to multiple concurrent addIndexes calls (which is
+anyways unusual).
+<br /><span class="attrib">(Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5415">LUCENE-5415</a>: SpanMultiTermQueryWrapper didn't handle its boost in
+hashcode/equals/tostring/rewrite.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5409">LUCENE-5409</a>: ToParentBlockJoinCollector.getTopGroups would fail to
+return any groups when the joined query required more than one
+rewrite step
+<br /><span class="attrib">(Peng Cheng via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5398">LUCENE-5398</a>: NormValueSource was incorrectly casting the long value
+to byte, before calling Similarity.decodeNormValue.
+<br /><span class="attrib">(Peng Cheng via
+Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5436">LUCENE-5436</a>: RefrenceManager#accquire can result in infinite loop if
+managed resource is abused outside of the RefrenceManager. Decrementing
+the reference without a corresponding incRef() call can cause an infinite
+loop. ReferenceManager now throws IllegalStateException if currently managed
+resources ref count is 0.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5443">LUCENE-5443</a>: Lucene45DocValuesProducer.ramBytesUsed() may throw
+ConcurrentModificationException.
+<br /><span class="attrib">(Shai Erera, Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5444">LUCENE-5444</a>: MemoryIndex did't respect the analyzers offset gap and
+offsets were corrupted if multiple fields with the same name were
+added to the memory index.
+<br /><span class="attrib">(Britta Weber, Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5447">LUCENE-5447</a>: StandardTokenizer should break at consecutive chars matching
+Word_Break = MidLetter, MidNum and/or MidNumLet
+<br /><span class="attrib">(Steve Rowe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5462">LUCENE-5462</a>: RamUsageEstimator.sizeOf(Object) is not used anymore to
+estimate memory usage of segments. This used to make
+SegmentReader.ramBytesUsed very CPU-intensive.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5461">LUCENE-5461</a>: ControlledRealTimeReopenThread would sometimes wait too
+long (up to targetMaxStaleSec) when a searcher is waiting for a
+specific generation, when it should have waited for at most
+targetMinStaleSec.
+<br /><span class="attrib">(Hans Lund via Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.api_changes" href="javascript:toggleList('v4.7.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v4.7.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5339">LUCENE-5339</a>: The facet module was simplified/reworked to make the
+APIs more approachable to new users. Note: when migrating to the new
+API, you must pass the Document that is returned from FacetConfig.build()
+to IndexWriter.addDocument().
+<br /><span class="attrib">(Shai Erera, Gilad Barkai, Rob
+Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5405">LUCENE-5405</a>: Make ShingleAnalzyerWrapper.getWrappedAnalyzer() public final
+<br /><span class="attrib">(gsingers)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5395">LUCENE-5395</a>: The SpatialArgsParser now only reads WKT, no more "lat, lon"
+etc. but it's easy to override the parseShape method if you wish.
+<br /><span class="attrib">(David
+Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5414">LUCENE-5414</a>: DocumentExpressionDictionary was renamed to
+DocumentValueSourceDictionary and all dependencies to the lucene-expression
+module were removed from lucene-suggest. DocumentValueSourceDictionary now
+only accepts a ValueSource instead of a convenience ctor for an expression
+string.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-3069">LUCENE-3069</a>: PostingsWriterBase and PostingsReaderBase are no longer
+responsible for encoding/decoding a block of terms.  Instead, they
+should encode/decode each term to/from a long[] and byte[].
+<br /><span class="attrib">(Han
+Jiang, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5425">LUCENE-5425</a>: FacetsCollector and MatchingDocs use a general DocIdSet,
+allowing for custom implementations to be used when faceting.
+<br /><span class="attrib">(John Wang, Lei Wang, Shai Erera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.optimizations" href="javascript:toggleList('v4.7.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v4.7.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5372">LUCENE-5372</a>: Replace StringBuffer by StringBuilder, where possible.
+<br /><span class="attrib">(Joshua Hartman via Uwe Schindler, Dawid Weiss, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5271">LUCENE-5271</a>: A slightly more accurate SloppyMath distance.
+<br /><span class="attrib">(Gilad Barkai via Ryan Ernst)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5399">LUCENE-5399</a>: Deep paging using IndexSearcher.searchAfter when
+sorting by fields is faster
+<br /><span class="attrib">(Rob Muir, Mike McCandless)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.changes_in_runtime_behavior" href="javascript:toggleList('v4.7.0.changes_in_runtime_behavior')">Changes in Runtime Behavior</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v4.7.0.changes_in_runtime_behavior.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5362">LUCENE-5362</a>: IndexReader and SegmentCoreReaders now throw
+AlreadyClosedException if the refCount in incremented but
+is less that 1.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.7.0.documentation" href="javascript:toggleList('v4.7.0.documentation')">Documentation</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v4.7.0.documentation.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5384">LUCENE-5384</a>: Add some tips for making tokenfilters and tokenizers
+to the analysis package overview.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="https://github.com/apache/lucene-solr/pull/12">pull request #12</a>)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5389">LUCENE-5389</a>: Add more guidance in the analyis documentation
+package overview.
+<br /><span class="attrib">(Benson Margulies via Robert Muir - <a href="https://github.com/apache/lucene-solr/pull/14">pull request #14</a>)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.6.1" href="javascript:toggleList('v4.6.1')">Release 4.6.1  [2014-01-28]</a></h3>
+<ul id="v4.6.1.list">
+  <li><a id="v4.6.1.bug_fixes" href="javascript:toggleList('v4.6.1.bug_fixes')">Bug fixes</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v4.6.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5373">LUCENE-5373</a>: Memory usage of
+[Lucene40/Lucene42/Memory/Direct]DocValuesFormat was over-estimated.
+<br /><span class="attrib">(Shay Banon, Adrien Grand, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5361">LUCENE-5361</a>: Fixed handling of query boosts in FastVectorHighlighter.
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5374">LUCENE-5374</a>: IndexWriter processes internal events after the it
+closed itself internally. This rare condition can happen if an
+IndexWriter has internal changes that were not fully applied yet
+like when index / flush requests happen concurrently to the close or
+rollback call.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5394">LUCENE-5394</a>: Fix TokenSources.getTokenStream to return payloads if
+they were indexed with the term vectors.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5344">LUCENE-5344</a>: Flexible StandardQueryParser behaves differently than
+ClassicQueryParser.
+<br /><span class="attrib">(Adriano Crestani)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5375">LUCENE-5375</a>: ToChildBlockJoinQuery works harder to detect mis-use,
+when the parent query incorrectly returns child documents, and throw
+a clear exception saying so.
+<br /><span class="attrib">(Dr. Oleg Savrasov via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5401">LUCENE-5401</a>: Field.StringTokenStream#end() calls super.end() now,
+preventing wrong term positions for fields that use
+StringTokenStream.
+<br /><span class="attrib">(Michael Busch)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5377">LUCENE-5377</a>: IndexWriter.addIndexes(Directory[]) would cause corruption
+on Lucene 4.6 if any index segments were Lucene 4.0-4.5.
+<br /><span class="attrib">(Littlestar, Mike McCandless, Shai Erera, Robert Muir)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v4.6.0" href="javascript:toggleList('v4.6.0')">Release 4.6.0  [2013-11-24]</a></h3>
+<ul id="v4.6.0.list">
+  <li><a id="v4.6.0.new_features" href="javascript:toggleList('v4.6.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(23)
+    <ol id="v4.6.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-4906">LUCENE-4906</a>: PostingsHighlighter can now render to custom Object,
+for advanced use cases where String is too restrictive
+<br /><span class="attrib">(Luca
+Cavanna, Robert Muir, Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5133">LUCENE-5133</a>: Changed AnalyzingInfixSuggester.highlight to return
+Object instead of String, to allow for advanced use cases where
+String is too restrictive
+<br /><span class="attrib">(Robert Muir, Shai Erera, Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5207">LUCENE-5207</a>, <a href="http://issues.apache.org/jira/browse/LUCENE-5334">LUCENE-5334</a>: Added expressions module for customizing ranking
+with script-like syntax.
+<br /><span class="attrib">(Jack Conradson, Ryan Ernst, Uwe Schindler via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5180">LUCENE-5180</a>: ShingleFilter now creates shingles with trailing holes,
+for example if a StopFilter had removed the last token.
+<br /><span class="attrib">(Mike
+McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5219">LUCENE-5219</a>: Add support to SynonymFilterFactory for custom
+parsers.
+<br /><span class="attrib">(Ryan Ernst via Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5235">LUCENE-5235</a>: Tokenizers now throw an IllegalStateException if the
+consumer does not call reset() before consuming the stream. Previous
+versions throwed NullPointerException or ArrayIndexOutOfBoundsException
+on best effort which was not user-friendly.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5240">LUCENE-5240</a>: Tokenizers now throw an IllegalStateException if the
+consumer neglects to call close() on the previous stream before consuming
+the next one.
+<br /><span class="attrib">(Uwe Schindler, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5214">LUCENE-5214</a>: Add new FreeTextSuggester, to predict the next word
+using a simple ngram language model.  This is useful for the "long
+tail" suggestions, when a primary suggester fails to find a
+suggestion.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5251">LUCENE-5251</a>: New DocumentDictionary allows building suggesters via
+contents of existing field, weight and optionally payload stored
+fields in an index
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5261">LUCENE-5261</a>: Add QueryBuilder, a simple API to build queries from
+the analysis chain directly, or to make it easier to implement
+query parsers.
+<br /><span class="attrib">(Robert Muir, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5270">LUCENE-5270</a>: Add Terms.hasFreqs, to determine whether a given field
+indexed per-doc term frequencies.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5269">LUCENE-5269</a>: Add CodepointCountFilter.
+<br /><span class="attrib">(Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5294">LUCENE-5294</a>: Suggest module: add DocumentExpressionDictionary to
+compute each suggestion's weight using a javascript expression.
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5274">LUCENE-5274</a>: FastVectorHighlighter now supports highlighting against several
+indexed fields.
+<br /><span class="attrib">(Nik Everett via Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5304">LUCENE-5304</a>: SingletonSortedSetDocValues can now return the wrapped
+SortedDocValues
+<br /><span class="attrib">(Robert Muir, Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-2844">LUCENE-2844</a>: The benchmark module can now test the spatial module. See
+spatial.alg
+<br /><span class="attrib">(David Smiley, Liviy Ambrose)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5302">LUCENE-5302</a>: Make StemmerOverrideMap's methods public
+<br /><span class="attrib">(Alan Woodward)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5296">LUCENE-5296</a>: Add DirectDocValuesFormat, which holds all doc values
+in heap as uncompressed java native arrays.
+<br /><span class="attrib">(Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5189">LUCENE-5189</a>: Add IndexWriter.updateNumericDocValues, to update
+numeric DocValues fields of documents, without re-indexing them.
+<br /><span class="attrib">(Shai Erera, Mike McCandless, Robert Muir)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5298">LUCENE-5298</a>: Add SumValueSourceFacetRequest for aggregating facets by
+a ValueSource, such as a NumericDocValuesField or an expression.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5323">LUCENE-5323</a>: Add .sizeInBytes method to all suggesters (Lookup).
+<br /><span class="attrib">(Areek Zillur via Mike McCandless)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5312">LUCENE-5312</a>: Add BlockJoinSorter, a new Sorter implementation that makes sure
+to never split up blocks of documents indexed with IndexWriter.addDocuments.
+<br /><span class="attrib">(Adrien Grand)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5297">LUCENE-5297</a>: Allow to range-facet on any ValueSource, not just
+NumericDocValues fields.
+<br /><span class="attrib">(Shai Erera)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.bug_fixes" href="javascript:toggleList('v4.6.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(5)
+    <ol id="v4.6.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5272">LUCENE-5272</a>: OpenBitSet.ensureCapacity did not modify numBits, causing
+false assertion errors in fastSet.
+<br /><span class="attrib">(Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5303">LUCENE-5303</a>: OrdinalsCache did not use coreCacheKey, resulting in
+over caching across multiple threads.
+<br /><span class="attrib">(Mike McCandless, Shai Erera)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5307">LUCENE-5307</a>: Fix topScorer inconsistency in handling QueryWrapperFilter
+inside ConstantScoreQuery, which now rewrites to a query removing the
+obsolete QueryWrapperFilter.
+<br /><span class="attrib">(Adrien Grand, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5330">LUCENE-5330</a>: IndexWriter didn't process all internal events on
+#getReader(), #close() and #rollback() which causes files to be
+deleted at a later point in time. This could cause short-term disk
+pollution or OOM if in-memory directories are used.
+<br /><span class="attrib">(Simon Willnauer)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5342">LUCENE-5342</a>: Fixed bulk-merge issue in CompressingStoredFieldsFormat which
+created corrupted segments when mixing chunk sizes.
+Lucene41StoredFieldsFormat is not impacted.
+<br /><span class="attrib">(Adrien Grand, Robert Muir)</span></li>
+    </ol>
+  </li>
+  <li><a id="v4.6.0.api_changes" href="javascript:toggleList('v4.6.0.api_changes')">API Changes</a>&nbsp;&nbsp;&nbsp;(9)
+    <ol id="v4.6.0.api_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/LUCENE-5222">LUCENE-5222</a>: Add SortField.needsScores(). Previously it was not possible
+for a custom Sort that makes use of the relevance score to work correctly

[... 9823 lines stripped ...]