Changelog
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.
Unreleased
11.4.0 - 2026-01-01
Added
- Multi-target support:
netstandard2.1,net8.0,net9.0,net10.0 - Guard polyfill for
ArgumentNullException.ThrowIfNullcompatibility
Changed
- Updated SDK to .NET 10.0 with
rollForward: latestFeature - Updated CI workflow to test against all supported runtimes (.NET 8, 9, 10)
- Updated test dependencies
- Improved README with verified code examples and platform requirements
Removed
- Dropped
net6.0andnet7.0targets (EOL)
11.3.2 - 2024-12-15
Fixed
- Fixed typos in codebase and test method naming
- Comprehensive README improvements with better examples
Changed
- Updated dependencies: FluentAssertions 7.0.0, xunit.runner.visualstudio 3.0.0, Microsoft.NET.Test.Sdk 17.12.0
11.3.0 - 2024-11-20
Added
Result.From()static factory method for creating results
11.2.0 - 2024-11-15
Added
Result<T>.Valueproperty as alternative toGetValueOrThrow()Result<T>.Errorproperty as alternative toGetErrorOrThrow()
11.1.0 - 2024-11-10
Added
Resultnow supports nullableValueandErrorproperties via extension methods
11.0.0 - 2024-11-01
Changed
- BREAKING:
ExecuteIfSuccessrenamed toIfSuccess - BREAKING:
ExecuteIfFailurerenamed toIfFailure - BREAKING:
ExecuteIfSomerenamed toIfSome - BREAKING:
ExecuteIfNonerenamed toIfNone
10.2.0 - 2024-10-20
Added
- Additional async overloads for
MapToResult
10.1.0 - 2024-10-15
Added
- Async support for
MapToResultmethod
10.0.0 - 2024-10-01
Changed
- BREAKING:
ToResultrenamed toMapToResultfor API consistency
9.3.0 - 2024-09-25
Changed
- Reapplied
readonlymodifier to structs
9.2.0 - 2024-09-20
Changed
- Reapplied
readonlymodifier to structs
9.1.0 - 2024-09-15
Fixed
- Results now behave correctly with value types
Changed
- Removed
readonlymodifier from structs to support serialization - Updated dependencies (MinVer 6.0.0, xunit 2.9.2, FluentAssertions 6.12.2)
Added
- Dependabot configuration for automated dependency updates
9.0.3 - 2024-08-01
Added
MapEachextension method onIEnumerable<Maybe<T>>- maps each Maybe, preserving None valuesBindEachextension method onIEnumerable<Maybe<T>>- binds each Maybe, preserving None valuesMatchEachextension method onIEnumerable<Maybe<T>>- matches each Maybe in sequence
Changed
- BREAKING:
MaponIEnumerable<Maybe<T>>removed - useMapEachinstead - BREAKING:
BindonIEnumerable<Maybe<T>>removed - useBindEachinstead - BREAKING:
MatchonIEnumerable<Maybe<T>>renamed toMatchEach
9.0.1 - 2024-07-15
Added
- Multi-targeting support for
netstandard2.1,net6.0,net7.0
9.0.0 - 2024-07-01
Added
MapEachextension method onIEnumerable<Result<T>>- maps each Result, preserving failuresBindEachextension method onIEnumerable<Result<T>>- binds each Result, preserving failuresMatchEachextension method onIEnumerable<Result<T>>- matches each Result in sequenceAggregateResultsextension method - transformsIEnumerable<Result<T>>intoResult<IEnumerable<T>>, aggregating errors
Changed
- BREAKING:
MaponIEnumerable<Result<T>>removed - useMapEachinstead - BREAKING:
BindonIEnumerable<Result<T>>removed - useBindEachinstead - BREAKING:
MatchonIEnumerable<Result<T>>renamed toMatchEach
8.0.0 - 2024-01-15
Changed
- Upgraded to .NET 8.0
- Version scheme now aligns with .NET version
0.2.0 - 2023-07-10
Added
Mapnow supports nullable types
0.1.0 - 2023-04-18
Added
- Initial release of Bogoware.Monads library
Maybe<T>monad for modeling optional valuesResult<T>monad for modeling operations that can failErrorabstract class withLogicErrorandRuntimeErrorhierarchy- Async support for all monad operations
- LINQ query syntax support
- Implicit conversions for ergonomic API
- NuGet packaging and CI/CD pipeline