In this release, the most notable change was splitting of PumpkinDB into
multiple crates. This enables PumpkinDB users to build custom systems
(embedded and client-server ones) that use PumpkinDB as an engine. Also,
pumpkinscript and pumpkindb_client crates allow building Rust applications
that use PumpkinDB as remote clients. pumpkindb_mio_server crate simplifies
developing custom PumpkinDB server builds.
A confusing "word" term has been changed to "instruction" to provide a clearer
indication of the concept behind it.
We've also introduced more conventions around numbers (especially
signed and unsigned sized integers, as well as floats) and added respective
instructions to the library.
Initial UUID support has been added. Cursor API surface has been reduced and
is much easier to comprehend now.
Internally, a lot has changed. A new messaging system (it is now available
not only through the server component, but pumpkindb_engine as well). Dispatcher
trait allows defining custom sets of instruction "modules" and is flexible enough
to support both static and dynamic dispatching.
And, of course, a number of bugs has been spotted and some of them were even
fixed. We've also optimized a number of things and found out that there's a lot
more to optimize in the upcoming versions!
This is the first release with published library crates on crates.io
Also, this release includes statically built versions of PumpkinDB server
and terminal for Linux (using musl). This is an experimental build as in
the future we might need to depend on some dynamically libraries.
New contributors: alex, Christoph Herzog, Guillaume Gauvrit, Matteo Semenzato and Stuart Hinson.