All Versions
12
Latest Version
Avg Release Cycle
113 days
Latest Release
1817 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v3.0.3 Changes
January 23, 2020- ๐ Fix infinite loop when enumerating unsigned enum flags that are near the underlying type's max value.
-
v3.0.2 Changes
December 06, 2019- ๐ Improved flag bitwise operations performance to only about 20% slower than native.
-
v3.0.1 Changes
November 11, 2019- ๐ Improved parsing performance.
- ๐ Fixed empty string flag parsing bug.
-
v3.0.0 Changes
November 02, 2019๐ New Features
- โ Added C# 8 nullable reference annotations throughout.
- โฌ๏ธ Reduced default memory usage by over 83% by minimizing generic code over the enum type, due to value type generic argument code explosion.
- ๐ Improved performance throughout.
- โ Added
ReadOnlySpan<char>
parsing support when targeting .NET Core 3.0+.
๐ฅ Breaking Changes
GetNames
,GetValues
,GetMembers
,GetFlags
, andGetFlagMembers
now all return anIReadOnlyList<T>
instead ofIEnumerable<T>
.- ๐ Since
IReadOnlyList<T>
was added in .NET Framework 4.5, support for prior .NET Framework versions has been removed. - ๐ .NET Standard builds now depend on the
System.Runtime.CompilerServices.Unsafe
package for efficient conversions between the enum and its underlying type instead of relying on Fody to implement that. - ๐ฆ
NonGenericEnums
,NonGenericFlagEnums
,UnsafeEnums
, andUnsafeFlagEnums
are now deprecated and will be removed in v4.0. The equivalent methods have been added to theEnums
andFlagEnums
classes with the unsafe versions having the suffix ofUnsafe
to avoid a naming conflict with the type-safe versions. This was done to better matchSystem.Enum
and provide better discoverability being more centralized. I've created the C# roslyn analyzerEnums.NET.Analyzer
which provides a code fix to migrate your usages of the non-generic and unsafe methods to the new methods. - ๐ Nullable enum types are not supported in the new non-generic methods but are still supported when using
NonGenericEnums
andNonGenericFlagEnums
. - ๐ Deprecated many convenience method overloads as there were getting to be too many and will be removed in v4.0.
- ๐
NonGenericEnumComparer
andUnsafeEnumComparer
were removed, useEnumComparer.GetInstance
andEnumComparer<TEnum>.Instance
instead.EnumComparer<TEnum>
'sTEnum
type argument is no longer constrained tostruct, Enum
to support this. - ๐ A few
TryToObject
overloads were removed due to there being too many convenience method overloads.
-
v2.3.2 Changes
June 23, 2018๐ New Features
- โ Added SourceLink support.
- โจ Enhanced Unity compatibility with AOT compilation.
- ๐ Uses C# 7.3's built-in support for the
Enum
constraint.
-
v2.3.1 Changes
December 18, 2017๐ Fix
- ๐ Fixed issue with using
Enums.NET
from a .NET Standard or .NET Core 1.x project.
- ๐ Fixed issue with using
-
v2.3.0 Changes
November 21, 2017๐ New Features
- โ Added
GetFlagCount
support. - โ Added
EnumFormat
parameter overloads for parsing to prevent array allocations. - โ Added .NET Standard 2.0 Build.
- โ Added
-
v2.2.0 Changes
June 06, 2017๐ New Features
- โ Added
CombineFlags(IEnumerable<TEnum> flags)
overload.
๐ Fix
- ๐ Fixed memory allocation regression on enumerating members which was introduced in 2.1.1.
- โ Added
-
v2.1.1 Changes
March 25, 2017๐ New Features
- โ Added direct support for
DisplayAttribute
. The name has been added asEnumFormat.DisplayName
and the order is respected using the flagEnumMemberSelection.DisplayOrder
. - โ Added a
GetAttributes
enum extension method for convenience. - โ Added .NET Standard 1.1 as a target due to
DisplayAttribute
.
- โ Added direct support for
-
v2.0.0 Changes
January 01, 2017๐ The goal of this release was to align the API with a proposal to merge its features into corefx.
๐ New Features
- โ Added
EnumMemberSelection
enum to replace the boolean parameterexcludeDuplicates
in theGetEnumMembers
,GetEnumMemberCount
,GetNames
, andGetValues
methods. The boolean parameter version of these methods are still there to allow easy migration but are obsoleted and will be removed in a future version. - โ Added
EnumValidation
enum to replace the boolean parametervalidate
in theToObject
andTryToObject
methods. The boolean parameter version of these methods are still there to allow easy migration but are obsoleted and will be removed in a future version. - โ Added
Boolean
andChar
backed enum support which are supported inC++/CLI
andF#
respectively.
๐ฅ Breaking Changes
- ๐ Changed
EnumMember
'sAttributes
from anIEnumerable<Attribute>
to anAttributeCollection
. ObsoletedGetAttribute
,HasAttribute
, andGetAttributes
fromEnumMember
as this functionality is now encapsulated inAttributeCollection
'sGet
,Has
, andGetAll
methods. The obsoleted methods will be removed in a future version but are still there for easy migration. - ๐ Renumbered
EnumFormat
values to accommodate the newUnderlyingValue
member introduced to supportBoolean
andChar
backed enums. - ๐ Renamed
GetEnumMembers
,GetEnumMemberCount
, andGetEnumMember
toGetMembers
,GetMemberCount
, andGetMember
respectively. The old versions are still there to allow easy migration but are obsoleted and will be removed in a future version.
- โ Added