CSV switched to Substrings. Low-level writer added for the JSON format.
Full JSON support: low-level reader, data store support and tests added. Other minor improvements and bugfixes (some test regressions fixed as well).
Zip file systems no longer support reading and writing a file at the same time (IFileSystem.OpenBinary).
Json data stores save values more intelligently. DataStore.ToString and .Parse now accept [de]serializers as well.
New data store path api: GetRootName.
IFileSystemReaderWriter interface added. Recommended to be used by libraries.
Work on random data store name and hash generation.
Compilation errors fixed.
Packages updated. Minor changes.
Resource leak fixed in JsonReader. Most Nuget package files should now be ignored by the repository. Missing files should be automatically downloaded by Visual Studio (after Nuget 2.7).
Mechanical.Core.StringPattern added. Basically a way to apply windows file path patterns to any string.
CopyTo() Extension methods for transferring data between System.IO.Stream and Mechanical.IO.IBinaryReader[Writer].
Logging changes: xml logging now thread-safe. Exception and log serialization MagicBag independent. Memory logging added.
StringPattern bugfix.
Mechanical.Common added. Initial implementation of AppEssentials, which is intended to replace the Bootstrap class.
DirectoryFileSystem bugfix: File.OpenWrite does not truncate existing files.