Skip to content

Releases: HarinezumiSama/Omnifactotum

v0.4.0 (2021-05-25 UTC)

25 May 02:56
Compare
Choose a tag to compare

Omnifactotum v0.4.0 (2021-05-25 02:46:45 UTC]

https://www.nuget.org/packages/Omnifactotum/0.4.0

Changes in 0.4.0 (since 0.3.0.119)

Major Updates

  • Omnifactotum is now the multi-target package for:
    • .NET Framework 4.0, 4.6.1, and 4.7.2
    • .NET Standard 2.0 and 2.1
    • .NET 5.0
  • Addressed multi-target compatibility issues in:
    • ColoredConsoleTraceListener
    • OmnifactotumAssemblyExtensions
    • OmnifactotumCollectionExtensions
    • OmnifactotumDictionaryExtensions
    • OmnifactotumOperationContextExtensions
    • KeyValuePair (static helper)
    • Omnifactotum's ReadOnlyDictionary<TKey, TValue>
    • WinEventLog
  • Added OmnifactotumKeyValuePair static helper for facilitating migration from .NET Framework to .NET Standard/Core

Breaking Changes

  • Factotum: Removed the methods ToPropertyString and AreEqualByContents in favor of methods ToPropertyString and IsEqualByContentsTo in OmnifactotumGenericObjectExtensions
  • OmnifactotumArrayExtensions: The method AsReadOnly() moved to OmnifactotumCollectionExtensions
  • OmnifactotumCustomAttributeProviderExtensions: Removed the obsolete method GetCustomAttributes
  • OmnifactotumGenericObjectExtensions: Removed the methods Affirm and ComputePredicate
  • OmnifactotumMathExtensions: Removed the methods Sqr(decimal), SqrChecked(float), SqrChecked(double) since their expected behavior cannot be achieved

New features

  • OmnifactotumCollectionExtensions: Added ToUIString implementation for collections of strings and collections of nullable value type instances
  • OmnifactotumGenericObjectExtensions: Implemented Morph() overloads for nullable value types (to complement already existing method for the reference types)
  • OmnifactotumNullableBooleanExtensions: Added an overload of ToString accepting value provider delegates
  • Added ReadOnlyItemCollection<T> (read-only wrapper for ICollection<T>)
  • Added partial support of Nullable Reference Types:
    • OmnifactotumGenericObjectExtensions.EnsureNotNull
  • Exposed the class OmnifactotumRepresentationConstants (formerly OmnifactotumConstants)
  • Applied PureAttribute, InstantHandleAttribute, and NoEnumerationAttribute annotations in certain appropriate cases

Fixes and improvements

  • Improved documentation
  • KeyedEqualityComparer<T, TKey>: IEqualityComparer.Equals and IEqualityComparer.GetHashCode now don't throw an exception f an argument is not compatible with the type T
  • OmnifactotumAssemblyExtensions
  • OmnifactotumCollectionHashCodeHelper (as per the fix in OmnifactotumHashCodeHelper)
  • OmnifactotumDateTimeOffsetExtensions
  • OmnifactotumEnumExtensions: GetName, GetQualifiedName, GetFullName, EnsureDefined, and IsDefined
  • OmnifactotumGenericObjectExtensions:
    • ToUIString() now uses the invariant culture if the value is IFormattable
    • Fix in IsEqualByContentsTo() for the case of a type with no fields
  • OmnifactotumHashCodeHelper: Fix in CombineHashCodeValues (for case when the next hash code is zero)
  • OmnifactotumMethodBaseExtensions
  • OmnifactotumTypeExtensions
  • Updated JetBrains Annotations in Omnifactotum.Annotations

0.3.0.119 (2015-07-07)

09 Feb 04:00
Compare
Choose a tag to compare