Skip to content

Releases: pmem/pmdk

PMDK Version 1.12.1-rc1

16 Aug 16:11
1.12.1-rc1
ab3fc0b
Compare
Choose a tag to compare
Pre-release
* Version 1.12.1-rc1

- common: Allow long links in commit messages
- common: Do not run self-hosted jobs on forks
- obj: always perform cleanup of logs with leftover state
- pmem2: actually skip msync with noflush on non-pmem
- pmem2: make sure async functions use proper vdm flags
- common: fix default cflags in makefiles
- obj: ensure zones are reclaimed prior to free
- pmem2: enable movdir64b compilation but disable it in the runtime

PMDK Version 1.12.0

24 May 13:53
1.12.0
73d8f95
Compare
Choose a tag to compare
This release:
- Deprecates librpmem library and rpmemd tool.
Using the librpmem library API will result in warnings
and is no longer recommended. Those interested in a remote
persistent memory support should use the new rpma library.
- Introduces a new set of APIs in libpmem2 to perform asynchronous data
movement operations. To use this feature, software needs to include an
optional miniasync(7) dependency.
- Adds new API to machine safe read/write operations in the pmem2 library.
- Introduces support for movdir64b instruction for memory operation
functions in the libpmem2 library.
- Adds experimental support for RISC-V.

Other changes and notable bug fixes:
- common: supress false positve of '-Wunused-parameter'
- examples: remove unnecessary persists in pminvaders
- obj: fix invalid type when setting cache size ctl (pmem/issues#5291)
- pmem: fix eADR memmove and memset (pmem/issues#5364)
- pmem2: add addr alignment prediction to vm reservation
- pmreorder: update docs with required last arg - file_name
- pmreorder: add more debug/info logs

1.12.0-rc1

23 May 15:26
1.12.0-rc1
9e42d5a
Compare
Choose a tag to compare
1.12.0-rc1 Pre-release
Pre-release
This release:
- Deprecates librpmem library and rpmemd tool.
Using the librpmem library API will result in warnings
and is no longer recommended. Those interested in a remote
persistent memory support should use the new rpma library.
- Introduces a new set of APIs in libpmem2 to perform asynchronous data
movement operations. To use this feature, software needs to include an
optional miniasync(7) dependency.
- Adds new API to machine safe read/write operations in the pmem2 library.
- Introduces support for movdir64b instruction for memory operation
functions in the libpmem2 library.
- Adds experimental support for RISC-V.

Other changes and notable bug fixes:
- common: supress false positve of '-Wunused-parameter'
- examples: remove unnecessary persists in pminvaders
- obj: fix invalid type when setting cache size ctl (pmem/issues#5291)
- pmem: fix eADR memmove and memset (pmem/issues#5364)
- pmem2: add addr alignment prediction to vm reservation
- pmreorder: update docs with required last arg - file_name
- pmreorder: add more debug/info logs

PMDK Version 1.11.1

24 Sep 15:26
1.11.1
Compare
Choose a tag to compare

This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.

Detailed list of bug fixes:
- doc: remove exprimental moniker from libpmem2(7)
- common: fix missing sfence in non-temporal memcpy
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- common: fix mismatched function args
- obj: rename vars clashing with those of a containing block
- pmem2: don't force smaller alignment for fsdax mappings
- pool: don't trample upon users of localtime()
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le
- rpmem: drop a redundant check

PMDK Version 1.10.1

24 Sep 14:39
1.10.1
6f58679
Compare
Choose a tag to compare

This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.

Detailed list of bug fixes:
- common: add disable lto to cflags
- doc: remove exprimental moniker from libpmem2(7)
- common: fix missing sfence in non-temporal memcpy
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- common: fix mismatched function args
- obj: rename vars clashing with those of a containing block
- pmem2: don't force smaller alignment for fsdax mappings
- pool: don't trample upon users of localtime()
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le
- rpmem: drop a redundant check

PMDK Version 1.9.3

24 Sep 14:07
1.9.3
Compare
Choose a tag to compare

This release fixes a missing sfence in non-temporal version of memcpy function (#5292), and fixes a number of smaller bugs.

Detailed list of bug fixes:
- common: add disable lto to cflags
- common: fix missing sfence in non-temporal memcpy
- common: fix mismatched function args
- common: fix a mismatch between prototype and body
- common: the yearly spellchecker run
- common: force no LTO for rpm build
- rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le

PMDK Version 1.11.0

02 Jul 10:55
1.11.0
8583fcf
Compare
Choose a tag to compare

This release:

  • Adds new APIs for libpmem2, most notably there are new functions to shrink and extend an existing reservation and a new iterator API for mappings contained within an existing reservation. There's also a new function to retrieve a numa node for a source.
  • Makes the pmemobj_open() and pmemobj_close() functions from libpmemobj thread-safe. It's now easier to correctly manage persistent memory pools in a parallel environment.
  • Introduces a new API in libpmemobj to globally change the method of assigning arenas to threads. The default is to rely on an OS per-thread key to store arena information. This release introduces an option to avoid the use of thread-local keys by simply using one global arena for all threads in a pool.

Other changes and notable bug fixes:

  • pmem2: don't force smaller alignment for fsdax mappings
  • rpmem: various fixes for powerpc64le
  • doc: fix documentation of pmem_is_pmem()
  • common: fix various minor problems found by static analysis
  • pmem2: arm64: fix possible data loss on ARMv8.2+ (improper flushing)

This release introduces no changes to the on-media layout and is fully compatible with the previous version of PMDK.

PMDK Version 1.11.0-rc2

25 Jun 12:29
1.11.0-rc2
7333d4d
Compare
Choose a tag to compare
Pre-release
PMDK Version 1.11.0-rc2

PMDK Version 1.11.0-rc1

07 Jun 12:38
1.11.0-rc1
aa591fb
Compare
Choose a tag to compare
Pre-release
PMDK Version 1.11.0-rc1

PMDK Version 1.10

28 Oct 14:00
1.10
b661e50
Compare
Choose a tag to compare

This release introduces a new stable PMDK library, libpmem2, which
is the next major release of libpmem.
This library has an entirely new, but familiar API that addresses many
shortcomings of the previous version while retaining all of its
functionality. To learn more, see https://pmem.io/pmdk/libpmem2/ or
libpmem2(7).
The old library, libpmem, is still going to be maintained for the
foreseeable future, but we'd like to encourage any new applications to
leverage libpmem2.