Skip to content

Conversation

@jchv
Copy link

@jchv jchv commented Feb 1, 2026

Hello. I wanted to make some updates, since there is now an opportunity to clean up some of the messes we had earlier with new releases of cel-cpp and re2 having been cut.

This updates:

  • absl from 20240722.0 to 20260107.0
  • protobuf from 29.2 to 32.1
  • cel_cpp from 0.11.0 to 0.14.0
  • re2 from 2024-04-01 to 2025-11-05

The default standalone CMake C++ version is downgraded to C++17, with C++20 only being used for targets that actually need it. This is due to a bug in protobuf v30+ on MSVC:
protocolbuffers/protobuf#21310 It doesn't have any impact in any other situation, and doesn't change anything when protovalidate-cc is used as a subproject. It does enable using protovalidate-cc as a subproject in an otherwise C++-17 project.

The cel-cpp patch is reduced, since a lot of my previous patches were upstreamed since the last release. I still don't have a proper solution to the constinit problem, so that's still there.

The re2 patch is removed. Google finally actually did resolve the problem with not having an option to control the re2 install targets with CMake. Coincidentally, it uses the same variable name I already used, so no adjustments are needed.

All of these dependencies pretty much need to be updated together. They're updated to the latest available versions with the exception of protobuf, since v33 seems to fail to compile for reasons I have not figured out yet. It can't be held behind since v29 can't compile with a newer version of absl, but cel_cpp requires a newer version of absl. re2 has to be updated for the same reason.

This updates:

- absl from 20240722.0 to 20260107.0
- protobuf from 29.2 to 32.1
- cel_cpp from 0.11.0 to 0.14.0
- re2 from 2024-04-01 to 2025-11-05

The default standalone CMake C++ version is downgraded to C++17, with
C++20  only being used for targets that actually need it. This is due
to a bug in protobuf v30+ on MSVC:
protocolbuffers/protobuf#21310
It doesn't have any impact in any other situation, and doesn't change
anything when protovalidate-cc is used as a subproject. It does enable
using protovalidate-cc as a subproject in an otherwise C++-17 project.

The cel-cpp patch is reduced, since a lot of my previous patches were
upstreamed since the last release. I still don't have a proper solution
to the constinit problem, so that's still there.

The re2 patch is removed. Google finally actually did resolve the
problem with not having an option to control the re2 install targets
with CMake. Coincidentally, it uses the same variable name I already
used, so no adjustments are needed.

All of these dependencies pretty much need to be updated together.
They're updated to the latest available versions with the exception of
protobuf, since v33 seems to fail to compile for reasons I have not
figured out yet. It can't be held behind since v29 can't compile with a
newer version of absl, but cel_cpp requires a newer version of absl. re2
has to be updated for the same reason.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant