Skip to content

Release 2.2.0

Latest

Choose a tag to compare

@cdcavell cdcavell released this 29 Jun 18:58
· 1 commit to main since this release
008d694

Summary

Release 2.2.0 is a minor release focused on improving the EF Core save pipeline architecture, reducing repeated ChangeTracker work, strengthening test coverage around the new interceptor path, and updating release metadata for the 2.2.x line.

Highlights

  • Refactored EF Core save preparation into an application-owned IApplicationSaveChangesPipeline / ApplicationSaveChangesPipeline.
  • Added ApplicationSaveChangesInterceptor as the composite EF Core save lifecycle interceptor.
  • Moved save-pipeline invocation into EF Core SavingChanges / SavingChangesAsync and SavedChanges / SavedChangesAsync hooks.
  • Reduced repeated ChangeTracker enumeration by materializing relevant entries once and reusing them across save-pipeline concerns.
  • Reduced ApplicationDbContext save overrides to optimistic-concurrency exception handling around EF Core’s native save flow.
  • Documented the EF Core save pipeline extension model, including when to replace or decorate IApplicationSaveChangesPipeline.
  • Added ADR 0004 explaining the decision to keep the composite SaveChanges interceptor rather than splitting into specialized interceptors at this stage.
  • Added branch-focused tests for ApplicationSaveChangesInterceptor, including constructor guard, non-ApplicationDbContext, and bounded after-save follow-up branches.
  • Updated package, README, template packaging, citation, and Zenodo metadata for 2.2.0.

Compatibility Notes

This release preserves the stable 2.x package identity, template short name, template options, and default scaffold behavior.

The default generated scaffold continues to use:

  • Package ID: NetCoreApplicationTemplate
  • Template short name: netcoreapp-template
  • Default authentication provider: cookie
  • Default data provider: sqlite

No breaking changes are intended.

Upgrade

Install or update the template package with:

dotnet new install NetCoreApplicationTemplate::2.2.0

For a local packed package:

dotnet new install ./artifacts/template-package/NetCoreApplicationTemplate.2.2.0.nupkg

Validation

Before publishing, validate the release branch with the standard release gate, including:

./scripts/Validate-VersionConsistency.ps1

CI should confirm build, tests, coverage gate, template package creation, scaffold smoke tests, and documentation checks.