Skip to content

chore: merge main into vNext (Dependabot #287/#288/#289) ahead of the 0.9.0 release - #300

Merged
Chris-Wolfgang merged 8 commits into
vNextfrom
chore/merge-main-into-vnext
Sep 16, 2026
Merged

Chris-Wolfgang merged 8 commits into
vNextfrom
chore/merge-main-into-vnext

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Drift catch before the release PR (reference_merge_main_into_vnext_before_release): main took three Dependabot merges after vNext was cut — #287 (Actions group: codeql/pr/release/scorecard/semgrep/workflow-security workflows), #288 and #289 (NuGet group: Directory.Build.props and Microsoft.* 10.0.11 → 10.0.12). Without this, the release merge would revert those workflow and DBP changes.

The three csproj conflicts were the family bump (vNext, Wolfgang.Etl.* 0.24.0) beside Dependabot's Microsoft.* bumps on adjacent lines; both kept. Verified locally: Release build clean, 334 / 0 on net10.0.

Merge this (it is a merge commit, so use merge-commit or rebase; a squash would flatten main's history into vNext), then the release PR follows.

🤖 Generated with Claude Code

dependabot Bot and others added 8 commits September 3, 2026 03:10
…updates

Bumps the github-actions group with 4 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action), [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `github/codeql-action/init` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `github/codeql-action/analyze` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `github/codeql-action/upload-sarif` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@3d0d988...efb3536)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps Meziantou.Analyzer from 3.0.172 to 3.0.201
Bumps Roslynator.Analyzers from 4.16.1 to 5.0.0
Bumps SonarAnalyzer.CSharp from 10.32.0.713 to 10.33.0.1635
Bumps Wolfgang.Etl.Abstractions from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.ErrorPolicies from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.TestKit from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.TestKit.Xunit from 0.23.2 to 0.23.4

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.201
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Roslynator.Analyzers
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dotnet-dependencies
- dependency-name: SonarAnalyzer.CSharp
  dependency-version: 10.33.0.1635
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.Abstractions
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.ErrorPolicies
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.ErrorPolicies
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit.Xunit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…ependencies-5a4e92559c

Bump the dotnet-dependencies group with 7 updates
…/github-actions-2390256866

chore(deps): bump the github-actions group across 1 directory with 4 updates
Bumps Meziantou.Analyzer from 3.0.201 to 3.0.234
Bumps Microsoft.Bcl.AsyncInterfaces from 10.0.11 to 10.0.12
Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.11 to 10.0.12
Bumps Microsoft.Extensions.Logging.Console from 10.0.11 to 10.0.12
Bumps Microsoft.SourceLink.GitHub from 10.0.400 to 10.0.401
Bumps SonarAnalyzer.CSharp from 10.33.0.1635 to 10.34.0.3385
Bumps System.Diagnostics.DiagnosticSource from 10.0.11 to 10.0.12

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.234
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-version: 10.0.401
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: SonarAnalyzer.CSharp
  dependency-version: 10.34.0.3385
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-dependencies
- dependency-name: System.Diagnostics.DiagnosticSource
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…ependencies-5d6844a2dc

Bump the dotnet-dependencies group with 7 updates
…BP, Microsoft.* 10.0.12)

Conflicts on the three csproj files were the family bump (vNext, 0.24.0) beside
Dependabot's Microsoft.* bumps (main, 10.0.11 -> 10.0.12); both kept.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 16, 2026 22:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are straightforward dependency/action SHA updates with no remaining references to the old versions/SHAs found in the repo after review.

Pull request overview

This PR merges recent main drift into vNext ahead of the 0.9.0 release to ensure vNext retains Dependabot updates (NuGet and GitHub Actions) that landed after the branch cut.

Changes:

  • Bump Microsoft.* package references from 10.0.11 → 10.0.12 across the library, examples, and unit tests.
  • Update analyzer package versions in Directory.Build.props (Roslynator/Meziantou/SonarAnalyzer) and SourceLink.
  • Refresh pinned GitHub Actions SHAs for CodeQL init/analyze/upload-sarif and softprops/action-gh-release.
