DotNetVault 0.2.5.10-beta

This is a prerelease version of DotNetVault.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DotNetVault --version 0.2.5.10-beta
NuGet\Install-Package DotNetVault -Version 0.2.5.10-beta
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotNetVault" Version="0.2.5.10-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DotNetVault --version 0.2.5.10-beta
#r "nuget: DotNetVault, 0.2.5.10-beta"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DotNetVault as a Cake Addin
#addin nuget:?package=DotNetVault&version=0.2.5.10-beta&prerelease

// Install DotNetVault as a Cake Tool
#tool nuget:?package=DotNetVault&version=0.2.5.10-beta&prerelease

This is a temporary release testing use of HpTs 0.1.1.0-beta. When HpTs 0.1.1.0-beta is released as non-beta, this will be given a full non-beta release (providing HpTs upgrade doesn't break the world.).

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0.1 486 10/30/2021
1.0.0 317 8/21/2021
0.2.5.18 315 8/13/2021
0.2.5.15-beta 246 8/8/2021
0.2.5.10-beta 202 8/5/2021
0.2.5.9 393 5/22/2021
0.2.5.8 355 12/14/2020
0.2.5.3 525 10/25/2020
0.2.5.1 429 10/14/2020
0.2.5 432 10/11/2020
0.2.2.12-beta 287 8/23/2020
0.2.2.1-beta 433 7/12/2020
0.2.1.22-beta 351 4/7/2020
0.2.1.9-alpha 444 3/15/2020
0.2.0.2-alpha 321 2/13/2020
0.1.5.4 528 2/17/2020
0.1.5.2 481 2/8/2020
0.1.5 477 2/2/2020
0.1.4.2-beta 566 2/1/2020
0.1.4.1-beta 538 1/26/2020
0.1.4-beta 492 1/21/2020
0.1.3.13-beta 517 1/11/2020
0.1.3.11-beta 562 1/8/2020
0.1.3.8-beta 655 1/4/2020
0.1.3.5-beta 555 1/1/2020

RELEASE NOTES VERSION 0.2.5.10-beta:
       Beta release using beta verion (0.1.1.0-beta) of High Precision Timestamps.
     RELEASE NOTES VERSION 0.2.5.9:
    * Fixed bug from Issue 8, where a readonly field of unmanaged struct (or enum) in an otherwise vault-safe reference type was being identified as not readonly merely because the unmanaged type itself has writable fields.  This is incorrect because attaching the readonly qualifier to the field will prevent mutation of its writable fields ... or, at worst, cause any mutation to be written to a defensive copy.   This problem manifested itself with a nullable unmanaged enum type.
    * Two unit tests added that originally failed but now pass after application of fix.
    * Update example code project to demonstrate.

RELEASE NOTES VERSION 0.2.5.8:
     * Update dependencies.
     * Add dependency to High-Precision-Timestamps v0.1.0.0
     * Use monotonic DateTimes from High-Precision-Timestamps to compute durations and timeouts
     * Rename VaultSafeWhiteList.txt to vaultsafe
     .txt
     
RELEASE NOTES VERSION 0.2.5.3:

     * Fixed problem with SourceLink not working correctly.
     * Fixed bug (Issue #2) that would throw a recursion exception sometimes when, using certain combinations of overloads, acquiring upgradable readonly locks then upgrading them would throw a lock recursion exception.
     * Update the quick start functionality tour and installation guides to use pictures reflecting more recent versions.
     
     RELEASE NOTES VERSION 0.2.5.0:

     The last official release was version [0.1.5.4](https://github.com/cpsusie/DotNetVault/releases/tag/v0.1.5.4),
     available as a Nuget package (DotNetVault/0.1.5.4).  Since then, **many** features have been added to DotNetVault:

     * 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