We will aim to get binary gems in 3.22.0, but if they aren't done we will do an all source release and bump to 4.22.0 at full release time.
PiperOrigin-RevId: 506075942
Descriptor was relying on the Root for the runtime check, but since the Root is
only startup up when needed, add the debug runtime check to the cases where the
Root isn't started up.
EnumDescriptors are normally started up by fields, but a developer could
directly call the public apis, so add the debug runtime check for safety sake.
PiperOrigin-RevId: 506062884
Looking back through history, figure out each place a generation change was
added and added compile asserts to help leave signals for what can be cleaned up
when if the legacy support is ever moved forward.
PiperOrigin-RevId: 506020387
* Change C# generation script to use .pb.cs extension
* Rename generated C# files
This was performed by running generate_protos.sh and then removing the old files.
Notes:
- This does not change the conformance test generated C# code
- This does not change the compatibility C# code
- There's currently no clean-up operation in generate_protos.sh to remove old .pb.cs files (which would now be feasible)
- The changes to TestMessagesProto2.pb.cs are just due to formatting and a new Objective-C option
* Fix well-known type source files for C# Bazel build
* enable compatibility mode in codegen
* regenerate protos
* improve readability
* more robust way of figuring out path to old C# compiler
* add recent C# changes
The changes in the existing proto2 code are solely around presence bits. The new generator allocated presence bits more efficiently. (Previously bits were sometimes allocated but never used.)