lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shad Storhaug <>
Subject RE: [VOTE] Apache Lucene.NET 4.8.0-beta00010
Date Thu, 16 Jul 2020 08:40:41 GMT
Actually, they do but only PMC members and committers have permissions to see them on GitHub.
We will publish them once the vote succeeds, but here they are for your reference.



@NightOwl888 NightOwl888 drafted this 8 hours ago

    This release contains impactful performance enhancements.

Change Log

Breaking Changes

    PERFORMANCE Lucene.Net.Suggest: Narrowed return type of Contexts property from IEnumerable<BytesRef>
to ICollection<BytesRef> to improve performance for certain operations
    Lucene.Net.TestFramework.Util.LuceneTestCase: Refactored to correctly load static fields
and converted them into static properties. The names were changed to match the conventions
of .NET properties.


    Lucene.Net.Support.Collections::ToString(): Fixed overloads to write "null" when the collection
passed is null rather than throw an exception
    #267 - Lucene.Net.Codecs: Fixed testing condition for BaseTermVectorsFormatTestCase on
TermVectorsReaders by throwing InvalidOperationException
    #301 - After upgrading NuGet package dependencies for NUnit to 3.12.0, NUnit3TestAdapter
to 3.16.1, and Microsoft.NET.Test.Sdk to 16.6.1, several false positives were noted due to
invalid try-catch logic in tests


    Added missing documentation table of contents links for lucene-cli, Lucene.Net.Demo, Lucene.Net.Queries,
Lucene.Net.QueryParser, Lucene.Net.Replicator, Lucene.Net.Sandbox, Lucene.Net.Spatial, and
    #261 PERFORMANCE: - Removed all calls to Type.GetTypeInfo() and call properties/methods
on the Type instance directly.
    #261 PERFORMANCE: - Lucene.Net.Util.AttributeSource: Create built-in attributes directly
rather than using Activator.CreateInstance()
    #261 PERFORMANCE: - Lucene.Net.Util.AttributeSource: Optimized creation of string to identify
attribute type based on attribute interface name
    #295 PERFORMANCE: - Lucene.Net.TestFramework: Added overloads of Assert.AreEqual for collections
where J2N's aggressive mode can be switched off
    #295 PERFORMANCE: - Lucene.Net.TestFramework: Replaced overloads from NUnit.Framework.CollectionAssert
with optimized implementations using J2N comparers
    #295 PERFORMANCE: - Lucene.Net.TestFramework: Compile expensive string concatenation out
of the release build by using System.Diagnostics.Debug.Assert
    #295 PERFORMANCE: - Lucene.Net.Util.Automaton: Fixed State class to initialize and trim
more efficiently.
    Fixes the performance of Lucene.Net.Util.Automaton.TestBasicOperations::TestEmptyLanguageConcatenate().
    #295, #261: PERFORMANCE: - Reduced zero length array allocations
    #295, #261: PERFORMANCE: - Reduced zero length collection allocations
    #295, #261: PERFORMANCE: - Lucene.Net.TestFramework.Search.RandomSimilarityProvider::ToString():
Use StringBuilder for better efficiency
    #295, #261: PERFORMANCE: - Lucene.Net.TestFramework.Util.LuceneTestCase: Cache codecType
and similarityName as strings so they don't have to be regenerated for each test
    #295, #261: PERFORMANCE: - Lucene.Net.TestFramework: Use Assert.IsFalse() rather than
    #295, #261: PERFORMANCE: - Reduced calls to LINQ methods and expressions.
    #295, #261: PERFORMANCE: - Lucene.Net.Index.Term: Optimized equality checking
    #295, #261: PERFORMANCE: - Lucene.Net.Util (BytesRef + CharsRef): Implemented IEquatable<T>
    #295, #261: PERFORMANCE: - Lucene.Net.Tests.Index.TestDocumentsWriterDeleteQueue: Updated
comparisons to reduce memory allocations
    #295, #261: PERFORMANCE: - Lucene.Net.TestFramework: Changed ConcurrentMergeSchedulerFactories.Values
