Result/Result<T> equality treats any two failures as equal regardless of their Error, which was undocumented and surprising for failure-specific branching.
2.3 KiB
2.3 KiB
Changelog
All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
1.0.0 - 2026-05-26
Added
- request.dispatcher: Core mediator pattern implementation with async request/response handling
- request.result: Optional result wrapper types (
Result<T>) for structured responses - request.validation: Automatic validation pipeline behavior with FluentValidation integration
1.1.0 - 2026-05-28
Added
- request.validation: Dependency injection support for validators via
IServiceCollection.AddValidation() - request.validation:
IValidatorBuilderfor fluent validator registration and assembly scanning - request.validation: Support for open generic validators and automatic closing during resolution
- request.validation:
Validate<T>extension method for simplified validator invocation
Changed
- request.dispatcher: Reset type caches when reloading assemblies
- request.validation: Reset type caches when reloading assemblies
2.0.0 - 2026-05-30
Breaking changes
To have a consistent experience across all packages, some public interfaces have been renamed.
Changed
- request.dispatcher: Hide pipeline internals in stack frames
- request.validation: Rename
IValidatorBuildertoIRequestValidatorBuilderincl. extensions methods
Unreleased
Added
- request.validation: Support
PropertyPathJSON converter for string values and dictionary property names
Changed
- request.result: Document that
Result/Result<T>equality treats any two failures as equal, ignoring error content; branch on theErrordirectly for failure-specific logic (see PLAN.md Inconsistencies#E)
Fixed
- request.result: Correct the namespace in the
Preludedoc comment (Geekeey.Extensions.Result→Geekeey.Request.Result) - request.result: Fold
IsSuccessintoResult<T>.GetHashCodeto avoid collisions between a failure and a success value whose hash is0