Skip to content

[CANCELED] Breaking Change: Dropping support for Bazel+MSVC #20085

@mkruskal-google

Description

@mkruskal-google

This issue is a placeholder for gathering feedback on an upcoming breaking change

Due to persistent issues with MSVC's path length limits, we've decided to drop support for Bazel in 34.0. Starting in 30.0, you will need to explicitly set a flag --define=protobuf_allow_msvc=true to use this combination. Our recommended alternative is clang-cl, which we will officially support going forward.

If you're not using Protobuf-C++ and you've hit this issue purely because you need to build protoc from source, just use the opt-out flag for now. We will be releasing a prebuilt protoc toolchain by 34.0, which should decouple you from this.

Update July 2025: As mentioned in https://protobuf.dev/news/2025-07-16/, we've decided to cancel this plan due to Bazel's recent improvements on windows. They will be using substantially less of the limited path length for virtual includes, which should give us more than enough room to avoid future issues. The flag is no longer required in our 32.0 release, and we will remove the flag entirely in a later breaking release.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions