CryptoTickerBot
CryptoTickerBot copied to clipboard
Bump Enums.NET from 2.3.2 to 4.0.0
Bumps Enums.NET from 2.3.2 to 4.0.0.
Release notes
Sourced from Enums.NET's releases.
4.0.0
It is recommended if upgrading from 2.x and below to update to 3.x first and follow the warnings to migrate any code that's using deprecated methods and classes.
New Features
- Added support for the
TryFormat
methods for serializing to aSpan<char>
.Breaking Changes
- Removed
NonGenericEnums
,NonGenericFlagEnums
,UnsafeEnums
, andUnsafeFlagEnums
classes which were deprecated in v3.0 and also removed all other deprecated methods in an effort to slim the library size down.- A dependency on the
System.Runtime.CompilerServices.Unsafe
package was added for the .NET 4.5 target in order to remove a build dependency onFody
.3.0.3
- Fix infinite loop when enumerating unsigned enum flags that are near the underlying type's max value.
3.0.2
- Improved flag bitwise operations performance to only about 20% slower than native.
3.0.1
- Improved parsing performance.
- Fixed empty string flag parsing bug.
3.0.0
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.
Commits
b32859f
Update README.md035f30f
Update performance chart63a0467
Prep for v4.0 (#36)a699210
Merge branch 'master' of https://github.com/TylerBrinkley/Enums.NET708e766
Fix infinite loop when enumerating unsigned enum flags that are near the unde...f9718fc
Update README.md54fc94f
v3.0.2 commitdf04699
Improved flag bitwise operations to near native, only about 20% slower as opp...3fd95b0
Update performance benchmarks2f02b2c
Improved parsing performance- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language -
@dependabot badge me
will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)