Repository navigation
Version 7 Release Notes
dalton-baker edited this page Jan 11, 2024
·
5 revisions
All version 7's are now deprecated!!
- 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.
- 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)
- 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
- 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.
- Fixing nested types, previously the parent class was not being included.
- Adding analyzers for private nested types.
- Fixing multii-project bug. Projects conflict eachother if generated code is in the same namespace.
- Fixed this by moving all generated code into the project assembly.
- More info here: https://andrewlock.net/creating-a-source-generator-part-7-solving-the-source-generator-marker-attribute-problem-part1/
- Adding Keyed services support.
- Added
Keyproperty on attributes when a project references Microsoft.Extensions.DependencyInjection version 8.0.0 or greater.
- Fixing nuget package tags and target framework
- Rewrote library to use source generation instead of reflection. higher chance of bugs
- Added an analyzer that tells a developer when an attribute is invalid.
- Changed tag type from
stringtoobject. - Generic arguments are now available in C# 11 langage version, instead of .NET 7.0.
- Adding
AddByAttribute()as an alternative toRegisterDependenciesByAttribute(). This is to align more with other common Service Collection extensions.
- Tags are no longer a constructor argument, instead use "Tag" property.
- Only one tag is allowed per attribute, before it was unlimited.
- Previously if you called
AddByAttribute()with no tag argument, all services for every tag would be added. This is no longer the case, you will only get services for tags you pass into service collection extension. - Removing extensibility (i.e. ObjectFactory). This was not useful and extremely complex with source generation.