3.4.0 adds no new APIs, but it paves the way for Proxy 4 and later majors.
What’s inside
-
Forward-compatibility scaffolding
- Public headers now live in a versioned inline namespace (
pro::v3
). - Every macro has a major-qualified alias (e.g.
PRO3_DEF_MEM_DISPATCH
). - Lets two majors coexist in one translation unit without ODR violations.
- Idea by @SidneyCogdill, implemented by @SidneyCogdill and @mingxwa.
- Public headers now live in a versioned inline namespace (
-
Toolchain fix
- Resolved a build failure on Clang 20 — thanks @iKoznov.
Upgrading
-
Treat 3.4.0 like any other 3.x patch/minor update; no code changes required.
-
After Proxy 4 ships, migrate module-by-module:
#include <proxy/v3/proxy.h> // current #include <proxy/v4/proxy.h> // new pro::v3::foo(); // existing code pro::v4::foo(); // migrated code
-
When every target depends only on v4, drop v3 and remove
pro::v3::
qualifiers.
See the updated FAQ ("How do I upgrade Proxy in a large codebase?") for details.
Full changelog: 3.3.0...3.4.0