Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
Version: 1.0.7
Availability: .NET 10

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

Version: 1.0.6
Availability: .NET 10

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

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

Version: 1.0.6
Availability: .NET 10

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

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

Version: 1.0.6
Availability: .NET 10

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

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

Version: 1.0.6
Availability: .NET 10

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

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

Version: 1.0.6
Availability: .NET 10

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

For more details, please refer to `PackageReleaseNotes.txt` on a per assembly basis in the `.nuget` folder.

## [1.0.7] - 2026-08-16

This is a service update that focuses on package dependencies.

## [1.0.6] - 2026-07-24

This is a patch release that updates Cuemon and Codebelt shared dependencies to their latest stable versions, improves build configuration, enhances CI/CD automation, and modernizes code formatting.
Expand Down
46 changes: 23 additions & 23 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.8" />
<PackageVersion Include="Carter" Version="10.0.0" />
<PackageVersion Include="Codebelt.Extensions.AspNetCore.Newtonsoft.Json" Version="10.1.6" />
<PackageVersion Include="Codebelt.Extensions.AspNetCore.Text.Yaml" Version="10.1.6" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.1.2" />
<PackageVersion Include="Cuemon.Core" Version="10.5.5" />
<PackageVersion Include="Cuemon.Extensions.AspNetCore.Text.Json" Version="10.5.5" />
<PackageVersion Include="Cuemon.Extensions.AspNetCore.Xml" Version="10.5.5" />
<PackageVersion Include="Cuemon.Extensions.IO" Version="10.5.5" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageVersion Include="MinVer" Version="7.0.0" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="coverlet.msbuild" Version="10.0.1" />
<PackageVersion Include="xunit.v3" Version="3.2.2" />
<PackageVersion Include="xunit.v3.runner.console" Version="3.2.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.15.8" />
<PackageVersion Include="Carter" Version="10.0.0" />
<PackageVersion Include="Codebelt.Extensions.AspNetCore.Newtonsoft.Json" Version="10.1.7" />
<PackageVersion Include="Codebelt.Extensions.AspNetCore.Text.Yaml" Version="10.1.6" />
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="11.2.1" />
<PackageVersion Include="Cuemon.Core" Version="10.7.0" />
<PackageVersion Include="Cuemon.Extensions.AspNetCore.Text.Json" Version="10.7.0" />
<PackageVersion Include="Cuemon.Extensions.AspNetCore.Xml" Version="10.7.0" />
<PackageVersion Include="Cuemon.Extensions.IO" Version="10.7.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.9.0" />
<PackageVersion Include="MinVer" Version="7.0.0" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="coverlet.msbuild" Version="10.0.1" />
<PackageVersion Include="xunit.v3" Version="4.0.0" />
<PackageVersion Include="xunit.v3.runner.console" Version="4.0.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="4.0.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
using Codebelt.Extensions.YamlDotNet.Formatters;
using Microsoft.Extensions.Options;
using System.Text;
using Codebelt.Extensions.Carter.Response;
using Cuemon.Runtime.Serialization.Formatters;
namespace Codebelt.Extensions.Carter.AspNetCore.Text.Yaml;
/// <summary>
/// Provides a YAML response negotiator for Carter, capable of serializing response models to YAML format.
/// </summary>
/// <seealso cref="ConfigurableResponseNegotiator{TOptions}"/>
public class YamlResponseNegotiator : ConfigurableResponseNegotiator<YamlFormatterOptions>
{
/// <summary>
/// Initializes a new instance of the <see cref="YamlResponseNegotiator"/> class.
/// </summary>
/// <param name="options">The <see cref="YamlFormatterOptions"/> used to configure YAML serialization and supported media types.</param>
public YamlResponseNegotiator(IOptions<YamlFormatterOptions> options) : base(options.Value)
{
}
/// <summary>
/// Returns the character encoding specified by the <see cref="YamlFormatterOptions"/>.
/// </summary>
/// <returns>The default <see cref="Encoding"/> for this negotiator.</returns>
protected override Encoding GetDefaultEncoding() => Options.Encoding;
/// <summary>
/// Returns a new <see cref="YamlFormatter"/> configured with the current <see cref="YamlFormatterOptions"/>.
/// </summary>
/// <returns>A <see cref="YamlFormatter"/> instance configured with the current <see cref="YamlFormatterOptions"/>.</returns>
public override StreamFormatter<YamlFormatterOptions> GetFormatter()
{
return new YamlFormatter(Options);
}
}
using Codebelt.Extensions.YamlDotNet.Formatters;
using Microsoft.Extensions.Options;
using System.Text;
using Codebelt.Extensions.Carter.Response;
using Cuemon.Runtime.Serialization.Formatters;

namespace Codebelt.Extensions.Carter.AspNetCore.Text.Yaml;

