3.1 KiB
3.1 KiB
Changelog
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.
v1.6.5 - 2026-02-02
Changed
- Replaced explicit
ArgumentNullExceptionthrows withArgumentNullException.ThrowIfNullinExpressionExtensions,NetworkConnection,Base32Encoder,StringExtensions.CSVToDataTable,FileLoggerProvider, andJsonFileLoggerProvider. - Base32Encoder: empty input now throws
ArgumentExceptioninstead ofArgumentNullExceptionfor clearer semantics. - StringExtensions.CSVToDataTable: null file path throws via
ThrowIfNull; empty/whitespace path throwsArgumentException. - ObjectExtensions:
DeepClonereturnsdefaultfor null input;DeepEqualexplicitly treats (null, null) as true and (null, non-null) as false. Replaced obsoleteFormatterServices.GetUninitializedObjectwithRuntimeHelpers.GetUninitializedObject. Fixed nullability inReferenceEqualityComparerto matchIEqualityComparer<object>. - TotpGenerator: recovery code generation uses range syntax (
code[..4],code[4..8]) instead ofSubstring.
Fixed
- ExceptionExtensions.ExtractMessages: null check added to avoid
NullReferenceExceptionwhen passed null. - BaseFileLogger.RemoveExpiredLogFiles: guard added before
Substring(4)so malformed log file names do not throw.
v1.6.4 - 2026-02-21
Added
- New shared utility modules under
utils/: Logging.psm1for timestamped, aligned log output.ScriptConfig.psm1for shared settings loading and command assertions.GitTools.psm1for reusable git operations.TestRunner.psm1for shared test/coverage execution.- New
Generate-CoverageBadgesutility script and settings to generate SVG coverage badges.
Changed
- Refactored release/amend/badges scripts to a modular structure with shared modules.
- Standardized script structure with regions and clearer comments.
- Switched script output to centralized logging format with timestamps (where logging module is available).
- Updated release settings comments (
_comments) for clarity and accuracy. - Updated
README.mdto show coverage badges.
Removed
- Removed legacy scripts from
src/scripts/in favor of theutils/-based toolchain. - Removed unused helper logic (including obsolete step-wrapper usage and unused csproj helper).
Fixed
- Fixed NuGet packing metadata by explicitly packing
LICENSE.md,README.md, andCHANGELOG.mdinto the package. - Fixed release pipeline packaging flow to create and resolve the
.nupkgbeforedotnet nuget push. - Added
/stagingto.gitignoreto avoid committing temporary release artifacts.
Security
- Kept release-time git checks and branch/tag validation in shared release flow to reduce accidental publish risk.