Repository navigation
Releases: dalton-baker/DepRegAttributes
Releases · dalton-baker/DepRegAttributes
Release list
v10.0.0
Version 10.0.0
- Adding package icon
- Migrating to slnx
- Updating all dependencies to .NET 10 versions
- Updating readme (more concise)
- Adding Hosted Service registration example
- Full Changelog: v9.0.0...v10.0.0
Breaking Changes
- No breaking changes!
Version 9.0.0
What's Changed
- Updating Microsoft.Extensions.DependencyInjection.Abstractions nuget package to v9.0.1
- Updating test projects and packages to net-9.0
- Fixing some broken tests from upgrade.
- Full Changelog: v8.0.1...v9.0.0
Breaking Changes
- No breaking changes!
Version 8.0.1
Version 8.0.1
Updates
- Changing
AddByAttributeextension take a single optional tag filter instead of a list of tag filters.- Was
AddByAttribute(params object[] tagFilters). - Now
AddByAttribute(object? tagFilter = null).
- Was
Breaking Changes
- When calling
AddByAttributeonly services with a specified tag filter will be registered. Previously it would register all untagged services when a tag was passed in.- This means you will need to call
AddByAttributemultiple times if you are using tags. Once with no tag filter (this will register all untagged services), then once for each tag you want to register. - This change was made mainly to make tags easier to understand. Also, the
paramsparameter didn't allow you to specify the order that tagged services were registered in.
- This means you will need to call
Version 3.1.1
Version 3.1.1
Updates
- Changing
AddByAttributeextension take a single optional tag filter instead of a list of tag filters.- Was
AddByAttribute(params object[] tagFilters). - Now
AddByAttribute(object? tagFilter = null).
- Was
Breaking Changes
- When calling
AddByAttributeonly services with a specified tag filter will be registered. Previously it would register all untagged services when a tag was passed in.- This means you will need to call
AddByAttributemultiple times if you are using tags. Once with no tag filter (this will register all untagged services), then once for each tag you want to register. - This change was made mainly to make tags easier to understand. Also, the
paramsparameter didn't allow you to specify the order that tagged services were registered in.
- This means you will need to call
Version 8.0.0
Version 8.0.0
Updates
- Targeting .NET Standard 2.0.
- Adding
KeyandTagproperties to all register attributes. - The dependency
Microsoft.Extensions.DependencyInjection.Abstractionshas been upgraded to version 8.0.0.- This was to include Keyed service support.
- Adding
AddByAttribute()service collection extensions to align more with other common naming convensions.- The previous extension
RegisterDependenciesByAttribute()has been marked as obsolete.
- The previous extension
- Adding Analyzers
- Errors when a service type is incompatible with the class you are trying to use it with.
- Error when a class is invalid (i.e. abstract, static, no public constructors).
- Warnings when a Key or Tag has a value that will result in a reference comparison.
Breaking Changes
- Tags have been dramatically altered.
- These are no longer a constructor argument, instead they are a property.
- Only one is allowed per attribute, previously it was unlimmited.
- Service collection extensions have changed.
- When you add services by attribute, you no longer pull in all tagged services when you don't include a tag.
- You will only get tagged services when the tag is explicitly included
- You get all untagged services even if you include a tag.
- Removing extensibility (i.e. ObjectFactory). This was not useful and had very limited use cases.
Version 3.1.0
Version 3.1.0
Updates
- Targeting .NET Standard 2.0.
- Adding
Tagproperty to all register attributes. - Adding
AddByAttribute()service collection extensions to align more with other common naming convensions.- The previous extension
RegisterDependenciesByAttribute()has been marked as obsolete.
- The previous extension
- Adding Analyzers
- Errors when a service type is incompatible with the class you are trying to use it with.
- Error when a class is invalid (i.e. abstract, static, no public constructors).
- Warnings when a Key or Tag has a value that will result in a reference comparison.
Breaking Changes
- Tags have been dramatically altered.
- These are no longer a constructor argument, instead they are a property.
- Only one is allowed per attribute, previously it was unlimmited.
- Service collection extensions have changed.
- When you add services by attribute, you no longer pull in all tagged services when you don't include a tag.
- You will only get tagged services when the tag is explicitly included
- You get all untagged services even if you include a tag.
- Removing extensibility (i.e. ObjectFactory). This was not useful and had very limited use cases.
Version 7.0.7 (Deprecated: Critical Bugs)
Version 7.0.7
- Refactoring for readability and efficiency
- Fixing analyzer bug,
intandstringgeneric arguments were not being recognized - Removing error analyzer rule for public and internal implementation and service types
- Adding open generic support.
- Adding lots of documentation.
- Reverting project dependencies to Microsoft.Extensions.DependencyInjection.Abstractions, versions 3.1.32 and 8.0.0.
Version 7.0.6 (Deprecated: Critical Bugs)
Version 7.0.6
- Reverting back to reflection based registration, removing code generation.
- Multi-targeting netstandard2.0 and net8.0.
- Updating project dependencies to Microsoft.Extensions.DependencyInjection, versions 3.1.32 and 8.0.0.
- New versions of service collection extensions:
AddByAttribute(params object[] tags)andAddByAttribute(Assembly, params object[] tags)
Version 7.0.5 (Deprecated: Critical Bugs)
Version 7.0.5
- Adding project with real dll output to hold attributes.
- Releasing attribute project, source generator, and analyzer as single project.
- Moving service provider extensions to
{project assembly}.DepRegAttributes
Version 7.0.4 (Deprecated: Critical Bugs)
Version 7.0.4
- Fixing
typeof()arguments for Key or Tag. These were being picked up and used as a service type. - Allowing internal classes to be registered.
- Adding warning analyzer for Tags and Keys that are array initializers.
- Adding support for generic service types.
- Adding warning analyzer for unbound generics.
- Updating namespace to the project assembly.