Skip to content

Dependency Injection Release Notes

BREAKING Feature
We now use module initializers and a global service registry along with a new defined method services.AddShinyServiceRegistry() that pulls in all registered values
Fix
Type and AsSelf was being ignored if a base class is being used
Enhancement
DI registration now supports AsSelf which allows an implementation to be registered directly
Fix
Booleans with false were not binding properly on stores
Enhancement
Logging has been optionally enabled throughout the DI binding
Enhancement
ServiceAttribute now has a TryAdd property that will call the appropriate service lifetime method
Enhancement
Additional SingletonAttribute, ScopedAttribute, and TransientAttribute to remove the need for multiple namespaces
Enhancement
Type property on service attribute allows you to override which interface is used in multiple interface scenarios
Feature
ServiceAttribute now accepts a Category. Categories allow you to pass an argument to the AddGeneratedServices that only get instantiate if you pass that category name. Great for unit testing or dev vs production
Enhancement
Now works with records
BREAKING Fix
ServiceAttribute KeyedName name parameter was moved from the constructor to a property
Feature
Initial Public Release