You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2019/08/11 15:02:41 UTC

[lucenenet] branch master updated: Updated CHANGES.txt for 4.8.0-beta00006

This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git


The following commit(s) were added to refs/heads/master by this push:
     new efe7903  Updated CHANGES.txt for 4.8.0-beta00006
efe7903 is described below

commit efe7903b142b62386725f8cfb893aeb8d47730b2
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sun Aug 11 21:55:06 2019 +0700

    Updated CHANGES.txt for 4.8.0-beta00006
---
 CHANGES.txt | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 146 insertions(+), 1 deletion(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 97a8536..0a9534a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,149 @@
-=================== Release 4.8.0-beta00005 =====================
+=================== Release 4.8.0-beta00006 =====================
+
+Bug
+•	Lucene.Net.Support.Collections::Equals<T>(): Fixed comparison to include a check whether Count
+	matches.
+•[Pull Request #215] - Lucene.Net.Analysis.Common.Analysis.Core.UpperCaseFilter::UpperCaseFilter():
+	Removed redundant termAtt initialization in UpperCaseFilter constructor
+•[LUCENENET-597] - Lucene.Net.Search.Spans.SpanNearQuery::ToString(): Fixed ordering problem when appending
+	statements to StringBuilder.
+•[Pull Request #224] - GOOD_FAST_HASH_SEED thread safety - avoid static constructor
+•	Intermittent failures of Lucene.Net.Facet.Taxonomy.WriterCache.TestCharBlockArray.TestArray().
+	The test was not setup to with encoders that fallback to '?' for unmapped/invalid characters.
+	Also, the BinaryReader/BinaryWriter was too strict with regard to validating surrogate pairs
+	for this type of serialization, so implemented custom extension methods over Stream that do
+	not use encoding.
+•[LUCENENET-602] - Some platforms fail to load codecs seemingly because their types are discovered 
+	by using reflection. Changed to using hard-coded codec lists rather than reflection to load the
+	internal codec types.
+	regression test to show it is no longer an issue).
+•	Lucene.Net.Tests.Search.TestMultiTermContsantScore: Safely call Dispose by ensuring the 
+	reference variable is not null
+•	Lucene.Net.Tests.Search.BaseTestRangeFilter: Safely call Dispose by ensuring the 
+	reference variable is not null
+•	Lucene.Net.Support.IO.FileSupport::fileCanonPathCache changed to ConcurrentDictionary
+	to make it thread-safe
+•	Lucene.Net.Store.NativeFSLockFactory: Fixed locking/disposal of lock instances to be thread-safe
+•[Pull Request #225] - Changed "Improve this doc" button to point to the GitHub repo
+•	Fixed constructor of Lucene.Net.Support.HashMap to use the passed in comparer rather than 
+	EqualityComparer<TKey>.Default.
+•[LUCENENET-603] - Fixed ConcurrentMergeScheduler and TaskMergeScheduler so they don't throw exceptions
+	on background threads and properly throw exceptions on the calling thread during merge failures.
+•	Lucene.Net.TestFramework: Removed dependency on local file path location of 
+	europarl.lines.txt.gz and embedded the file.
+•	Lucene.Net.Suggest.Suggest.FileDictionary - Fixed conversion of string to number to be
+	culture insensitive (it caused the tests in FileDictionaryTest to fail randomly)
+•	Lucene.Net.Tests.Cli - Fixed issue with xplat root directory specification 
+	(all platforms were trying to set the directory to C:\)
+•	Lucene.Net.Benchmark.ByTask.Utils.Config: Fixed FormatException caused by converting
+	number to string in ambient culture and parsing it back to a number in invariant culture
+•	Lucene.Net.Analysis.Common.Analysis.Util.AbstractAnalysisFactory: Fixed parsing issue 
+	converting string to int in ambient culture
+•	Lucene.Net.Analysis.Common.Analysis.Miscellaneous.TruncateTokenFilterFactory - Fixed
+	issue converting string to sbyte in ambient culture
+•	Lucene.Net.Util.CommandLineUtil.AdjustDirectoryName - IndexOf comparison must be 
+	StringComparison.Ordinal (or in this case, a single char) to be compatible with all
+	cultures/platforms.
+•	Lucene.Net.TestFramework.Util.LuceneTestCase.NewFSDirectory - When resolving a type, 
+	we were expecting an exception if the type does not subclass FSDirectory, however, in .NET this
+	won't happen. We need to explicitly check whether the resolved type is assignable from FSDirectory
+	or if the type name is nonsense.
+•	Lucene.Net.Util.StringHelper: - Fixed parsing issue converting string to int in ambient culture
+•	Lucene.Net.Index.CheckIndex - Fixed issue with converting int to string using ambient context 
+	on VersionInfo comparison
+•	Lucene.Net.Expressions: Corrected casing on app.config to lower (xplat problem)
+•	Lucene.Net.Analysis.SmartCn: Corrected casing of folder paths on bigramdict.mem, coredict.mem, 
+	and package.md (xplat problem)
+•	Lucene.Net.Tests.Support.TestTreeSet: Passing null instead of CultureInfo.InvariantCulture causes
+	the test to randomly fail depending on the culture of the current thread (which is
+	randomly selected by LuceneTestCase).
+•	Lucene.Net.TestFramework.Util.TestUtil.NextLong: The result of the method was always the value of
+	start when start == long.MinValue and end == long.MaxValue. As a result, many tests
+	were not actually random.
+•	Lucene.Net.TestFramework.Index.AlcoholicMergePolicy: The value chosen for Hour was supposed to be
+	random, but it was setup to be a constant by a mistranslation from Java to .NET
+•	Lucene.Net.Tests.Index.TestTransactionRollback: Number was failing due to the fact the data that was
+	being populated wasn't being converted from int to string in invariant culture. Switched back to
+	original logic, using LastIndexOf(char) rather than LastIndexOf(string).
+•	Lucene.Net.Grouping.TopGroups - check collection equality if the generic type is a reference
+	type (as is the default behavior in Java)
+•	SWEEP: Added StringComparison.Ordinal to all of the string.StartsWith() and string.EndsWith()
+	methods where it was missing
+•	Lucene.Net.Tests.QueryParser.Flexible.Precedence.TestPrecedenceQueryParser: Specify short date
+	format by using DateTime.ParseExact instead of DateTime.Parse
+•	Lucene.Net.Support.CultureContext: Fixed minor issue with unused variable
+•	Lucene.Net.TestFramework.JavaCompatibility.SystemTypesHelpers: Overloads of append that take
+	numeric types need to be converted to the invariant culture. Removed the overloads for
+	decimal, double, and float, as those need to be dealt with on a case by case basis.
+•	Lucene.Net.Tests.Analysis.Common.Analysis.Pattern.TestPatternTokenizer.TestSplitting: int.Parse
+	must be setup in the invariant culture to consistently recognize inputs
+•	SWEEP: Ensure all enumerators are disposed of properly (except in some cases where enumerators
+	are set to field variables, see LUCENENET-611)
+•	Lucene.Net.Highlighter.VectorHighlight.FieldQuery: List<T> replacement for LinkedHashSet<T> preserves insertion
+	order, but we need to explicitly check to ensure no duplicate values are added
+•	Lucene.Net.Tests.Search.TestFieldCacheRangeFilter.TestSparseIndex: formatting value must be done in invariant culture
+•	Lucene.Net.Util.StringHelper - Use Time.CurrentTimeMilliseconds() instead of DateTime.Now.Millisecond. The latter is 
+•	a mis-translation from Java which contains only numbers 0 to 999, the former returns a long based on
+	Stopwatch.GetTimestamp() that has several orders of magnitude more possible values.
+•	SWEEP: Ensure all enumerators are disposed of properly (except in some cases where enumerators are set 
+	to field variables, see LUCENENET-611)
+•	Lucene.Net.TestFramework.Codecs.RAMOnly.RAMOnlyPostingsFormat - string comparison must be done using ordinal to match Java
+
+Improvement
+•[Pull Request #206] - Website & API Doc site generator using DocFx script
+•[Pull Request #223] - Website updates - DOAP file and copy changes
+•[LUCENENET-588] - Made lucene-cli into a dotnet tool NuGet package and updated the documentation on how to install and use it
+•	Fixed solution and project files so builds can be done cross-platform (in the IDE or via dotnet build)
+•	Switched to the .snupkg debugy symbols format
+•	Changed build.ps1 script to install and use only version 2.2.300 of the .NET Core SDK to prevent
+	build failures due to version drift
+•[Pull Request #227 & LUCENENET-608] - Added strong naming to Lucene.Net assemblies to comply with Microsoft guidelines
+•	Added missing guard clauses for Lucene.Net.Support.HashMap and Lucene.Net.Support.LinkedHashMap constructors
+•	Upgraded build script to latest dotnet-install.ps1
+•	Changed NuGet dependency from the unofficial SharpZipLib.NETStandard to the official SharpZipLib
+	and upgraded to version 1.1.0 from 0.86.0
+•	Removed hard-coded failure, since we are no longer getting crashes due to background threads 
+	throwing exceptions
+•	SWEEP: Re-evaluated test times and decorated all tests 5 seconds or over with the LongRunningTestAttribute,
+	removing the attribute where it was no longer necessary
+•	SWEEP: Removed the TimeoutAttribute from all tests that are known to run in a short duration
+•	Upgraded test projects to use Microsoft.NET.Test.Sdk version 16.2.0
+•	Upgraded test projects to use NUnit3TestAdapter version 3.13.0
+•	Upgraded test projects to use NUnit version 3.9.0
+•	Lucene.Net.Analysis.Analyzer: Implemented dispose pattern
+•	Lucene.Net.Benchmark.ByTask.Tasks.PerfTask: added IDisposable so the
+	class can be used with a using block (it already had Dispose())
+•	Setup build.ps1 to run tests in parallel using background jobs
+•	build.ps1: Added function to summarize the test results on the console
+•	Removed Version.proj file and moved the version properties into the root Directory.Build.props file
+•	Renamed TestTargetFramework.proj to TestTargetFramework.props (Some editions of VS2019 don't seem 
+	to like the .proj extension)
+•	Lucene.Net.TestFramework: Implemented dispose pattern where applicable
+•	Broke Lucene.Net.Tests project into Lucene.Net.Tests._A-I, Lucene.Net.Tests._J-U, and 
+	Lucene.Net.Tests._U-Z to cut the time it takes to run the tests in the project by about 2/3, running
+	in parallel
+•[Pull Request #216] - Added .NET Standard 2.0 target to projects where it was missing
+•	Lucene.Net.TestFramework.Util.LuceneTestCase: Throw explicit exception if Directory type cannot be resolved
+•	Lucene.Net.Benchmark: Use AssemblyQualifiedName for StandardAnalyzer for better reliability with .NET Reflection
+•	build.ps1: Added option to specify maximum number of parallel jobs to use during testing
+•	Added .vscode/settings.json file to locate tests and ignore docs path in Visual Studio Code
+•	SWEEP: Added StringComparison.Ordinal to all string.Equals() calls, as per 
+	https://docs.microsoft.com/en-us/dotnet/standard/base-types/best-practices-strings#recommendations-for-string-usage
+•	Lucene.Net.TestFramework.Util.LuceneTestCase: Added try catch blocks to write stack traces to the
+	console if exceptions occur during OneTimeSetUp or OneTimeTearDown
+•[LUCENENET-435] SWEEP: CA2200: Rethrow to preserve stack details
+	(https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200-rethrow-to-preserve-stack-details)
+•	Lucene.Net.Support.Search.ReferenceContext: Sealed the class, as none of its
+	members are virtual anyway.
+•	Moved TaskMergeScheduler/TestTaskMergeScheduler to the Support folders
+•	Upgraded NuGet package dependency of Spatial4n to version 0.4.1
+
+New Feature
+•[LUCENENET-566 & LUCENENET-573] - Lucene.Net.ICU: Added all missing functionality and tests (100% passing) and changed the NuGet 
+	package dependency from icu.net to ICU4N.
+•	Created azure-pipelines.yml for Azure DevOps that anybody can use.
+
+=================== Release 4.8.0-beta00005 =====================
 
 Bug
 •	Added [Obsolete] attribute to Lucene.Net.Field extension methods that are only for