This repository has been archived by the owner on Mar 22, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 120
/
ChangeLog
205 lines (144 loc) · 6.17 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
Mon Aug 08 2022 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
* Version 1.3.1
This is the last bugfix release for pmemkv 1.3 version.
Maintenance of this version is no longer supported.
It contains all bugfixes and updates from previous patch releases
(1.2.1, 1.1.1, 1.0.3).
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
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 experimantal engine - csmap (cuncurrent
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.