{{ message }}
Bump the C++ standard to 17#525
Merged
Merged
Conversation
- Replace `boost::optional` with `std::optional` - Replace `boost::any` with `std::any` - Use `std::weak_from_this` to create a `weak_ptr` from a `shared_ptr` - Leverage initializers for if to simplify code
There was a problem hiding this comment.
Pull request overview
This PR upgrades the C++ standard requirement from C++11 to C++17 for the Pulsar C++ client library, bumping the version to 4.0.0-pre. The upgrade modernizes the codebase by replacing Boost types with their standard library equivalents and leveraging C++17 language features for cleaner, more maintainable code.
Key Changes:
- Replaced
boost::optionalwithstd::optionalandboost::anywithstd::anythroughout the codebase - Adopted
std::weak_from_this()for creating weak pointers fromshared_from_this() - Introduced if-initializers to reduce variable scope and improve code clarity in async callback patterns
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 6 comments.
Show a summary per file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
RobertIndie
approved these changes
Dec 3, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

boost::optionalwithstd::optionalboost::anywithstd::anystd::weak_from_thisto create aweak_ptrfrom ashared_ptrSet the next major version to 4.0.0 for this change. If there are still demands from community for C++11 based build, we can consider 3.x.y releases.