Release Notes
hosting-10.2.0 (2026-03-31)
Breaking Changes
Setupconstructor signature changed - The constructor parameterbool supressUnhandledArgumentExceptionLogginghas been replaced withstring configRoot. Callers must pass the configuration root directory explicitly (e.g.,new Setup(args, AppContext.BaseDirectory)).Removed
SupressUnhandledArgumentExceptionLoggingandConfigureLogging()- TheSupressUnhandledArgumentExceptionLoggingproperty and the virtualConfigureLogging()override point have been removed. Serilog filtering must now be configured directly via theserilog.jsonconfiguration file.hostsettings.jsonno longer loaded - Host URL configuration viahostsettings.jsonis no longer part of the default configuration pipeline.Removed
LogUsageandHttpRequestLoggingMiddleware- TheLogUsageproperty onStartup, theHttpRequestLoggingMiddleware,UsageWriter, andUsageDataclasses have all been removed. Request logging should now be implemented using Serilog's built-in middleware or custom enrichers.
Changes
IHttpContextAccessorregistered by default -services.AddHttpContextAccessor()is now called inStartup.ConfigureServices(), makingIHttpContextAccessoravailable for injection without additional setup.Serilog configured from
serilog.json- Serilog is now configured by readingserilog.json(andserilog.{environment}.json) directly viaConfigurationin theSetupconstructor, replacing the previousSetupSerilog.UseConfigFile()approach.config-rootconstructor parameter - The base directory from which configuration files are loaded is now passed directly as theconfigRootconstructor argument toSetup, defaulting toAppContext.BaseDirectory.RazorPagestoggle onStartup- A newprotected virtual bool RazorPagesproperty (defaultfalse) can be overridden to enable Razor Pages support. Whentrue,AddRazorPages()is registered andMapRazorPages()is wired into the endpoint pipeline.RunAsync()usesawait using- The bootstrap logger is now disposed asynchronously withawait usingfor correct async teardown.
hosting-10.1.0 (2026-01-27)
Breaking Changes
Simplified global exception handling - Removed the
IGlobalExceptionHandlerinterface,HttpApiException,ErrorMessage,ProblemDetailsWithTraceId,LegacyGobalExceptionHandler, andExceptionHandlerSerializationOptionsclasses. The global exception handler is now a sealedGlobalExceptionHandlerclass that serves as a fallback for unhandled exceptions. Errors should be handled explicitly usingActionResultin controller actions.Removed
GlobalExceptionHandlerproperty fromStartup- The virtualGlobalExceptionHandlerproperty has been removed. The handler is no longer customizable via override.
hosting-10.0.1 (2026-01-20)
Documentation
Added comprehensive documentation - Migrated and expanded documentation to DocFX format:
- Authentication guide covering Kerberos and JWT Bearer token configuration
- Custom error response handling guide
- Plain text input formatter usage
- Service/daemon application development guide
- SPA hosting configuration guide
- Web API application development guide
- Request logging documentation
Enhanced README - Expanded the
Albatross.HostingREADME with more detailed usage examples and configuration options
Infrastructure
- Added GitHub Actions workflow - Added GitHub Pages workflow for automated documentation publishing
hosting-10.0.0 (2025-12-10)
Breaking Changes
- Upgraded to .NET 10 - The target framework has been upgraded from .NET 9 to .NET 10. All consuming projects must target .NET 10 or later.
Changes
Fixed default authentication scheme - Changed authentication configuration to use
AuthenticationSettings.GetDefault()method instead of theDefaultAuthenticationSchemeproperty for more reliable scheme resolution.Updated OpenAPI integration - Updated to the latest OpenAPI types:
- Changed
Dictionary<string, OpenApiSecurityScheme>toDictionary<string, IOpenApiSecurityScheme> - Changed
doc.SecurityRequirementstodoc.Security - Updated to use
OpenApiSecuritySchemeReferencefor security requirement references
- Changed
Dependencies
Updated all dependencies to .NET 10 compatible versions:
Albatross.Logging10.0.1Albatross.Serialization.Json10.0.0Microsoft.AspNetCore.Authentication.JwtBearer10.0.1Microsoft.AspNetCore.Authentication.Negotiate10.0.1Microsoft.AspNetCore.SpaServices.Extensions10.0.1Microsoft.Extensions.Hosting.Systemd10.0.1Microsoft.Extensions.Hosting.WindowsServices10.0.1Microsoft.AspNetCore.OpenApi10.0.1Swashbuckle.AspNetCore10.0.1