dep-protobuf/docs/options.md
TrendVidia c27007fc25 Add custom option numbers for use by ProtoWire (#28919)
Reserves a contiguous block of custom option numbers — **1314–1363** — for **ProtoWire** (https://protowire.org), an open interchange stack (text/binary codecs, schema-extension compiler, validation engine) built on protobuf descriptors.

> **2026-08-02 update:** originally requested as 1311–1360; rebased and shifted to **1314–1363** after #28790 (proto2mcp, 1311–1313) merged while this PR was awaiting merge post-approval. No other changes.

### This re-files #27290

#27290 was **approved** by @esrauchg and then closed automatically, not on the merits: its head fork was deleted during an account migration on my side, which GitHub treats as closing the PR. It cannot be reopened, because the head repository no longer exists. Apologies for the churn — this PR is the same one-line-per-entry change, rebased onto current `main`.

The content is unchanged from the approved state apart from the start number; `1314–1363` is free (the registry currently ends at `1313`, proto2mcp).

### Why a block of 50

Per @haberman's request on the original PR, the entry was moved off the contested number and starts after the ranges claimed in the meantime (1307–1313: proto2type, protoc-gen-openapi, Motif, Teleport, proto2mcp).

Since the first version of the request (10 numbers for two annotation groups), the project's published option surface has grown to five orthogonal families, all currently parked in the internal 50000+ space and being migrated to registered numbers ahead of an IETF draft submission:

| Family | Extendees | In use | Growth headroom |
| --- | --- | --- | --- |
| PXF text-format annotations (`pxf.*`) | FieldOptions | 3 | +2 |
| SBE binary-format annotations (`sbe.*`) | File/Message/FieldOptions | 5 | +5 |
| Schema-extension carriers (`protowire.schema.v1.*`) | all 8 Options messages (one shared number) + FileOptions | 5 | +5 |
| Validation constraints (`protocheck.*`) | Field/Message/OneofOptions | 3 | +5 |
| OpenAPI generation options | Method/ServiceOptions | 0 | +5 |

That's 16 numbers in active published use with a documented path to ~40, hence the request for 50.

Happy to trim if that exceeds what you're comfortable granting in one row — same offer as on the original PR.

Closes #28919

COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/28919 from trendvidia:protowire-options-range a3d24a95ff
PiperOrigin-RevId: 961811298
2026-08-09 12:21:58 -07:00

13 KiB
Raw Permalink Blame History

Protobuf Global Extension Registry

This file contains a global registry of known extensions for descriptor.proto, so that any developer who wishes to use multiple 3rd party projects, each with their own extensions, can be confident that there won't be collisions in extension numbers.

If you need an extension number for your custom option (see custom options), please send us a pull request to add an entry to this doc, or create an issue with info about your project (name and website) so we can add an entry for you.

Existing Registered Extensions

  1. C# port of protocol buffers

  2. Perl/XS port of protocol buffers

  3. Objective-C port of protocol buffers

  4. Google Wave Federation Protocol open-source release (FedOne)

  5. PHP code generator plugin

    • Website: ???
    • Extensions: 1004
  6. GWT code generator plugin (third-party!)

  7. Unix Domain RPC code generator plugin

  8. Object-C generator plugin (Plausible Labs)

  9. TBD (code42.com)

    • Website: ???
    • Extensions: 1008
  10. Goby Underwater Autonomy Project

  11. Nanopb

  12. Bluefin AUV Communication Extensions

  13. Dynamic Compact Control Language

  14. ScaleOut StateServer® Native C++ API

  15. FoundationDB SQL Layer

  16. Fender

  17. Vortex

  18. tresorit

  19. CRIU (Checkpoint Restore In Userspace)

  20. protobuf-c

  21. ScalaPB

  22. protoc-gen-bq-schema

  23. grpc-gateway

  24. Certificate Transparency

  25. JUNOS Router Telemetry

  26. Spine Event Engine

  27. Aruba cloud platform

    • Website: ???
    • Extensions: 1026 -> 1030
  28. Voltha

    • Website: ???
    • Extensions: 1031 -> 1033
  29. gator

    • Website: ???
    • Extensions: 1034
  30. protoc-gen-flowtypes

  31. ProfaneDB

  32. protobuf-net

  33. FICO / StreamEngine

  34. GopherJS

  35. ygot

  36. go-grpcmw

  37. grpc-gateway protoc-gen-openapiv2

  38. AN Message

    • Website: TBD
    • Extensions: 1043
  39. protofire

  40. Gravity

  41. SEMI Standards I&C Technical Committee

  42. Elixir plugin

  43. API client generators

    • Website: ???
    • Extensions: 1048-1056
  44. Netifi Proteus

  45. CGSN Mooring Project

  46. Container Storage Interface

  47. TwirpQL Plugin

  48. Protoc-gen-validate

  49. Protokt (pre 1.0.0)

  50. Dart port of protocol buffers

  51. Ocaml-protoc-plugin

  52. Analyze Re Graphene

  53. Wire since and until

  54. Bazel, Failure Details

  55. grpc-graphql-gateway

  56. Cloudstate

  57. SummaFT protoc-plugins

  58. ADLINK EdgeSDK

  59. Wire wire_package

  60. Confluent Schema Registry

  61. ScalaPB Validate

  62. Astounding (Currently Private)

  63. Protoc-gen-psql

  64. Protoc-gen-sanitize

  65. Coach Client Connect (planned release in March 2021)

  66. Kratos API Errors

  67. Glitchdot (Currently Private)

  68. eigr/protocol

  69. Container Object Storage Interface (COSI)

  70. Protoc-gen-jsonschema

  71. Protoc-gen-checker

  72. Protoc-gen-go-svc

  73. Embedded Proto

  74. Protoc-gen-fieldmask

  75. Google Gnostic

  76. Protoc-gen-go-micro

  77. Protoc-gen-authz

  78. Protonium

  79. Protoc-gen-xo

  80. Ballerina gRPC

  81. Protoc-gen-referential-integrity

  82. Oclea Service Layer RPC

  83. mypy-protobuf

  84. Pigweed protobuf compiler

  85. Perfetto

  86. Buf

  87. Connect RPC

  88. protocel

  89. Cybozu

  90. EngFlow

  91. Proto-telemetry

  92. Digital Twins Definition Language (DTDL)

  93. RabbitMQ

  94. Wire use_array

  95. Protons

  96. gRPC Federation

  97. protoc-gen-openapi

  98. Wire enumMode

  99. Nebius AI

  100. Buf

  101. userver

  102. protoc-gen-default / protoc-gen-env (confpb)

  103. JaiaBot

  104. Protokt (1.0.0 and up)

  105. aep.dev Extensions

  106. Thermo Fisher Scientific TEM Extensions

  107. LiveKit

  108. grpc-gateway protoc-gen-openapiv3

  109. Protosource

  110. protosearch

  111. proto2type

  112. protoc-gen-openapi

  113. Motif

  114. Teleport

  115. proto2mcp

  116. ProtoWire

  117. Flyte