Releases: feO2x/Light.GuardClauses
Releases · feO2x/Light.GuardClauses
14,0.0 Polyfill Compatibility
Light.GuardClauses 14.0.0
- Single-Source-File: use NET8_0_OR_GREATER instead of NET_8_0 to play nicely with newer .NET versions
- Breaking Change: Check.Contains(string, string, System.StringComparison) now exists in Light.GuardClauses.FrameworkExtensions to avoid conflict with other polyfill libraries
What's Changed
- fix: use NET8_0_OR_GREATER for ifdefs by @cdonnellytx in #130
- 💣 feat: play nice with PolyfillLib by @cdonnellytx in #131
Full Changelog: v13.1.0...v14.0.0
🚀 13.1.0 ImmutableArray<T> support
Light.GuardClauses 13.1.0
- new assertions for
ImmutableArray<T>:MustNotBeDefaultOrEmpty,MustHaveLength,MustHaveLengthIn,MustHaveMinimumLength,MustHaveMaximumLength - new dependency: System.Collections.Immutable
What's Changed
- Issue 114 must not be default or empty for immutable array by @feO2x in #115
- MustNotContain for immutable array by @feO2x in #122
- MustHaveLength for immutable array by @feO2x in #123
- Issue 118 must have length in for immutable array by @feO2x in #124
- MustContain for immutable array by @feO2x in #125
- MustHaveMaximumLength for immutable array by @feO2x in #126
- MustHaveMinimumLength for immutable array by @feO2x in #127
- Release 13.1.0 by @feO2x in #128
Full Changelog: v13.0.0...v13.1.0
13.0.0 Approximately file extension
Light.GuardClauses 13.0.0
- new assertions:
IsApproximately<T>,IsLessThanOrApproximately<T>,IsGreaterThanOrApproximately<T>,MustBeApproximately,MustNotBeApproximately,MustBeLessThanOrApproximately,MustBeGreaterThanOrApproximately,IsEmptyOrWhiteSpaceforSpan<T>andMemory<T>,IsFileExtension - email regex is now precompiled on .NET 8 and newer, the regex is compiled at runtime on .NET Standard 2.0 and 2.1
- breaking:
Throwclass is now located in new namespaceLight.GuardClauses.ExceptionFactory - breaking:
Throwmembers regarding spans now only supportReadOnlySpan<T>,inkeyword was removed for these members - breaking:
IsApproximatelynow uses less-than-or-equal-to operator (<=) instead of less-than operator (<) - breaking: Email regex is less strict and support additional patterns like domains with more than 3 letters (e.g. .info or .travel)
What's Changed
- Smaller files refactoring by @feO2x in #103
- IsEmptyOrWhiteSpace for Span and Memory by @feO2x in #106
- Optimize Email Regex by @feO2x in #107
- IsFileExtension and MustBeFileExtension by @feO2x in #108
- Updates to IsEmailAddress and MustBeEmailAddress by @feO2x in #109
- Refactor: Throw class is now in own namespace called ExceptionFactory by @feO2x in #110
- Generic IsApproximately and MustBeApproximately/MustNotBeApproximately by @feO2x in #111
- Generic IsLessThanOrApproximately/IsGreaterThanOrApproximately by @feO2x in #112
- v13.0.0 by @feO2x in #113
Full Changelog: v12.0.0...v13.0.0
12.0.0 Not Nothing
11.0.0 Native AOT
Light.GuardClauses 11.0.0
- Light.GuardClauses now targets .NET 8 and is AOT-compatible
- breaking: EnumInfo<T> no longer has the UnderlyingType property
- In AOT scenarios, avoid the Type-related assertions, they are marked with the DynamicallyAccessedMembersAttribute
10.3.0 - Range.For
Light.GuardClauses 10.3.0
11.0.0-preview1 Native AOT
Light.GuardClauses 11.0.0-preview1
- Light.GuardClauses now targets .NET 8 and is AOT-compatible
- breaking:
EnumInfo<T>no longer has theUnderlyingTypeproperty - In AOT scenarios, avoid the Type-related assertions, they are marked with the
DynamicallyAccessedMembersAttribute
10.2.0 - Trimmed Strings and Approximate Floats
Light.GuardClauses 10.2.0
- Added
IsLessThanOrApproximatelyandIsGreaterThanOrApproximatelyassertions for doubles and floats - Added
IsTrimmedXXXandMustBeTrimmedXXXassertions for strings
10.1.0 - Support for JetBrains' NoEnumerationAttribute
Light.GuardClauses 10.1.0
- added support for JetBrains'
NoEnumerationAttribute- many thanks to Chris Donnelly (#82)
10.0.0 Support for CallerArgumentExpression
Light.GuardClauses 10.0.0
- added support for CallerArgumentExpressionAttribute
- Breaking change: the library is now built against .NET Standard 2.0 and .NET Standard 2.1