Tue Jul 27 2021 Igor Chorążewicz <igor.chorazewicz@intel.com>

	* Version 1.5.0

	New features:
	- Introduce (optional) caching layer in radix engine. It can be enabled
		via config parameters
	- Add new config's flag - 'create_if_missing' to address the missing functionality.
		If set, pmemkv tries to open the pool and creates it if missing.
		It's mutually exclusive with 'create_or_error_if_exists' flag

	Bug fixes:
	- Return correct status for wrong parameters in pmemkv_config_from_json
		(instead of failing on assert)
	- Fix iterator::key() implementation to return the whole key, not only
		the part up to the first null-terminator
	- Return correct status from memkind-based engines on open failure

	Other changes:
	- Add alias 'create_or_error_if_exists' for 'force_create' config's flag and
		deprecate the latter one. The old flag can still be used and it behaves
		with no difference. It's discouraged from using, though
	- Add dram_vcmap engine based on tbb::concurrent_hash_map for benchmarking
		purposes
	- Switch default CMake's build type from "Debug" to "RelWithDebInfo"
		when compiling from sources - it's relevant for a GitHub users
		(who may e.g. run some benchmarks)

Tue Jul 06 2021 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>

	* Version 1.2.1

	This is the last bugfix release for pmemkv 1.2 version.
	Maintenance of this version is no longer supported.

	Notable changes:
	- fix of missing checks in move assigment operators
	- stree: fix operator== by adding missing const specifier
	- stree: fix missing check in node_iterator operator=
	- json_config: return error code for wrong parameters, instead of asserting them
	- json config: extend error messages

Mon Jun 28 2021 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>

	* Version 1.1.1

	This is the last bugfix release for pmemkv 1.1 version.
	Maintenance of this version is no longer supported.

	Notable changes:
	- json_config: return error status for improper parameters instead of
		asserting nullptr (and crashing)
	- fix error messages for NOT_FOUND and STOPPED_BY_CB statuses (which are not errors)
		by omitting setting (error) message from the previous status
	- vcmap: fix put() implementation (to be thread-safe)
		and decrease the number of temporary string allocations
	- vcmap: fix value_type for concurrent_hash_map
	- vcmap: fix to work with the latest TBB (2021.1) #894
	- stree: fix operator==
	- clarify and extend documentation

Mon Feb 15 2021 Igor Chorążewicz <igor.chorazewicz@intel.com>

	* Version 1.4

	Features:
	- new experimental engine - robinhood (concurrent, unsorted,
		persistent map)
	- experimental iterators API which allows to directly modify values
		(or parts of values)
	- experimental transaction API which allows grouping `put` and `remove`
		operations into a single atomic action

	Other changes:
	- optimized put() in radix engine

	Major fixes:
	- calling pmemkv_errormsg() now returns empty message for NOT_FOUND and
		STOPPED_BY_CB (instead of a possible previous, unrelated error)
	- fix vcmap OOM error on put (github issue #798)

	Known issues:
	- vcmap (github issue #894)

Tue Oct 06 2020 Szymon Romik <szymon.romik@intel.com>

	* Version 1.0.3

	This is the last bugfix release for pmemkv 1.0 version.
	Maintenance of this version is no longer supported.

	Notable changes:
	- VSmap::put method refactor (to use emplace)
	- add errormsg() to db class

Fri Oct 02 2020 Szymon Romik <szymon.romik@intel.com>

	* Version 1.3

	This release introduces a new experimental engine - radix (single-threaded
	sorted map, backed by libpmemobj-cpp's radix_tree container).

	We have also extended configuration class API and redesigned optimized
	version of stree engine.

	Features:
	- radix engine (single-threaded sorted map)
	- config setters with type safety for common config fields
	- stree engine optimization (single-threaded sorted map with custom
		comparator support)

	Major fixes:
	- fixed operator== in stree engine
	- fixed missing checks in move assignment operators

	Other changes:
	- operator<< for pmem::kv::status

	Known issues:
	- vcmap (github issues #623, #798)

Fri May 29 2020 Szymon Romik <szymon.romik@intel.com>

	* Version 1.2

	This release introduces a new experimental engine - csmap (concurrent
	sorted map, backed by libpmemobj-cpp's concurrent_map).

	We have also provided support for custom comparators for sorted engines.

	Features:
	- csmap engine (concurrent sorted map)
	- support for custom comparator for sorted engines

	Optimizations:
	- vsmap::put() now uses emplace() internally

	Other changes:
	- test framework refactor (scenario-based tests, extednded tests for
		concurrentcy and sorting)

Fri Feb 07 2020 Igor Chorążewicz <igor.chorazewicz@intel.com>

	* Version 1.0.2

	This is a bugfix release for pmemkv 1.0

	This release:
	- fixes misleading information in manpages
	- fixes compilation of vsmap engine on newer compilers
	- introduces requirement on size of std::string to be less than or equal to 32

Fri Jan 31 2019 Szymon Romik <szymon.romik@intel.com>

	* Version 1.1

	This release introduces a defragmentation feature and cmap engine
	optimizations.

	Features:
	- API extension for defragmentation (currently supported only by cmap engine)

	Optimizations:
	- faster restart time of cmap engine
	- faster put method execution for cmap engine

Mon Oct 28 2019 Szymon Romik <szymon.romik@intel.com>

	* Version 1.0.1

	This is a bugfix release for pmemkv 1.0

	Major fixes:
	- fix finding memkind package
	- fix finding gtest in user-defined paths
	- add SOVERSION
	- skip valgrind and pmemcheck tests if they are not installed

Fri Oct 04 2019 Szymon Romik <szymon.romik@intel.com>

	* Version 1.0

	This is the first release of pmemkv project which guarantees backward
	compatibility.

	Optimizations:
	- refactored core for libpmemobj-based engines
	- adjusted cmap engine to libpmemobj-cpp 1.8 optimizations

	Changes in tests and build system:
	- added support for generic tests parameterized i.a. by engine type
	- added framework for pmreorder tests

	Other changes:
	- added new, more specific error statuses
	- added C++ API for config structure
	- added doxygen documentation for C++ API
	- moved function to create configuration from JSON string to a new
		optional library
	- generic support for libpmemobj-based engines for handling persistent
		pointers as a config parameter

Fri Jun 28 2019 Szymon Romik <szymon.romik@intel.com>

	* Version 0.8

	This is the first official release of pmemkv project.

	It unifies and extends native C and C++ API and introduces config
	structure - flexible way for configuring engines.

	Pmemkv core was redesigned - C++ API is implemented on the top of C API
	now and exposed as a header-only library.

	We have also provided extended pmemkv engines and API documentation in
	form of man pages.

	Optimizations:
	- string_view class for optimal keys passing
	- heterogeneous lookup in cmap engine

	Features:
	- added error messages
	- extended error handling

	Changes in tests and build system:
	- added Travis CI
	- cmake creation and build system refactoring
	- added tests with pmemcheck/memcheck/helgrind/drd
	- added clang-format
	- added Coverity support
	- added coverage support
	- added CI jobs for checking compatibility with Ruby, Java, Node.js bindings

	Others:
	- removed functions to iterate over keys only
	- removed engine_context function

	We have also modified existing engines and tests to meet changes in both
	pmemkv core and API. Poorly chosen function names were cleaned up.

	The reason this release has version 0.8 is because we are still open for
	suggestions from customers before we stabilize the APIs and commit
	to maintaining backward compatibility. It does not mean that the library
	is unfinished or unstable. However, more engines and extended
	functionality are planned to be delivered in the future.
