All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
LoggerExtensions
class. - Added
EnumerableExtensions::Batch
method from MoreLINQ. - Implemented
UnitExtensions::And
method.
- Implemented string utility methods to remove diacritics.
- Renamed method
DisallowAnyEmptyWhitespace
asDisallowEmptyWhitespace
. - Used
ArgumentOutOfRangeException
inGuard
when appropriate. - Updated
Guard::DisallowMalformedGuid
exception message. - Target set to .NET Standard 2.0.
- Fixed int genenation in
Primitives::GenerateSeq<T>
method.
- Implemented
EnumerableExtensions::DistinctCount
method. - Fixed missing
this
operator inObjectExtensions::IsNumber
method. - Implemented
StringExtensions::ToUri
method. - Updated
EqualsIgnoreCase
to campare null values when safe mode is on. - Made parameter nullable in
StringExtensions::IsEmpty
method. - Implemented
Strings::ReverseCase
method and relative extension method. - Implemented
Strings::RandomizeCase
method and relative extension method. - Made parameter nullable in
StringExtensions::EqualsIgnoreCase
method.
- Implemented
NormalizeToEmpty
method and extension method. - Implemented
IsNumber
method and extension method. - Fix:
Arbitrary*
types made public. - Fixed a test.
- Improved implementation of
Primitives::ChanceOf
. - Improved
EnumerableExtensions::Intersperse
to support randomness. - Improved
EnumerableExtensions::Intersperse
to support nulls. - Moved FsCheck generators to main project.
- Implemented
Primitives::GenerateSeq
method. - Refactored FsCheck generators for version 3.0.0-alpha4.
- Updated
Strings::Generate
to function without length parameter. - Implemented
Primitives::GenerateSeq
overload for int, double and string. - Fixed
EnumerableExtensions::Choice
extension method. - Refactored
ArbitraryValue
to generate default values. - Updated
ArbitraryString
generator to include null values. - Updated
ArbitraryStringSeq
generator to include null values. - Updated
ArbitraryIntegerSeq
generator implementation.
- Implemented
DisallowEmptyEnumerable
guard method.
- Removed UnitExtensions class.
- Implemented
StringExtensions::ToGuid
extension method. - Reimplemented
SafeSubstring
asSubstring
overload.
- Restored target
netcoreapp3.1
.
- Implemented
Primitives::ChanceOf
method.
- Implemented
StringExtensions::IsEmpty
extension method. - Implemented
EnumerableExtensions::IsEmpty
extension method.
-
Set Maybe type as readonly struct.
-
Added
Maybe::DoAsync
extension overloads. -
Added
UnitExtensions::ToUnit
extension method. -
Implemented
ObjectExtensions::ToUnit
.
- Set target to .NET 6.0 only.
CryptoRandom
marked obsolete.- Renamed
Guard::RestrictArraySize
toDisallowArraySize
. - Renamed
Guard::AllowGuidOnly
toDisallowMalformedGuid
.
- Implemented
StringExtensions::StartsWithIgnoreCase
.
- Implemented
StringExtensions::EqualsIgnoreCase
. - Implemented
StringExtensions::ContainsIgnoreCase
.
- Implemented
EnumerableExtensions::Shuffle
method. - Fixed and improved
Strings::Generate
method.
- Added
Strings::SafeSubstring
method (and relative extension method). - Fixed
Strings::Generate
method.
- Added
Strings::IsEmptyWhitespace
method (and relative extension method). - Updated
WhiteSpace
toWhitespace
inGuard
class. - Updated
Strings::Mangle
to use all special characters. - Allowed
Strings::Generate
customization options and prefix input.
- Fixed name of
StringExtensions::IsWhitespace
toContainsWhitespace
.
- Added
Primitives::ToEnumerable
method (and relative extension method). - Added non-extension version of
ExceptionExtensions::Format
toPrimitives
class. - Moved
ToEnumerable
method toEnumerableExtensions
. - Added
Unit::DoAsync
method. - Added
EnumerableExtensions::ForEachAsync
method.
- Updated
Strings::ContainsSpecialChar
.
- Added
IsSpecialChar
method toStrings
andStringsExtensions
classes. - Added
ContainsSpecialChar
method toStrings
andStringsExtensions
classes.
- Renamed
IsWhitespace
to a more semantically correctContainsWhitespace
.
- Moved
ToMaybe
FirstOrNothing
,LastOrNothing
,SingleOrNothing
,ElementAtOrNothing
toMaybeExtensions
in root namespace. - Updated
ToUpperFirstLetter
andToLowerFirstLetter
and renamed asToUpperFirst
andToLowerFirst
(Strings
class). - Renamed
Strings::IsWhiteSpace
asIsWhitespace
. - Added
MaybeExtensions::ToJust
method. - Updated
Maybe::Equals(object)
implementation. - Updated
Guard::DisallowDefault
.
- Inverted oreder of members in
ResultType
.
- Moved classes with extension methods to
SharpX.Extensions
namespace. - Moved
StringUtil::Generate
to newStrings
class. - Moved
CharExtensions::Replicate
asStrings::ReplicateChar
- Moved
CharExtensions::Replicate
toStringExtensions
. - Removed
CharExtensions
class. - All
StringExtensions
methods are implemented inStrings
class. - Added
Guard
class. - Consumed
Guard
class extensively in the project.
- Renamed
StringExtensions::StripTags
asStripTag
.
- Renamed
StringExtensions::StripML
asStripTags
. - Updated implemetation of
Maybe::GetHashCode
.