Skip to content
Merged
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
4 changes: 2 additions & 2 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "NetCoreApplicationTemplate",
"version": "2.3.0",
"version": "2.3.1",
"upload_type": "software",
"description": "A reusable ASP.NET Core application template for secure, maintainable, production-oriented .NET applications. It organizes startup composition, middleware ordering, structured logging, forwarded headers, security headers, rate limiting, centralized error handling, authentication and authorization foundations, EF Core data access patterns, CI validation, template packaging, and DocFX documentation.",
"creators": [
Expand Down Expand Up @@ -45,4 +45,4 @@
"resource_type": "publication-workingpaper"
}
]
}
}
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,20 @@ All notable changes to this project are documented in this file.

This project follows Semantic Versioning using the format `MAJOR.MINOR.PATCH`.

## 2.3.1 - 2026-07-06

### Changed

* Changed centralized Problem Details exception mapping so plain `ArgumentException` is treated as an internal server fault instead of a bad request.
* Preserved `BadHttpRequestException` mapping to HTTP 400 for request-level malformed input failures.
* Updated Problem Details tests to verify status, title, and production detail-hiding behavior for both request-level and internal exception paths.
* Updated release metadata, package README examples, template packaging docs, citation metadata, and Zenodo metadata for `2.3.1`.

### Notes

* This is a patch release because it hardens exception classification and diagnostics without changing package identity, template identity, template options, or the default scaffold purpose.
* Internal/developer argument failures now contribute to server-error diagnostics instead of being misclassified as client bad-request traffic.

## 2.3.0 - 2026-07-03

### Added
Expand Down Expand Up @@ -174,4 +188,4 @@ This release does not change the project’s core purpose: providing a productio
### Maintenance

* Prepared the repository for the `1.0.2` package release.
* No generated scaffold behavior changes are included in this release.
* No generated scaffold behavior changes are included in this release.
6 changes: 3 additions & 3 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
cff-version: 1.2.0
message: "If you use this software, please cite it using the metadata below."
title: "NetCoreApplicationTemplate"
version: "2.3.0"
date-released: "2026-07-03"
version: "2.3.1"
date-released: "2026-07-06"
repository-code: "https://github.com/cdcavell/NetCoreApplicationTemplate"
url: "https://cdcavell.github.io/NetCoreApplicationTemplate/"
type: software
Expand All @@ -21,4 +21,4 @@ keywords:
- dotnet
- application-template
- security
- software-architecture
- software-architecture
8 changes: 4 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>

<VersionPrefix>2.3.0</VersionPrefix>
<VersionPrefix>2.3.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Version Condition="'$(VersionSuffix)' == ''">$(VersionPrefix)</Version>
<Version Condition="'$(VersionSuffix)' != ''">$(VersionPrefix)-$(VersionSuffix)</Version>
<AssemblyVersion>2.3.0.0</AssemblyVersion>
<FileVersion>2.3.0.0</FileVersion>
<AssemblyVersion>2.3.1.0</AssemblyVersion>
<FileVersion>2.3.1.0</FileVersion>
<InformationalVersion>$(Version)+$(RepositoryUrl)</InformationalVersion>

<ContinuousIntegrationBuild Condition="'$(GITHUB_ACTIONS)' == 'true'">true</ContinuousIntegrationBuild>
Expand All @@ -31,4 +31,4 @@
<RepositoryUrl>https://github.com/cdcavell/NetCoreApplicationTemplate</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
</Project>
</Project>
6 changes: 3 additions & 3 deletions NetCoreApplicationTemplate.Template.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
<PackageReadmeFile>PACKAGE-README.md</PackageReadmeFile>
<PackageIcon>PACKAGE-ICON.png</PackageIcon>
<PackageReleaseNotes>Minor 2.3.0 release of the NetCoreApplicationTemplate dotnet new template. This release hardens rate-limit client partition fallback behavior when RemoteIpAddress is unavailable, adds explicit configuration for shared unknown-client partitioning, logs fallback usage, and expands forwarded-header documentation around trusted proxy configuration and middleware ordering while preserving the stable 2.x package identity and default scaffold purpose.</PackageReleaseNotes>
<VersionPrefix>2.3.0</VersionPrefix>
<PackageReleaseNotes>Patch 2.3.1 release of the NetCoreApplicationTemplate dotnet new template. This release hardens centralized Problem Details exception classification by treating plain ArgumentException as an internal server fault while preserving BadHttpRequestException as the explicit request-level HTTP 400 path, with tests covering status, title, and production detail-hiding behavior.</PackageReleaseNotes>
<VersionPrefix>2.3.1</VersionPrefix>
<VersionSuffix></VersionSuffix>
<Version>$(VersionPrefix)</Version>
<PackageType>Template</PackageType>
Expand Down Expand Up @@ -49,4 +49,4 @@
<Content Include="PACKAGE-ICON.png" Pack="true" PackagePath="" />
</ItemGroup>

</Project>
</Project>
12 changes: 6 additions & 6 deletions PACKAGE-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ This README is intended for NuGet package consumers. The full repository README
Install the template package from NuGet:

```text
dotnet new install NetCoreApplicationTemplate::2.3.0
dotnet new install NetCoreApplicationTemplate::2.3.1
```

For local package validation, install a packed package directly:

```text
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.0.nupkg
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.1.nupkg
```

## Generate a project
Expand Down Expand Up @@ -79,7 +79,7 @@ dotnet test --configuration Release
Install the newer package version with the same package identity:

