v1.3.7
[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.