NotifySubscribe/NotifyUnsubscribe and Update to PEGTL 3.0.0 Release
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 onsubscribe
/unsubscribe
.- If there's a default
Subscription
object passed to theOperations
constructor, and you call one of the overloads which takes astd::launch
policy, it will resolve the subscription query onsubscribe
withResolverContext::NotifySubscribe
, and onunsubscribe
withResolverContext::NotifyUnsubscribe
. - Using the older
subscribe
/unsubscribe
overrides, or leaving the defaultSubscription
argument empty, should behave the same as before, except there's now an additionalFieldParams::resolverContext
member which you may inspect at runtime. - You can still override the
Subscription
object when callingdeliver
to separate subscription state management from the delivery of events. If you passdeliver
anullptr
, it will still fallback to using the defaultSubscription
object.
- If there's a default
- Update the
PEGTL
submodule to the 3.0.0 release tag which just came out.- Remove the
boot-filesystem
fallback now thatPEGTL
depends onstd::filesystem
as well, which bumps the minimum compiler toolchain version up on Linux. - Clarify compatibility requirements in the README
- Remove the
- Other
- Miscellaneous bug fixes.
- Enable
clang-format
and use that to re-format almost everything.