/// <summary>
/// Provides a YAML response negotiator for Carter, capable of serializing response models to YAML format.
/// </summary>
/// <seealso cref="ConfigurableResponseNegotiator{TOptions}"/>
public class YamlResponseNegotiator : ConfigurableResponseNegotiator<YamlFormatterOptions>
{
/// <summary>
/// Initializes a new instance of the <see cref="YamlResponseNegotiator"/> class.
/// </summary>
/// <param name="options">The <see cref="YamlFormatterOptions"/> used to configure YAML serialization and supported media types.</param>
public YamlResponseNegotiator(IOptions<YamlFormatterOptions> options) : base(options.Value)
{
}

/// <summary>
/// Returns the character encoding specified by the <see cref="YamlFormatterOptions"/>.
/// </summary>
/// <returns>The default <see cref="Encoding"/> for this negotiator.</returns>
protected override Encoding GetDefaultEncoding() => Options.Encoding;

/// <summary>
/// Returns a new <see cref="YamlFormatter"/> configured with the current <see cref="YamlFormatterOptions"/>.
/// </summary>
/// <returns>A <see cref="YamlFormatter"/> instance configured with the current <see cref="YamlFormatterOptions"/>.</returns>
public override StreamFormatter<YamlFormatterOptions> GetFormatter()
{
return new YamlFormatter(Options);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Codebelt.Extensions.Carter.AspNetCore.Xml;
/// Provides an XML response negotiator for Carter, capable of serializing response models to XML format.
/// </summary>
/// <seealso cref="ConfigurableResponseNegotiator{TOptions}"/>
public class XmlResponseNegotiator : ConfigurableResponseNegotiator<XmlFormatterOptions>
public class XmlResponseNegotiator : ConfigurableResponseNegotiator<XmlFormatterOptions>
{
/// <summary>
/// Initializes a new instance of the <see cref="XmlResponseNegotiator"/> class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
namespace Codebelt.Extensions.Carter;
/// <summary>
/// Extension methods for <see cref="IEndpointConventionBuilder"/>.
/// </summary>
public static class EndpointConventionBuilderExtensions
{
/// <param name="builder">The <see cref="IEndpointConventionBuilder"/> to add the metadata to.</param>
extension(IEndpointConventionBuilder builder)
{
/// <summary>
/// Adds metadata indicating that the endpoint produces a response of the specified type with the given status code and content types.
/// </summary>
/// <typeparam name="TResponse">The type of the response body.</typeparam>
/// <param name="statusCode">The HTTP status code of the response. Defaults to <see cref="StatusCodes.Status200OK"/>.</param>
/// <param name="contentTypes">The content types produced by the endpoint.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/> with the added metadata.</returns>
public IEndpointConventionBuilder Produces<TResponse>(int statusCode = StatusCodes.Status200OK, params string[] contentTypes)
{
return builder.WithMetadata(new ProducesResponseTypeMetadata(statusCode, typeof(TResponse), contentTypes));
}
/// <summary>
/// Adds metadata indicating that the endpoint produces a response with the given status code and no response body.
/// </summary>
/// <param name="statusCode">The HTTP status code of the response.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/> with the added metadata.</returns>
public IEndpointConventionBuilder Produces(int statusCode)
{
return builder.WithMetadata(new ProducesResponseTypeMetadata(statusCode));
}
}
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;

namespace Codebelt.Extensions.Carter;

/// <summary>
/// Extension methods for <see cref="IEndpointConventionBuilder"/>.
/// </summary>
public static class EndpointConventionBuilderExtensions
{
/// <param name="builder">The <see cref="IEndpointConventionBuilder"/> to add the metadata to.</param>
extension(IEndpointConventionBuilder builder)
{
/// <summary>
/// Adds metadata indicating that the endpoint produces a response of the specified type with the given status code and content types.
/// </summary>
/// <typeparam name="TResponse">The type of the response body.</typeparam>
/// <param name="statusCode">The HTTP status code of the response. Defaults to <see cref="StatusCodes.Status200OK"/>.</param>
/// <param name="contentTypes">The content types produced by the endpoint.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/> with the added metadata.</returns>
public IEndpointConventionBuilder Produces<TResponse>(int statusCode = StatusCodes.Status200OK, params string[] contentTypes)
{
return builder.WithMetadata(new ProducesResponseTypeMetadata(statusCode, typeof(TResponse), contentTypes));
}

/// <summary>
/// Adds metadata indicating that the endpoint produces a response with the given status code and no response body.
/// </summary>
/// <param name="statusCode">The HTTP status code of the response.</param>
/// <returns>The <see cref="IEndpointConventionBuilder"/> with the added metadata.</returns>
public IEndpointConventionBuilder Produces(int statusCode)
{
return builder.WithMetadata(new ProducesResponseTypeMetadata(statusCode));
}
}
}
Loading
Loading