Skip to content

NotifySubscribe/NotifyUnsubscribe and Update to PEGTL 3.0.0 Release

Compare
Choose a tag to compare
@wravery wravery released this 30 Nov 00:06
3add6d3

I bumped the minor version to 3.3.0 to reflect the new NotifySubscribe/NotifyUnsubscribe feature. The update to PEGTL technically breaks backwards compatibility with older compilers/toolchains, so I could also bump it up to 4.0.0, but since it's still source compatible with prior versions I left it as is.

  • Support for invoking the default Subscription object resolvers on subscribe/unsubscribe.
    • If there's a default Subscription object passed to the Operations constructor, and you call one of the overloads which takes a std::launch policy, it will resolve the subscription query on subscribe with ResolverContext::NotifySubscribe, and on unsubscribe with ResolverContext::NotifyUnsubscribe.
    • Using the older subscribe/unsubscribe overrides, or leaving the default Subscription argument empty, should behave the same as before, except there's now an additional FieldParams::resolverContext member which you may inspect at runtime.
    • You can still override the Subscription object when calling deliver to separate subscription state management from the delivery of events. If you pass deliver a nullptr, it will still fallback to using the default Subscription object.
  • Update the PEGTL submodule to the 3.0.0 release tag which just came out.
    • Remove the boot-filesystem fallback now that PEGTL depends on std::filesystem as well, which bumps the minimum compiler toolchain version up on Linux.
    • Clarify compatibility requirements in the README
  • Other
    • Miscellaneous bug fixes.
    • Enable clang-format and use that to re-format almost everything.