Releases: pmem/pmdk
PMDK Version 2.1.0
This release :
- Introduces the new logging subsystem in the release build for all libraries.
- Messages by default are printed to syslog and stderr but might be redirected to a user-defined function, see pmem(obj)_log_set_function() for details.
- Log level thresholds are controlled via new API, see pmem(obj)_log_set_treshold() for details.
- These new APIs are not available for LIBPMEM2 and LIBPMEMPOOL at the moment.
- The new logging subsystem is suppressed in the debug build when any of the legacy debug logging environment variables is set:
- PMEM_LOG_LEVEL_FILE
- PMEM2_LOG_LEVEL_FILE
- PMEMOBJ_LOG_LEVEL_FILE
- PMEMPOOL_LOG_LEVEL_FILE
- The debug logging subsystem becomes DEPRECATED.
- Introduces fuses against ill-considered use of NDCTL_ENABLE=n.
- PMEMOBJ_IGNORE_DIRTY_SHUTDOWN and PMEMOBJ_IGNORE_BAD_BLOCKS are required to acknowledge the understanding of what production-critical functions are missing for the build without NDCTL.
- Does not allow create PMEMOBJ pool without unsafe shutdown counter (USC) if not explicitly disabled. (#5968)
- use PMEMOBJ_CONF="sds.at_create=0" to disable USC when working without PMem (emulated PMem, Docker, etc.).
- Drops support for building without libpthread (NO_LIBPTHREAD build-time define).
PMDK Version 2.1.0-rc1
This release :
-
introduces fuses against ill-considered use of NDCTL_ENABLE=n
- PMEMOBJ_IGNORE_DIRTY_SHUTDOWN and PMEMOBJ_IGNORE_BAD_BLOCKS are required to acknowledge the understanding of what production-critical functions are missing for the build without NDCTL
-
does not allow opening pmem pool without unsafe shutdown counter if not explicitly disabled
-
remove support for build time define NO_LIBPTHREAD
PMDK Version 2.0.1
This release :
- Significantly reduces the libpmem's stack usage.
- Reduces libpmemobj's stack usage below the 11kB threshold.
- Fixing minor Coverity issues.
- Add a new toolset for stack usage analysis (https://github.com/pmem/pmdk/tree/master/utils/call_stacks_analysis).
PMDK Version 2.0.1-rc1
This release :
- Significantly reduces the libpmem's stack usage.
- pmemobj_open() stack usage reduction below 12kB threshold.
PMDK Version 2.0.0
This release :
- Removes libpmemlog, libpmemblk, btt, and their support in (lib)pmempool
- Removes Windows support
- Removes FreeBSD support
- Removes all pmem2_async operations (experimental)
- Removes PowerPC and ARM architectures (experimental) from regular validation
- Limits PMDK's static builds validation scope
- Removes Fedora and Debian from regular validation
- Adds reference platform provisioning instructions for PMDK testing
- Identifies and temporarily disables tests permanently or sporadically failing in some configurations:
- Re-enable pmem2_persist_valgrind tests previously excluded by mistake (#5855)
PMDK Version 1.13.1
PMDK Version 1.13.1-rc2
This release :
-
Identifies and temporarily disables tests permanently or sporadically failing in some configurations:
-
Fixes failing tests:
Other changes and notable bug fixes:
PMDK Version 1.13.1-rc1
This release :
-
Identifies and temporarily disables tests permanently or sporadically failing in some configurations:
-
Fixes failing tests:
Other changes and notable bug fixes:
PMDK Version 1.13.0
This release:
- Removes (previously deprecated) librpmem. Those interested
in remote persistent memory support should use the rpma library
(https://github.com/pmem/rpma). - Removes libpmemset - it was an experimental library.
- Sets libpmemblk as deprecated, to be removed in the next release.
- Sets libpmemlog as deprecated, to be removed in the next release.
- Sets btt support as deprecated, to be removed in the next release.
- Sets async as deprecated, to be removed in the next release.
- Sets FreeBSD support as deprecated, to be removed in the next release.
- Sets Windows support as deprecated, to be removed in the next release.
Deprecations and removals are done accordingly to the support strategy
outlined in the blog post:
https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy.
Other changes and notable bug fixes:
- core: handle ENOMEM gracefully during logging (#5515)
- pool: fix dependencies with pmempool (#5521)
- test: add more security checks for pmempool input
- pmreorder: share markers from an application through env variable (#5419)
- examples: fix potential buffer overflow in pmemobjfs example (#5472)
- several fixes to support ppc64le architecture
- several fixes for issues found by Coverity tool
Known issues:
PMDK Version 1.13.0-rc1
This release:
- Removes (previously deprecated) librpmem. Those interested
in remote persistent memory support should use the rpma library
(https://github.com/pmem/rpma). - Removes libpmemset - it was an experimental library.
- Sets libpmemblk as deprecated, to be removed in the next release.
- Sets libpmemlog as deprecated, to be removed in the next release.
- Sets btt support as deprecated, to be removed in the next release.
- Sets async as deprecated, to be removed in the next release.
- Sets FreeBSD support as deprecated, to be removed in the next release.
- Sets Windows support as deprecated, to be removed in the next release.
Deprecations and removals are done accordingly to the support strategy
outlined in the blog post:
https://pmem.io/blog/2022/11/update-on-pmdk-and-our-long-term-support-strategy.
Other changes and notable bug fixes:
- core: handle ENOMEM gracefully during logging (#5515)
- pool: fix dependencies with pmempool (#5521)
- test: add more security checks for pmempool input
- pmreorder: share markers from an application through env variable (#5419)
- examples: fix potential buffer overflow in pmemobjfs example (#5472)
- several fixes to support ppc64le architecture
- several fixes for issues found by Coverity tool