From 3.6.0 onwards, Protobuf requires C++11. See discussion in https://github.com/google/protobuf/issues/2780. This updates depends to that release, and swaps to the cpp specific download.
TODO:
- Do we still need to explicitly pass
-std=c++11to cxxflags in our protobuf package? - Needs more testing/depends builds done on platforms other than macOS.
Protobuf 3.6.1 (C++) release notes:
- Introduced workaround for Windows issue with std::atomic and std::once_flag initialization.
Protobuf 3.6.0 (C++) release notes:
- Starting from this release, we now require C++11. For those we cannot yet upgrade to C++11, we will try to keep the 3.5.x branch updated with critical bug fixes only. If you have any concerns about this, please comment on issue #2780.
- Moved to C++11 types like std::atomic and std::unique_ptr and away from our old custom-built equivalents.
- Added support for repeated message fields in lite protos using implicit weak fields. This is an experimental feature that allows the linker to strip out more unused messages than previously was possible.
- Fixed SourceCodeInfo for interpreted options and extension range options.
- Fixed always_print_enums_as_ints option for JSON serialization.
- Added support for ignoring unknown enum values when parsing JSON.
- Create std::string in Arena memory.
- Fixed ValidateDateTime to correctly check the day.
- Fixed bug in ZeroCopyStreamByteSink.
- Various other cleanups and fixes.