Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6d83613
V5.0.7/service update
codebelt-aicia[bot] May 23, 2026
390a47b
💬 v5.0.7: Azure.Identity fix and dependency updates
aicia-bot May 23, 2026
a8a5085
🐛 set rabbitmq command queue durable to true by default
gimlichael May 23, 2026
f231ba4
🗑️ remove nuget prompt file for package release notes generation
gimlichael May 24, 2026
db2fa43
✅ add comprehensive test coverage across framework
aicia-bot May 24, 2026
e258042
🐛 fix GetByIdAsync to use object array for id parameter
gimlichael May 24, 2026
a56f314
✅ expand test coverage for efcore, nats, and amazon extensions
aicia-bot May 24, 2026
f7ab2ac
⬆️ upgrade localstack to 4.14.0
gimlichael May 24, 2026
cb04a14
📝 Finalize v5.0.7 release notes
May 24, 2026
f6394a6
📦 Update v5.0.7 per-package NuGet release notes
aicia-bot May 24, 2026
84741d0
🐳 update docker images for ubuntu test runners in environments config…
gimlichael May 25, 2026
3f5855b
fix: prevent EF Core model cache from bypassing ModelConstructor in t…
gimlichael May 25, 2026
9c56139
✨ add macOS test job for multiple architectures in CI pipeline
gimlichael May 25, 2026
d2761ec
✨ add .dockerignore and Dockerfile for testing environment setup
gimlichael May 25, 2026
195b50a
⬆️ update aws-cli image to version 2.34.53 in docker-compose.yml
gimlichael May 25, 2026
16519ba
✅ harden DistributedMediatorTest for cross-platform reliability
aicia-bot May 25, 2026
4dfb815
💬 update changelog for v5.0.7 release
aicia-bot May 25, 2026
61c6261
🔧 update sonarcloud, codecov, and codeql jobs to include macOS tests
gimlichael May 25, 2026
b68d6ab
🚫 prohibit usage of ExcludeFromCodeCoverage attribute in code
gimlichael May 25, 2026
be09374
📝 add README.md for bot workspace and update .gitignore rules
gimlichael May 25, 2026
074a9de
✨ add assembly context tests for filtering and callbacks
gimlichael May 25, 2026
6681c1a
♻️ extract protected virtual methods in NATS extensions for testability
aicia-bot May 25, 2026
d0daf5c
♻️ add protected constructors and extract helpers in Azure QueueStora…
aicia-bot May 25, 2026
beb3e17
♻️ extract virtual factory methods in Amazon SQS/SNS extensions for t…
aicia-bot May 25, 2026
22a2354
📝 update release documentation for v5.0.7 testability improvements
aicia-bot May 25, 2026
e60e5af
💬 clarify azure identity version targeting
aicia-bot May 25, 2026
38d904b
♻️ extract jetstream context creation in nats command queue
aicia-bot May 25, 2026
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
10 changes: 10 additions & 0 deletions .bot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# .bot Workspace

This folder is reserved for local-only AI working material such as:

- brainstorm notes
- draft implementation plans
- design alternatives
- temporary agent state

Keep this folder out of source control. Move only finalized, non-confidential guidance into `AGENTS.md` or `.github/copilot-instructions.md`.
2 changes: 1 addition & 1 deletion .docfx/Dockerfile.docfx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG NGINX_VERSION=1.30.0-alpine
ARG NGINX_VERSION=1.31.0-alpine

FROM --platform=$BUILDPLATFORM nginx:${NGINX_VERSION} AS base
RUN rm -rf /usr/share/nginx/html/*
Expand Down
14 changes: 14 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Build artefacts — rebuilt inside the container
**/bin/
**/obj/

# Version control
.git
.github

# IDE state
.vs
**/*.user

# Previous test results
TestResults/
22 changes: 22 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,28 @@ Internal classes and methods must be validated by exercising the public API that
- Public entry points provide sufficient coverage of internal code paths.
- The internal implementation exists solely as a helper or utility for public-facing functionality.

## 10. ExcludeFromCodeCoverage Prohibition

**Do not use `ExcludeFromCodeCoverage` attribute on any code.** This includes:

- Test classes or test methods
- Production code
- Configuration code
- Any other code path

### Rationale

- Excluding code from coverage hides gaps and creates false confidence in test completeness.
- If a code path cannot or should not be tested, refactor the code to eliminate that path rather than hiding it from metrics.
- Every executable line should be covered by tests or be genuinely unreachable (dead code to be removed).

### Alternative Approaches

- **Untestable code paths**: Refactor to separate concerns and eliminate the untestable path.
- **External dependencies**: Use test doubles (fakes, stubs, spies) instead of excluding from coverage.
- **Configuration-only code**: Move to configuration files or extract into testable methods.
- **Generated or third-party code**: These should not be in the primary codebase; use NuGet packages or dedicated vendor folders if necessary.

---
description: 'Writing Performance Tests'
applyTo: "tuning/**, **/*Benchmark*.cs"
Expand Down
35 changes: 0 additions & 35 deletions .github/prompts/nuget.prompt.md

This file was deleted.

27 changes: 23 additions & 4 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,25 @@ jobs:
build: true # needed for xunitv3
download-pattern: build-${{ matrix.configuration }}-${{ matrix.arch }}

test_mac:
name: call-test-mac
needs: [build, prepare_test]
strategy:
fail-fast: false
matrix:
arch: [X64, ARM64]
configuration: [Debug, Release]
project: ${{ fromJson(needs.prepare_test.outputs.json) }}
uses: codebeltnet/jobs-dotnet-test/.github/workflows/default.yml@v3
with:
runs-on: ${{ matrix.arch == 'ARM64' && 'macos-26' || 'macos-26-intel' }}
configuration: ${{ matrix.configuration }}
projects: ${{ matrix.project }}
build-switches: -p:SkipSignAssembly=true
restore: true
build: true # needed for xunitv3
download-pattern: build-${{ matrix.configuration }}-${{ matrix.arch }}

integration_test:
if: ${{ needs.init.outputs.run-privileged-jobs == 'true' }}
name: ⚗️ Integration Test - Azure and AWS
Expand Down Expand Up @@ -240,7 +259,7 @@ jobs:
sonarcloud:
if: ${{ needs.init.outputs.run-privileged-jobs == 'true' }}
name: call-sonarcloud
needs: [init, build, test_linux, test_windows, integration_test, integration_test_rabbitmq, integration_test_nats]
needs: [init, build, test_linux, test_windows, test_mac, integration_test, integration_test_rabbitmq, integration_test_nats]
uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
with:
organization: geekle
Expand All @@ -251,7 +270,7 @@ jobs:
codecov:
if: ${{ needs.init.outputs.run-privileged-jobs == 'true' }}
name: call-codecov
needs: [init, build, test_linux, test_windows, integration_test, integration_test_rabbitmq, integration_test_nats]
needs: [init, build, test_linux, test_windows, test_mac, integration_test, integration_test_rabbitmq, integration_test_nats]
uses: codebeltnet/jobs-codecov/.github/workflows/default.yml@v1
with:
repository: codebeltnet/savvyio
Expand All @@ -260,15 +279,15 @@ jobs:
codeql:
if: ${{ needs.init.outputs.run-privileged-jobs == 'true' }}
name: call-codeql
needs: [init, build, test_linux, test_windows, integration_test, integration_test_rabbitmq, integration_test_nats]
needs: [init, build, test_linux, test_windows, test_mac, integration_test, integration_test_rabbitmq, integration_test_nats]
uses: codebeltnet/jobs-codeql/.github/workflows/default.yml@v3
permissions:
security-events: write

deploy:
if: github.event_name != 'pull_request'
name: call-nuget
needs: [build, pack, test_linux, test_windows, integration_test, integration_test_rabbitmq, integration_test_nats, sonarcloud, codecov, codeql]
needs: [build, pack, test_linux, test_windows, test_mac, integration_test, integration_test_rabbitmq, integration_test_nats, sonarcloud, codecov, codeql]
uses: codebeltnet/jobs-nuget-push/.github/workflows/default.yml@v3
with:
version: ${{ needs.build.outputs.version }}
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -240,3 +240,7 @@ ModelManifest.xml
.ionide
/test/Savvyio.Extensions.SimpleQueueService.Tests/appsettings.json
/test/Savvyio.FunctionalTests/appsettings.json

# Bot workspace (local-only AI agent ideation, PRDs, and agentic loop state)
.bot/*
!.bot/README.md
6 changes: 6 additions & 0 deletions .nuget/Savvyio.App/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Commands.Messaging/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Commands/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Core/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Domain.EventSourcing/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Domain/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.EventDriven.Messaging/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.EventDriven/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
6 changes: 6 additions & 0 deletions .nuget/Savvyio.Extensions.Dapper/PackageReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED DapperExtensions.StrongNameReference upgraded to 1.11.0; Dapper.StrongName upgraded to 2.1.79; all other dependencies upgraded to latest compatible versions

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED NATS.Client libraries upgraded to 2.8.0 for improved stability and compatibility; all other dependencies upgraded to latest compatible versions

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 5.0.7
Availability: .NET 10 and .NET 9

# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)

Version: 5.0.6
Availability: .NET 10 and .NET 9

Expand Down
Loading
Loading