RCommon
HomeGitHub
  • Introduction
  • Common Scenarios
  • Getting Started
    • Running Examples
    • Roadmap
    • Releases
      • 1.0.1.75
      • 1.0.2.0
      • 2.0.0
      • 2.1.0
  • Topics
    • Fundamentals
      • Configuration
      • Logging
      • GUID Generation
      • Time and Date
      • Emailing
        • SMTP Email
        • SendGrid Email API
      • Data Transfer Objects
        • Pagination
      • Security
        • Current User
        • Claims
      • Events
        • Transactional Events
        • Synchronous Events
        • Asynchronous Events
        • Producers
        • Subscribers
      • Validation
        • Fluent Validation
      • Caching
        • Dynamically Compiled Expressions
        • Persistence Caching
        • Caching Services
        • Redis & Valkey
        • Memory Cache
      • Serialization
        • JSON.NET
        • System.Text.Json
    • Patterns
      • Specification
      • Mediator
        • MediatR
          • Validator Behavior
          • Unit of Work Behavior
          • Logging Behavior
      • CQRS
        • Commands
        • Queries
      • Persistence
        • Repository
          • Entity Framework Core
          • Dapper
          • Linq2Db
        • Transactions
          • Unit of Work
      • Event Bus
        • In Memory
        • MediatR
        • Wolverine
      • Message Bus
        • MassTransit
        • Wolverine
    • Architecture
      • Overview
      • Microservices
      • Clean Architecture
      • Event Driven Architecture
  • Examples
    • Clean Architecture
    • CQRS
    • Mediator: MediatR
    • Event Handling: In Memory
    • Event Handling: MediatR
    • Event Handling: MassTransit
    • Event Handling: Wolverine
    • Validation: Fluent Validation
Powered by GitBook
On this page
  • Version 1.0.0
  • Version 1.0.1
  • Version 1.0.2
  • Version 2.0
  • Version 2.1.0 (Current)
  • Version 2.2.* (Q4/Late 2024)
  • Version 2.3.*
  • Potential Future Features
  1. Getting Started

Roadmap

Roadmap for RCommon

PreviousRunning ExamplesNextReleases

Last updated 6 months ago

Version 1.0.0

The initial version of RCommon was redesigned from the original NCommon project privately, but under the Apache 2.0 license in 2008. That version was not publicly released but we've built on the success of that production-level code.

Version 1.0.1

Our first public release published in late 2022. is where you can find the code for this releaseWe will continue to support 1.0.1.x as long as .NET 6 is supported.

Version 1.0.2

This release supports .NET 7 but does not add any additional features/enhancements beyond that. The represents the current state. We will continue to support 1.0.2.x as long as .NET 7 is supported.

Version 2.0

The first public release was developed mostly in private in 2008 and was used mainly as persistence infrastructure in enterprise applications. We've spent so long getting to the first public release that there have been many advancements in the development of common design and architectural patterns. Since 2013 - event driven applications, and microservices have seen a great deal of interest from the development community. As such, we've built up a laundry list of new features, but also some opportunities for refinement to provide a foundation for building applications for years to come. Given the scope of the changes to foundational layers, we feel a major version bump is warranted. From there, we'll introduce new features more frequently using minor versions. This version has major breaking changes due to the nature of the updates so please be cautious with the upgrade.

Features / Enhancements

  • .NET 6, 7, 8+ Support

  • Simplified Dependency Injection API

  • Redesigned Unit of Work

  • Mediator Pattern

    • Implementation (New)

  • CQRS Pattern (New)

    • Commands & Command Handlers

    • Queries & Query Handlers

  • Validation (New)

    • (New)

    • Validation on Command/Query Bus pipeline

    • Validation on Mediator pipeline

  • Event Handling & Messaging

    • In Memory Event Bus (New)

    • In Memory Producing/Subscribing: (New)

    • Event Producing/Subscribing: (Enhanced)

    • Event Producing/Subscribing: (New)

  • More comprehensive persistence infrastructure

    • Persistence: (New)

  • Improved Unit Testing Foundation

  • Examples

    • Leave Requestion Application (Enhanced)

Version 2.1.0 (Current)

  • JSON Serialization (New)

    • System.Text.Json

  • Caching (New)

    • In Memory Caching

  • Persistence

    • Cached Queries (New)

Version 2.2.* (Q4/Late 2024)

  • Identity

    • Entity Framework Core Identity Providers

    • Linq2Db Identity Providers

    • Dapper Identity Providers

  • Multitenancy

    • Database per Tenant

    • Multitenant Database

    • Host Strategy

    • Header Strategy

    • Path Strategy

  • Asp.Net Core

    • API Key Authentication

    • Claims based Authorization

Version 2.3.*

Building upon a solid and fairly comprehensive set of persistence, and event driven architecture, our next focus will be on implementing the Event Sourcing pattern with a couple of different widely used event sourcing libraries/frameworks.

  • CQRS Pattern

    • Read Model Abstractions

    • Auto-Http API for Commands and Queries

  • Event Sourcing Abstractions

    • EventStore

    • Event State

    • Read Model Projection

  • Soft Deleting

  • Domain Driven Design Support (New)

Potential Future Features

  • Concurrency Support

  • ETL Support

  • Localization Support

  • Blob Abstractions

  • Template Abstractions

  • Implement Z.Extensions and deprecate all other foundational extensions methods (eliminate code bloat and increase unit testability)

  • Actor Models

    • Dapr

    • Akka.NET

    • Orleans

    • Proto.Actor

  • Implement abstractions for Machine Learning implemenations

    • Sagemaker

    • Azure MLOps

/Caching

GitHub "1.0.1.75"
.
GitHub "Main" branch
MediatR
FluentValidation
MediatR
MassTransit
Wolverine
Linq2Db
Newtonsoft JSON.NET
Redis
Valkey