VelocityDB.dll now built with .NET 4.5 due to requiring use of Monitor.IsEntered API not found in prior versions.
Fixes for SessionNoServerShared and ServerClientSessionShared to work with updates to pages and indices. A test named ConcurrentUpdatesShared was added for this. Let us know if you have code that still does not work as expected?
Added support for; persisting Types such as List<string[]>, NodaTime type of persisted objects (no fields) display in Database Manager and LinqPad (updated driver).
Added SessionBase.ReplacePersistedType. Updated User’s Guide and UpdateClass sample.
Fix for zero sized objects used with ServerClientSession. Improved message for types not found in loaded assemblies.
Fix VelocityGraph NuGet package
Updated BTreeSet and BTreeMap for reduced memory usage and improved performance when used with large sets of data. Fix for SessionBase.Compact(). Added collection class WeakShortReferenceList and updated WeakReferenceList to allow transient usage. Updated User’s Guide. Older versions of VelocityDB will not be able to read the updated BTreeSet and BTreeMap objects used with this release. Previously persisted data using BTree/BTreeMap will be updated to new schema when accessed within an update transaction.
Fixes for ServerClient.Abort() related to initial transaction and new databases. Better error message in License exceptions. DatabaseManager updated with Page.Offset info for each page.
SessionBase.Compact() totally redesigned now much faster. Pages now in page number order after a Compact(). Database cache validation now more efficient with SessionNoServer.
Upgraded for .net core 2.0 and .net standard 2.0.
Fix for final delete of deleted databases. Fix of a deadlock in VelocityDBServer when multiple servers are involved.
Bug fix to session page offset tracking; make sure to clear updated page offset array at transaction commit. Thanks for test case Harry and Bernard!
Make Index attribute implicit when using other index attributes such as UniqueConstraint. Allow setting page and object caching defaults (not persisted setting) for selected databases. Fix bug in setting AutoPlacement object to updated when current transaction id is 0. Fix for memory usage estimates in DataCache.MemoryUsedByThisProcess. (fewer flushes to disk)
Fix persist of empty embedded List<string>. Add NUnit test for it (Tony.cs).
Added SessionBase.RelocateDefaultDatabaseLocation() and RelocateDatabaseLocationFor(UInt32 dbId, string hostName, string directory). Using this API is now required whenever moving databases.
Fix for updating default DatabaseLocation after moving databases to a new directory/host. Fixes for build of VelocityDBExtensions project.
Don’t do string intern by default. Fix schema migration of objects sharing page with other types of objects (not common).
Improved inverted index code in TextIndexer and Wikipedia samples.
Fix for subscription changes, BTreeBase and DeletePage in server.
Updated API documentation (red text due to missing code comments should be gone in most places). VelocityDBCore and VelocityDBStandard now built with Visual studio 2017.
Update code to make strong object reference caching possible without enabling strong reference page caching. Fix for zero size objects.
Fix for: BTreeMap.Values, nullable struct display in DatabaseManager, fields typed as interface.
Don’t disable cache of database 0 with SesssionNoServer for better short update transaction performance.
Avoid some costly available memory size checks for 64 bit processes in cache management.
Fix for type lookup when deserializing ISerializable, increase number of object/page for BTreeByteArray and a few other BTree classes.
Fix for deserialization of enum array.
Fix for array of enum values. Updated AllSupportedSample class with a sample for this. Database Manager updated to display such arrays with enum value strings.
String to Type fix in prior version fixed int[,,]but broke other cases so make fix more specific to type string containing “[,,”
Fix persisted enums data with underlying type as Uint16. Fix for regression of deserializing type string of types like int[,,] as revealed by AllSupportedSample.
Support non IOptimizedPersistable types in LinqPad. Persist non IOptimizedPersistable objects to one database per type as expected. AzureSession extension moved from VelocityDBExtensions to VelocityDBExtensions2 due to dependencies requiring a newer .NET version.