Skip to content

Commit b602788

Browse files
committed
Renamed CHANGELOG to CHANGELOG.md; spacing and markdown minor tweaks. / Release 2.0.0 (<- 1.0.2): Updated VERSION and CHANGELOG.
1 parent e4d1401 commit b602788

File tree

3 files changed

+54
-11
lines changed

3 files changed

+54
-11
lines changed

CHANGELOG

Lines changed: 0 additions & 10 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Version 1.0.0 (Mar 2024)
2+
* Initial open-source release.
3+
4+
# Version 1.0.1 (Mar 2024)
5+
* Comment and/or doc changes. In particular central code example in README had some problems.
6+
* Eliminate ipc_.../CHANGELOG since no VERSION/releases for those repos.
7+
8+
# Version 1.0.2 (Mar 2024)
9+
* Comment and/or doc changes.
10+
* Style refactor (small): Encouraging `static_assert(false)` over `#error`. Encouraging `if constexpr` over SFINAE.
11+
12+
# Version 2.0.0 (Feb 2025)
13+
* Internally to SHM-jemalloc use vaddr space less aggressively, avoiding eventual fatal error despite not-high SHM RAM use.
14+
* Direct or indirect (such as via `ipc::transport::struc::Channel`) use of SHM-jemalloc could trigger this problem.
15+
* SHM-classic (`ipc::shm::classic`) was not affected.
16+
* `ipc::transport::sync_io::Native_socket_stream` and `Blob_stream_mq_sender`: Internal fix to avoid mayhem with user access (`epoll_ctl(DEL)` in particular) of central FDs within these objects, after disconnect/error detected but before object destroyed.
17+
* `ipc::transport::struc::[sync_io::]Channel`: Internal fix to avoid potential crash (or tripped `assert()` if enabled) when issuing messages around the time when a session ends due to the opposing process, e.g., exiting.
18+
* Issue affected only sessions backed by SHM-jemalloc (`ipc::session::shm::arena_lend::jemalloc`).
19+
* Sessions backed by SHM-classic (`ipc::session::shm::classic`) and non-zero-copy sessions (`ipc::session`) were not affected.
20+
* Fix `ipc_shm_arena_lend` CMake build-break bug when one specified no (empty) jemalloc API prefix when building jemalloc (dependency). Also nearby:
21+
* ipc_shm_arena_lend CMake-build knob `JEMALLOC_PREFIX`: rename to `FLOW_IPC_JEMALLOC_PREFIX` to avoid collision with same-named variable elsewhere.
22+
* ipc_shm_arena_lend CMake-build knobs `JEMALLOC_LIB` and `JEMALLOC_INCLUDE_PATH`: rename to `JEMALLOC_LIBRARIES` and `JEMALLOC_INCLUDEDIR`, respectively, because these names are already used by the default auto-searcher.
23+
* Internally improve build script when searching for jemalloc install.
24+
* Bug fix in `Bipc_mq_handle` wait-based APIs exception-throwing form.
25+
* Only direct use of some of these APIs by user (currently unlikely) was affected. Indirect use via other APIs was not affected.
26+
* `ipc::shm::arena_lend_jemalloc::Ipc_arena::construct<T>(bool use_cache, ...)` overload: Remove and replace (with `construct_thread_cached()`) this API due to potential overload ambiguity for some `T`s.
27+
* `Ipc_arena` public super-class `Shm_pool_collection` also had a `construct()` with potentially ambiguous signature; rename to `construct_maybe_thread_cached()`.
28+
* C++20 mode build and GitHub-CI-pipeline support. C++17 remains the main/minimal mode, but we now ensure user can build/use in C++20 mode also.
29+
* Dependency bump: Boost v1.84 to 1.87.
30+
* Minor dead-code removal from build script(s).
31+
* Flow v2.0.0 has gained a unit test suite similar to Flow-IPC and now houses various common test utilities, so they are removed here, and instead we reuse them from their new location in Flow.
32+
* In test/demo programs using the new (albeit optional) `flow::log::Config::init_component_to_union_idx_mapping()` arg in the now-recommended way.
33+
* Minor test/demo code fixes.
34+
* GitHub CI pipeline: Tweak to get gcc-13 builds to work again (GitHub changed preinstalled packages).
35+
* Comment and/or doc changes.
36+
37+
## Submodule repository `flow`
38+
* Release v2.0.0 (previously: v1.0.2).
39+
40+
## API notes
41+
* New APIs:
42+
* `ipc::shm::arena_lend::jemalloc::Ipc_arena::construct_thread_cached()`: replaces removed `construct(true, ...)`.
43+
* `ipc::shm::arena_lend::jemalloc::Shm_pool_collection::construct_maybe_thread_cached()`: replaces removed `construct()`.
44+
* Error codes: `ipc::transport::struc::shm::error::S_SERIALIZE_FAILED_SESSION_HOSED` and `S_DESERIALIZE_FAILED_SESSION_HOSED`, when working with `ipc::transport::struc` APIs in SHM-jemalloc-backed channel.
45+
* Breaking changes:
46+
* Removed `ipc::shm::arena_lend::jemalloc::Ipc_arena::construct(bool use_cache)`.
47+
* For `use_cache = true`, call `construct_thread_cached()` (new).
48+
* For `use_cache = false`, call `construct(Ctor_args&&... args)`.
49+
* Renamed `ipc::shm::arena_lend::jemalloc::Shm_pool_collection::construct()` to `maybe_thread_caching()`.
50+
* `ipc_shm_arena_lend`: Build script: renamed optional cache-settings:
51+
* `JEMALLOC_PREFIX` to `FLOW_IPC_JEMALLOC_PREFIX`
52+
* `JEMALLOC_LIB` to `JEMALLOC_LIBRARIES`
53+
* `JEMALLOC_INCLUDE_PATH` to `JEMALLOC_INCLUDEDIR`

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.2
1+
2.0.0

0 commit comments

Comments
 (0)