All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
DotNetConsoleLogger.csstatic class to provide initialization, access, and shutdown for the logger instance used in console applications.
- Fixed loading of
appsettings.Development.jsonduringcheck-depsruns by forcing the Development environment for dependency validation. - Updated Scrutor to v6.1.0.
- Updated Microsoft.Extensions packages to latest patch versions.
- Removed obsolete serialization constructor and
[Serializable]attribute fromDotNetConsoleExceptionas formatter-based serialization is no longer supported or recommended in modern .NET.
5.0.1 - 2026-03-25
ConfigureAppConfigurationmethod toDotNetConsoleBuilder(re-)enabling custom configuration providersCustomArgumentParsingAttributeto allow verbs to accept unknown arguments for manual parsing
- Fixed configuration provider timing:
DotNetConsole.Configurationnow properly reflects all configuration providers (including those added viaConfigureAppConfiguration) when accessed early in the application lifecycle.
5.0.0 - 2025-01-27
- Added cancellation token support for commands
- Added a built-in
check-depscommand that validates the application's Dependency Injection setup by ensuring all required services are fully and correctly registered in the composition root.
- Updated Scrutor to v6.0.1
- Updated NLog.Extensions.Logging to v5.3.15
- Updated Microsoft.Extensions.Configuration.Json to v8.0.1
- Updated Microsoft.Extensions.Configuration.UserSecrets to v8.0.1
- Updated Microsoft.Extensions.DependencyInjection to v8.0.1
- Updated Microsoft.Extensions.Hosting to v8.0.1
- Updated Microsoft.Extensions.Logging to v8.0.1
- Updated Microsoft.Extensions.Logging.Configuration to v8.0.1
3.0.4 - 2024-11-28
- Resolved another case where appsettings.json was being loaded from the current working directory instead of the executable's directory.
3.0.3 - 2024-10-09
- Resolved an issue where appsettings.json was being loaded from the current working directory instead of the executable's directory.
3.0.2 - 2024-10-04
- If a default verb is defined, calls of the application that only use parameters should be allowed
- Updated NLog.Extensions.Logging to v5.3.14
3.0.1 - 2024-10-02
- Bump version number to 3.0.1 to release the package to nuget.org
3.0.0 - 2024-09-30
- Updated everything to .NET 8
- Enabled nullable reference types
- Changed app builder initialization code to resemble the current default ASP.NET Core hosting model
- If a default verb is defined, the verb passed by the user must strictly match one of the available verbs
- Updated NLog to v5.3.4
- Updated NLog.Extensions.Logging to v5.3.13
- Commands are now async by default, they must use the new
IDotNetConsoleCommandinterface instead ofIConsoleAppCommandandIAsyncConsoleAppCommand.
- Lots of classes that were originally copied from the ASP.NET Core hosting model source code and are now no longer needed
- Removed
IAsyncConsoleAppCommandandIConsoleAppCommandin favor of the newIDotNetConsoleCommandinterface
2.0.2 - 2024-06-06
- Added README.md file to the NuGet package
2.0.1 - 2024-06-06
- Updated NLog to v5.3
- Updated Neolution.CodeAnalysis to v3.0.5
2.0.0 - 2024-02-07
- Create Console App Scope asynchronously
- Cleaned repository from now unused Azure DevOps files
- Async Console Application variant
- MIT licence expression for NuGet package
- Updated NLog to V5
- Updated CommandLineParser to v2.9.1
- Removed AWS NLog Logger assembly that was used for logging to Amazon CloudWatch