Skip to content

Releases: robertroessler/rms

RMs 3.0 - now with [updated] record and std::jthread support!

Choose a tag to compare

@robertroessler robertroessler released this 09 Aug 23:40

The long-teased "V3" is finally here - although it is still looking for some updated docs (when they appear, they will be "V3.1" or some such).

But we now have finished the building and support of the "record" type... which already has both "current" and "legacy" versions. The rms::get_rec version (now "legacy") went almost directly from the internal RMs storage representation to a tuple suitable for use in structured bindings, which didn't integrate well with the other big change to our "higher-order functions" for message processing... these latter are now much better integrated with std::jtheads - and the c++20-enabled std::condition_variable_any new "wait with stop token" fn - but forced an internal intermediate step of "record-as-vector-of-rms_any"; fortunately, you still get all that structured binding coolness with rms::unpack_rec.

Be sure to check the commit message for more exciting details!

RMs 2.0 (Historical / "placeholder" release)

Choose a tag to compare

@robertroessler robertroessler released this 12 Apr 22:04

To sum up the geological development of RMs:
"v1.0" was the low-level "rms_" exported entry points version...very low-level
"v1.5" included the initial use of simple[r] "rms::subscription" queue operations: "get" and "put"
"v2.0" is the current "today", including the "rms::publisher" class, and low-to-moderate use of templates and lambdas

As we now wish to move on with "records" and more hard-core template use (like parameter packs) - plus define an official exception / throw model [for serious run-time failures] - it seemed to be a good idea to make good ol' "v2.0" available as a snapshot of the current fully working main branch, for the benefit of any existing users dependent on the existing interfaces and functionality (whether we do the new work on the main or a development branch or not).