to only return the TaskMergeScheduler rarely, since it is no longer a default setting and
is slowing down tests
    #295, #261: PERFORMANCE: - Added some aggressive inlining
    Lucene.Net.TestFramework: Added overloads of Assert.Throws to supply messages
    Lucene.Net.TestFramework: Use the Microsoft.Extensions.Configuration.EnvironmentVariables
provider instead of our custom one.
    Lucene.Net.Analysis.Tokenizer: Allow enabling "asserts" for testing
    azure-pipelines.yml: Changed to use pipeline caching instead of build caching for better
    Lucene.Net.Tests (core) - Rearranged how test projects are split so parallel jobs can
process them faster
    Fixed up leading whitespace to always use spaces instead of tabs
    Updated NuGet package dependency for J2N to 2.0.0-beta-0008
    Lucene.Net.Tests.Analysis.Phonetic.Language.Bm.PhoneticEnginePeformanceTest::Test(): Changed
to use Stopwatch for more accurate timing
    #261 PERFORAMANCE: Changed to use BitSet instead of BitArray so we don't have to resort
to slow extension methods for certain operations
    Lucene.Net.Tests: Changed private/internal member variables to consistently use camelCase
instead of PascalCase
    SWEEP: Changed all properties to use expression style syntax, reordered to put get before
set, and changed all backing field names back to their original without the "_Renamed" suffix
    SWEEP: Removed fully-qualified exceptions and added using directives instead
    PERFORMANCE: Pre-compile and statically cache regular expressions
    PERFORMANCE: Lucene.Net.Analysis: Removed unnecessary allocations caused by calling ToString()
rather than passing the ICharTermAttribute directly
    PERFORMANCE: Lucene.Net.Analysis.Common: Slight optimization of ToUpper and ToLower methods,
which are used in several analyzers
    SWEEP: Removed .NET Standard 1.x/.NET Core 1.x support from all project files
    SWEEP: Removed unused dependencies for .NET Framework
    Lucene.Net.Codecs.SimpleText: Using decimal is 30% faster than using BigInteger for addition
and subtraction
    PERFORMANCE: Applied Slow and Nightly attributes where applicable for better testing performance
    Lucene.Net.TestFramework: Added logging of system properties to the output of tests
    PERFORMANCE: Lucene.Net.Util.ArrayUtil::GetNaturalComparer<T>(): Use statically
cached singleton instance of comparer
    Upgraded NuGet dependency ICU4N to 60.1.0-alpha.351

New Features

    Lucene.Net.TestFramework.RandomExtensions: Added missing overload of NextInt64(long) to
choose only max upper bound
    Added a global Lucene.Net.Diagnostics.Debugging.AssertsEnabled static property that can
be used to toggle "asserts" on and off in the release build, similar to how it works in Java.
The setting can be injected by end users with the "assert" system property (which is a boolean).
    Lucene.Net.TestFramework: Completed implementation of Nightly, Weekly, AwaitsFix and Slow

Shad Storhaug
Project Chairperson - Apache Lucene.NET

-----Original Message-----
From: Fabio Buscaroli <> 
Sent: Thursday, July 16, 2020 3:30 PM
Subject: R: [VOTE] Apache Lucene.NET 4.8.0-beta00010

The release notes page does not exists!

-----Messaggio originale-----
Da: Shad Storhaug <> 
Inviato: giovedì 16 luglio 2020 10:13
Oggetto: [VOTE] Apache Lucene.NET 4.8.0-beta00010

I have posted a new candidate for the Apache Lucene.NET 4.8.0-beta00010 release and it is
ready for testing.

This release contains impactful performance enhancements, so it is definitely worth checking

The binaries can be downloaded from:

The release was made from the Apache Lucene.NET 4.8.0-beta00010 tag at:

The release notes are listed at:

The release was made using the Lucene.NET release process, documented on the website:

Please vote on releasing these packages as Apache Lucene.NET 4.8.0-beta00010. The vote is
open for at least the next 72 hours, i.e. 08:15 UTC on 2020-07-19

Only votes from Lucene.NET PMC are binding, but everyone is welcome to check the release candidate
and vote.
The vote passes if at least three binding +1 votes are cast.

[ ] +1 Release the packages as Apache Lucene.NET 4.8.0-beta00010

[ ] -1 Do not release the packages because...

View raw message