Skip to content

Releases: FairRootGroup/FairMQ

v1.4.54

06 Sep 06:23
@rbx rbx
Compare
Choose a tag to compare

Bugfixes

  • fix(shm): Fix incorrect parameters when mapping regions by @rbx in d105960

Full Changelog: v1.4.53...v1.4.54

v1.4.53

21 Aug 17:31
@rbx rbx
v1.4.53
Compare
Choose a tag to compare

Bugfixes

  • fix(shm): race/deadlock in region locks by @rbx in da5cb34

Full Changelog: v1.4.52...v1.4.53

v1.4.52

11 Jul 07:26
@rbx rbx
226733c
Compare
Choose a tag to compare

New

  • shm: Monitor: Add region/segment presence check function by @rbx in #431

Misc

  • Reduce severity of the missing channel cfg on command line by @rbx in 226733c

Full Changelog: v1.4.51...v1.4.52

v1.4.51

28 May 12:53
@rbx rbx
Compare
Choose a tag to compare

Bugfixes

  • fix(shm): Add nullptr check on segmentInfo to Monitor::ResetContent() by @rbx in #429
  • fix(shm): Monitor::ResetContent(): Reset user data after recreating the management segment, to avoid bumping into locked interprocess locks. by @rbx in #429
  • fix(shm): Monitor::Cleanup(): open management data as read only, to avoid bumping into locked interprocess locks. We only read the segmentInfo/regionInfo (read-only) to find out which segments are present and delete everything unconditionally in the next step. by @rbx in #429

Misc

  • feat(shm): Add more debug output. by @rbx in #429

Full Changelog: v1.4.50...v1.4.51

v1.4.50

21 Mar 17:51
v1.4.50
Compare
Choose a tag to compare

The v1.4 milestone is now three years in the making and would not have been possible without the invaluable discussions, feedback and contributions by the members of the AliceO2 team!

New release procedure: Starting with v1.5.0 FairMQ adopts a semantic versioning release procedure. This basically means that FairMQ will make more use of its major and minor version components as well as ship release notes on every release. In addition, releases are no longer distinguished into testing or stable categories.

Changelog:

v1.4.50 - 2022-03-21

Changed/Removed

  • feat: Remove --max-run-time option (5d45d89)
  • fix(Device): Spawn rate logger thread only if needed (cb5029f)

Deprecated

  • build: Deprecate components dds_plugin, sdk, sdk_commands (b7474ae)

Bugfix

  • fix(Device): Warning about narrowing conversion (27277b1)
  • fix(control): Honor SIGINT and SIGTERM in more places (#421)

v1.4.49 - 2022-02-28

Bugfix

  • shm: check region size when opening existing (b747a87)
  • Shm: fix number of region events (8efe7ad)
  • Shm: bring back thread-safety for fRegions (intra-process) (29827f0)
  • Skip error message only for tcp (fa0bf96)

v1.4.48 - 2022-02-02

Changed/Removed

  • shm: Add size to UnmanagedRegion debug output (4f9aeda)
  • shm: remove UR queues on ResetContent (92a56c2)
  • shm: monitor: disable number of msgs in the ack queue output (2f82eb4)
  • shm: allow monitor::ResetContent to cleanup after a crash (1a75141)

v1.4.47 - 2022-01-28

Changed/Removed

  • Avoid fixed ports in the test suites (f4d39d2)
  • Don't use to-be-deprecated names (bfd08bb)

New

Bugfix

  • use [[maybe_unused]] for values used in assertions (f15f669)

v1.4.46 - 2022-01-13

Changed/Removed

  • modify keep-alive example executable a bit, make it configurable (f6bade3)

Bugfix

  • shm: fix double unlock() (f79a071)
  • shm: keep mng segment around when skipping cleanup (ddf9bc7)

v1.4.45 - 2022-01-10

Changed/Removed

  • shm: reduce contention on region events (c04958e)

v1.4.44 - 2021-12-17

Changed/Removed

  • Do not catch and rethrow exception from state handlers (0eaea3c)
  • Avoid accessing Device.fChannels directly, use getters (dbdf17c)
  • refactor: deduplicate more zmq/shmem code (953c4a7)
  • consolidate UnmanagedRegion options (d630fbb)
  • simplify region cleanup (eef42d2)
  • extend region config (80ed45d)
  • shm: integrate mtx and cv into management segment (1839f7e)
  • shm: always open_or_create segment (eb4620b)

New

  • feat: Add Device::GetNumSubChannels(channel) (a3bb5fb)
  • Add configurable default snd/rcv timeout (f24dee3)
  • shm: add APIs for implementing keep-alive process (692576a)

Bugfix

  • fix: install tools/Exceptions.h (856780f)
  • Do not print logo, if not requested (acfb495)

v1.4.43 - 2021-10-19

Changed/Removed

  • Define copy/move ctors and assignment ops (ad824b4)
  • refactor: Deduplicate GetConstant() (7329cb4)

Deprecated

  • fix: Deprecate Message::Close because it is really a dtor (b8503bf)

New

  • feat: add options to control allocation attempts (1449166)
  • feat: add tool for noncanonical input (5fe2f53)
  • feat: Add new assertm macro (8796ce5)
  • feat: Add new GetNumberOfConnectedPeers() API (fda8126)
  • feat: Add interactive controller button to print connected peers (ebcbe2d)

Bugfix

Buildsystem/CI

  • ci: Add macos-11-arm64 (apple-clang-13) build (55a2cfc)

v1.4.42 - 2021-09-20

Deprecated

  • fix: Deprecate static string helper (b442483)

Bugfix

  • fix: -Winfinite-recursion (727a709)
  • Shm: Fix SetUsedSize() (e484bf4)

v1.4.41 - 2021-09-07

Changed/Removed

  • feat(tools): Move the error code to the Tools target (9cbaf7e)

Deprecated

  • refactor: Prepare deprecation of non-namespaced types and headers (8e6c50e)
    • <FairMQ*.h> headers will be deprecated in the future. Use <fairmq/*.h> instead!
    • ::FairMQ* typenames will be deprecated in the future. Use fair::mq::* instead!

New

Bugfix

  • fix: First round of using new non-namespaced typenames (4e8f247)
  • shm: reimplement alignment (815b2f1)

Buildsystem/CI

  • build: Have color output depend on a common switch DISABLE_COLOR (d392f60)
  • build: Use fairmq-tidy on our own codebase when RUN_FAIRMQ_TIDY=ON (24fbf94)
  • Extend test for empty messages (c57410b)

v1.4.40 - 2021-07-30

Bugfix

  • Protect access to options container (db0500f)

v1.4.39 - 2021-07-16

Changed/Removed

  • shm: optimize monitor heartbeats (28a887a)
  • shm: improve exception handling (37c0591)
  • feat(sdk): Remove unused fairmq executable (09d2574)
  • feat: Require DDS 3.5.13.7 (1df338b)
  • feat: Drop public dependency to Boost.Asio and use standalone asio (9585c20, 0c4921d)
  • feat(ofi): Require asiofi 0.5 (1007de8)

New

  • Add --shm-mlock-segment-on-creation option (a6193a3)
  • Add --shm-zero-segment-on-creation option (03ba9eb)
  • feat: Add new function GetEnabledTransports() (e3d3be8)
  • feat: Add <fairmq/FwdDecls.h> (479d6e0)

Bugfix

Buildsystem/CI

  • extern/googletest: Bump for GCC11 support (bac5b90)
  • extern/asio: Bump and require v1.18.1 (d15bc17)
  • CMake: Remove cotire dependency (ed78ccd)
  • Bundle and use FairCMakeModules (575054a)
  • CMake: Set CXX language level via target_compile_features() (7616b0b, 42606f9)
  • Add codemeta.json (947c4a7)
  • Add codemeta_update.py (415232b)
  • CI: Add a fedora 34 (gcc 11) check (9c34782)
  • CI: Add ubuntu 20.04 (gcc 9) check (2b43845)
  • CMake: Do not unconditionally override settings without good reason (2e65582, ab54668)
  • build: Do not hardcode include dirs (8bf9e1d)
  • build: Fix default for BUILD_TESTING (f413aa1)
  • test(sdk): Rename sdk/test_topo.xml to something less confusing (08d72d4)
  • build: Pick shared flatbuffers lib first (8859c56)
  • build: Revert removal of asio find module (170557a)

v1.4.38 - 2021-05-20

Changed/Removed

  • runDevice: remove const from getDevice parameter (a7dbead)

New

  • shm: add monitor method to retrieve free segment memory (021c1b1)

Bugfix

  • shm: revert some changes from c85d6e0 that introduced a race (9bf908f)

Buildsystem/CI

  • reduce noise in examples (aaf74ad)

v1.4.37 - 2021-05-07

Bugfix

v1.4.36 - 2021-05-07

Changed/Removed

  • Improve Events API (6dfea32, 091d082)
  • PluginManager: Do not load built-in plugins via dlopen/dlsym (057ba03)
  • use thread local cache to avoid interprocess lock on shm GetData (f7ba305)
  • improve message counter cache line use (ef5b3c7)
  • shm: reduce shm contention when dealing with ack queues (c85d6e0)

New

  • Add operator<< for fair::mq::Transport (ed2dced)
  • Add GetType() to UnmanagedRegion (9defa71)
  • shmmonitor: add severity setting (b67b80e, 8b4056e)
  • add mlock/zero options to unmanaged region (857aa84)

Bugfix

  • Fallback to Boost.Filesystem on GCC 8 (9724f18)
  • Fix -Wunused-result (a90dbf6)
  • shm region cache: fix multiple sessions issue (2ca62d0, 87e0ca5)
  • shm: check result of region acquisition (8a2641d)
  • Check transport type of msg and corresponding region (c6a6a5f)
  • shm: eliminate race/deadlock in region subscriptions (2c89b24)
  • region example: fix msg counter (4e46651)

v1.4.35 - 2021-04-08

Bugfix

  • Fallback to <boost/filesystem> on GCC 7 (ea9aede)

v1.4.34 - 2021-04-08

Changed/Removed

  • shmmonitor: optimize startup to avoid repeated start (72175e5)
  • shmmonitor: use fairlogger (be55565)
  • shm: reduce delay between monitor daemon launch & HBs (0976465)

New

  • Introduce <fairmq/Device.h> (cef6d0a)
  • Introduce `<fairmq/runD...
Read more

v1.3.9

07 Aug 16:07
v1.3.9
Compare
Choose a tag to compare

[bug fixes]

  • 03e6cea Tools: Fix regression bug to support Boost < 1.66

[maintenance]
Support recent releases of Boost, CMake, DDS and FairLogger

  • d91a7d2 CMake: Support DDS 2.4
  • c3f6d5c FairMQ: Remove unused dependency on Boost.Signals v1
  • de7b576 CMake: Set policies by version
  • 7506243 CMake: Fix summary table for recent FairLogger versions

v1.3.8

07 Jan 13:31
v1.3.8
Compare
Choose a tag to compare

[bug fixes]

  • 291d00c Fix regression with ignored rateLogging channel argument
  • 0cb8f61 Let getMessage deal with SSO

[enhancement]

  • 4dc37ef Allow implicit conversion factory->resource

v1.3.7

29 Nov 12:17
@rbx rbx
Compare
Choose a tag to compare

[new features]

  • 5e4876c Allow plugins to create channels
  • 310b964 Adopt FairMQMessage backed memory resource collection from AliceO2
  • 3a1b769 Support feeding the child process data on stdin
  • 4123ebc Add interruptable FairMQDevice::WaitFor(duration) method
  • e95096e Add RateLimiter class to tools
  • 4aae1ad Allow DDS command UI to target parts of the topology

[enhancements]

  • 653e82c Avoid copy (where possible) when switching transports
  • 25fcf13 Move Bind/Connect/Attach to FairMQChannel
  • 3ca0d72 Add safety checks for process tools
  • 44acd49 Implement nanomsg linger in our transport
  • dfa1b68 Make factory classes final (optimization potential)
  • e090967 Build shmem names out of session id + user id (avoid conflicts)
  • 1fdf510 Pick correct build type in CI
  • 45354f2 Use future instead of thread for device rateLogger (exception safety)
  • cf9a294 Introduce and export hotfix version component
  • 94297f9 Tie builtin plugin version to the project version
  • 88f8975 Add codacy.com integration
  • 60f27b9 Support BUILD_SHARED_LIBS flag
  • 1bb558a Refactor initialization - config always available, proper reinit on Init() re-entry
  • c8bd19b Add experimental FAST_BUILD option
  • fc0adba Support unity build
  • a53ef79 Run state handlers on the main thread (breaking change for control).
  • f05118f Make ";" the separateor in multi-point channel config
  • ffbe90b Update to DDS 2.2 API

[bug fixes]

  • 227a302 Avoid boost::uuids::entropy_error on some systems
  • 3561255 Add missing channel update handlers (snd/rcvKernelSize)
  • 9f32545 Make sure we reset terminal config also on exception
  • cb199e7 Fix throw after quit signal case
  • 1aab354 Resolve hanging process in case of uncaught exception
  • f6c1f5d Fix theoretical race in signal handler
  • adfa0e2 Move shmmonitor out of lib to own executable (Fix ODR violation)
  • 2c6b2e7 Fix race condition in the control plugin
  • b814e40 Fix multipart transfer timeout
  • ee8afd7 Fix race in plugin manager/services

[cleanup and deprecations]

  • 0cfa919 Deprecate Send-/ReceiveAsync, use timeout variant instead
  • ce4062f Remove GetSocket interface that exposes transport details
  • 00800f1 Remove support for nanomsg <= 0.6
  • cfb7271 Remove set/get timeout from general socket interface
  • 9851504 Remove shmem prototype code - unused
  • a53ef79 Run state handlers on the main thread (breaking change for control).
  • 90009b1 Remove previously deprecated Copy method (since 1yr)

[tests]

  • e403d18 Add codecov reports to PRs
  • a9df367 Add test for FairMQMessage::Rebuild
  • bd899a2 Add test for channel validation
  • 0b199e7 Add test for interface IP detection tools
  • 919193a Extend transfer timeout test coverage
  • d4a4ea1 Add example/test for built-in devices
  • ffab4ac Add options tests and (re-)/enable more nanomsg tests
  • 1d45095 Add session id to example tests
  • 78acb95 Test more cases with interactive controller
  • e39316c Test exceptions thrown in user code
  • c4145e9 Add test for FairMQDevice::WaitFor()
  • 5397cef Use same runner.cxx/.h for all tests
  • b814e40 Enable multipart transfer timeout tests
  • 7d5e76d Add more tests for custom main()
  • 24dff2f Enable FAST_BUILD for alfa-ci
  • 3f96181 Define nn tests only when nn transport is built

[dependencies]

Many more small fixes and improvements.

v1.2.3

22 May 15:25
v1.2.3
5ab2194
Compare
Choose a tag to compare

Changelog:

  • [bugfix] Remove the alias target
  • [enhancement] Improve compilation speed
  • [new feature] Control plugin: add ability to switch log levels interactively
  • [enhancement] provide FAIRMQ_PATH to test suites
  • [enhancement] further shorten shm names
  • [test coverage] Test all examples with all possible transports
  • [enhancement] Use enum transport types instead of strings in Channel/Device
  • [enhancement] Fix namespaces in Transports.h and add conversion map
  • [enhancement] Used cached default transport in FairMQDevice::Transport()

v1.2.1

04 May 20:13
v1.2.1
9906475
Compare
Choose a tag to compare

Changelog:

  • [bugfix] error: no matching function for call to 'find_if' with Boost 1.66+ (#29)