Version 0.2.5.x
Release History
The last official release was version 0.1.5.4, available as a Nuget package here. Since then, many features have been added to DotNetVault. All of these features were included in the feature-complete beta version 0.2.2.12-beta, available as a Nuget package here. The following list is a non-exhaustive summary of these new features:
- Upgrading to new versions of Roslyn libraries, immutable collections and other minor dependency upgrades
- Changing some of the formatting of analyzer diagnostics to comply with Roslyn authors' recommendations
- Adding Monitor Vaults (using Monitor.Enter + sync object) as the synchronization mechanism
- Adding ReadWrite Vaults (using ReaderWriterLockSlim) as their synchronization mechanism
- Fixing flawed static analyzer rules
- Adding new analyzer rules to close encountered loopholes in the ruleset that potentially allowed unsynchronized access to protected resource objects
- Unit tests as appropriate for new functionality
- Creation of quick start installation guides with test projects
- Not including project pdfs in the released package but instead providing an md document and a txt document with links to those documents in the github repository
- Significant updates to the formatting and content of project markdown documents
- Adding Source Link and releasing a symbol package along with the nuget package for this project
- Writing many test projects and demonstration projects to verify functionality, stress test and profile performance of the vaults
- Adding a document serving as a guide to using large mutable value types generally and as a repository for shared mutable state
Version / Branch 0.2.5.0
No major new features will be added versions 0.2.5+. Development will remain open in the 0.2.5 branch primarily for refinements, bug fixes and documentation updates. Versions 0.2.5+ will continue to support .NET Framework 4.8, .NET Standard 2.0+ and .NET Core 3.1+ but will not make use of any features from the upcoming Version 5 of the unified DotNet framework. If you are not upgrading your projects to .NET 5, continue to use releases numbered 0.2 but make no upgrade to any package versioned 0.3+.
See DotNetVault Description.pdf which serves as the most complete design document for this project.