Repository navigation
Version 0.3.0 refactors and hardens DotNetFrameworkToolkit while retaining .NET Framework 2.0 compatibility. This release includes breaking API changes, broader automated testing, and verified NuGet packaging and release automation.
- Breaking - authentication: Updated credential handling to use UTF-8 passwords and persist each credential’s work factor. Existing credentials require review; passwords previously derived using ASCII may require an application-owned reset or migration.
- Breaking - namespaces: Moved filesystem APIs to
DotNetFrameworkToolkit.Modules.FileSystemandSqlServerCeDatabasedirectly intoDotNetFrameworkToolkit.Modules.DataAccess. Update references accordingly. - Breaking - data access: Removed entity, database-initialization, and migration abstractions. Consuming applications now own entities, primary keys, schemas, and migrations. Minimal SQL CE helpers remain for connection strings, database creation, and caller-owned connections.
- Breaking - dependency injection: Added scoped services and disposal contracts to existing DI types. Clarified ownership of providers, scopes, supplied instances, and directly created scope factories.
- Breaking - compatibility shim: Removed the toolkit’s
ExtensionAttributeshim to avoid collisions in applications targeting newer .NET Framework versions. - Replaced the unofficial SQL CE dependency with Microsoft’s
SqlServerCompactpackage. - Hardened DI shutdown, logging scopes and formatting, result handling, validation, and filesystem overwrite failure recovery.
- Added 175 automated tests, including SQL CE integration and controlled concurrency tests.
- Verified package installation and representative consumer operations on CLR 2.0 in both x86 and x64 processes.
- Added strict package, dependency, version, image, and portable-symbol verification, plus GitHub Release publishing to NuGet.org through trusted publishing.
- Updated Cake build tooling to .NET 10; the shipped library continues to target .NET Framework 2.0.
- Expanded development conventions, API contracts, deployment guidance, and executable consumer examples.