File summaries
File Description
tests/Wolfgang.Etl.Xml.Tests.Unit/Wolfgang.Etl.Xml.Tests.Unit.csproj Bumps Microsoft.Bcl.AsyncInterfaces to 10.0.12 for the test matrix.
src/Wolfgang.Etl.Xml/Wolfgang.Etl.Xml.csproj Updates Microsoft.* dependencies (AsyncInterfaces, Logging.Abstractions, DiagnosticSource) to 10.0.12.
examples/Wolfgang.Etl.Xml.Examples/Wolfgang.Etl.Xml.Examples.csproj Updates Microsoft.Extensions.Logging.Console to 10.0.12.
Directory.Build.props Updates analyzer package versions and SourceLink to align with main.
.github/workflows/workflow-security.yaml Updates pinned upload-sarif action SHA.
.github/workflows/semgrep.yaml Updates pinned upload-sarif action SHA.
.github/workflows/scorecard.yaml Updates pinned upload-sarif action SHA.
.github/workflows/release.yaml Updates pinned softprops/action-gh-release action SHA.
.github/workflows/pr.yaml Updates pinned upload-sarif action SHA.
.github/workflows/codeql.yaml Updates pinned CodeQL init/analyze action SHAs.
Review details
  • Files reviewed: 10/10 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

PR benchmark delta

Benchmark Base mean HEAD mean Δ mean Base alloc HEAD alloc Δ alloc
ExtractAsync(ItemCount: 10) 34.83 µs 34.83 µs -0.0% 67.84 KB 67.84 KB +0.0%
ExtractAsync(ItemCount: 100) 348.91 µs 342.98 µs -1.7% 674.71 KB 674.72 KB +0.0%
ExtractAsync(ItemCount: 1000) 3.41 ms 3.61 ms +5.7% 6749.71 KB 6749.72 KB +0.0%
LoadAsync(ItemCount: 10) 18.66 µs 19.15 µs +2.6% 82.99 KB 82.99 KB +0.0%
LoadAsync(ItemCount: 100) 175.46 µs 183.34 µs +4.5% 827.29 KB 827.29 KB +0.0%
LoadAsync(ItemCount: 1000) 1.87 ms 1.90 ms +1.5% 8273.38 KB 8273.38 KB +0.0%
ExtractAsync(ItemCount: 10) 23.94 µs 24.47 µs +2.2% 111.82 KB 111.82 KB +0.0%
ExtractAsync(ItemCount: 100) 158.33 µs 160.03 µs +1.1% 204.32 KB 204.32 KB +0.0%
ExtractAsync(ItemCount: 1000) 1.44 ms 1.42 ms -0.9% 1128.93 KB 1128.93 KB +0.0%
LoadAsync(ItemCount: 10) 11.21 µs 12.65 µs +12.8% 74.94 KB 74.94 KB +0.0%
LoadAsync(ItemCount: 100) 76.75 µs 80.84 µs +5.3% 181.44 KB 181.44 KB +0.0%
LoadAsync(ItemCount: 1000) 826.36 µs 849.19 µs +2.8% 1093.65 KB 1093.65 KB +0.0%
LoadNoIndentAsync(ItemCount: 10) 9.59 µs 10.00 µs +4.2% 75.02 KB 75.02 KB +0.0%
LoadNoIndentAsync(ItemCount: 100) 65.13 µs 64.97 µs -0.2% 149.50 KB 149.50 KB +0.0%
LoadNoIndentAsync(ItemCount: 1000) 726.80 µs 684.90 µs -5.8% 1093.74 KB 1093.74 KB +0.0%

Job: Short (fast, ~5% variance). Filter: * (all benchmarks). Gate mode: informational (no pass/fail threshold).

@Chris-Wolfgang
Chris-Wolfgang merged commit a99f59a into vNext Sep 16, 2026
16 checks passed
@Chris-Wolfgang
Chris-Wolfgang deleted the chore/merge-main-into-vnext branch September 16, 2026 23:03
Chris-Wolfgang added a commit that referenced this pull request Sep 17, 2026
…ractions 0.24 base records; 15 superseded constructors hidden; IsDryRun setters deprecated (#302)

* feat: make logger optional on the multi-stream ctors, defaulting to NullLogger

Completes the constructor convergence begun on the single-stream types: every
extractor and loader in this package now takes the logger last and optional,
matching the fleet-wide convention already followed by Etl-DbClient.

Six required-logger constructors become optional:
  XmlMultiStreamExtractor<T>(IEnumerable<Stream>, ILogger<T>? = null)
  XmlMultiStreamExtractor<T>(IEnumerable<Stream>, XmlReaderSettings, ILogger<T>? = null)
  XmlMultiStreamLoader<T>(Func<TRecord, Stream>, ILogger<T>? = null)
  XmlMultiStreamLoader<T>(Func<TRecord, Stream>, XmlWriterSettings, ILogger<T>? = null)
  XmlMultiStreamLoader<T>(Func<TRecord, IBufferWriter<byte>>, ILogger<T>? = null)
  XmlMultiStreamLoader<T>(Func<TRecord, IBufferWriter<byte>>, XmlWriterSettings, ILogger<T>? = null)

null (or omitted) now resolves to NullLogger.Instance instead of throwing
ArgumentNullException. A useful side effect: reader/writer settings can now be
supplied WITHOUT also supplying a logger, which previously was not possible.

Not a breaking change: each parameter list is unchanged, so the emitted
signatures are identical. Release build with TreatWarningsAsErrors is clean and
PackageValidation passes, so the 6 PublicAPI.Shipped.txt entries were corrected
in place rather than recorded as an add/remove pair.

No overload became ambiguous: the shorter overloads still win resolution
because all of their parameters have a corresponding argument, while the longer
forms now require default substitution.

Tests: the three tests asserting a null logger throws now assert the NullLogger
contract. 330 unit + 9 doc-example tests pass in Release with
TreatWarningsAsErrors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: put the logger last on the internal test-injection ctors

Applies Rule 6 of the fleet constructor standard: the logger is the final
parameter on EVERY constructor, internal ones included.

  multi-stream:  (…, settings, ILogger? logger, IProgressTimer timer)
              -> (…, settings, IProgressTimer timer, ILogger? logger = null)

  single-stream: (…, settings, ILogger? logger, IProgressTimer timer, Options? options = null)
              -> (…, settings, Options? options, IProgressTimer timer, ILogger? logger = null)

The single-stream overloads needed the fuller reorder because `options` was
trailing; it moves ahead of the timer so the logger can be last, matching the
canonical Rule 6 shape (inputs, options, timer, logger).

Internal-only: no public API change, no PublicAPI entry, no consumer impact and
nothing to deprecate. Test call sites updated, including supplying the now
non-defaulted `options` argument on the single-stream internal constructors.

330 unit + 9 doc-example tests pass in Release with TreatWarningsAsErrors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* refactor: put the timer before options on the single-stream internal ctors

Revises the order this PR originally used, following call-site evidence rather
than the existing majority.

  (…, settings, Options? options, IProgressTimer timer, ILogger? logger = null)
    -> (…, settings, IProgressTimer timer, Options? options = null, ILogger? logger = null)

The first version made `options` a required positional parameter so that the
logger could stay last. That forced `options: null` at 14 call sites to satisfy
a parameter none of them actually set - all 14 are now gone.

Ordering is driven by how these constructors are called across the fleet
(149 internal call sites):

  IProgressTimer   149/149 pass one -> required, and the reason the overload exists
  ILogger           34/149 pass a real logger -> optional
  options            0/14  pass non-null -> optional

Timer first is also what makes the trailing parameters optional at all: an
optional parameter cannot precede a required one (CS1737).

The multi-stream internal constructors already matched this shape and are
unchanged.

Test call sites that passed a logger positionally now name it, since the fourth
positional slot is `options`.

330 unit + 9 doc-example tests pass in Release with TreatWarningsAsErrors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(options): options records for all four stages, inheriting the Abstractions 0.24 base records (ADR-0009, part 1) — draft until 0.24.0 publishes (#297)

* feat(options): options records for all four stages inheriting the Abstractions 0.24 base records (ADR-0009, part 1)

XmlSingleStreamExtractorOptions and XmlSingleStreamLoaderOptions become
sealed records (they were classes) inheriting ExtractorOptions /
LoaderOptions, and gain ReaderSettings / WriterSettings plus, on the
loader, IsDryRun. New XmlMultiStreamExtractorOptions and
XmlMultiStreamLoaderOptions carry the same for the multi-stream stages. The
reader/writer settings travel on the record the way Json carries
SerializerOptions - nested as the XmlReaderSettings / XmlWriterSettings
instance, not flattened.

The single-stream stages' private core constructors chain base(options)
and take the settings from the record when none were passed positionally;
the multi-stream stages gain (source, options, logger = null) record
constructors (streams; streamFactory; bufferWriterFactory) that chain
base(options). options is optional: every existing call keeps binding
where it binds today (a compile-time guard test covers the positional-null
shapes). The settings-taking and single-argument constructors are unchanged
here; hiding them is part 2.

ISupportDryRun dropped from both loaders (Abstractions 0.24 removes it);
the two dry-run contract tests use the now non-generic TestKit base.
Abstractions / ErrorPolicies / TestKit / TestKit.Xunit 0.23.2 -> 0.24.0 -
not published yet; built against the local feed, PR stays draft.

PublicAPI: 47 added entries (the converted records' synthesized members
included; derived-record <Clone>$ lines left out as unmatchable); ten
pre-existing unrecorded XmlReport members re-surfaced and tracked in #296.
ApiCompat: CP0008 x10 for ISupportDryRun; the class->record conversion
reported no break. Tests: XmlOptionsRecordTests (9 cases). CHANGELOG
Added / Changed / Removed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* chore(deps): the examples project references the 0.24.0 family too (missed in 861d29b)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* feat(options): hide the fifteen superseded ctors; deprecate the IsDryRun setters; README + migration guide (ADR-0009, part 2) (#298)

Fifteen constructors get [EditorBrowsable(Never)] and a remarks block and
are retained permanently: the single-argument ones from #253 / #281 and
every overload that took XmlReaderSettings / XmlWriterSettings or a logger
positionally, all superseded by (source, options, logger) with the
settings on the record. Not [Obsolete]: positional calls bind to them by
exact match, so a warning could only be silenced by rewriting the call,
and removal is a MissingMethodException for un-rebuilt callers. The
(source, logger = null) and (source, options, logger = null) overloads
stay visible.

The two IsDryRun setters are [Obsolete] on the accessor (reads stay
clean); the constructor assignments sit under a CS0618 pragma as the
supported replacement; the four test initializers configure IsDryRun
through the records.

README: the "Constructor overloads" section describes the record shape
with an example and the four records' members. docs/migrations/
v0.8-to-v0.9.md is the first real migration guide in this repo. CHANGELOG
Changed / Deprecated. No PublicAPI text change.

Not done: the internal timer-injection constructors still take the
settings positionally (14 test call sites, one of which asserts the null
guard); converting them to the record is a follow-up if wanted.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* chore: merge main into vNext (Dependabot #287/#288/#289) ahead of the 0.9.0 release (#300)

* chore(deps): bump the github-actions group across 1 directory with 4 updates

Bumps the github-actions group with 4 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action), [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `github/codeql-action/init` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `github/codeql-action/analyze` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `github/codeql-action/upload-sarif` from 4.37.7 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff2f1c6...cdf488f)

Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@3d0d988...efb3536)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump the dotnet-dependencies group with 7 updates

Bumps Meziantou.Analyzer from 3.0.172 to 3.0.201
Bumps Roslynator.Analyzers from 4.16.1 to 5.0.0
Bumps SonarAnalyzer.CSharp from 10.32.0.713 to 10.33.0.1635
Bumps Wolfgang.Etl.Abstractions from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.ErrorPolicies from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.TestKit from 0.23.2 to 0.23.4
Bumps Wolfgang.Etl.TestKit.Xunit from 0.23.2 to 0.23.4

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.201
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Roslynator.Analyzers
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dotnet-dependencies
- dependency-name: SonarAnalyzer.CSharp
  dependency-version: 10.33.0.1635
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.Abstractions
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.ErrorPolicies
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.ErrorPolicies
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Wolfgang.Etl.TestKit.Xunit
  dependency-version: 0.23.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump the dotnet-dependencies group with 7 updates

Bumps Meziantou.Analyzer from 3.0.201 to 3.0.234
Bumps Microsoft.Bcl.AsyncInterfaces from 10.0.11 to 10.0.12
Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.11 to 10.0.12
Bumps Microsoft.Extensions.Logging.Console from 10.0.11 to 10.0.12
Bumps Microsoft.SourceLink.GitHub from 10.0.400 to 10.0.401
Bumps SonarAnalyzer.CSharp from 10.33.0.1635 to 10.34.0.3385
Bumps System.Diagnostics.DiagnosticSource from 10.0.11 to 10.0.12

---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
  dependency-version: 3.0.234
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-version: 10.0.401
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
- dependency-name: SonarAnalyzer.CSharp
  dependency-version: 10.34.0.3385
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-dependencies
- dependency-name: System.Diagnostics.DiagnosticSource
  dependency-version: 10.0.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

* release: v0.9.0

options records for all four stages inherit the Abstractions 0.24 base records; 15 superseded constructors hidden; IsDryRun setters deprecated MINOR bump from v0.8.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* fix: RequiresUnreferencedCode on the three multi-stream record constructors; observable ReaderSettings/WriterSettings tests (review on #302)

The record constructors added in #297 on XmlMultiStreamExtractor
(streams, options, logger) and XmlMultiStreamLoader (streamFactory /
bufferWriterFactory, options, logger) reach XmlSerializer like every
other public constructor but lacked the trim/AOT annotation, so a
trimming caller got no IL2026 at those entry points.

XmlOptionsRecordTests gains four facts that observe the nested settings
through behaviour rather than assignment: a one-character
MaxCharactersInDocument on the record's ReaderSettings fails the read on
both extractors, and OmitXmlDeclaration on the record's WriterSettings
is visible in both loaders' output.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants