Releases: NightOwl888/ICU4N
v60.1.0-alpha.350
Change Log
- Fixed bug in build generation of
InternalsVisibleTo
attributes that was introduced by a breaking change in Visual Studio 2019 - BREAKING: Replaced
ICU4N.Util.ULocale
with a .NETifiedICU4N.Globalization.UCultureInfo
class that matches the API ofSystem.Globalization.CultureInfo
. (Closes #3)
v60.1.0-alpha.300
Change Log
- Added tests for
ICU4N.Globalization.UScript.TryGetName
andICU4N.Globalization.UScript.TryGetShortName
- Added
PackageIconUrl
MSBuild property for backward compatibility, since the current build tools do not yet supportPackageIcon
v60.1.0-alpha.238
Change Log
- Added .NET Framework 4.0 target
ICU4N
: Eliminated unnecessary reference toMicrosoft.CSharp
- Updated NuGet package icon
v60.1.0-alpha.231
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
Change Log
-
Upgraded LangVersion (C# language version) to 8.0
-
BREAKING: Refactored
SoftReference
to utilizeMicrosoft.Extensions.Caching.Memory.MemoryCache
to provide a way to use caching policies to evict the data. ReworkedCacheBase
,CacheValue
,ICUResourceBundle
,ICUResourceBundleImpl
,ICUResourceBundleReader
,Norm2AllModes
,ResourceBundleWrapper
,SoftCache
,BreakIterator
,NumberingSystem
, andULocale
to eliminate unnecessary cache subclasses that have been replaced by a delegate method to create cached data inGetOrCreate()
and factored out theD
(data) parameter ofCacheBase
/SoftCache
. -
Changed
LocaleObjectCache
to use an LRU cache. -
ICU4N.Impl.LocaleDisplayNamesImpl
: Changed locking to useReaderWriterLockSlim
rather than a lock object to get better read throughput -
ICU4N.Impl.SortedSetRelation
: Removed unnecessary memory allocations when usingExceptWith
-
BUG:
ICU4N.Util.UResourceBundle
:GetAssembly()
must provide each assembly type if it is referenced in the client project, so we useType.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 causedICU4N.Dev.Test.Collate.CollationAPITest::TestContractions()
to fail. -
ICU4N.Impl.ResourceBundleWrapper
: Changed fallback root to use thebaseName
to determine which assembly to use as root -
BREAKING:
ICU4N.Impl.ICUService
: Changed return type fromSortedDictionary<string, string>
toIDictionary<string, string>
to decouple from theSortedDictionary<string, string>
implementation -
ICU4N.Text.RuleBasedBreakIterator::DumpCache()
: Fixed string formatting -
ICU4N.Text.FilteredBreakIterator
,ICU4N.Util.CharsTrieBuilder
: Added T4 templates to generateICharSequence
overloads -
BREAKING: Changed all
IAppendable
implementations to conform to .NET semantics.Append(value, startIndex, length)
instead ofAppend(value, startIndex, endIndex)
. -
Made
ICharSequence
andIAppendable
member overloads public -
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. -
BREAKING: Removed most obsolete members from the public API (#7)
-
BREAKING:
ICU4N.Support.Collections
: Marked all types internal -
BREAKING:
ICU4N.Support.Globalization
: MadeCompareInfoComparer
internal. Changed namespace ofCompareInfoExtensions
toICU4N.Globalization
. RenamedCompareInfoExtensions.ToComparer()
>CompareInfoExtensions.AsComparer()
. -
BREAKING:
ICU4N.Support.Text.AttributedString
: Marked internal -
BREAKING:
ICU4N.Support
: MarkedAnonymousComparer
,IntegerExtensions
, andNumber
classes internal -
BREAKING: Marked
ICUConfig
,ICUDebug
, andICU4N.Support.SystemProperties
internal
v60.1.0-alpha.203
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
Change Log
- Upgraded J2N dependency to version 2.0.0-beta-0001
- Fixed methods that broke during the upgrade:
ToAppendable()
>AsAppendable()
fromStringBuilderExtensions
ToCharSequence()
>AsCharSequence()
fromStringExtensions
,StringBuilderExtensions
, andCharArrayExtensions
ToUnmodifiableXXX()
>AsReadOnly()
fromListExtensions
,DictionaryExtensions
,CollectionExtensions
, andSetExtensions
v60.1.0-alpha.193
Change Log
- 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 - 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
Change Log
- Finished
UnicodeSet
implementation ofIsSubsetOf
,IsProperSubsetOf
,IsProperSupersetOf
, andSymmetricExceptWith
(including overloads forstring
,StringBuilder
,char[]
andICharSequence
) (#6) - Ported
StringSearch
in Collation package. - Converted Javadocs to C# documentation comments (#8)
- Changed public constants, static fields, and enum values to conform with .NET conventions (#11)
- De-nested public classes, interfaces, and enums (#14)
- Converted some iterator classes to .NET enumerators
- Changed public fields into properties
- Removed most static constructors and converted to using initializers for static fields
v60.1.0-alpha.52
Change Log
- Fixed string comparison issues with
IndexOf
,LastIndexOf
,StartsWith
,EndsWith
andCompareTo
by calling an overload that changes the comparison to Ordinal. - Added support for
.snupkg
portable debugging symbols.