forked from pmem/pmdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
127 lines (108 loc) · 5.19 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
Thu Jun 23 2016 Krzysztof Czurylo <[email protected]>
* Version 1.1
This NVML release introduces a new version of libpmemobj pool layout.
Internal undo log structure has been modified to improve performance
of pmemobj transactions. Memory pools created with older versions
of the libpmemobj library must be converted to the new format using
"pmempool convert" command. See pmempool-convert(1) for details.
A new "libpmempool" library is available, providing support for
off-line pool management and diagnostics. Initially it provides only
"check" and "repair" operations for log and blk memory pools, and for
BTT devices.
Other changes:
- pmem: deprecate PCOMMIT
- blk: match BTT Flog initialization with Linux NVDIMM BTT
- pmem: defer pmem_is_pmem() initialization (#158)
- obj: add TOID_TYPEOF macro
Bug fixes:
- doc: update description of valid file size units (#133)
- pmempool: fix --version short option in man page (#135)
- pmempool: print usage when running rm without arg (#136)
- cpp: clarify polymorphism in persistent_ptr (#150)
- obj: let the before flag be any non-zero value (#151)
- obj: fix compare array pptr to nullptr (#152)
- obj: cpp pool.get_root() fix (#156)
- log/blk: set errno if replica section is specified (#161)
- cpp: change exception message (#163)
- doc: remove duplicated words in man page (#164)
- common: always append EXTRA_CFLAGS after our CFLAGS
Experimental features:
- Implementation of C++ bindings for libpmempobj is complete.
Web-based documentation for C++ API is available on http://pmem.io.
Note that C++ API is still considered experimental. Do not use it
in production environments.
- Porting NVML to Windows is in progress. There are MS Visual Studio
solution/projects available, allowing to compile libpmem, libpmemlog,
libpmemblk and libpmemobj on Windows, but the libraries are not fully
functional and most of the test are not enabled yet.
Thu Apr 07 2016 Krzysztof Czurylo <[email protected]>
* Version 1.0
The API of six libraries (libpmem, libpmemblk, libpmemlog,
libpmemobj, libvmem, libvmmalloc) is complete and stable.
The on-media layout of persistent memory pools will be maintained
from this point, and if changed it will be backward compatible.
Man pages are all complete.
This release has been validated to "Production quality".
For the purpose of new features planned for next releases of NVML
there have been some API modifications made:
- pmem: pmem_map replaced with pmem_map_file
- log/blk: 'off_t' substituted with 'long long'
- obj: type numbers extended to 64-bit
- obj: new entry points and macros added:
pmemobj_tx_errno, pmemobj_tx_lock, pmemobj_mutex_timedlock,
TX_ADD_DIRECT, TX_ADD_FIELD_DIRECT, TX_SET_DIRECT
Other key changes since version 0.4 include:
- common: updated/fixed installation scripts
- common: eliminated dependency on libuuid
- pmem: CPU features/ISA detection using CPUID
- obj: improved error handling
- obj: atomic allocation fails if constructor returns error
- obj: multiple performance optimizations
- obj: object store refactoring
- obj: additional examples and benchmarks
This release also introduces a prototype implementation
of C++ bindings for libpmemobj. Note that C++ API is still
experimental and should not be used in production environments.
Fri Dec 04 2015 Krzysztof Czurylo <[email protected]>
* Version 0.4
This NVML version primarily focuses on improving code quality
and reliability. In addition to a couple of bug fixes,
the changes include:
- benchmarks for libpmemobj, libpmemblk and libvmem
- additional pmemobj tests and examples
- pool mapping address randomization
- added pmempool "rm" command
- eliminated libpmem dependency on libpthread
- enabled extra warnings
- minor performance improvements
Man pages are all complete.
This release is considered "Beta quality" by the team, having
been thoroughly validated, including significant performance analysis.
The pmempool command does not yet support "check" and "repair"
operations for pmemobj type pools.
Sun Sep 13 2015 Andy Rudoff <[email protected]>
* Version 0.3
NVML is now feature complete, adding support for:
- pool sets
- pmemobj local replication (active/passive)
- experimental valgrind support
- pmempool support for all pool types
Man pages are all complete.
This release is considered "Alpha quality" by the team, having
gone through significant validation but only some performance
analysis at this point.
Tue Jun 30 2015 Andy Rudoff <[email protected]>
* Version 0.2
NVML now consists of six libraries:
- libpmem (basic flushing, etc)
- libpmemblk, libpmemlog, libpmemobj (transactions)
- libvmem, libvmmalloc (volatile use of pmem)
The "pmempool" command is available for managing pmem files.
Man pages for all the above are complete.
The only things documented in man pages but not implemented are:
- pmem sets (ability to spread a pool over a set of files)
- replication (coming for libpmemobj)
The pmempool command does not yet support pmemobj type pools.
Thu Sep 11 2014 Andy Rudoff <[email protected]>
* Version 0.1
Initial development done in 0.1 builds