Repository navigation
chore: Bump FastEndpoints and FastEndpoints.Swagger - #8
Closed
dependabot[bot] wants to merge 3 commits into
Closed
dependabot[bot] wants to merge 3 commits into
dependabot[bot] wants to merge 3 commits into
Conversation
Bumps FastEndpoints from 7.1.1 to 7.2.0 Bumps FastEndpoints.Swagger from 7.1.1 to 7.2.0 --- updated-dependencies: - dependency-name: FastEndpoints dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: FastEndpoints.Swagger dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
philcarbone
added a commit
that referenced
this pull request
Jan 19, 2026
NuGet Package Updates: - FastEndpoints: 7.1.1 -> 7.2.0 - FastEndpoints.Swagger: 7.1.1 -> 7.2.0 - HotChocolate.AspNetCore: 15.1.11 -> 15.1.12 - HotChocolate.Data: 15.1.11 -> 15.1.12 - Microsoft.AspNetCore.OpenApi: 10.0.1 -> 10.0.2 - Microsoft.Data.SqlClient: 6.1.3 -> 6.1.4 - Microsoft.Data.Sqlite: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.InMemory: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.Relational: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.Tasks: 10.0.1 -> 10.0.2 - Microsoft.AspNetCore.Mvc.Testing: 10.0.0-rc.2.25502.107 -> 10.0.2 GitHub Actions Updates: - actions/checkout: v4.2.2 -> v6.0.1 - actions/setup-dotnet: v4.3.1 -> v5.1.0 - actions/upload-artifact: v4.6.2 -> v6.0.0 - codecov/codecov-action: af2ee03 -> 671740a - dawidd6/action-download-artifact: v7 -> v12 Closes #2, #3, #4, #5, #6, #8, #9, #10, #11, #12, #13, #14, #16, #17
Contributor
|
Closed in favor of combined PR #24 |
Contributor
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
philcarbone
added a commit
that referenced
this pull request
Jan 20, 2026
* chore: Combined Dependabot updates - NuGet packages and GitHub Actions NuGet Package Updates: - FastEndpoints: 7.1.1 -> 7.2.0 - FastEndpoints.Swagger: 7.1.1 -> 7.2.0 - HotChocolate.AspNetCore: 15.1.11 -> 15.1.12 - HotChocolate.Data: 15.1.11 -> 15.1.12 - Microsoft.AspNetCore.OpenApi: 10.0.1 -> 10.0.2 - Microsoft.Data.SqlClient: 6.1.3 -> 6.1.4 - Microsoft.Data.Sqlite: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.InMemory: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.Relational: 10.0.1 -> 10.0.2 - Microsoft.EntityFrameworkCore.Tasks: 10.0.1 -> 10.0.2 - Microsoft.AspNetCore.Mvc.Testing: 10.0.0-rc.2.25502.107 -> 10.0.2 GitHub Actions Updates: - actions/checkout: v4.2.2 -> v6.0.1 - actions/setup-dotnet: v4.3.1 -> v5.1.0 - actions/upload-artifact: v4.6.2 -> v6.0.0 - codecov/codecov-action: af2ee03 -> 671740a - dawidd6/action-download-artifact: v7 -> v12 Closes #2, #3, #4, #5, #6, #8, #9, #10, #11, #12, #13, #14, #16, #17 * fix: Correct GitHub Actions SHAs for v6.0.1 and v6.0.0 - actions/checkout@v6.0.1: 8e8c483db84b4bee98b60c0593521ed34d9990e8 - actions/upload-artifact@v6.0.0: b7c566a772e6b6bfb58ed0dc250532a479d7789f * fix: Correct setup-dotnet SHA for v5.1.0 - actions/setup-dotnet@v5.1.0: baa11fbfe1d6520db94683bd5c7a3818018e4309 * Fix race condition in Azure Service Bus integration test perspective waiter Root Cause: CountingPerspectiveReceptor used ConcurrentBag with Contains() + Add() pattern, which is NOT atomic. Under concurrent execution, multiple threads could pass the Contains() check before any Add() completes, resulting in duplicate counting or missed counts, causing tests to timeout or complete prematurely. Race Condition Example: 1. Thread A: !Contains(key) → true 2. Thread B: !Contains(key) → true (before A adds) 3. Thread A: Add(key), Increment(count) // count = 1 4. Thread B: Add(key), Increment(count) // count = 2 (DUPLICATE!) 5. Result: Same perspective counted twice OR waiter never reaches expected count Fix: - Replace ConcurrentBag<string> with ConcurrentDictionary<string, byte> - Replace Contains() + Add() with atomic TryAdd() - TryAdd() returns true only for first caller, preventing race Files Changed: - CountingPerspectiveReceptor.cs: Use ConcurrentDictionary + TryAdd() - PerspectiveCompletionWaiter.cs: Create ConcurrentDictionary instead of ConcurrentBag - ServiceBusIntegrationFixture.cs: Same fix for WaitForPerspectiveCompletionAsync This explains why RabbitMQ tests aren't flaky - they use PerspectiveCompletionWaiter from TestUtilities which now has the fix, while Service Bus tests had duplicate code. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix InMemory integration test fixture to use ConcurrentDictionary Missed updating InMemoryIntegrationFixture when fixing the race condition in CountingPerspectiveReceptor. Changed ConcurrentBag to ConcurrentDictionary to match the updated receptor signature. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix SonarCloud coverage merge by building before merge Problem: ReportGenerator was trying to merge coverage reports that referenced source-generated files (.whizbang-generated/**/*.g.cs) before those files existed, causing 'File does not exist (any more)' errors. Root Cause: Coverage artifacts from test workflows reference source-generated files from their builds. When SonarCloud workflow tried to merge these coverage reports, the files were missing because the project hadn't been built yet in this workflow. Solution: Build project BEFORE merging coverage reports to ensure all source-generated files exist. Then build again inside SonarScanner block for code analysis. Workflow order (fixed): 1. Download coverage artifacts from all test workflows 2. Build project (generates all .whizbang-generated files) 3. Merge coverage with ReportGenerator (files now exist) 4. SonarScanner begin 5. Build again (SonarScanner analyzes code during build) 6. SonarScanner end (uploads analysis + merged coverage) This adds one extra build but eliminates the coverage merge failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix SonarCloud security hotspot: use full commit SHA for nuget/login action SonarCloud flagged githubactions:S7637 - using tag instead of full commit SHA reduces supply chain security. Changed: nuget/login@v1 → NuGet/login@d22cc5f This ensures precise, verifiable dependency tracking and prevents accidental or malicious reference to unintended commits. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(security): remove overly permissive workflow permissions Remove `permissions: read-all` from security-scorecard.yml and use job-level least-privilege permissions instead. This resolves the SonarCloud vulnerability (githubactions:S8234) that was blocking the quality gate. The analysis job already had specific permissions defined, so the workflow-level read-all was both unnecessary and overly permissive. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
philcarbone
added a commit
that referenced
this pull request
Apr 23, 2026
Four regression guards covering the class of bug fixed by the FlushAsync
split:
1. FlushApiSourceInvariantTests (unit) — reads Whizbang.Core source text:
- Dispatcher.cs contains zero strategy.FlushAndGetBatchAsync() calls
(all five cascade/publish/send sites must be fire-and-forget)
- ServiceBusConsumerWorker + TransportConsumerWorker each have at
least one FlushAndGetBatchAsync (the inbox dedup sites that consume
the returned WorkBatch)
- Every IWorkFlusher.FlushAsync impl delegates to FlushAndGetBatchAsync
(end-of-request middleware cannot defer)
- Zero FlushMode references anywhere in src/ (enum is gone)
2. CascadeToOutboxIntegrationTests.IntervalStrategy_CascadedEvents_BatchUntilForceFlush
(Postgres integration) — dispatches 20 cascading commands with an
Interval strategy singleton, asserts wh_outbox is empty before the
force flush, 20 rows present after. Passes against real Postgres in
~10s.
Covers plan tasks #7 (Dispatcher call-site pinning), #8 (worker
call-site pinning), #9 (Interval integration), and #10 (FlushMode-removal
guard) with two files instead of several dozen behavior tests — the
source-text check is more durable against future refactors that update
mocks in sync with call sites.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated FastEndpoints from 7.1.1 to 7.2.0.
Release notes
Sourced from FastEndpoints's releases.
7.2
Due to low financial backing by the community, FastEndpoints will soon be going into "Bugfix Only" mode until the situation improves. Please join the discussion here and help out if you can.
New 🎉
Standalone package for Event/Command Bus functionality
The in-process Event Bus and Command Bus features have been liberated from the clutches of the FastEndpoints main library. A new, independent
FastEndpoints.Messagingpackage has been created. This package can be used in any .NET 8+ application, even with Blazor WASM. Simply install the nuget package and register it with the IOC container like so:There's no setup (nor code changes) needed for projects using FastEndpoints main library. The above is only for when you want to use the messaging functionality in projects that don't have FastEndpoints.
Standalone package for Job Queues functionality
The job queuing functionality has also been extracted out to a separate package
FastEndpoints.JobQueueswhich can be used independently of the main FE library. No code changes are needed for existing FE projects.Aspire Testing support for routeless test helpers
You can now use the routeless test helpers such as
.GETAsync<MyEndpoint>()with AspireDistributedApplicationtesting like so:There's no setup (nor code changes) needed for projects using FastEndpoints main library. The above is only for when you want to use the messaging functionality in projects that don't have FastEndpoints.
Standalone package for Job Queues functionality
The job queuing functionality has also been extracted out to a separate package
FastEndpoints.JobQueueswhich can be used independently of the main FE library. No code changes are needed for existing FE projects.Aspire Testing support for routeless test helpers
You can now use the routeless test helpers such as
.GETAsync<MyEndpoint>()with AspireDistributedApplicationtesting like so: