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 13
/
ChangeLog
63 lines (51 loc) · 2.85 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
Thu Jan 05 2023 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
* Version 0.2.1
This is, most likely, the last patch release of pmemstream project.
It contains multiple fixes, documentation updates, refactors, minor
CI/examples/CMake changes, along with new and updated tests.
The most relevant updates are listed below:
- Add shadow value to pmemstream_persisted_timestamp
- Fix and prune fences in atomic span ops
- Fix races (e.g., in region.c) and issues reported by TSAN
- Fix append benchmark for concurrent ops
- Extend entry_iterator_is_valid with additional check
- Enable prefault at open/create time
- tests: extend multiple existing tests and add missing TCs
- tests: add check for recovery during recovery (a corner case for torn recovery process)
- Extend CMake with new options (e.g., for Thread Sanitizer and increased fortification level)
- Update manpages with detailed descriptions
Tue Jun 28 2022 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
* Version 0.2.0
This is the second (still minor) release of pmemstream project.
It contains many functional updates, API changes, and refactors,
along with new tests and examples.
New features:
- Asynchronous API, which uses libminiasync (https://github.com/pmem/miniasync)
for concurrently appending data to the stream; currently, multiple threads can append
data concurrently to different regions, but no two threads can append to the same one.
It includes new functions for appending and publishing data;
exposing 2 stages of an append - committed and persisted with 2 functions
`pmemstream_async_wait_*(timestamp)` to wait for the given entry to be available
for reading and/or for persistency guarantee.
- Changed region and entry iterators API. It now provides `seek_first`, `next`, and `is_valid`
functions for both types of iterators. It offers higher flexibility.
- Multiple regions. A simple region allocator, allowing creation of multiple regions;
for now, only supports a single region size (within a given stream).
- Timestamps for each entry to provide global entries' order (and easier recovery).
- Exposed `pmemstream_region_usable_size` function to read the currently available size
in a given region; it can be used with the combination of "entire region size" function
(`pmemstream_region_size`) to, e.g., calculate the already used region's space.
- Full documentation of public API in the form of manpages.
Other changes:
- Rename `pmemstream_entry_length` to `pmemstream_entry_size` for consistent naming convention
- Add simple "append" benchmark
- Enable integrity, consistency, and sanitizers tests
- Add 4 more examples
Fri Dec 03 2021 Igor Chorążewicz <igor.chorazewicz@intel.com>
* Version 0.1.0
This is the first official release of pmemstream project.
It contains:
- initial implementation
- working build system
- test framework
- basic example