NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #2630 most downloaded on NuGet
Main library package for Finbuckle.MultiTenant.
Last release 18 days ago
10 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Most releases are documented
notes for 39 of the last 60 stable releases
28 versions withdrawn
withdrawn after publishing
127 years old
106 releases · first in 1900
only throw exception in EnforceMultiTenant for null tenant if there are entity changes.
(I)MultiTenantContext and (I)TenantInfo are no longer available via dependency injection. Use IMultiTenantContextAccessor instead. MultiTenantDbContex
One column per quarter.
update dependency to protect against CVE-2024-21319
make DecorateService public (#671) (c9746d6), closes #668
add HasResolvedTenant to IMultiTenantContext
update for final .NET 7 release
### Bug Fixes * XML comment and generation fix
opened efcorestore to allow overriding methods (#577) (7dac251), closes #574
remove reliance on uncaught exceptions
Nothing published for this version
Nothing published for this version
Added support for named options
Nothing published for this version
add BasePathStrategy option to rebase the AspNetCore Request.PathBase
Nothing published for this version
Nothing published for this version
Nothing published for this version
ClaimStrategy bypass cookie principal validation
Nothing published for this version
Removed support for .NET Core 2.1 which ended Microsoft support in August 2020.
AdjustKey, AdjustIndex, AdjustAlIndexes, AdjustUniqueIndexes methods to be chained off IsMultiTenant in EFCore functionality. They add the implicit TenantId to the respective key/indexes.IsMultiTenant back to non-generic version for more flexibility.InMemoryStore implementation of TryUpdate. Thanks to @mphill!ConfigurationStore would throw an exception if there was no default section in the config.MultiTenantOptionsManager<TOptions> was internal instead of public.Added a new events system. See PR #359 Thanks to @natelaff!
New DistributedCacheStore uses the ASP.NET Core distributed cache for tenant resolution.
DistributedCacheStore uses the ASP.NET Core distributed cache for tenant resolution.HeaderStrategy uses HTTP headers for tenant resolution. Thanks to @natelaff!Refactored InMemoryStore, removed deprecated configuration functionality.
TenantInfo. Implement ITenantInfo as needed or use the basic TenantInfo implementation. Should work with most strategies and stores. This was a major overhaul to the library. See docs for more information.Finbuckle.MultiTenant.AspNetCore for web apps and if needed add Finbuckle.MultiTenant.EntityFrameworkCore.WithPerTenantAuthentication - Adds support for common per-tenant authentication scenarios. See docs for full details.ClaimStrategy checks for a tenant claim to resolve the tenant.SessionStrategy uses a session variable to resolve the tenant.InMemoryStore, removed deprecated configuration functionality.FallbackStrategy, StaticStrategy is a better alternative.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed a conflicting assembly and NuGet versions.
Fixed a bug where documented static methods were internal rather than public.
Nothing published for this version
Updated for .NET Core January 2020 Updates adding support for .NET Core 2.1.15, 3.0.2, and 3.1.1.
netcoreapp3.1, netcoreapp3.0, and netcoreapp2.1.netstandard2.1 and netstandard2.0.netstandard2.1 and netstandard2.0.MultiTenantIdentityUser. Attempted to minimize impact, but if using IdentityMultiTenantDbContext this may be a breaking change! Thanks @GordonBlahut!
MultiTenantDbContext greatly improving flexibility. IdentityMultiTenantDbContext reworked under this new model and no longer requires or recommends use of multitenant support classes, e.g. MultiTenantIdentityUser. Attempted to minimize impact, but if using IdentityMultiTenantDbContext this may be a breaking change! Thanks @GordonBlahut!EFCoreStore to use TenantInfo directly. This is a breaking change!IdentityMultiTenantDbContext.ConfigurationStore to load tenant information from app configuration. The store is read-only in code, but changes in configuration (e.g. appsettings.json) are picked up at runtime. Updated most sample projects to use this store.InMemoryStore functionality that reads from configuration.HttpRemoteStore which will make an http request to get a TenantInfo object. It can be extended with DelegatingHandlers (i.e. to add authentication headers). Added sample projects for this store. Thanks to @colindekker!Added support for ASP.NET Core 3! Valid project targets are netcoreapp3.0, netcoreapp2.0, and netcoreapp2.1.
netcoreapp3.0, netcoreapp2.0, and netcoreapp2.1.Finbuckle.MultiTenant.AspNetCore instead of Finbuckle.MultiTenant.Added support for any preexisting global query filters in MultiTenantDbContext and MultiTenantIdentityDbContext. Thanks @nbarbettini!
MultiTenantDbContext and MultiTenantIdentityDbContext. Thanks @nbarbettini!StoreInfo and StrategyInfo properties of MultiTenantContext. Previously you could only access the wrapper object for each. Thanks @WalternativE!MultiTenantOptionsCache to be external as originally intended. Thanks @chernihiv!TryUpdateAsync in the wrapper store. Thanks @steebwba!Added a strategy wrapper that handles validation and logging for the active strategy. When implementing IMultiTenantStrategy basic validation and logg
IMultiTenantStrategy basic validation and logging are automatically provided.WithDelegateStrategy(...).WithFallbackStrategy(...).TrySetTenantInfo as an extension method to HttpContext. This will set the TenantInfo provided as the current tenant for the request and can optionally reset the service providers so that scoped services are regenerated under the new tenant.Refactored the global query filter used in MultiTenantDbContext and MultiTenantIdentityDbContext (Thanks @GordonBlahut!) for better performance and co
MultiTenantDbContext and MultiTenantIdentityDbContext (Thanks @GordonBlahut!) for better performance and code quality.IModelCacheKeyFactory as it is no longer needed due to the global query filter changes.Allow resetting option cache per-tenant. This is a breaking change.
Fixed bug in Identity where UserLogins primary key was not adjusted for multitenant usage.
UserLogins primary key was not adjusted for multitenant usage.Fixed bug where the TenantInfo constructor did not save the passed Items collection.
TenantInfo constructor did not save the passed Items collection.Changed TenantContext to MultiTenantContext which includes TenantInfo, StrategyInfo, and StoreInfo properties.
TenantContext to MultiTenantContext which includes TenantInfo, StrategyInfo, and StoreInfo properties.Microsoft.Extensions.DependencyInjection namespace for Configure and ConfigureServices methods).TryUpdate method added to IMultiTenantStore interface.EFCoreStore which allows an Entity Framework Core database context as the tenant store.EFCoreStore.WithStore method overloads.MultiTenantStoreWrapper.WithStrategy method overloads.UseMultiTenant to WithRouteStrategy.Added variants of MultiTenantIdentityDbContext which allows more flexible integration with Identity (Thanks @Cpcrook!)
MultiTenantIdentityDbContext which allows more flexible integration with Identity (Thanks @Cpcrook!)Fixed bug affecting per-tenant data isolation using a shared database
MultiTenantDbContext and MultiTenantIdentityDbContextYour coding agent can read these notes before it upgrades. Set up the MCP server →