Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Preliminary support for protobuf 3.0 #21

Closed
opinali opened this issue Feb 27, 2015 · 1 comment
Closed

Preliminary support for protobuf 3.0 #21

opinali opened this issue Feb 27, 2015 · 1 comment

Comments

@opinali
Copy link
Contributor

opinali commented Feb 27, 2015

Major new release finally out, or close: 3.0.0-alpha-2 available now, together with the first public gRPC also in alpha status. The openrtb-core and doubleclick-core/doubleclick-openrtb libraries may support proto3, after proto3 is released as GA.

Some expected advantages:

  • Official support for a wider range of languages and platforms (useful at least to compile the RTB model, since utilities like validator, etc. are Java-specific).
  • New Any type will make OpenRTB extensions less verbose / easier to use.
  • Built-in support for JSON, if good enough (esp. adequate support for extensions), may allow us to remove lots of code, and also make at least the openrtb-core library way more useful to arbitrary languages since the RTB model + JSON serialization are 90% of users' needs.
  • The JavaNano option may be useful for Android, especially if the rest of the library is also ported to Android. Idea to consider if there's significant user demand.

Expected disadvantages:

  • Breaking change: Any is nicer, but not backwards compatible with the proto2 extension system. But that's a good tradeoff, and impacts only the ext fields.
  • Breaking change: No hasXxx() methods anymore. Easy to fix, but potentially lots of small changes for people owning significant code.

Current plan:

  1. Version 0.8.0 of the libraries will be tested with the proto3 compiler and runtime library. They provide full backwards compatibility for proto2, so everything should just work, without any changes or impact.
  2. After the proto3 GA, the next release of the openrtb libraries will depend on proto3 for compilation and runtime. But they will keep proto2 syntax, so no impact at all yet.
  3. Final step will be moving the libraries to proto3 syntax.
@opinali
Copy link
Contributor Author

opinali commented Apr 1, 2015

Preliminary support implemented as planned in the 0.8.0 betas. Reopen this or file new bug for tracking future changes for proto3 syntax.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant