Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2026-08-16

The first stable release. Identical in content to `1.0.0-rc9340` below — it is the same commit
without the prerelease label, published so that `dotnet add package DependencyModules.Runtime`
resolves without `--prerelease`, which is the single most common thing to have gone wrong for someone
trying this library for the first time.

**What stability means here.** The public API is now under [semantic
versioning](https://semver.org/spec/v2.0.0.html): the attributes, the convention contracts, the
runtime interfaces and the testing attributes will not break within 1.x. Two things are deliberately
outside that promise, and both say so in their own documentation — the generator extension points
that `DependencyModules.SourceGenerator.Impl` ships as source, which exist for frameworks building
their own generator on this one, and the exact text of generated code, which is an implementation
detail rather than something to compile against.

Diagnostics are covered too, in the sense that a `DM####` code will not be reused for a different
meaning. New ones may be added in a minor release, and a new warning can turn a green build red under
`TreatWarningsAsErrors` — that is the normal cost of a diagnostic arriving, and `NoWarn` takes them
per-project.

The breaking changes gathered in the release candidates land here rather than after, which is the
point of doing them now: `DecoratorExpansion.Expand` changed shape, and `[InjectValues]` is
restricted to parameters. Both are described below.

`net8.0` and `net10.0` are supported. `net8.0` leaves support in November 2026 and will be dropped in
a later minor release, not a patch.

## [1.0.0-rc9340] - 2026-08-16

Everything since `1.0.0-rc9230`. The theme is registrations that were silently not happening: an
Expand Down
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
<PropertyGroup>
<VersionPrefix>1.0.0</VersionPrefix>
<!--
The release candidate label. Assembly and file versions carry no prerelease part, so
they stay put until the version they do carry changes.
Empty at 1.0.0. Set it again to cut a prerelease of the next version; assembly and file
versions carry no prerelease part, so they stay put until the version they do carry changes.
-->
<VersionSuffix>rc9340</VersionSuffix>
<VersionSuffix></VersionSuffix>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,25 @@
; Shipped analyzer releases
; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md

## Release 1.0.0

### New Rules

Rule ID | Category | Severity | Notes
--------|----------|----------|-------
DM0001 | DependencyModules | Error | The generator failed; registrations may be missing.
DM0002 | DependencyModules | Warning | A service type cannot be constructed and was not registered.
DM0003 | DependencyModules | Error | A module marked with [DependencyModule] is not partial.
DM0004 | DependencyModules | Error | Two conventions in one module register a type as the same service type.
DM0005 | DependencyModules | Warning | A convention matched no types.
DM0006 | DependencyModules | Warning | A convention matched a type with no accessible constructor.
DM0007 | DependencyModules | Error | Two decorators of one service share an order.
DM0008 | DependencyModules | Warning | A service marked for interception cannot be wrapped.
DM0009 | DependencyModules | Error | A convention declaration could not be read.
DM0010 | DependencyModules | Info | A service is registered by convention.
DM0011 | DependencyModules | Info | A service is registered only when an environment condition holds.
DM0012 | DependencyModules | Warning | An environment condition names nothing to test.
DM0013 | DependencyModules | Warning | A service registered as an open generic cannot be decorated.
DM0014 | DependencyModules | Warning | A generic type cannot be cross-wired.
DM0015 | DependencyModules | Warning | An interceptor does not apply to every member it was applied to.
DM0016 | DependencyModules | Warning | An assembly-level module attribute's namespace is not imported.
Original file line number Diff line number Diff line change
@@ -1,23 +1,2 @@
; Unshipped analyzer release
; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md

### New Rules

Rule ID | Category | Severity | Notes
--------|----------|----------|-------
DM0001 | DependencyModules | Error | The generator failed; registrations may be missing.
DM0002 | DependencyModules | Warning | A service type cannot be constructed and was not registered.
DM0003 | DependencyModules | Error | A module marked with [DependencyModule] is not partial.
DM0004 | DependencyModules | Error | Two conventions in one module register a type as the same service type.
DM0005 | DependencyModules | Warning | A convention matched no types.
DM0006 | DependencyModules | Warning | A convention matched a type with no accessible constructor.
DM0007 | DependencyModules | Error | Two decorators of one service share an order.
DM0008 | DependencyModules | Warning | A service marked for interception cannot be wrapped.
DM0009 | DependencyModules | Error | A convention declaration could not be read.
DM0010 | DependencyModules | Info | A service is registered by convention.
DM0011 | DependencyModules | Info | A service is registered only when an environment condition holds.
DM0012 | DependencyModules | Warning | An environment condition names nothing to test.
DM0013 | DependencyModules | Warning | A service registered as an open generic cannot be decorated.
DM0014 | DependencyModules | Warning | A generic type cannot be cross-wired.
DM0015 | DependencyModules | Warning | An interceptor does not apply to every member it was applied to.
DM0016 | DependencyModules | Warning | An assembly-level module attribute's namespace is not imported.
Loading