Skip to content

Releases: CodeShayk/SourceFlow.Net

v2.0.0

15 Mar 22:59
a50d3ef

Choose a tag to compare

SourceFlow.Net v2.0.0 - Changelog

Release Date: TBC
Status: In Development

Note: This release includes AWS cloud integration support. Azure cloud integration will be available in a future release.

🎉 Major Changes

Cloud Core Consolidation

The SourceFlow.Cloud.Core project has been consolidated into the main SourceFlow package. This architectural change simplifies the dependency structure and reduces the number of separate packages required for cloud integration.

Benefits:

  • ✅ Simplified package management (one less NuGet package)
  • ✅ Reduced build complexity
  • ✅ Improved discoverability (cloud functionality is part of core)
  • ✅ Better performance (eliminates one layer of assembly loading)
  • ✅ Easier testing (no intermediate package dependencies)

✨ New Features

Integrated Cloud Functionality

The following components are now part of the core SourceFlow package:

Configuration

  • BusConfiguration - Fluent API for routing configuration
  • IBusBootstrapConfiguration - Bootstrapper integration
  • ICommandRoutingConfiguration - Command routing abstraction
  • IEventRoutingConfiguration - Event routing abstraction
  • IIdempotencyService - Duplicate message detection
  • InMemoryIdempotencyService - Default implementation
  • IdempotencyConfigurationBuilder - Fluent API for idempotency configuration

Resilience

  • ICircuitBreaker - Circuit breaker pattern interface
  • CircuitBreaker - Implementation with state management
  • CircuitBreakerOptions - Configuration options
  • CircuitBreakerOpenException - Exception for open circuits
  • CircuitBreakerStateChangedEventArgs - State transition events

Security

  • IMessageEncryption - Message encryption abstraction
  • SensitiveDataAttribute - Marks properties for encryption
  • SensitiveDataMasker - Automatic log masking
  • EncryptionOptions - Encryption configuration

Dead Letter Processing

  • IDeadLetterProcessor - Failed message handling
  • IDeadLetterStore - Failed message persistence
  • DeadLetterRecord - Failed message model
  • InMemoryDeadLetterStore - Default implementation

Observability

  • CloudActivitySource - OpenTelemetry activity source
  • CloudMetrics - Standard cloud metrics
  • CloudTelemetry - Centralized telemetry

Serialization

  • PolymorphicJsonConverter - Handles inheritance hierarchies

Idempotency Configuration Builder

New fluent API for configuring idempotency services:

// Entity Framework-based (multi-instance)
var idempotencyBuilder = new IdempotencyConfigurationBuilder()
    .UseEFIdempotency(connectionString, cleanupIntervalMinutes: 60);

// In-memory (single-instance)
var idempotencyBuilder = new IdempotencyConfigurationBuilder()
    .UseInMemory();

// Custom implementation
var idempotencyBuilder = new IdempotencyConfigurationBuilder()
    .UseCustom<MyCustomIdempotencyService>();

// Apply configuration
idempotencyBuilder.Build(services);

Builder Methods:

  • UseEFIdempotency(connectionString, cleanupIntervalMinutes) - Entity Framework-based (requires SourceFlow.Stores.EntityFramework package)
  • UseInMemory() - In-memory implementation
  • UseCustom<TImplementation>() - Custom implementation by type
  • UseCustom(factory) - Custom implementation with factory function

Enhanced AWS Integration

AWS cloud extension now supports explicit idempotency configuration:

services.UseSourceFlowAws(
    options => { options.Region = RegionEndpoint.USEast1; },
    bus => bus.Send.Command<CreateOrderCommand>(q => q.Queue("orders.fifo")),
    configureIdempotency: services =>
    {
        services.AddSourceFlowIdempotency(connectionString);
    });

📚 Documentation Updates

New Documentation

Updated Documentation

🐛 Bug Fixes

  • None (this is a major architectural release)

🔧 Internal Changes

Project Structure

  • Consolidated src/SourceFlow.Cloud.Core/ into src/SourceFlow/Cloud/
  • Simplified dependency graph for cloud extensions
  • Reduced NuGet package count

Build System

  • Updated project references to remove Cloud.Core dependency
  • Simplified build pipeline
  • Reduced compilation time

📦 Package Dependencies

SourceFlow v2.0.0

  • No new dependencies added
  • Cloud functionality now integrated

SourceFlow.Cloud.AWS v2.0.0

  • Depends on: SourceFlow >= 2.0.0
  • Removed: SourceFlow.Cloud.Core dependency

🚀 Upgrade Path

For AWS Extension Users

If you're using the AWS cloud extension, no code changes are required. The consolidation is transparent to consumers of the cloud package.

📝 Notes

  • This is a major version release due to breaking namespace changes
  • The consolidation improves the overall architecture and developer experience
  • All functionality from Cloud.Core is preserved in the main SourceFlow package
  • AWS cloud extension remains a separate package with simplified dependencies
  • Azure cloud integration will be available in a future release

🔗 Related Documentation


Version: 2.0.0
Date: 15th March 2026
Status: In Development

v1.0.0

29 Nov 10:11
828cb0c

Choose a tag to compare

Release Notes

[v1.0.0] * 29-11-2025

Core Framework (SourceFlow.Net)

  • Complete event sourcing implementation with Domain-Driven Design (DDD) principles
  • CQRS pattern implementation with command/query segregation
  • Aggregate pattern for managing root entities within bounded contexts
  • Saga orchestration for long-running transactions and workflow management
  • Event-first design with comprehensive event sourcing foundation
  • Command and event publishing/subscription infrastructure
  • View model projection system for read-optimized data models
  • Support for multiple .NET frameworks:
    • .NET 10.0
    • .NET 9.0
    • .NET Standard 2.1
    • .NET Standard 2.0
    • .NET Framework 4.6.2
  • OpenTelemetry integration for observability and tracing
  • Dependency injection support via Microsoft.Extensions.DependencyInjection
  • Structured logging support via Microsoft.Extensions.Logging

Entity Framework Store Provider (SourceFlow.Stores.EntityFramework)

  • ICommandStore implementation using Entity Framework Core
  • IEntityStore implementation using Entity Framework Core
  • IViewModelStore implementation using Entity Framework Core
  • Configurable connection strings per store type (separate or shared databases)
  • Support for .NET 10.0, .NET 9.0, and .NET 8.0
  • SQL Server database provider support
  • Polly-based resilience and retry policies
  • OpenTelemetry instrumentation for Entity Framework Core operations

Architecture & Patterns

  • Clean architecture principles
  • Separation of concerns between read and write models
  • Event-driven communication between aggregates
  • State preservation and consistency guarantees
  • Extensible framework design for custom implementations

Documentation

  • Comprehensive README with architecture diagrams
  • Developer guide available on GitHub Wiki
  • Package documentation and XML comments
  • Architecture diagram showing complete system design
  • Roadmap for future cloud provider support (v2.0.0)

Infrastructure

  • NuGet package generation on build
  • GitHub Actions CI/CD pipeline integration
  • CodeQL security analysis
  • Symbol packages for debugging support
  • MIT License

v1.0.0-alpha.1

17 Aug 23:11
d91e655

Choose a tag to compare

v1.0.0-alpha.1 Pre-release
Pre-release

Release Notes:

  • Targets - .Net Framework 4.6.2, .Net Standard 2.0 & 2.1, .Net 9.0.

Functionality

  • Includes core functionality of the framework for Event sourcing and CQRS.

For complete details please see documentation