Skip to content

Releases: zeromq/cppzmq

v4.3.0

15 Aug 15:53
213da0b
Compare
Choose a tag to compare
  • fixed issues when compiling with C++11
  • fixed and improved cmake build (in and out of source builds, libzmq discovery, fallback to pkg-config and more)
  • updated README.md with clear design goals, supported platforms
  • official CI support for Linux, MacOS and Windows
  • unit tests infrastructure
  • test code coverage brought to 77%
  • updated code style (more details in .clang-format)

socket_t:

  • added support for draft ZMQ_SERVER and ZMQ_CLIENT sockets
  • added support for draft ZMQ_RADIO and ZMQ_DISH sockets

poller_t:

  • poller_t became thin abstraction layer on zmq_poller_*
  • functionality with std::function handlers split and moved to a new active_poller_t in zmq_addon.hpp
  • simpler and safer implementation
  • made non-copyable, but properly movable
  • more consistent and robust error handling
  • event type part of handler definition
  • fixed a segfault issue when modifying poller_t from a handler
  • added empty method indicating presence of registered sockets

context_t:

  • added methods for context options: setctxopt(int option_, int optval_) and int getctxopt(int option_)

message_t:

  • easier construction from iterable type e.g. std::string, std::array
  • added != and == operators and equals method marked as deprecated

multipart_t:

  • added an operator<<(std::ostream) to easily print out multipart_t content

Full list of pull requests merged in this release:

  • [closed] Problem: #209 and monitor_t tests not event driven #255
  • [closed] editing "typename I" to "typename T" due to error: expected nested-na… #250
  • [closed] Add first tests for monitor_t and fix monitor_t::abort #249
  • [closed] Problem: README build badges too generic #248
  • [closed] Problem: Travis requires sudo and draft not enabled for git repo #240
  • [closed] Problem: Coverage with coveralls not working #247
  • [closed] Problem: cmake build succeeds even if libzmq not found #243
  • [closed] Problem: cppzmq build broken with C++11 compiler and git cloned repo. #236
  • [closed] Add message_t::routing_id() and set_routing_id() #235
  • [closed] Problem: cppzmq needs to be installed for pkg-config libzmq #234
  • [closed] Problem: libzmq pkg-config build not covered by CI #232
  • [closed] Problem: OSX build not enabled in Travis #230
  • [closed] Problem: whitespace style too restrictive. #228
  • [closed] Split poller_t into two layers #225
  • [closed] Problem: design goals and supported platforms are not explicitly stated #224
  • [closed] Problem: poller_t::wait_all and active_poller_t::wait declare int ret… #227
  • [closed] Problem: inconsistent code style #226
  • [closed] Problem: client/server socket types not defined. #223
  • [closed] Problem: poller's constructor is not default generated #222
  • [closed] Problem: poller move operations not complete #221
  • [closed] Problem: poller can segfault when modified from registered handler. #219
  • [closed] Fix message using empty version variable #220
  • [closed] Problem: googletest is also installed into install destination #217
  • [closed] Problem: Missing QUIET option causes a CMake warning #218
  • [closed] Problem: deprecated poller's add method in draft API #216
  • [closed] Problem: poller_t does not support modify #215
  • [closed] Problem: Appveyor caches way too much. #214
  • [closed] Problem: Appveyor Windows build does not cache googletest #213
  • [closed] Problem: poller_t's deprecated add might throw std::bad_function_call #211
  • [closed] Problem: Appveyor build is slow. #212
  • [closed] Problem: poller_t invalid behavior on moved sockets #208
  • [closed] Problem: tests are always building #210
  • [closed] Remove unnecessary curly bracket #207
  • [closed] Problem: Windows build broken because of multiple issues #204
  • [closed] Improved tests and implementation of message_t #205
  • [closed] Problem: poller's handler not aware of event type. #200
  • [closed] Problem: message_t could be easier to construct and is missing equal not equal operators #203
  • [closed] Problem: non consistent whitespace formatting #202
  • [closed] Problem: insufficient tests for poller_t, bad usability since caller of add must store function object #201
  • [closed] Problem: poller_t does not have great test coverage #196
  • [closed] Added include directory to CMake instructions #198
  • [closed] Problem: Draft build not enabled for git cloned cppzmq. #195
  • [closed] Add some initial tests, add some build/version CI variants #194
  • [closed] Add basic test infrastructure #192
  • [closed] Add basic Travis CI for cppzmq #191
  • [closed] Fix copy/move constructors of poller_t, and make error handling consistent with rest of API #190
  • [closed] std::string conversion for zmq::message_t #187
  • [closed] Added wrapper for context options #181
  • [closed] fix installation source path of FindZeroMQ.cmake #179
  • [closed] fix updated FindZeroMQ #178
  • [closed] call pkg-config fallback FindZeroMQ.cmake #174

cppzmq 4.2.2

31 Jul 14:20
v4.2.2
Compare
Choose a tag to compare

cppzmq version 4.2.2 stable, released on 2017/07/31

Bug Fixes

  • monitor_t:
    • build error in constructor #135
    • blocked when used without threads #134
    • move constructor was only partly initialized #130
  • socket::send(): improper EHOSTUNREACH handling #125
  • check for zmq_msg_gets did not properly exclude libzmq 4.0.X #114

Features

  • CMake:
    • export targets to config (requires CMake 3.0+ now) #118 #121
    • pkg-config fallback for libzmq installs via autotools #133
  • peekstr & peektyp: peek into parts of messages #124
  • allow empty handler parameter in zmq::poller_t::add() #119 #120
  • poller_t class based on new libzmq poller API #111

Misc