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.
No unreleased changes yet.
- XML Documentation in NuGet Packages - XML documentation files are now properly included in NuGet packages, enabling IntelliSense support for all public APIs when consuming the packages
- Package License Configuration - Removed conflicting
PackageLicenseExpressionfromDirectory.Build.props(packages usePackageLicenseFileinstead)
- Chain of Responsibility pattern implementation with fluent API
IHandler<TContext>interface for implementing handlersIChain<TContext>interface for executing chainsIChainBuilder<TContext>fluent builder for constructing chainsHandlerResultenum (Continue/Stop) for controlling chain flow- Conditional handler support with predicate-based execution
- Exception handling with custom exception handlers
- Built-in diagnostics with execution timing and early stop detection
ChainDiagnosticsandHandlerDiagnosticsfor performance monitoring- Zero reflection overhead (factory-based handler resolution)
- Full dependency injection integration
- XML documentation for all public APIs
- 100% Code Coverage - Achieved 100% line and branch coverage for both Fox.ChainKit and Fox.ChainKit.ResultKit
- Added 11 defensive code tests (total: 41 tests, previously 30)
- Added
InternalsVisibleTofor test projects to enable internal API testing - Added
coverlet.runsettingsfor optimized coverage measurement
- Codecov Integration - Added Codecov badge and automated coverage reporting to CI/CD pipeline
- Build Optimization - Added .NET 10 to CI/CD build matrix for comprehensive multi-version testing
- README - Added Codecov badge showing 100% coverage achievement
- ResultKit integration for Railway Oriented Programming
IResultHandler<TContext>interface for Result-based handlers- Automatic conversion between
ResultandHandlerResult AddResultHandler<TContext, THandler>()extension methodsAddConditionalResultHandler<TContext, THandler>()for conditional Result handlers- Result diagnostics with
FormatResultDiagnostics()extension - Seamless integration with Fox.ResultKit
- Comprehensive README.md with architecture diagrams
- Design principles documentation
- Contributing guidelines with build policy
- MIT License (2026)
- Comparison table vs MediatR and PipelineNet
- Demo application demonstrating all features:
- Basic chain execution
- Early exit scenarios
- Result-based chains
- Conditional handlers
- Diagnostics usage
- Separated handlers into individual files with proper namespacing
- Logger abstraction for clean separation of concerns
- 90 comprehensive unit tests (100% passing)
- Fox.ChainKit.Tests: 55 tests covering:
- Chain execution scenarios
- Conditional handlers
- Exception handling
- Diagnostics tracking
- Dependency injection integration
- Fox.ChainKit.ResultKit.Tests: 35 tests covering:
- Result handler execution
- Result-to-HandlerResult conversion
- Conditional Result handlers
- Result diagnostics
- Multi-targeting: .NET 8.0, .NET 9.0, .NET 10.0
- NuGet package metadata with icon and README embedding
- Symbol packages (.snupkg) with portable PDB and embedded sources
- Global usings for common namespaces
- Production-ready code quality
- All nullable reference types enabled
- Follows Microsoft coding conventions
- Comprehensive XML documentation in English
- Full test coverage
- CRLF line endings and UTF-8 encoding (BOM-less)