```text
dotnet new install NetCoreApplicationTemplate::2.3.0
dotnet new install NetCoreApplicationTemplate::2.3.1
```

## Uninstall
Expand All @@ -93,9 +93,9 @@ dotnet new uninstall NetCoreApplicationTemplate
- GitHub repository: https://github.com/cdcavell/NetCoreApplicationTemplate
- Published documentation: https://cdcavell.github.io/NetCoreApplicationTemplate/
- Template packaging documentation: https://cdcavell.github.io/NetCoreApplicationTemplate/articles/template-packaging.html
- Changelog: https://github.com/cdcavell/NetCoreApplicationTemplate/blob/main/CHANGELOG.md
- License: https://github.com/cdcavell/NetCoreApplicationTemplate/blob/main/LICENSE.txt
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Releases: https://github.com/cdcavell/NetCoreApplicationTemplate/releases
- Coverage Report: https://cdcavell.github.io/NetCoreApplicationTemplate/coverage/index.html

Generated projects receive their own consumer-oriented README from the scaffold. This package README is intentionally limited to NuGet installation, scaffold options, validation commands, and consumer-facing reference links.
Generated projects receive their own consumer-oriented README from the scaffold. This package README is intentionally limited to NuGet installation, scaffold options, validation commands, and consumer-facing reference links.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ This repository provides a working application baseline with common infrastructu
## Current Release

<!-- BEGIN LATEST_RELEASE -->
Current release: __[Release 2.3.0](https://github.com/cdcavell/NetCoreApplicationTemplate/releases/tag/v2.3.0)__
Current release: __[Release 2.3.1](https://github.com/cdcavell/NetCoreApplicationTemplate/releases/tag/v2.3.1)__

Tag: `v2.3.0`
Tag: `v2.3.1`
<!-- END LATEST_RELEASE -->

## Project Goals
Expand Down Expand Up @@ -163,7 +163,7 @@ The scaffolded consumer output intentionally excludes repository-maintainer cont
Install the published template package:

```powershell
dotnet new install NetCoreApplicationTemplate::2.3.0
dotnet new install NetCoreApplicationTemplate::2.3.1
```

### Pack and Install Locally
Expand All @@ -177,7 +177,7 @@ dotnet pack ./NetCoreApplicationTemplate.Template.csproj --configuration Release
Install the generated package:

```powershell
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.0.nupkg
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.1.nupkg
```

Generate a consumer project:
Expand Down Expand Up @@ -234,7 +234,7 @@ The non-default scaffold preserves the template's core guardrails, including str
Update the installed template by installing a newer package version:

```powershell
dotnet new install NetCoreApplicationTemplate::2.3.0
dotnet new install NetCoreApplicationTemplate::2.3.1
```

Uninstall the template package:
Expand Down Expand Up @@ -426,12 +426,12 @@ If you use this repository, please cite it using the metadata in [`CITATION.cff`
- Suggested plain-text citation:

```text
Cavell, Christopher D. NetCoreApplicationTemplate. Version 2.3.0. Zenodo. MIT License. https://doi.org/10.5281/zenodo.20373042
Cavell, Christopher D. NetCoreApplicationTemplate. Version 2.3.1. Zenodo. MIT License. https://doi.org/10.5281/zenodo.20373042
```

## Roadmap

The project is a reusable .NET application template with a stable `2.3.0` package baseline. Future work may include additional provider modules, expanded examples, optional template parameters, and continued hardening of the documented release surface.
The project is a reusable .NET application template with a stable `2.3.1` package baseline. Future work may include additional provider modules, expanded examples, optional template parameters, and continued hardening of the documented release surface.

See [Template Packaging](https://cdcavell.github.io/NetCoreApplicationTemplate/articles/template-packaging.html) for the current packaging direction.

Expand All @@ -441,4 +441,4 @@ This project is licensed under the MIT License.

See [LICENSE.txt](LICENSE.txt) for full license details.

Third-party assets, libraries, templates, icons, fonts, images, or other externally sourced materials used by this project are documented in [ASSETS-LICENSES.md](ASSETS-LICENSES.md).
Third-party assets, libraries, templates, icons, fonts, images, or other externally sourced materials used by this project are documented in [ASSETS-LICENSES.md](ASSETS-LICENSES.md).
8 changes: 4 additions & 4 deletions docs/articles/template-packaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Package-based validation is preferred because it verifies the actual distributio
| Template identity | `CDCavell.NetCoreApplicationTemplate.CSharp` |
| Template group identity | `CDCavell.NetCoreApplicationTemplate` |
| Source replacement token | `ProjectTemplate` |
| Current package version | `2.3.0` |
| Current package version | `2.3.1` |

The `2.0.0` release moved the public NuGet package ID to `NetCoreApplicationTemplate`. The internal template identity and group identity remain unchanged for template metadata continuity.

Expand Down Expand Up @@ -92,13 +92,13 @@ dotnet pack ./NetCoreApplicationTemplate.Template.csproj --configuration Release
Install the published package from NuGet:

```powershell
dotnet new install NetCoreApplicationTemplate::2.3.0
dotnet new install NetCoreApplicationTemplate::2.3.1
```

Install a locally packed package:

```powershell
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.0.nupkg
dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.3.1.nupkg
```

## Create a New Project from the Template
Expand Down Expand Up @@ -216,4 +216,4 @@ Stable usage follows this pattern:
```powershell
dotnet new install NetCoreApplicationTemplate
dotnet new netcoreapp-template -n ContosoSecurityPortal
```
```
Loading