Changelog
The authoritative release history for all RCommon packages is maintained on GitHub Releases.
Full release notes: https://github.com/RCommon-Team/RCommon/releases
Recent Changes
Blob Storage Abstractions
Added RCommon.Blobs as a provider-agnostic blob storage abstraction layer, with two concrete implementations:
RCommon.Azure.Blobs— Azure Blob Storage implementationRCommon.Amazon.S3Objects— Amazon S3 implementation
Multi-Tenancy Support
Added complete multi-tenancy infrastructure:
RCommon.MultiTenancy— builder abstraction for registering tenancy providers viaWithMultiTenancy<T>()RCommon.Finbuckle— Finbuckle.MultiTenant integration, providingFinbuckleTenantIdAccessor<TTenantInfo>that bridges Finbuckle's resolved tenant context to theITenantIdAccessorconsumed by all repositories- All persistence providers (
EFCoreRepository,DapperRepository,Linq2DbRepository) automatically filter reads by tenant and stamp writes with the current tenant ID when entities implementIMultiTenant
Domain-Driven Design Support
Added soft delete and multitenancy to the entity layer:
ISoftDelete— opt-in interface for logical deletion; repositories setIsDeleted = trueand perform an UPDATE instead of a physical DELETEIMultiTenant— opt-in interface for tenant-scoped entities; repositories filter reads and stamp writes automaticallySoftDeleteHelperandMultiTenantHelperutility classes for filter expression building and entity stampingEntityNotFoundExceptionfor consistent "entity not found" error handling with type and ID context
Repository Soft Delete Extras
Extended all persistence providers with explicit soft delete and bulk operation support:
DeleteAsync(entity, isSoftDelete: bool)overload on all write repositories- Automatic
!IsDeletedfiltering on all read operations forISoftDeleteentities - Bulk delete via
ExecuteDeleteAsynconEFCoreRepository
Editorconfig and Code Hygiene
Added .editorconfig to enforce consistent code style across the solution. All public methods and complex code paths now carry XML documentation comments.
Versioning
RCommon uses MinVer for automatic semantic versioning from git tags. All packages in the solution share the same version number.
Version numbers follow Semantic Versioning:
- Major (
x.0.0) — breaking API changes - Minor (
0.x.0) — new features, backward-compatible additions - Patch (
0.0.x) — bug fixes and documentation updates
Pre-release versions (alpha, beta, rc) are tagged accordingly (e.g., v3.0.0-alpha.1).
Release Schedule
RCommon does not follow a fixed release cadence. Releases are made when meaningful features, bug fixes, or breaking changes are ready. Subscribe to GitHub Releases or watch the repository to be notified of new versions.
Filing Issues
Found a bug or missing a feature? Please open an issue on GitHub: