Skip to content

Commit 4a332c5

Browse files
authored
Merge pull request #140 from blehnen/release/0.9.36
release: 0.9.36 — outbox milestone + XML doc generation cleanup
2 parents 52736db + bb44244 commit 4a332c5

16 files changed

Lines changed: 40 additions & 2242 deletions

File tree

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,3 +459,8 @@ Deploy.bat
459459
# Note: *.nupkg and *.snupkg above already cover these globally; this
460460
# entry asserts directory-level intent for the deploy/ output folder.
461461
deploy/
462+
463+
#ignore doc files
464+
Source/DotNetWorkQueue.Transport.*/DotNetWorkQueue.Transport.*.xml
465+
.playwright-mcp/
466+
skills-lock.json

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
### 0.9.36 — 2026-05-16
2+
- Feature: transactional outbox pattern on SqlServer and PostgreSQL transports via opt-in `IRelationalProducerQueue<T>` capability cast; the caller supplies a `DbTransaction` and the queue INSERT joins the caller's business transaction (GitHub #138)
3+
- Memory, Redis, LiteDb, and SQLite are unchanged; callers that don't reach for the new interface see the same `IProducerQueue<T>` they always have
4+
- Retry decorators are skipped on the external-transaction send path so the caller keeps control of both transaction lifecycle and retry policy
5+
- `ExternalTransactionValidator` throws on cross-database mismatches before any write
6+
- `SqlServerExternalDbNameExtractor` and `PostgreSqlExternalDbNameExtractor` compare database names verbatim; neither side does case folding
7+
- Test: 24 integration tests across both transports (Send/SendAsync × single/batch × commit/rollback, validation paths, retry-bypass, `IAdditionalMessageData` round-trip)
8+
- CI: `<WarningsNotAsErrors>NU1902</WarningsNotAsErrors>` on `Transport.SQLite.csproj` keeps the OpenTelemetry NU1902 advisory visible without failing the Release build (ISSUE-032)
9+
- CI: close the net8.0 XML-doc gate on `Transport.RelationalDatabase.csproj`
10+
- Docs: new `docs/outbox-pattern.md` tutorial + reference page and a README pointer under "High-level features" (GitHub #138 + doc polish in #139)
11+
112
### 0.9.35 — 2026-04-23
213
- Fix: retry decorators across all transports (SqlServer, PostgreSQL, SQLite, Redis, LiteDb) tolerate a disposed Polly registry during queue shutdown — previously threw `ObjectDisposedException` when a background operation raced the dispose path (GitHub #121)
314
- CI: auto-publish dashboard docker image on `v*` tag via GitHub Actions (GitHub #122)

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
[![License LGPLv2.1](https://img.shields.io/badge/license-LGPLv2.1-green.svg)](http://www.gnu.org/licenses/lgpl-2.1.html)
44
[![CI](https://github.com/blehnen/DotNetWorkQueue/actions/workflows/ci.yml/badge.svg)](https://github.com/blehnen/DotNetWorkQueue/actions/workflows/ci.yml)
5-
[![Coverity status](https://scan.coverity.com/projects/10126/badge.svg)](https://scan.coverity.com/projects/blehnen-dotnetworkqueue)
65
[![codecov](https://codecov.io/gh/blehnen/DotNetWorkQueue/branch/master/graph/badge.svg?token=E23UZ6U9CU)](https://codecov.io/gh/blehnen/DotNetWorkQueue)
76

87
A producer / distributed consumer library for .NET applications. Targets .NET 8.0 and .NET 10.0.

Source/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4-
<Version>0.9.35</Version>
4+
<Version>0.9.36</Version>
55
<Deterministic>true</Deterministic>
66
<ContinuousIntegrationBuild Condition="'$(CI)' == 'true'">true</ContinuousIntegrationBuild>
77
<DebugType>portable</DebugType>

Source/DotNetWorkQueue.Dashboard.Api/DotNetWorkQueue.Dashboard.Api.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ https://github.com/blehnen/DotNetWorkQueue/blob/master/CHANGELOG.md</PackageRele
2626
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0|AnyCPU'">
2727
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2828
<WarningsAsErrors />
29-
<DocumentationFile>DotNetWorkQueue.Dashboard.Api.xml</DocumentationFile>
29+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3030
</PropertyGroup>
3131

3232
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net10.0|AnyCPU'">
3333
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
3434
<WarningsAsErrors />
35-
<DocumentationFile>DotNetWorkQueue.Dashboard.Api.xml</DocumentationFile>
35+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3636
</PropertyGroup>
3737

3838
<ItemGroup>

Source/DotNetWorkQueue.Dashboard.Client/DotNetWorkQueue.Dashboard.Client.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ https://github.com/blehnen/DotNetWorkQueue/blob/master/CHANGELOG.md</PackageRele
2727
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0|AnyCPU'">
2828
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
2929
<WarningsAsErrors />
30-
<DocumentationFile>DotNetWorkQueue.Dashboard.Client.xml</DocumentationFile>
30+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3131
</PropertyGroup>
3232

3333
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net10.0|AnyCPU'">
3434
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
3535
<WarningsAsErrors />
36-
<DocumentationFile>DotNetWorkQueue.Dashboard.Client.xml</DocumentationFile>
36+
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3737
</PropertyGroup>
3838

3939
<ItemGroup>

0 commit comments

Comments
 (0)