[3.1.1] - 2024-3-21 #32
- Removes unnecessarily strict
new()
restriction on generic type parameter for tenant options types
[3.1.0] - 2024-3-3PR: #31
Follows the theme of the previous PR #30 and Woksin.Extensions.Tenancy
1.1.0 that added functionality to not rely on AsyncLocal
tenant context
ITenantOptions
that can resolve instances ofIOptions
,IOptionsSnapshot
andIOptionsMonitor
for tenant configurations. This is very useful when you don't want to be relying on theAsyncLocal
tenant context and instead want to resolve tenant options manually.
[3.0.2] - 2024-2-26PR: #29
Reference package explicitly
[3.0.1] - 2024-2-26PR: #28
Try change packageversion
[3.0.0] - 2024-2-26PR: #26
Massively changed how tenancy is handled. Tenancy is now not a strictly IoC bound concept
[2.0.0] - 2023-11-16PR: #25
Adds mulit-tenancy support and build for .NET 8!
- .NET 8 support
- Multi-tenancy support - Adds multi-tenancy support to IoC and Configuration.Tenancy packages
TenantId
type which is simply represented by a string. Meant to uniquely identify a tenantPerTenant
attribute used in both the IoC and Configuration system to signify a tenant-scoped dependency- Tenant-scoped service providers - Each tenant owns its own scoped dependencies with their own lifetimes. Think of it as a completely isolated IoC containers per tenant
- Tenant-scoped configuration - Allows for resolving configurations for each tenant
- Automatic JSON serialization for
TenantId
type for both Microsoft MVC and WebAPI resolving the tenant id from a string - Automatic serialization of
TenantId
type from IConfiguration (meaning that a configuration class can have TenantId as property resolved from a string) - Adds a Middleware that resolved the
TenantId
for each request based on a strategies- Default strategy if no custom strategy is configured is to find the
TenantId
in theTenant-Id
header in theHttpRequest
- Can provide custom strategies that will be used for resolving
TenantId
fromHttpContext
TenantId
filters can also be added to filter out tenant ids resolved from the strategies
- Default strategy if no custom strategy is configured is to find the
Woksin.Extensions.Configuration.Tenancy
nuget package
- Woksin.Extensions.Configuration project structure to support the multi-tenancy model from the IoC package. Split into multiple projects:
- Woksin.Extensions.Configuration.Core - Provides the common functionality used by the configuration extension packages
- Woksin.Extensions.Configuration.Base - Is the old configuration system without multi-tenancy support
- Woksin.Extensions.Configuration.Tenancy - Adds multi-tenancy support by depending on the IoC system
- Various breaking changes in classes, class names, etc. That should not impact existing applications using these packages
[1.0.4] - 2023-9-18PR: #24
Change github workflow permissions
[1.0.3] - 2023-9-11PR: #22
Add test coverage steps to workflow
[1.0.2] - 2023-8-30PR: #21
I'm just showcasing github actions
[1.0.1] - 2023-8-30PR: #19
I'm just testing the workflows for a demo
[1.0.0] - 2023-8-22PR: #15
First release of Woksin.Extensions!