Skip to content

Releases: dalton-baker/DepRegAttributes

v10.0.0

Choose a tag to compare

@dalton-baker dalton-baker released this 23 Nov 00:10
0a73f5d

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

Choose a tag to compare

@dalton-baker dalton-baker released this 31 Jan 05:34
5354198

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

Choose a tag to compare

@dalton-baker dalton-baker released this 26 Apr 02:54
e5b09af

Version 8.0.1

Updates

  • Changing AddByAttribute extension take a single optional tag filter instead of a list of tag filters.
    • Was AddByAttribute(params object[] tagFilters).
    • Now AddByAttribute(object? tagFilter = null).

Breaking Changes

  • When calling AddByAttribute only 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 AddByAttribute multiple 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 params parameter didn't allow you to specify the order that tagged services were registered in.

Version 3.1.1

Choose a tag to compare

@dalton-baker dalton-baker released this 26 Apr 02:52
f5f0cc0

Version 3.1.1

Updates

  • Changing AddByAttribute extension take a single optional tag filter instead of a list of tag filters.
    • Was AddByAttribute(params object[] tagFilters).
    • Now AddByAttribute(object? tagFilter = null).

Breaking Changes

  • When calling AddByAttribute only 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 AddByAttribute multiple 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 params parameter didn't allow you to specify the order that tagged services were registered in.

Version 8.0.0

Choose a tag to compare

@dalton-baker dalton-baker released this 11 Jan 03:45

Version 8.0.0

Updates

  • Targeting .NET Standard 2.0.
  • Adding Key and Tag properties to all register attributes.
  • The dependency Microsoft.Extensions.DependencyInjection.Abstractions has 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.
  • 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

Choose a tag to compare

@dalton-baker dalton-baker released this 11 Jan 03:42

Version 3.1.0

Updates

  • Targeting .NET Standard 2.0.
  • Adding Tag property 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.
  • 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)

Choose a tag to compare

@dalton-baker dalton-baker released this 07 Jan 06:51
dbd5983

Version 7.0.7

  • Refactoring for readability and efficiency
  • Fixing analyzer bug, int and string generic 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)

Choose a tag to compare

@dalton-baker dalton-baker released this 05 Jan 06:32
5a7b958

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) and AddByAttribute(Assembly, params object[] tags)

Version 7.0.5 (Deprecated: Critical Bugs)

Choose a tag to compare

@dalton-baker dalton-baker released this 30 Dec 06:25
0fccd41

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)

Choose a tag to compare

@dalton-baker dalton-baker released this 28 Dec 03:27
2e88e67

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.