Skip to content

v1.5.0

Compare
Choose a tag to compare
@dennisklein dennisklein released this 07 Mar 15:11
· 71 commits to dev since this release
v1.5.0

BREAKING CHANGES

  • Remove deprecated components sdk, sdk_commands, dds_plugin (#392, cda7282)
  • Create a single shared library again (cfc6090)
    • Removes exported targets FairMQ::Tools and FairMQ::StateMachine
  • Turn shm-monitor off by default (4566318)
  • Remove Device::TransitionTo() without replacement (c35d35a)
  • Remove EXPERIMENTAL ofi transport (2e98a4e)
  • Remove EXPERIMENTAL PMIx plugin (0aecfff)
  • Migrate to std::filesystem consistently (05b734e)
    • Switch back to Boost.Filesystem via -DFAIRMQ_HAS_STD_FILESYSTEM=0
    • FAIRMQ_HAS_STD_FILESYSTEM defaults to 1 on GCC >= 9 and Clang >= 9

Deprecations

Features

  • Adopt kebab-case library and plugin file names (640becc, ca420a0)
    • Camel+snake-case plugin names are still allowed! e.g. libFairMQPlugin_myplugin.so and new libfairmq-plugin-myplugin.so
  • Bump bundled GTest to @a1cc8c55 (e202512)
  • ABI version is now defined to be equal to the API/Source version (b3395ef)
    • Note: This is essentially a clarification that FairMQ does not try to support any kind of ABI compatibility between releases.
  • Switch to -O3 (a1e5962)
  • Add new example with custom controller plugin (statically compiled in) (faa3095)
  • Add operator<< to fair::mq::Channel (a8b7ebe)
  • Make invalid channel initialization cancellable through pending state (87baf97)
  • Extend error message if channel(s) was not configured before timeout (7697f2f)
  • Warn when going to try allocate a shmem message more times (9389030)
  • Resume/Interrupt transports consistently (9093ed8, ae51ecc, da1c9e4)
  • Refine and tweak fair::mq::Parts (a58b487)
  • Improve ChangeState API (#441, 435d07e)
    • Add [[nodiscard]] to bool Device::ChangeState()
    • Introduce throwing variant void Device::ChangeStateOrThrow()
  • build: Update CMake policy version range (7d40111)
  • Make Error classes header only (f2dce91)

Bugfixes

  • build(fairmq-tidy): Add missing EXPERIMENTAL tag (2513da2)
  • fix(zeromq): Leaking monitor socket messages (c3fdc8c)
  • region example: fix race between segment reset & presence check (fdfde95)
  • fix(shm): Handle pre-conditions (904037d)
  • fix(examples): Disable hidden CXX_VISIBILITY_PRESET (64a09dd)
  • fix(examples): warning: declaration class fair::mq::Device does not declare anything (77e04d5)
  • Device: synchronize access to transports container (7bf1d36)
  • fix: [-Wsign-compare] (0a63c74)
  • fix: [-Wdeprecated-declarations] (a83e401, 12a85c6)
  • fix: Remove unused fMaxRunRuntimeInS (5108f69)
  • build: Do not sort package dependencies (651d779)
  • Shm: fix unused value (4af0954)
  • fix: Use std::chrono consistently (8960ce9)

Contributors: @rbx, @dennisklein, @ChristianTackeGSI, @knopers8, @ktf

Full Changelog: v1.4.56...v1.5.0