Tap()method forMaybe<TIn>has been deprecated in favor ofTapIfSome()/TapIfNone().Map()method forMaybe<TIn>has been deprecated in favor ofMatch(), consistent with theMatchmethod forResult<TIn>.
This release introduces extensive support for async workflows and method chaining for both Maybe<TIn> and Result<TIn>.
-
Bind/BindAsync Methods for
Maybe<TIn>:- Support for mixed synchronous/asynchronous handler workflows.
- Fluent composition with both void and return-type handlers.
- Support for method chaining.
-
Match/MatchAsync Methods for
Maybe<TIn>:- State-aware pattern matching capabilities.
- Async-compatible result projections.
-
TapIfSome/TapIfNone Methods for
Maybe<TIn>:- Added async side effects support with
TapIfSomeAsync/TapIfNoneAsync.
- Added async side effects support with
-
Ensure/EnsureAsync Methods for
Result<TIn>:- Support for
Try<TIn>andTryAsync<TIn>. - Chainable
Try<TIn>andTryAsync<TIn>withResult<TIn>.
- Support for
-
Bind/BindAsync Methods for
Result<TIn>:- Support for mixed synchronous/asynchronous handler workflows.
- Chainable
Try<TIn>andTryAsync<TIn>withResult<TIn>andTask<Result<TIn>>. - Fluent composition with both void and return-type handlers.
-
Match/MatchAsync Methods for
Result<TIn>:- Chainable
Try<TIn>andTryAsync<TIn>withResult<TIn>andTask<Result<TIn>>. - State-aware pattern matching capabilities.
- Async-compatible result projections.
- Chainable
-
Added support for
Bind/BindAsyncmethods forTry<TIn>to enable:- Seamless integration with
Result<TIn>andMaybe<TIn>types - Enhanced error handling and propagation
- Seamless integration with
- Added complete usage examples for core API surface
- Expanded conceptual explanations for:
- Error handling strategies
- Async/Await best practices
- Composition patterns with
BindandMatch
- Included troubleshooting guide for common scenarios
- Improved API reference documentation with XML doc enhancements
- Resolved a bug in
MatchAsyncmethods that caused incorrect result projections under specific conditions. - Corrected documentation inconsistencies and improved XML comments for better IntelliSense support.
- No breaking changes in this release.
- Added new overloads for
Bind/BindAsyncmethods to support:- Mixed synchronous/asynchronous handler workflows
- Simplified error propagation scenarios
- Fluent composition with both void and return-type handlers
- Extended
Match/MatchAsyncmethods with:- State-aware pattern matching capabilities
- Async-compatible result projections
- Optional fallback handlers for unhandled cases
The attribute added to maybe<TIn>, Result<TIn>, and ResultError types to improve debuging experience.
- Added complete usage examples for core API surface
- Expanded conceptual explanations for:
- Error handling strategies
- Async/Await best practices
- Composition patterns with
BindandMatch
- Included troubleshooting guide for common scenarios
- Improved API reference documentation with XML doc enhancements
Breaking Changes:
- 🚨 Deprecated
Do<TIn>,DoIfSome<TIn>, andDoIfNone<TIn>methods forMaybe<TIn>. These will be removed in the next major version. Migration Path: UseTap<TIn>,TapIfSome<TIn>, andTapIfNone<TIn>instead for consistent behavior withResult<TIn>'sTapmethod.
New Features:
- ✨ Added
Tap<TIn>,TapIfSome<TIn>, andTapIfNone<TIn>extension methods toMaybe<TIn>for unified side effect handling across monadic types.
Improvements:
- 📚 Updated documentation with comprehensive examples and explanations for improved clarity.