Changelog of @hackage/libmdbx 0.2.1.1

0.2.1.1

  • Upgrade libmdbx to latest version (30b3cc3).
  • Properly close cursor after use.
  • Document the need of including MdbxNotls when using the multi-threaded runtime.

0.2.1.0

  • Add proper transaction handling for Database module (commit on success but also abort on exception).
  • Add getBounds function to retrieve minimum and maximum key/pairs on a given range of keys.

0.2.0.0

  • Add support for setting database geometry.
  • Add delRange to remove a range of keys.
  • Add getRangePairs to retrieve the keys alongside the values.
  • Add NullByteString and NullText types. The Binary and Store instances for these types are encoded as NULL terminated strings, which allows for using them in custom key types with libmdbx. This is not possible with ByteString and Text, since their Binary and Store instances are serialized with the size field first. Given that libmdbx compares keys as an unstructured sequence of bytes, this can cause issues since longer strings are considered greater than shorter ones, even if their content indicates otherwise.
  • Since the library now provides Store instances for NullByteString and NullText, Store was made a dependency for the library itself and not just for the examples.
  • The same happens with Binary. It is also marked as the recommended serialization library for keys since it uses big endian for encoding, eliminating issues when comparing keys with libmdbx's comparison function.
  • Make Database module Strict. Recommend making user types strict.
  • Update to latest version of libmdbx.
  • Add test cases.

0.1.0.4

  • Require base 4.12 (deriving via is only available since GHC 8.6).
  • Remove dependency on string-interpolate.

0.1.0.1 - 0.1.0.3

  • Fixing Hackage deployment.

0.1.0.0

  • Initial release.
  • Low level API.
  • High level API.