Skip to content

Releases: NightOwl888/ICU4N

v60.1.0-alpha.350

15 Jul 20:51
Compare
Choose a tag to compare
v60.1.0-alpha.350 Pre-release
Pre-release

Change Log

  1. Fixed bug in build generation of InternalsVisibleTo attributes that was introduced by a breaking change in Visual Studio 2019
  2. BREAKING: Replaced ICU4N.Util.ULocale with a .NETified ICU4N.Globalization.UCultureInfo class that matches the API of System.Globalization.CultureInfo. (Closes #3)

v60.1.0-alpha.300

01 Jun 00:17
Compare
Choose a tag to compare
v60.1.0-alpha.300 Pre-release
Pre-release

Change Log

  1. Added tests for ICU4N.Globalization.UScript.TryGetName and ICU4N.Globalization.UScript.TryGetShortName
  2. Added PackageIconUrl MSBuild property for backward compatibility, since the current build tools do not yet support PackageIcon

v60.1.0-alpha.238

10 Apr 00:49
Compare
Choose a tag to compare
v60.1.0-alpha.238 Pre-release
Pre-release

Change Log

  1. Added .NET Framework 4.0 target
  2. ICU4N: Eliminated unnecessary reference to Microsoft.CSharp
  3. Updated NuGet package icon

v60.1.0-alpha.231

05 Apr 23:13
Compare
Choose a tag to compare
v60.1.0-alpha.231 Pre-release
Pre-release

Change Log

1, Upgraded J2N dependency to version 2.0.0-beta-0007
2. BREAKING: ICU4N.Support.Text.ParsePosition: Factored out and replaced with implementation from J2N
3. Moved MSBuild features to solution-level Directory.Build.targets file to simplify maintenance
4. Moved InternalsVisibleTo attribute generation to solution-level Directory.Build.targets file to simplify maintenance
5. Fixed various build warnings

v60.1.0-alpha.225

13 Mar 18:52
Compare
Choose a tag to compare
v60.1.0-alpha.225 Pre-release
Pre-release

Change Log

  1. Upgraded LangVersion (C# language version) to 8.0

  2. BREAKING: Refactored SoftReference to utilize Microsoft.Extensions.Caching.Memory.MemoryCache to provide a way to use caching policies to evict the data. Reworked CacheBase, CacheValue, ICUResourceBundle, ICUResourceBundleImpl, ICUResourceBundleReader, Norm2AllModes, ResourceBundleWrapper, SoftCache, BreakIterator, NumberingSystem, and ULocale to eliminate unnecessary cache subclasses that have been replaced by a delegate method to create cached data in GetOrCreate() and factored out the D (data) parameter of CacheBase/SoftCache.

  3. Changed LocaleObjectCache to use an LRU cache.

  4. ICU4N.Impl.LocaleDisplayNamesImpl: Changed locking to use ReaderWriterLockSlim rather than a lock object to get better read throughput

  5. ICU4N.Impl.SortedSetRelation: Removed unnecessary memory allocations when using ExceptWith

  6. BUG: ICU4N.Util.UResourceBundle: GetAssembly() must provide each assembly type if it is referenced in the client project, so we use Type.GetType(string) to load a type. If non-null, it means the assembly is referenced and we can return the assembly instance. Lack of options for /coll, /curr, and /tranlit were causing some missing resources, which specifically caused ICU4N.Dev.Test.Collate.CollationAPITest::TestContractions() to fail.

  7. ICU4N.Impl.ResourceBundleWrapper: Changed fallback root to use the baseName to determine which assembly to use as root

  8. BREAKING: ICU4N.Impl.ICUService: Changed return type from SortedDictionary<string, string> to IDictionary<string, string> to decouple from the SortedDictionary<string, string> implementation

  9. ICU4N.Text.RuleBasedBreakIterator::DumpCache(): Fixed string formatting

  10. ICU4N.Text.FilteredBreakIterator, ICU4N.Util.CharsTrieBuilder: Added T4 templates to generate ICharSequence overloads

  11. BREAKING: Changed all IAppendable implementations to conform to .NET semantics. Append(value, startIndex, length) instead of Append(value, startIndex, endIndex).

  12. Made ICharSequence and IAppendable member overloads public

  13. BREAKING: Marked ICU4N.Impl.PluralRulesLoader, ICU4N.Support.Text.ChoiceFormat, ICU4N.Support.Text.FieldPosition, ICU4N.Support.Text.Formatter, ICU4N.Text.MessageFormat, ICU4N.Text.MessagePattern, ICU4N.Text.MessagePatternUtil, ICU4N.Text.NumberFormat, ICU4N.Text.PluralFormat, ICU4N.Text.PluralRanges, ICU4N.Text.SelectFormat, ICU4N.Text.UFormat as internal. We don't want these exposed until they are redesigned to be like .NET formatters.

  14. BREAKING: Removed most obsolete members from the public API (#7)

  15. BREAKING: ICU4N.Support.Collections: Marked all types internal

  16. BREAKING: ICU4N.Support.Globalization: Made CompareInfoComparer internal. Changed namespace of CompareInfoExtensions to ICU4N.Globalization. Renamed CompareInfoExtensions.ToComparer() > CompareInfoExtensions.AsComparer().

  17. BREAKING: ICU4N.Support.Text.AttributedString: Marked internal

  18. BREAKING: ICU4N.Support: Marked AnonymousComparer, IntegerExtensions, and Number classes internal

  19. BREAKING: Marked ICUConfig, ICUDebug, and ICU4N.Support.SystemProperties internal

v60.1.0-alpha.203

12 Feb 18:06
Compare
Choose a tag to compare
v60.1.0-alpha.203 Pre-release
Pre-release

Change Log

1, Upgraded J2N dependency to version 2.0.0-beta-0002
2. BREAKING: ICU4N.Support.AssemblyExtensions: Factored out and replaced with implementation from J2N
3. BREAKING: ICU4N.Support.TypeExtensions: Factored out and replaced with implementation from J2N
4. ICU4N.Collation.Text.RuleBasedCollator: Fixed null reference check to ignore the overridden ==operator in types that implement ICharSequence

v60.1.0-alpha.197

12 Feb 18:13
Compare
Choose a tag to compare
v60.1.0-alpha.197 Pre-release
Pre-release

Change Log

  1. Upgraded J2N dependency to version 2.0.0-beta-0001
  2. Fixed methods that broke during the upgrade:
    • ToAppendable() > AsAppendable() from StringBuilderExtensions
    • ToCharSequence() > AsCharSequence() from StringExtensions, StringBuilderExtensions, and CharArrayExtensions
    • ToUnmodifiableXXX() > AsReadOnly() from ListExtensions, DictionaryExtensions, CollectionExtensions, and SetExtensions

v60.1.0-alpha.193

12 Feb 18:22
Compare
Choose a tag to compare
v60.1.0-alpha.193 Pre-release
Pre-release

Change Log

  1. BREAKING: Added J2N dependency on version 1.0.0-beta-0001, factored out most of the types from ICU4N.Support and migrated to J2N's implementation
  2. BREAKING: ICU4N.Text.BreakIterator::RuleStatus: Reverted type from enum to int, as the values are meant to be ranges rather than absolute values

v60.1.0-alpha.187

18 Oct 15:27
Compare
Choose a tag to compare
v60.1.0-alpha.187 Pre-release
Pre-release

Change Log

  1. Finished UnicodeSet implementation of IsSubsetOf, IsProperSubsetOf, IsProperSupersetOf, and SymmetricExceptWith (including overloads for string, StringBuilder, char[] and ICharSequence) (#6)
  2. Ported StringSearch in Collation package.
  3. Converted Javadocs to C# documentation comments (#8)
  4. Changed public constants, static fields, and enum values to conform with .NET conventions (#11)
  5. De-nested public classes, interfaces, and enums (#14)
  6. Converted some iterator classes to .NET enumerators
  7. Changed public fields into properties
  8. Removed most static constructors and converted to using initializers for static fields

v60.1.0-alpha.52

06 Aug 05:50
Compare
Choose a tag to compare
v60.1.0-alpha.52 Pre-release
Pre-release

Change Log

  1. Fixed string comparison issues with IndexOf, LastIndexOf, StartsWith, EndsWith and CompareTo by calling an overload that changes the comparison to Ordinal.
  2. Added support for .snupkg portable debugging symbols.