PackageTrack
Sign in Get early access

github.com/golang/protobuf

v1.5.1 #404 most downloaded on Go modules golang/protobuf

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships unpredictably

gaps range from 9 days to 2.5 years

Some releases are documented

notes for 7 of 15 stable releases

11 versions withdrawn

withdrawn after publishing

16 years old

556 releases · first in 2010

0 releases in the last 12 months

see the full history below

Release timeline

556 releases · Mar 2010 to Mar 2024
2011 2013 2015 2017 2019 2021 2023 2025
Release Pre-release Withdrawn

Releases

latest 60 of 556
  1. v4.0.0-20161109072736-4bd1920723d7+incompatible 09 Nov 2016 pre-release

    Nothing published for this version

  2. v1.5.4 06 Mar 2024 withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Release notes

    Notable changes

    • update descriptor.proto to latest version
    Open source →
    Release notes

    v1.5.4 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  3. v1.5.4-0.20240306064540-75de7c059e36 06 Mar 2024 pre-release withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Nothing published for this version

  4. v1.5.4-0.20240305220410-b7697bb698b1 05 Mar 2024 pre-release withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Nothing published for this version

  5. v1.5.3 16 Sep 2021 withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Release notes

    Notable changes

    *( #1363) jsonpb: accept 'null' as a valid representation of NullValue in unmarshal

    Open source →
    Release notes

    v1.5.3

    Compare

    Choose a tag to compare

    Open source →
  6. v1.5.3-0.20210916003710-5d5e8c018a13 16 Sep 2021 pre-release withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Nothing published for this version

  7. v1.5.3-0.20210915232859-37828f962262 15 Sep 2021 pre-release withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Nothing published for this version

  8. v1.5.2 29 Mar 2021 withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Release notes

    Notable changes:

    • (#1306) all: deprecate the module
    • (#1300) jsonpb: restore previous behavior for handling nulls and JSONPBUnmarshaler
    Open source →
    Release notes

    v1.5.2

    Compare

    Choose a tag to compare

    Open source →
  9. v1.5.2-0.20210324184403-af940030a2b7 24 Mar 2021 pre-release

    Nothing published for this version

  10. v1.5.1 18 Mar 2021
    Release notes

    Notable changes:

    Open source →
    Release notes

    v1.5.1

    Compare

    Choose a tag to compare

    Open source →
  11. v1.5.0 18 Mar 2021
    Release notes

    Overview

    This marks the ptypes package as deprecated and upgrades the dependency on google.golang.org/protobuf to a pre-release version of v1.26.0. A subsequent patch release will update the dependency to v1.26.0 proper.

    Notable changes

    • (#1217) ptypes: deprecate the package
    • (#1214) rely on protodesc.ToFileDescriptorProto
    Open source →
    Release notes

    v1.5.0

    Compare

    Choose a tag to compare

    Open source →
  12. v1.4.4-0.20210303173643-78b1f09b4310 03 Mar 2021 pre-release

    Nothing published for this version

  13. v1.4.4-0.20210303013846-acacf8158c9a 03 Mar 2021 pre-release

    Nothing published for this version

  14. v1.4.4-0.20210303013502-eccd77d6ffe3 03 Mar 2021 pre-release

    Nothing published for this version

  15. v1.4.3 15 Oct 2020
    Release notes

    Notable changes:

    • (#1221) jsonpb: Fix marshaling of Duration
    • (#1210) proto: convert integer to rune before converting to string
    Open source →
    Release notes

    v1.4.3

    Compare

    Choose a tag to compare

    Open source →
  16. v1.4.3-0.20200925005537-91c84e0db178 25 Sep 2020 pre-release

    Nothing published for this version

  17. v1.4.3-0.20200924210511-3860b2764ff2 24 Sep 2020 pre-release

    Nothing published for this version

  18. v1.4.2 14 May 2020
    Release notes

    Notable changes:

    Open source →
    Release notes

    v1.4.2

    Compare

    Choose a tag to compare

    Open source →
  19. v1.4.2-0.20200514195940-07c14f108921 14 May 2020 pre-release

    Nothing published for this version

  20. v1.4.2-0.20200511230548-00998c7dd9d7 11 May 2020 pre-release

    Nothing published for this version

  21. v1.4.1 04 May 2020
    Release notes

    Notable changes:

    Open source →
    Release notes

    v1.4.1

    Compare

    Choose a tag to compare

    Open source →
  22. v1.4.1-0.20200514035651-f183159caab1 14 May 2020 pre-release

    Nothing published for this version

  23. v1.4.1-0.20200504191445-b5de78c91d0d 04 May 2020 pre-release

    Nothing published for this version

  24. v1.4.1-0.20200504190749-8d9af285403e 04 May 2020 pre-release

    Nothing published for this version

  25. v1.4.1-0.20200419202630-fa093f59480c 19 Apr 2020 pre-release

    Nothing published for this version

  26. v1.4.0 13 Apr 2020
    Release notes

    Overview

    This release of the github.com/golang/protobuf module introduces a number of significant changes relative to the previous minor release. In particular, this module is now implemented in terms of the new google.golang.org/protobuf module, which is the next major revision of Go bindings for protocol buffers. From this point onwards, most of the development effort for Go protobufs will be dedicated to the new module, with minimal changes being made to this module.

    See the release notes for the new module for specific implementation details that may affect this release.

    Backwards compatibility

    This release maintains backwards compatibility with previous releases of this module. Any observable changes in behavior are to fix bugs, change unspecified behavior, or to make behavior more compliant with the protobuf specification. The compatibility document provides us the freedom to make changes in these areas.

    Notable changes

    Wire serialization

    Wire serialization is now implemented in terms of the new proto package by calling out to the relevant functionality in that package (e.g., proto.Marshal and proto.Unmarshal). There should be no observable changes in behavior other what is mentioned elsewhere in the release notes (e.g., behavior around errors or nil values).

    JSON and text serialization

    The JSON and text format implementations have been ported to use protobuf reflection under the hood instead of relying on Go reflection. This provides flexibility as they can operate on any concrete message type that properly implements the new proto.Message interface.

    The implementations do not use the new protojson or prototext packages in order to maintain a higher degree of backwards compatibility. Our analysis unfortunately showed us that too many tests rely on their output being stable by performing byte-for-byte comparisons. Even though the compatibility promise gives us the freedom to change the output, we have chosen not to do so for pragmatic reasons. The implementations are now functionally frozen (bugs and all) and will not receive future improvements. Users are encouraged to migrate to the protojson or prototext packages instead.

    Well-known types

    The well-known types declared under ptypes are moved to the google.golang.org/protobuf module. The packages continue to exist, but all declarations forward to ones in the new module.

    For a period of time, it is expected that the protoc-gen-go plugin continues to generate code with dependencies on the well-known types in this module. The import paths for the well-known types are determined by the go_package option specified in the .proto files. Since these files are managed by the main protocol buffers project, it will require a new release of the protobuf toolchain before the new import paths take effect. Depending on this module’s packages for well-known types is fine since they simply forward over to the new packages.

    While descriptor and plugin are not packages for well-known types, they too have also been moved to the new module.

    Types registry

    In order for dynamic usages of protobufs to operate correctly, there must be a unified registry between this module and the new google.golang.org/protobuf module. The protoregistry package is the primary registry for all protobuf files that are linked into a Go program. The registration functions (e.g., proto.RegisterType) in this package forward to the global registries in that module, and the lookup functions (e.g., proto.MessageType) in this package source from the global registries in that module.

    Nil values

    Use of the google.golang.org/protobuf module for the underlying implementation means that semantics for nil values may have changed. See that module’s release notes for details.

    Errors

    A consequence of using the google.golang.org/protobuf module as the underlying implementation means that the text for some errors may change in trivial ways. This may break brittle tests depending on the error message. See that module’s release notes for details.

    Generated code

    The protoc-gen-go plugin in this module is now a thin wrapper over the protoc-gen-go plugin in the google.golang.org/protobuf module. As a result, there are many changes to the generated code. See that module’s release notes for details. Users should migrate to use the new protoc-gen-go plugin instead of the old one. Code generated by either plugin should be compatible with either module.

    For backward compatibility purposes, the protoc-gen-go plugin in this module continues to support generation of gRPC bindings, while the protoc-gen-go plugin in the new module does not.

    Upcoming breakage changes

    Per the compatibility agreement for Go protobufs, we promise to make announcements about deliberate or potentially breaking changes 6 months in advance.

    None of these changes are effective yet in this release.

    Deprecation of Descriptor methods

    The Descriptor methods on generated messages are deprecated and may be removed in the future.

    The descriptor.Message type is deprecated as fewer and fewer message types in the future will implement the descriptor.Message interface. Existing usages should migrate to the new proto.Message interface.

    The descriptor.ForMessage function is also deprecated. Users should migrate the code to use protobuf reflection to access descriptor information.

    Removal of generator package

    The generator package is an internal implementation detail of protoc-gen-go and existed before the internal package mechanism. It has long been exempt from the compatibility promise. A future release of this module will remove the package. Existing users must migrate to the new compiler/protogen package, which is a stable API for implementing protoc plugins, or fork the existing generator package.

    Similarly, the grpc package is also an internal implementation detail of protoc-gen-go and will also be deleted in a future release of this module.

    Open source →
    Release notes

    v1.4.0

    Compare

    Choose a tag to compare

    Open source →
  27. v1.4.0-rc.4.0.20200413173358-e9dc0d72c1a3 13 Apr 2020 pre-release

    Nothing published for this version

  28. v1.4.0-rc.4.0.20200320220005-3a3cefd0f2bd 20 Mar 2020 pre-release

    Nothing published for this version

  29. v1.4.0-rc.4.0.20200313231945-b860323f09d0 13 Mar 2020 pre-release

    Nothing published for this version

  30. v1.4.0-rc.4 09 Mar 2020 pre-release

    Nothing published for this version

  31. v1.4.0-rc.3.0.20200309202152-7bd8073ff04a 09 Mar 2020 pre-release

    Nothing published for this version

  32. v1.4.0-rc.3 02 Mar 2020 pre-release

    Nothing published for this version

  33. v1.4.0-rc.2.0.20200302194753-3f90b7282e85 02 Mar 2020 pre-release

    Nothing published for this version

  34. v1.4.0-rc.2 28 Feb 2020 pre-release

    Nothing published for this version

  35. v1.4.0-rc.1.0.20200228231922-a3619c1acae2 28 Feb 2020 pre-release

    Nothing published for this version

  36. v1.4.0-rc.1.0.20200225210334-b1b17f0eadee 25 Feb 2020 pre-release

    Nothing published for this version

  37. v1.4.0-rc.1.0.20200225102624-d8aac26686d2 25 Feb 2020 pre-release

    Nothing published for this version

  38. v1.4.0-rc.1.0.20200224233058-1a45e6b3bbe8 24 Feb 2020 pre-release

    Nothing published for this version

  39. v1.4.0-rc.1.0.20200221234624-67d41d38c208 21 Feb 2020 pre-release

    Nothing published for this version

  40. v1.4.0-rc.1.0.20200221233550-c45dae45a675 21 Feb 2020 pre-release

    Nothing published for this version

  41. v1.4.0-rc.1 12 Feb 2020 pre-release

    Nothing published for this version

  42. v1.3.5 12 Mar 2020
    Release notes

    Notable changes:

    • Set go.mod Go version to go 1.9.
    Open source →
    Release notes

    v1.3.5

    Compare

    Choose a tag to compare

    Open source →
  43. v1.3.5-0.20240306064540-75de7c059e36 06 Mar 2024 pre-release withdrawn

    Module deprecated: Use the "google.golang.org/protobuf" module instead.

    Nothing published for this version

  44. v1.3.4 26 Feb 2020

    Nothing published for this version

  45. v1.3.3 28 Jan 2020

    Nothing published for this version

  46. v1.3.3-0.20201015061829-4846b58453b3 15 Oct 2020 pre-release

    Nothing published for this version

  47. v1.3.3-0.20200128181022-d23c5127dc24 28 Jan 2020 pre-release

    Nothing published for this version

  48. v1.3.3-0.20200112012737-4e55bbcbfaa1 12 Jan 2020 pre-release

    Nothing published for this version

  49. v1.3.3-0.20191022195553-ed6926b37a63 22 Oct 2019 pre-release

    Nothing published for this version

  50. v1.3.3-0.20190920234318-1680a479a2cf 20 Sep 2019 pre-release

    Nothing published for this version

  51. v1.3.3-0.20190827175835-822fe56949f5 27 Aug 2019 pre-release

    Nothing published for this version

  52. v1.3.3-0.20190805180045-4c88cc3f1a34 05 Aug 2019 pre-release

    Nothing published for this version

  53. v1.3.2 01 Jul 2019

    Nothing published for this version

  54. v1.3.2-0.20191022195553-ed6926b37a63 22 Oct 2019 pre-release

    Nothing published for this version

  55. v1.3.2-0.20190920234318-1680a479a2cf 20 Sep 2019 pre-release

    Nothing published for this version

  56. v1.3.2-0.20190701182201-6c65a5562fc0 01 Jul 2019 pre-release

    Nothing published for this version

  57. v1.3.2-0.20190517061210-b285ee9cfc6c 17 May 2019 pre-release

    Nothing published for this version

  58. v1.3.2-0.20190409050943-e91709a02e0e 09 Apr 2019 pre-release

    Nothing published for this version

  59. v1.3.2-0.20190318194812-d3c38a4eb497 18 Mar 2019 pre-release

    Nothing published for this version

  60. v1.3.2-0.20190316015151-b85cd75de734 16 Mar 2019 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive