Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Sep 22, 2025

Updated FastEndpoints from 5.5.0 to 5.22.0.

Release notes

Sourced from FastEndpoints's releases.

5.22


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


New 🎉

Attribute driven response headers

Please see the documentation for more information.

Allow a Post-Processor to act as the sole mechanism for sending responses

As shown in this example, a post-processor can now be made the sole orchestrator of sending the
appropriate response such as in the case with the "Results Pattern".

Support for generic commands and command handlers

Please see the documentation for more information.

Improvements 🚀

Auto resolving of Mappers in unit tests

Previously it was necessary for the user to instantiate and set the mapper on endpoints when unit testing endpoints classes. It is no longer necessary to do so
unless you want to. Existing code doesn't need to change as the Mapper property is still publicly settable.

Respect default values of constructor arguments when model binding

The default request binder will now use the default values from the constructor arguments of the DTO when instantiating the DTO before model binding starts. For
example, the SomeOtherParam property will have a value of 10 if no other binding sources provides a value for it.

record MyRequest(string SomeParam,
                 int SomeOtherParam = 10);

... (truncated)

5.21.2


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


Fixes 🪲

  • Unit test not calling Configure() method #​569
  • Source generators causing namespace conflict in multi-project generation

5.21


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


New 🎉

Api Client generation using Kiota

Kiota is now the recommended way to generate API Clients. Please see the documentation on how
to use it. The previous methods for client generation using NSwag are still valid but may be deprecated at a future point in time.

Attribute based Pre/Post Processor configuration

When doing simple attribute based endpoint configuration instead of using the Configure() method, you can now add pre/post processors to the endpoint like so:

[HttpPost("/test"),
 PreProcessor<PreProc>,
 PostProcessor<PostProc>]
sealed class Endpoint : Endpoint<Request, Response>
{
    public override Task HandleAsync(Request r, CancellationToken c)
    {
        ...
    }
}
Ability to specify descriptions with ACL generation

You can now specify a description/xml doc summary for individual permission items when source generating them. See the documentation on how to use it.

[HideFromDocs] attribute for removing properties from Swagger schema
sealed class MyRequest
{
    [HideFromDocs]
 ... (truncated)

## 5.20

---

## ✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---

[//]: # (<details><summary>title text</summary></details>)

## New 🎉

<details><summary>Support for .Net 8.0</summary>

The project is now developed and built using .NET 8.0 while supporting .NET 6 & 7 as well. You can upgrade your existing projects simply by targeting .NET 8

```xml
<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
     </PropertyGroup>
</Project>

The .NET 8 Request Delegate Generator is not yet compatible with FastEndpoints as FE has it's own endpoint mapping and model binding system which will require a complete rewrite as a Source Generator to properly support Native AOT. We're currently investigating ways to achieve that but cannot give a timeframe on completion as it's a massive undertaking. You can see our internal discussion about this matter on discord.

Simpler way to register Pre/Post Processors with DI support

Processors can now be configured just by specifying the type of the processor without the need for instantiating them yourself.

public class MyEndpoint : EndpointWithoutRequest
{
    public override void Configure()
    {
        ...
        PreProcessor<PreProcessorOne>();
        PreProcessor<PreProcessorTwo>();
    }
}

While the old PreProcessors(...) method continues to work, the new method automatically resolves any constructor injected dependencies without you having to manually register the processors in DI.

Exception handling capability for Post-Processors

Post-Processors can now handle uncaught exceptions as an alternative to an exception handling middleware.
... (truncated)

5.19.2

Fixes 🪲

Tests couldn't assert on 'ProblemDetails' DTO due to having private property setters

Trying to assert on properties of ProblemDetails when testing, STJ could not deserialize the error JSON response due to the DTO having incorrect access modifiers for public properties, which has been corrected with this patch release.

5.19.1

Fixes 🪲

Auto binding collections of form files fails after first request

An object disposed error was being thrown in subsequent requests for file collection submissions due to a flaw in the model binding logic, which has now been corrected.

5.19


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


New 🎉

Model binding collections of 'IFormFile' from incoming form data

The following types of properties can now be automatically model bound from file form data fields.

class Request
{
    public IEnumerable<IFormFile> Cars { get; set; }
    public List<IFormFile> Boats { get; set; }    
    public IFormFileCollection Jets { get; set; }
}

When submitting collections of form files, the incoming field names can be one of the following 3 formats:

Format One Format Two Format Three
# 1 Cars Boats[1] Jets[]
# 2 Cars Boats[2] Jets[]
Multiple request examples for Swagger

Multiple examples for the request DTO can be specified by either setting the ExampleRequest property of the Summary class multiple times or adding to
the RequestExamples collection like so:

Summary(s =>
{
    s.ExampleRequest = new MyRequest {...};  
    s.ExampleRequest = new MyRequest {...};
    s.RequestExamples.Add(new MyRequest {...});
});

... (truncated)

5.18


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


New 🎉

Source generated DI registrations

Please see the documentation for details of this feature.

Source generated access control lists

Please see the documentation for details of this feature.

Ability to show deprecated endpoint versions in Swagger

By default, deprecated endpoint versions are not included in swagger docs. Now you have the choice of including/displaying them in the doc so they'll be displayed greyed out like this:

image

Please see this usage example on how to enable it.

Round-Robin Event delivery with gRPC

It is now possible to deliver an event to only just one of the connected remote subscribers in a round-robin fashion. Comes in handy when you need to distribute the workload among a pool of subscribers/workers and ensure that a single event is only processed by a single remote subscriber. See the documentation for more info.

Improvements 🚀

Ability to get rid of null-forgiving operator '!' from test code

The TestResult<TResponse>.Result property is no longer a nullable property. This change enables us to get rid of the null-forgiving operator ! from our integration test code.
Existing test code wouldn't have to change. You just don't need to use the ! to hide the compiler warnings anymore. If/when the value of the property is actually null, the tests will
just fail with a NRE, which is fine in the context of test code.

... (truncated)

5.17.1


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


🪲 Fixes

Auth policy not found bug

The auth policy builder was not being run when an endpoint only specifies a Policies(...) config call.

🚀 Improvements

Internal optimizations in 'FastEndpoints.Testing' package
  • Prevent duplicate WAFs from being created for a single TestFixture type.

5.17


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


🔖 New

'FastEndpoints.Testing' package for convenient Integration testing

Please see the documentation for details.

🪲 Fixes

Example generation for swagger nullable request params

Swagger schema example was being auto generated for request parameters even if the field (DTO property) is nullable. See bug report here. Which is not the desired behavior.

Now the examples are only auto generated if developer hasn't decorated the property with a XML example or [DefaultValue(...)] attribute for nullable properties.

Non-nullable properties will always get the example/default values filled in the following order: [DefaultValue(...)] attribute > XML Comment > Auto generated example

⚠️ Minor Breaking Changes

Type discovery source generator behavior change

The source generator no longer automatically discovers types from referenced assemblies/projects.
You now have to add the FastEndpoints.Generator package to each project you'd like to use type discovery with and register the discovered types per assembly like so:

builder.Services.AddFastEndpoints(o =>
{
    o.SourceGeneratorDiscoveredTypes.AddRange(MyApplication.DiscoveredTypes.All);
    o.SourceGeneratorDiscoveredTypes.AddRange(SomeClassLib.DiscoveredTypes.All);
})

5.16


✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to sustain the project. Please help out if you can.


🔖 New

Integration testing with fake/test handlers for messaging features

Both In-Proc and RPC based messaging functionality can now be easily integration tested by registering fake/test handlers during testing. See below links for examples of each:

[DontRegister] attribute for skipping auto registration

Any auto discovered types (endpoints/commands/events/etc.) can be annotated with the attribute [DontRegister] if you'd like it to be skipped while assembly scanning for auto registration.

Auto instantiation of 'JsonSerializerContext' with global 'SerializerOptions'
public override void Configure()
{
    ...
    SerializerContext<UpdateAddressCtx>();
}

By specifying just the type of the serializer context, instead of supplying an instance as with the existing method, the context will be created using the SerializerOptions that you've configured at startup using the UseFastEndpoints(...) call.

Auto generation of examples for swagger request parameters

Take the following example request DTO:

sealed class MyRequest
{
 ... (truncated)

## 5.15


---

### ✨ Looking For Sponsors ✨

FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---

<!-- <details><summary>1️⃣ some title</summary></details> -->

## 📢 New

<details><summary>Job Queues for background processing of commands</summary>

Please see the documentation [here](https://fast-endpoints.com/docs/job-queues) for details.

</details>

<details><summary>TypedResults (union type) support for endpoints</summary>

Please see the documentation [here](https://fast-endpoints.com/docs/get-started#union-type-returning-handler) for details.

</details>

<details><summary>Support for IResult via SendResultAsync() method</summary>

You can now use any `IResult` returned from `Results` static class of minimal apis.

```cs
[HttpGet("bad-result"), AllowAnonymous]
sealed class MyEndpoint : EndpointWithoutRequest
{
    public override async Task HandleAsync(CancellationToken c)
    {
        await SendResultAsync(Results.BadRequest());
    }
}

🚀 Improvements

Allow customization of in-memory event queue size

If you're are using the default in-memory event storage providers, the size limit of their internal queues can now be specified like so:

InMemoryEventQueue.MaxLimit = 1000;
 ... (truncated)

## 5.14


---

### ⭐ Looking For Sponsors
FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---

### 📢 New

<details><summary>1️⃣ gRPC based Event Broker functionality</summary>

Please see the documentation [here](https://fast-endpoints.com/docs/remote-procedure-calls#event-broker-mode) for details.

</details>

<details><summary>2️⃣ Ability to subscribe to exceptions in Event Queues</summary>

Please see the documentation [here](https://fast-endpoints.com/docs/remote-procedure-calls#event-queue-error-notifications) for details.

</details>

<details><summary>3️⃣ Support for TimeProvider in FastEndpoints.Security package</summary>

You can now register your own [TimeProvider](https://learn.microsoft.com/en-us/dotnet/api/system.timeprovider) implementation in the IOC container and the `FastEndpoints.Security` package will use that implementation to obtain the current time for token creation. If no `TimeProvider` is registered, the `TimeProvider.System` default implementation is used. There's no need to wait for .NET 8.0 release since the `TimeProvider` abstract class is already in a `netstandard2.0` BCL package on nuget. #​458

</details>

<details><summary>4️⃣ Support for Asp.Versioning.Http package</summary>

Please see the documentation [here](https://fast-endpoints.com/docs/api-versioning#asp-versioning-http-package-support-experimental) for details.

</details>

<details><summary>5️⃣ Visual Studio Code Extension</summary>

Thanks to [Davor Rilko](https://github.com/drilko) we now have a [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=drilko.fastendpoints) for quickly scaffolding/expanding code snippets similarly to the [VS Extension](https://marketplace.visualstudio.com/items?itemName=dj-nitehawk.FastEndpoints) which has also been updated to bring the functionality up to par.

</details>

### 🚀 Improvements

<details><summary>1️⃣ Optimize Event Queue internals</summary></details>
<details><summary>2️⃣ Upgrade dependencies to latest</summary></details>

<!-- ### 🪲 Fixes -->

<!-- ### ⚠️ Minor Breaking Changes -->

<!-- <details><summary>1️⃣ some title</summary></details> -->
 ... (truncated)

## 5.13


---

### ⭐ Looking For Sponsors
FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---

### 📢 New

<details><summary>1️⃣ Support for RPC Commands that do not return any result</summary>

Remote procedure calls via `ICommand` & `ICommandHandler<TCommand>` is now possible which the initial RPC feature did not support. Command/Handler registration is done the same way:

```cs
//SERVER
app.MapHandlers(h =>
{
    h.Register<SayHelloCommand, SayHelloHandler>();
});

//CLIENT
app.MapRemote("http://localhost:6000", c =>
{
    c.Register<SayHelloCommand>();
});

//COMMAND EXECUTION
await new SayHelloCommand { From = "mars" }.RemoteExecuteAsync();
2️⃣ Reliable remote Pub/Sub event queues

Please refer to the documentation for details of this feature.

🪲 Fixes

1️⃣ Scope creation in a Validator was throwing an exception in unit tests

Validator code such as the following was preventing the validator from being unit tested via the Factory.CreateValidator<T>() method, which has now been fixed.

public class IdValidator : Validator<RequestDto>
{
 ... (truncated)

## 5.12


---

### ⭐ Looking For Sponsors
FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---

<!-- ### ⚠️ Breaking Changes -->

### 📢 New

<details>
<summary>1️⃣ GRPC based Remote-Procedure-Calls</summary>

Please refer to the [documentation](https://fast-endpoints.com/docs/command-bus#dependency-injection) for details of this feature.
</details>

<details>
<summary>2️⃣ Unit test Endpoints that use Resolve&lt;T&gt;() methods</summary> 

It's now possible to unit test endpoints (including dependencies) that use the `Resolve<T>()` methods to resolve services from DI. This is especially helpful when resolving `Scoped` services in `Mapper` classes. Just register the services that need to be "Resolved" like so:

```cs
var ep = Factory.Create<Endpoint>(ctx =>
{
    ctx.AddTestServices(s => s.AddTransient<MyService>());
});

An example mapper that uses the Resolve<T>() method would be such as this:

public class Mapper : Mapper<Request, Response, Entity>
{
    public override Entity ToEntity(Request r)
    {
        var mySvc = Resolve<MyService>();
    }
}
3️⃣ Unit test Mapper & Validator classes that use Resolve<T>()

Mappers & Validators that use the Resolve<T>() methods to obtain services from the DI container can now be unit tested by supplying the necessary dependencies.

var validator = Factory.CreateValidator<AgeValidator>(s =>
{
 ... (truncated)

## 5.11.0


---
### ⭐ Looking For Sponsors
FastEndpoints needs sponsorship to [sustain the project](https://github.com/FastEndpoints/FastEndpoints/issues/449). Please help out if you can.

---
### 📢 New
- ability to call `PublishAsync()` on a `IEvent` type without a concrete event model type [#info](https://discord.com/channels/933662816458645504/1104729873743872170)
- `.UseSwaggerGen(uiConfig: c => c.DeActivateTryItOut())` extension method to de-activate the try it out button by default.
- support for property injection with unit testing using `Factory.Create()` method #​448
- extension method `httpContext.AddTestServices(...)` for cleaner test services registration with `Factory.Create()` method #​448

---
### 🚀 Improvements
- prevent `UseFastEndpoints()` call overwriting the DI registered `JsonOptions` [#info](https://discord.com/channels/933662816458645504/1103132906681012295)
- ability to optionally specify a status code when using the `Throw*(404)` endpoint error short-circuit methods #​450

---
### 🪲 Fixes
- swagger schema properties marked as required by a validator were not removed from the schema in some cases [#info](https://discord.com/channels/933662816458645504/1101429081830064162)

## 5.10

### EXPERIMENTAL
- support for `Asp.Versioning.Http` package via `FastEndpoints.AspVersioning` [#info](https://github.com/FastEndpoints/FastEndpoints/issues/352#issuecomment-1522188041)

### IMPROVEMENTS
- trim down `AddSwaggerDoc()` calls with `SwaggerDocument(Action<DocumentOptions>)`. see deprecations below & [example](https://github.com/FastEndpoints/FastEndpoints/blob/925d96ccea6e01cdee408142be1855f3baf616be/Web/Program.cs#L20-L32).
- improve `IFormFile` support in OAS2 [#info](https://discord.com/channels/933662816458645504/1101429081830064162)
- nswag operation processor internal optimizations

### DEPRECATIONS
> the following methods have been deprecated but will still work until the next major version jump. you may however want to refactor your code as shown in the [latest documentation](https://fast-endpoints.com/docs/swagger-support#enable-swagger), which will only take a few minutes.
- `FastEndpoints.Swagger.Extensions.AddSwaggerDoc()` in favor of `SwaggerDocument(Action<DocumentOptions>)`
- `FastEndpoints.Swagger.Extensions.EndpointFilter()` in favor of `DocumentOptions.EndpointFilter` property
- `FastEndpoints.Swagger.Extensions.TagDescriptions()` in favor of `DocumentOptions.TagDescriptions` property
- `FastEndpoints.Swagger.Extensions.EnableFastEndpoints()` in favor of `EnableFastEndpoints(Action<DocumentOptions>)`

## 5.9

### BREAKING CHANGES
- integration testing extensions (GETAsync(), POSTAsync(), etc.) no longer throws `InvalidOperationException`
> if your integration tests are doing try/catch blocks for doing assertions on the unhappy/error path, those tests would now fail. you'll have to get rid of the try/catch blocks and assert on the `HttpResponseMessage`'s properties instead. 
here's an [example](https://github.com/FastEndpoints/FastEndpoints/blob/4831acea19f8b574bf7e4ebfe390ec4138a2a7e1/Tests/IntegrationTests/FastEndpoints.IntegrationTests/WebTests/AdminTests.cs#L65-L94).

### NEW
- `ValidationContext<T>` class for manipulating the validation failures list of the current endpoint [#info](https://fast-endpoints.com/docs/validation#throwing-adding-errors-from-anywhere)
- `RFC8707` compatible problem detail (error response) builder [#info](https://fast-endpoints.com/docs/configuration-settings#rfc8707-compatible-problem-details)
- `JsonExceptionTransformer` func to enable customization of error messages when STJ throws due to invalid json input [#info](https://discord.com/channels/933662816458645504/1095670893113528370/1095923891605622884)
- `ClearDefaultProduces(200,401,401)` extension method to clear chosen produces metadata added by default [#info](https://fast-endpoints.com/docs/swagger-support#clear-only-accepts-metadata)
- `MarkNonNullablePropsAsRequired()` swagger doc extension for TS client generation with OA3 swagger definitions #​388
- json array request body binding for inherited `IEnumerable<T>` request DTOs #​436

### IMPROVEMENTS
- automatically add `400 - Bad Request`, `401 - Unauthorized` and `403 - Forbidden` produces metadata to endpoints by default [#info](https://fast-endpoints.com/docs/swagger-support#describe-endpoints) 
- add overload to `AddError()`, `ThrowError()`, `ThrowIfAnyErrors()` methods to accept a `ValidationFailure` [#info](https://discord.com/channels/933662816458645504/1090551226598432828/1090934715952926740)
- modify type discovery source generator for incremental generation #​426 
- upgrade dependencies to latest

### FIXES
- default response serializer func overriding the `content-type` of 400 responses [#info](https://discord.com/channels/933662816458645504/1090697556549447821)
- swagger descriptions for properties decorated with `[FromHeader("...")]` not being picked up [#info](https://discord.com/channels/933662816458645504/1093846313201827940)
- swagger descriptions for inherited classes/schema not being picked up

## 5.8.1

### IMPROVEMENTS
- optional boolean argument `urlEncoded` for `AllowFormData()` method to accept `application/x-www-form-urlencoded` instead of `multipart/form-data` [#info](https://fast-endpoints.com/docs/model-binding#from-form-fields)
- ability to submit a request DTO as multipart form data when integration testing endpoints that accept form data. [#​409](https://github.com/FastEndpoints/FastEndpoints/issues/409#issuecomment-1473758591)
- ability to execute a non-concrete `ICommand` types #​411
- refactor & simplify httpclient extensions for testing 

### FIXES
- `EndpointWithMapping<TRequest, TResponse, TEntity>` map methods becoming protected in v5.8 [#info](https://discord.com/channels/933662816458645504/1082207914376319026)
- double response issue if pre-processor sent response and validator also has failures. [#info](https://discord.com/channels/933662816458645504/1080609437879914506)
- endpoint factory being inferred from request body issue [#info](https://discord.com/channels/933662816458645504/1084841217898061915)
- incorrect swagger spec generation issue [#info](https://discord.com/channels/933662816458645504/1085966972560347237)
- minor oversight in accept metadata checking/caching per endpoint on first request [#info](https://discord.com/channels/933662816458645504/1085526696406548604/1087362733021872200)

## 5.8

### NEW
- support for `record` types and `required` keyword by removing `new()` constraint on request DTOs
- allow command handlers to manipulate endpoint validation state [#info](https://fast-endpoints.com/docs/command-bus#manipulating-endpoint-error-state)
- ability to share state between pre/post processors and endpoint handler [#info](https://fast-endpoints.com/docs/pre-post-processors#sharing-state)
- add `Policy()` method to endpoint class for building authorization requirements per endpoint [#info](https://fast-endpoints.com/docs/security#policy-method)
- ability to automatically add produces 400 metadata for endpoints with validators [#info](https://discord.com/channels/933662816458645504/1077784720051556473)
- ability to remove optional `[FromHeaders],[FromClaim],[HasPermission]` annotated properties from swagger request schema #​387
- support for `IParsable<T>` interface from .net 7.0 #​385
- support for ignoring `GET` request DTO properties annotated with `[JsonIgnore]` attribute for disabling binding [#info](https://discord.com/channels/933662816458645504/1078782887756824606/1079980820581859378)

### IMPROVEMENTS
- better swagger support for OAS2.0 #​390
- testing extensions now return a `TestResult<TResponse>` record instead of a value tuple
- optimize the endpoint request handler internals

### FIXES
- duplicate validator detection issue #​394
- contention issue with parallel test runs #​395
- `RSA` instance being disposed when using `Assymetric` JWT signing style
- handling of STJ exceptions when the error is not directly related to any field of the json payload #​391

## 5.7.2

### IMPROVEMENTS
- add overload for `TagDescriptions()` method for adding swagger tag descriptions with tuples [#info](https://fast-endpoints.com/docs/swagger-support#swagger-operation-tags)
- swagger support for route params with mixed patterns #​380
- misc. improvements to `FastEndpoints.Security` package internals
- upgrade all dependencies to latest

## 5.7.1

### FIXES
- .net 7 `IEndpointFilter` classes not executing correctly [#info](https://discord.com/channels/933662816458645504/1072142204862205972)
- object disposed exeception when signing with assymetric key #​372
- STJ trying to bind json object as `IEnumerable` when dto prop is `IDictionary` [#info](https://discord.com/channels/933662816458645504/1069941646646595594)

## 5.7

### NEW
- easy cookie auth support via `FastEndpoints.Security` package [#info](https://fast-endpoints.com/docs/security#cookie-based-authentication)
- add `SendInterceptedAsync()` method to endpoint class for compatibility with `FluentResults` package #​365

### IMPROVEMENTS
- auto send 415 response if endpoint specifies content-types but request doesn't have any content-type headers [#info](https://discord.com/channels/933662816458645504/955771546654359553/1070336144941797477)
- better handling of inherited `ICommandHandler` [#info](https://discord.com/channels/933662816458645504/1067599463310446592)

### FIXES
- jwt refresh token renewal privileges were not correctly set if awaiting a task in the method #​368

## 5.6

### CHANGES
- `AddAuthenticationJWTBearer()` has been renamed to `AddJWTBearerAuth()` and signature changed [#info](https://fast-endpoints.com/docs/security#jwt-bearer-authentication)

### NEW
- customize dto property binding failure message #​356
- ability to specify jwt bearer events with `AddJWTBearerAuth()` #​359

### IMPROVEMENTS
- send 400 error response with json body instead of 500 exception when STJ throws #​360
- not fail modelbinding if queryparam is empty and dto property is nullable [#info](https://discord.com/channels/933662816458645504/1053657195771858944)

Commits viewable in [compare view](https://github.com/FastEndpoints/FastEndpoints/compare/v5.5...v5.22).
</details>

Updated [FastEndpoints.ApiExplorer](https://github.com/ductran95/FastEndpoints.Extensions) from 2.0.1 to 2.3.0.

<details>
<summary>Release notes</summary>

_Sourced from [FastEndpoints.ApiExplorer's releases](https://github.com/ductran95/FastEndpoints.Extensions/releases)._

## 2.3.0

**Full Changelog**: https://github.com/ductran95/FastEndpoints.Extensions/compare/v2.2.0...v2.3.0

## 2.2.0

**Full Changelog**: https://github.com/ductran95/FastEndpoints.Extensions/compare/v2.1.0...v2.2.0

## 2.1.0

**Full Changelog**: https://github.com/ductran95/FastEndpoints.Extensions/compare/v2.0.1...v2.1.0

Commits viewable in [compare view](https://github.com/ductran95/FastEndpoints.Extensions/compare/v2.0.1...v2.3.0).
</details>

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps FastEndpoints from 5.5.0 to 5.22.0
Bumps FastEndpoints.ApiExplorer from 2.0.1 to 2.3.0

---
updated-dependencies:
- dependency-name: FastEndpoints
  dependency-version: 5.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: FastEndpoints.ApiExplorer
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Sep 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant