Volante : Volante Developer's Guide : History of Volante
Volante is a continuation of Perst database originally created by Konstantin Knizhnik.
Up to version 2.49 Perst was licensed under BSD. Konstantin (I assume) sold the code to a company called McObject. Starting with version 2.50 the license was changed to GPL and McObject sells a commercial license for people who can't use GPL code.
Volante is based on the latest BSD version (2.49) and retains its BSD license, which allows free use even in commercial software.
Perst has Java and .NET versions but at the moment I don't have the bandwidth to support both versions (and I don't actively use Java) so currently Volante only has .NET version.
Perst 2.49 was released long time ago (in 2005) so I decided to make some changes in the code base without worrying about backwards compatibility with Perst.
You can read a detailed changelog but to summarize most important changes and why they were made:
- renamed interfaces to follow C# naming style
- renamed Storage class to Database
- excluded XML import/export and replication functionality from official build. My focus is to best support the use case of using Volante as a storage engine for desktop/mobile applications and in that usage those features aren't useful
- excluded old btree code from official build. Perst has 2 versions of btree code. I don't know why (probably the old code is kept for backwards compatibility) but the new btree code seems to be better (faster) so I removed the old btree. The result is smaller dll and less code to maintain