Skip to content

🗺️ Roadmap

This document outlines the long-term vision for CoreSystem.Resilience.

The roadmap provides visibility into the planned evolution of the framework. Priorities may change based on community feedback, real-world adoption, and the evolution of the .NET ecosystem.


Guiding Principles

CoreSystem.Resilience will continue to evolve following these principles:

  • Production-first
  • Cloud-native
  • Extensible architecture
  • OpenTelemetry-first
  • Dependency Injection
  • Backward compatibility whenever possible

✅ Completed

The following capabilities are available in the current implementation.

Core Infrastructure

  • [x] Configured resilience pipelines
  • [x] Dependency Injection integration
  • [x] Pipeline provider abstraction
  • [x] Strongly typed configuration
  • [x] Pipeline registry
  • [x] No-op pipeline when resilience is disabled

Resilience Strategies

  • [x] Retry
  • [x] Circuit Breaker
  • [x] Timeout

Configuration

  • [x] Fluent configuration API
  • [x] Strongly typed options
  • [x] Pipeline configuration by PipelineType

Observability

  • [x] Built-in metrics
  • [x] OpenTelemetry metrics integration
  • [x] Pipeline execution duration
  • [x] Retry attempt metrics
  • [x] Timeout metrics
  • [x] Circuit Breaker state transition metrics

🚧 Short-Term

The next releases will focus on improving flexibility and developer experience.

Pipeline

  • [ ] Conditional strategy execution
  • [ ] Pipeline validation
  • [ ] Strategy ordering customization
  • [ ] Improved pipeline configuration conventions

Metrics

  • [ ] Additional resilience metrics
  • [ ] Metric tags and dimensions
  • [ ] Pipeline-specific metrics

Developer Experience

  • [ ] More samples
  • [ ] Extended documentation
  • [ ] XML documentation improvements
  • [ ] Source Link support

🚀 Mid-Term

The following features will improve extensibility and operational capabilities.

Resilience Strategies

  • [ ] Rate Limiter
  • [ ] Hedging
  • [ ] Fallback
  • [ ] Bulkhead Isolation

Configuration

  • [ ] Dynamic configuration reload
  • [ ] Environment-specific configuration
  • [ ] Configuration validation

Observability

  • [ ] Distributed tracing
  • [ ] Activity correlation
  • [ ] Diagnostic events

🔮 Long-Term Vision

Future versions aim to expand CoreSystem.Resilience with additional pipeline and operational capabilities.

Advanced Pipeline Features

  • [ ] Pipeline composition
  • [ ] Nested pipelines
  • [ ] Pipeline templates
  • [ ] Shared strategy profiles

Runtime Features

  • [ ] Dynamic pipeline registration
  • [ ] Runtime pipeline discovery
  • [ ] Pipeline diagnostics dashboard

Ecosystem Integration

  • [ ] HTTP client integration
  • [ ] Messaging integration
  • [ ] Background services integration
  • [ ] Database provider integration

💡 Future Strategies

The pipeline architecture allows new resilience strategies to be introduced without changing the existing resilience pipeline abstraction.

Potential future strategies include:

  • [ ] Fallback Strategy
  • [ ] Bulkhead Strategy
  • [ ] Hedging Strategy
  • [ ] Rate Limiter Strategy
  • [ ] Chaos Engineering Strategy
  • [ ] Adaptive Retry Strategy

Community Ideas

Ideas proposed by the community may be incorporated into future releases.

Suggestions are welcome through:

  • GitHub Issues
  • GitHub Discussions
  • Pull Requests

Release Strategy

The project follows Semantic Versioning.

Version Focus
1.x Stability, bug fixes, documentation
2.x Additional resilience strategies
3.x Advanced pipeline composition
4.x Extended ecosystem integration

Contributing

Contributions are always welcome.

Whether you're fixing bugs, improving documentation, proposing new resilience strategies, or enhancing the developer experience, your feedback helps make the project better for everyone.

If you'd like to contribute:

  • Open a GitHub Issue
  • Start a GitHub Discussion
  • Submit a Pull Request

Thank you for helping improve CoreSystem.Resilience.