This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/lucenenet-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new ce4b441 Updated release notes page for 4.8.0-beta00015
ce4b441 is described below
commit ce4b44129bf4f0d829a559e98380967f476a23d5
Author: Shad Storhaug <[email protected]>
AuthorDate: Thu Oct 28 07:59:48 2021 +0700
Updated release notes page for 4.8.0-beta00015
---
manifest.json | 2 +-
release-notes/version-4.8.0-beta00015.html | 40 +++++++++++++++++++++---------
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/manifest.json b/manifest.json
index 0bdfb68..70ddee8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -388,7 +388,7 @@
"output": {
".html": {
"relative_path": "release-notes/version-4.8.0-beta00015.html",
- "hash": "SX8uzoHSc4GWgJEmsEQ0eLVm3U4Ig3lHIXpknNcECew="
+ "hash": "4Ep3BsF3uAgGQvfbKu23Ut6w7XOixhqzbXKXuVpvCn8="
}
},
"is_incremental": false,
diff --git a/release-notes/version-4.8.0-beta00015.html
b/release-notes/version-4.8.0-beta00015.html
index dab8aa7..a255137 100644
--- a/release-notes/version-4.8.0-beta00015.html
+++ b/release-notes/version-4.8.0-beta00015.html
@@ -76,7 +76,7 @@
</blockquote>
<h2 id="known-issues">Known Issues</h2>
<ul>
-<li><code>Lucene.Net.Index.IndexWriter::Dispose()</code>: Using
<code>Thread.Interrupt()</code> to shutdown background threads in .NET is
problematic because <code>System.Threading.ThreadInterruptedException</code>
could be thrown on any <code>lock</code> statement with contention on it. This
includes <code>lock</code> statements on code that we depend on or custom
components that are engaged during a <code>Commit()</code> (such as a custom
<code>Directory</code> implementation). These e [...]
+<li><code>Lucene.Net.Index.IndexWriter::Dispose()</code>: Using
<code>Thread.Interrupt()</code> to shutdown background threads in .NET is
problematic because <code>System.Threading.ThreadInterruptedException</code>
could be thrown on any <code>lock</code> statement with contention on it. This
includes <code>lock</code> statements on code that we depend on or custom
components that are engaged during a <code>Commit()</code> (such as a custom
<code>Directory</code> implementation). These e [...]
</ul>
<h2 id="change-log">Change Log</h2>
<h3 id="breaking-changes">Breaking Changes</h3>
@@ -88,24 +88,36 @@
<li><a href="https://github.com/apache/lucenenet/pull/479">#479</a> - Moved
<code>Lucene.Net.Join</code> types to <code>Lucene.Net.Search.Join</code>
namespace</li>
<li>Marked public exception constructors that were meant only for testing
internal (affects only .NET Framework)</li>
<li><a href="https://github.com/apache/lucenenet/pull/446">#446</a>, <a
href="https://github.com/apache/lucenenet/pull/476">#476</a> - Redesigned
exception handling to ensure that exception behavior is the same as in Lucene
and so we consistently throw the closest .NET equivalent exception across all
of the projects.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/480">#480</a> - Changed
<code>Cardinality()</code> methods to <code>Cardinality</code> property. Added
obsolete <code>Cardinality()</code> extension methods to the namespace of each
of the pertinent types for backward compatibility.
+<ul>
+<li><code>Lucene.Net.Index.RandomAccessOrds</code></li>
+<li><code>Lucene.Net.Util.FixedBitSet</code></li>
+<li><code>Lucene.Net.Util.Int64BitSet</code></li>
+<li><code>Lucene.Net.Util.OpenBitSet</code></li>
+<li><code>Lucene.Net.Util.PForDeltaDocIdSet</code></li>
+<li><code>Lucene.Net.Util.WAH8DocIdSet</code></li>
+</ul>
+</li>
<li><a href="https://github.com/apache/lucenenet/pull/481">#481</a> -
<code>Lucene.Net.Index.Term</code>: Changed <code>Text()</code> method into
<code>Text</code> property. Added an obsolete <code>Text()</code> extension
method to <code>Lucene.Net.Index</code> namespace for backward
compatibility.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/482">#482</a> -
<code>Lucene.Net.BinaryDocValuesField</code>: Changed <code>fType</code> static
field to <code>TYPE</code> (as it was in Lucene) and added obsolete
<code>fType</code> field for backward compatibility.</li>
<li><a href="https://github.com/apache/lucenenet/pull/483">#483</a> - Changed
all <code>GetFilePointer()</code> methods into properties named
<code>Position</code> to match <code>FileStream</code>. Types affected:
<code>Lucene.Net.Store.IndexInput</code> (and subclasses),
<code>Lucene.Net.Store.IndexOutput</code> (and subclasses). Added obsolete
extension methods for each type in <code>Lucene.Net.Store</code> namespace for
backward compatibility.</li>
-<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.QueryParser</code>: Factored out
<code>NLS</code>/<code>IMessage</code>/<code>Message</code> support and changed
exceptions to use string messages so end users can elect whether to use .NET
localization or not</li>
+<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.QueryParser</code>: Factored out
<code>NLS</code>/<code>IMessage</code>/<code>Message</code> support and changed
exceptions to use string messages so end users can elect whether or not to use
.NET localization, as is possible with any other .NET exception type.</li>
<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.QueryParsers.Flexible.Messages</code>: Removed entire
namespace, as we have refactored to use .NET localization rather than NLS</li>
-<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.Util</code>: Removed <code>BundleResourceManagerFactory</code>
and <code>IResourceManagerFactory</code>, as these were only to support NLS</li>
+<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.Util</code>: Removed <code>BundleResourceManagerFactory</code>
and <code>IResourceManagerFactory</code>, as these were only to support NLS.
The new approach to localizing messages can be achieved by registering
<code>QueryParserMessages.SetResourceProvider(SomeResource.ResourceManager,
SomeOtherResource.ResourceManager)</code> at application startup using any
<code>ResourceManager</code> instance or de [...]
+<li><a href="https://github.com/apache/lucenenet/pull/497">#497</a>, <a
href="https://github.com/apache/lucenenet/pull/507">#507</a> - Factored out
<code>Lucene.Net.Support.Time</code> in favor of <code>J2N.Time</code>.
Replaced all calls (except <code>Lucene.Net.Tests.Search.TestDateFilter</code>)
that were <code>Environment.TickCount</code> and
<code>Time.CurrentTimeMilliseconds()</code> to use <code>Time.NanoTime() /
Time.MillisecondsPerNanosecond</code> for more accurate results. Thi [...]
<li><a href="https://github.com/apache/lucenenet/pull/504">#504</a> -
<code>Lucene.Net.Highlighter.VectorHiglight.ScoreOrderFragmentsBuilder.ScoreComparer</code>:
Implemented singleton pattern so the class can only be used via the
<code>Default</code> property.</li>
-<li><a href="https://github.com/apache/lucenenet/pull/502">#502</a> -
<code>Lucene.Net.QueryParser.Flexible.Core.Nodes.IQueryNode</code>: Added
<code>RemoveChildren()</code> method from Lucene 8.8.1 to fix broken
<code>RemoveFromParent()</code> method behavior (applies patch <a
href="https://issues.apache.org/jira/browse/LUCENE-5805">LUCENE-5805</a>).</li>
+<li><a href="https://github.com/apache/lucenenet/pull/502">#502</a> -
<code>Lucene.Net.QueryParser.Flexible.Core.Nodes.IQueryNode</code>: Added
<code>RemoveChildren()</code> method from Lucene 8.8.1 to fix broken
<code>RemoveFromParent()</code> method behavior (applies patch <a
href="https://issues.apache.org/jira/browse/LUCENE-5805">LUCENE-5805</a>). This
requires existing <code>IQueryNode</code> implementations to implement
<code>RemoveChildren()</code> and <code>TryGetTag()</code>.</li>
<li><a href="https://github.com/apache/lucenenet/pull/502">#502</a> -
<code>Lucene.Net.QueryParser.Flexible.Core.Nodes.IQueryNode</code>: Added
<code>TryGetTag()</code> method to simplify looking up a tag by name.</li>
<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<code>Lucene.Net.Analysis.Stempel.Egothor.Stemmer.MultiTrie</code>: Changed
protected <code>m_tries</code> field from <code>List<Trie></code> to
<code>IList<Trie></code></li>
<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<code>Lucene.Net.Search.BooleanQuery</code>: Changed protected
<code>m_weights</code> field from <code>List<Weight></code> to
<code>IList<Weight></code></li>
-<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<code>Lucene.Net.Search.DisjunctionMaxQuery: Changed protected
</code>m_weights<code>field
from</code>List<weight><code>to</code>IList<weight>`</weight></weight></li>
+<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<code>Lucene.Net.Search.DisjunctionMaxQuery</code>: Changed protected
<code>m_weights</code> field from <code>List<Weight></code> to
<code>IList<Weight></code></li>
</ul>
<h3 id="bugs">Bugs</h3>
<ul>
<li><a href="https://github.com/apache/lucenenet/pull/461">#461</a> -
<code>Lucene.Net.Grouping.GroupingSearch::GroupByFieldOrFunction<TGroupValue>()</code>:
Fixed casting bug of <code>allGroupsCollector.Groups</code> by changing the
cast to <code>ICollection</code> instead of <code>IList</code>.</li>
-<li><a href="https://github.com/apache/lucenenet/pull/453">#453</a>, <a
href="https://github.com/apache/lucenenet/pull/455">#455</a> - lucene-cli: Made
<code>appsettings.json</code> file optional. This was causing a fatal
<code>FileNotFoundException</code> after installing lucene-cli without adding
an `appsettings.json1 file.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/453">#453</a>, <a
href="https://github.com/apache/lucenenet/pull/455">#455</a> - lucene-cli: Made
<code>appsettings.json</code> file optional. This was causing a fatal
<code>FileNotFoundException</code> after installing lucene-cli without adding
an <code>appsettings.json</code> file.</li>
<li><a href="https://github.com/apache/lucenenet/pull/464">#464</a> -
<code>Lucene.Net.Codecs.SimpleText.SimpleTextStoredFieldsWriter</code> +
<code>Lucene.Net.Codecs.SimpleText.SimpleTextTermVectorsWriter</code>: Fixed
<code>Abort()</code> methods to correctly swallow any exceptions thrown by
<code>Dispose()</code> to match the behavior of Lucene 4.8.0.</li>
-<li><a href="https://github.com/apache/lucenenet/pull/394">#394</a>, <a
href="https://github.com/apache/lucenenet/pull/467">#467</a> -
<code>Lucene.Net</code> NuGet does not compile under Visual Studio 2017.
Downgraded from .NET Standard 2.0 to .NET Standard 1.3 to fix.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/394">#394</a>, <a
href="https://github.com/apache/lucenenet/pull/467">#467</a> -
<code>Lucene.Net</code> NuGet does not compile under Visual Studio 2017.
Downgraded <code>Lucene.Net.CodeAnalysis.CSharp</code> and
<code>Lucene.Net.CodeAnalysis.VisualBasic</code> from .NET Standard 2.0 to .NET
Standard 1.3 to fix.</li>
<li><a href="https://github.com/apache/lucenenet/pull/471">#471</a> -
Lucene.Net.Documents.FieldType: Corrected documentation to reflect the actual
default of <code>IsTokenaized</code> as <code>true</code> and
<code>NumericType</code> as <code>NumericType.NONE</code>, and to set to
<code>NumericType.NONE</code> (rather than <code>null</code>) if the field has
no numeric type.</li>
<li><a href="https://github.com/apache/lucenenet/pull/476">#476</a> -
<code>Lucene.Net.Analysis.Common.Util.CharArraySet</code>: Throw
<code>NotSupportedException</code> when the set is readonly, not
<code>InvalidOperationException</code> to match .NET collection behavior</li>
<li><a href="https://github.com/apache/lucenenet/pull/476">#476</a> -
<code>Lucene.Net.Codecs.Bloom.BloomFilteringPostingsFormat::FieldsConsumer()</code>:
Throw <code>NotSupportedException</code> rather than
<code>InvalidOperationException</code></li>
@@ -116,12 +128,13 @@
<li><a href="https://github.com/apache/lucenenet/pull/476">#476</a> -
<code>Lucene.Net.Grouping.BlockGroupingCollector</code>: Throw
<code>NotSupportedException</code> rather than
<code>InvalidOperationException</code></li>
<li><a href="https://github.com/apache/lucenenet/pull/476">#476</a> -
<code>Lucene.Net.Tests.Index.TestUniqueTermCount</code>: Throw
<code>NotSupportedException</code> rather than
<code>InvalidOperationException</code></li>
<li><a href="https://github.com/apache/lucenenet/pull/486">#486</a> - Changed
all references that were <code>float.MinValue</code> and
<code>double.MinValue</code> to <code>float.Epsilon</code> and
<code>double.Epsilon</code> because those are the .NET equivalent constants to
<code>Float.MIN_VALUE</code> and <code>Double.MIN_VALUE</code> in Java</li>
-<li><a href="https://github.com/apache/lucenenet/pull/497">#497</a> - Factored
out <code>Lucene.Net.Support.Time</code> in favor of <code>J2N.Time</code>.
Replaced all calls (except <code>Lucene.Net.Tests.Search.TestDateFilter</code>)
that were <code>Environment.TickCount</code> and
<code>Time.CurrentTimeMilliseconds()</code> to use <code>Time.NanoTime() /
Time.MillisecondsPerNanosecond</code> for more accurate results.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/492">#492</a>, <a
href="https://github.com/apache/lucenenet/pull/497">#497</a> -
<code>Lucene.Net.Search.ControlledRealTimeReopenThread</code> - Fixed time
calculation issue that was causing wait to happen for unusually long time
periods.</li>
<li><code>Lucene.Net.Tests.Search.TestMultiThreadTermVectors</code>: Removed
stray <code>[Test]</code> attribute that was causing extra overhead with no
benefit</li>
<li><a href="https://github.com/apache/lucenenet/pull/509">#509</a> -
<code>Lucene.Net.Support.WeakDictionary</code>: Changed <code>WeakKey</code> to
use <code>WeakReference<T></code> instead of <code>WeakReference</code>
to avoid problems with garbage collection</li>
-<li><a href="https://github.com/apache/lucenenet/pull/506">#506</a> -
<code>Lucene.Net.Index.IndexReader</code>: Use
<code>ConditionalWeakTable<TKey,
TValue></code>/<code>WeakDictionary<TKey, TValue></code> to ensure
dead elements are pruned and garbage collected</li>
+<li><a href="https://github.com/apache/lucenenet/pull/504">#504</a> -
<code>Lucene.Net.Highlighter.VectorHiglight.ScoreOrderFragmentsBuilder.ScoreComparer</code>:
Implemented singleton pattern so the class can only be used via the
<code>Default</code> property.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/506">#506</a>, <a
href="https://github.com/apache/lucenenet/pull/509">#509</a> -
<code>Lucene.Net.Index.IndexReader</code>: Use
<code>ConditionalWeakTable<TKey,
TValue></code>/<code>WeakDictionary<TKey, TValue></code> to ensure
dead elements are pruned and garbage collected</li>
<li><a href="https://github.com/apache/lucenenet/pull/525">#525</a> - Fixed
<code>Lucene.Net.Index.TestIndexWriter::TestThreadInterruptDeadlock()</code>
and
<code>Lucene.Net.Index.TestIndexWriter::TestTwoThreadsInterruptDeadlock()</code>
that were failing due to a difference in .NET <code>Thread.Interrupt()</code>
behavior. In Java, an <code>InterruptedException</code> is never thown from
<code>synchronized (this)</code> (the equivalent of <code>lock (this)</code>),
but .NET may throw <c [...]
-<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<code>Lucene.Net.Tests.Suggest.Suggest.Analyzing.TestFreeTextSuggester::TestRandom()</code>:
<code>LookupResult</code> calculation in the test was using different order of
parentheses than the production code. This bug existed in Java, but apparently
the order makes no difference on that platform. This test was getting a false
positive because it was using <code>List<T>.ToString()</code> to make the
result compar [...]
+<li><code>Lucene.Net.Tests.Suggest.Suggest.Analyzing.TestFreeTextSuggester::TestRandom()</code>:
<code>LookupResult</code> calculation in the test was using different order of
parentheses than the production code. This bug existed in Java, but apparently
the order makes no difference on that platform. This test was getting a false
positive because it was using <code>List<T>.ToString()</code> to make the
result comparison, which J2N's <code>List<T></code> corrects.</li>
<li><a href="https://github.com/apache/lucenenet/pull/529">#529</a> - Fix for
.NET Framework x86 Support. The following tests were fixed by using the <a
href="https://github.com/apache/lucenenet/blob/dd7ed62e9bfc455c9b39ea5d33a783a93280b739/src/Lucene.Net/Util/NumericUtils.cs#L336-L356"><code>Lucene.Net.Util.NumericUtils::SingleToSortableInt32()</code></a>
method to compare the raw bits for equality. This change doesn't impact
performance or behavior of the application as using an approx [...]
<ul>
<li><code>Lucene.Net.Expressions.TestExpressionSorts::TestQueries()</code></li>
@@ -157,14 +170,14 @@
<li><a href="https://github.com/apache/lucenenet/pull/446">#446</a>, <a
href="https://github.com/apache/lucenenet/pull/476">#476</a> - Added
<code>Lucene.Net.Tests.AllProjects</code> project containing tests to confirm
that all exceptions thrown by .NET and NUnit are correctly identified by
<code>ExceptionExtensions</code> methods.</li>
<li><a href="https://github.com/apache/lucenenet/pull/482">#482</a> -
<code>Lucene.Net.Documents.FieldType::Freeze()</code>: Changed from void return
to return this <code>FieldType</code> to allow direct chaining of the method in
field initializers. Chained the <code>Freeze()</code> method in all static
field initializers of <code>Field</code> subclasses to eliminate extra helper
load methods. Marked <code>BinaryDocValuesField.fType</code> static field
obsolete and added <code>TYPE</code [...]
<li><a href="https://github.com/apache/lucenenet/pull/484">#484</a> -
<code>Lucene.Net.QueryParsers.Flexible.Core.Messages</code>: Redesigned
<code>QueryParserMessages.cs</code> so that it is just a facade around a
<code>IResourceProvider</code> implementation that provides the actual fallback
logic. Added a <code>QueryParserResourceProvider</code> implementation that can
be passed zero to many <code>ResourceProvider</code> instances to override and
optionally localize the default resour [...]
-<li><a href="https://github.com/apache/lucenenet/pull/490">#490</a> - Improved
debugger experience for <code>BytesRef</code>. In addition to the decimal bytes
values it now shows the <code>BytesRef</code> as a UTF8 string. If the
<code>BytesRef</code> is not a UTF8 string that representation will just be
gibberish.</li>
+<li><a href="https://github.com/apache/lucenenet/pull/490">#490</a> - Improved
debugger experience for <code>BytesRef</code>. In addition to the decimal bytes
values it now shows the <code>BytesRef</code> as a UTF8 string. If the
<code>BytesRef</code> is not a UTF8 string that representation will be the
string's fingerprint signature.</li>
<li><a href="https://github.com/apache/lucenenet/pull/488">#488</a> -
<code>Lucene.Net.Grouping</code>: Fix SonarQube's "Any() should be used to
test for emptiness" / Code Smell</li>
<li><a href="https://github.com/apache/lucenenet/pull/504">#504</a> -
<code>Lucene.Net.Support</code>: Factored out <code>Number</code> class in
favor of using J2N's parsers and formatters</li>
<li><a href="https://github.com/apache/lucenenet/pull/504">#504</a> -
<code>Lucene.Net.Highlighter</code>: Implemented <code>IFormattable</code> and
added culture-aware <code>ToString()</code> overload to
<code>WeightedPhraseInfo</code> and <code>WeightedFragInfo</code></li>
<li><a href="https://github.com/apache/lucenenet/pull/504">#504</a> -
<strong>PERFORMANCE:</strong> <code>Lucene.Net.Highlighter</code>: Use
<code>RemoveAll()</code> extension method rather than allocating separate
collections to track which enumerated items to remove.</li>
<li><a href="https://github.com/apache/lucenenet/pull/499">#499</a> -
<strong>PERFORMANCE:</strong> Use overloads of J2N
<code>Parse</code>/<code>TryParse</code> that accept offsets rather than
allocating substrings</li>
<li><a href="https://github.com/apache/lucenenet/pull/500">#500</a> -
<strong>PERFORMANCE:</strong> Updated collections to use optimized removal
methods</li>
-<li><a href="https://github.com/apache/lucenenet/pull/501">#501</a> -
<code>Lucene.Net.Support.ListExtensions::SubList()</code>: Factored out in
favor of J2N's <code>List<T>.GetView()</code> method</li>
+<li><a href="https://github.com/apache/lucenenet/pull/501">#501</a> -
<strong>PERFORMANCE:</strong>
<code>Lucene.Net.Support.ListExtensions::SubList()</code>: Factored out in
favor of J2N's <code>List<T>.GetView()</code> method. Many calls to
<code>List<T>.GetRange()</code> were updated to
<code>J2N.Collections.Generic.List<T>.GetView()</code>, which reduces
unnecessary allocations.</li>
<li><a href="https://github.com/apache/lucenenet/pull/503">#503</a> -
<strong>PERFORMANCE:</strong>
<code>Lucene.Net.Util.UnicodeUtil::ToString()</code>: Updated to cascade the
call to <code>J2N.Character.ToString()</code> which has been optimized to use
the stack for small strings.</li>
<li><a href="https://github.com/apache/lucenenet/pull/512">#512</a> - Removed
<code>FEATURE_THREAD_YIELD</code> and <code>FEATURE_THREAD_PRIORITY</code>,
changed all applicable calls from <code>Thread.Sleep(0)</code> back to
<code>Thread.Yield()</code> as they were in Lucene.</li>
<li><a href="https://github.com/apache/lucenenet/pull/523">#523</a> - Removed
several .NET Standard 1.x Features
@@ -182,6 +195,9 @@
</li>
<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> - Changed
all instances of <code>System.Collections.Generic.List<T></code> to
<code>J2N.Collections.Generic.List<T></code>, which is structurally
equatable and structurally formattable.</li>
<li><a href="https://github.com/apache/lucenenet/pull/528">#528</a> -
<strong>PERFORMANCE</strong>: <code>Lucene.Net.Util.ListExtensions</code>:
Added optimized path for <code>J2N.Collections.Generic.List<T></code> in
<code>AddRange()</code> and <code>Sort()</code> extension methods</li>
+<li><a href="https://github.com/apache/lucenenet/pull/530">#530</a> - Upgraded
J2N NuGet package dependency to 2.0.0-beta-0017</li>
+<li><a href="https://github.com/apache/lucenenet/pull/530">#530</a> - Upgraded
ICU4N NuGet package dependency to 60.1.0-alpha.355</li>
+<li><a href="https://github.com/apache/lucenenet/pull/530">#530</a> - Upgraded
Morfologik.Stemming package dependency to 2.1.7-beta-0004</li>
</ul>
<h3 id="new-features">New Features</h3>
<ul>