Google.Protobuf 4.0.0-rc1

C# runtime library for Protocol Buffers - Google's data interchange format.

This is a prerelease version of Google.Protobuf.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package Google.Protobuf -Version 4.0.0-rc1
dotnet add package Google.Protobuf --version 4.0.0-rc1
<PackageReference Include="Google.Protobuf" Version="4.0.0-rc1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Google.Protobuf --version 4.0.0-rc1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
  • Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
    This was required to modernize the parsing stack to use the Span&lt;byte&gt;
    type internally. (#7351)
  • Add ParseFrom(ReadOnlySequence&lt;byte&gt;) method to enable GC friendly
    parsing with reduced allocations and buffer copies. (#7351)
  • Add support for serialization directly to a IBufferWriter&lt;byte&gt; or
    to a Span&lt;byte&gt; to enable GC friendly serialization.
    The new API is available as extension methods on the IMessage type. (#7576)
  • Add GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE define to make
    generated code compatible with old C# compilers (pre-roslyn compilers
    from .NET framework and old versions of mono) that do not support
    ref structs. Users that are still on a legacy stack that does
    not support C# 7.2 compiler might need to use the new define
    in their projects to be able to build the newly generated code. (#7490)
  • Due to the major overhaul of parsing and serialization internals (#7351 and #7576),
    it is recommended to regenerate your generated code to achieve the best
    performance (the legacy generated code will still work, but might incur
    a slight performance penalty).
  • Dropped support for netstandard1.0 (replaced by support for netstandard1.1).
    This was required to modernize the parsing stack to use the Span&lt;byte&gt;
    type internally. (#7351)
  • Add ParseFrom(ReadOnlySequence&lt;byte&gt;) method to enable GC friendly
    parsing with reduced allocations and buffer copies. (#7351)
  • Add support for serialization directly to a IBufferWriter&lt;byte&gt; or
    to a Span&lt;byte&gt; to enable GC friendly serialization.
    The new API is available as extension methods on the IMessage type. (#7576)
  • Add GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE define to make
    generated code compatible with old C# compilers (pre-roslyn compilers
    from .NET framework and old versions of mono) that do not support
    ref structs. Users that are still on a legacy stack that does
    not support C# 7.2 compiler might need to use the new define
    in their projects to be able to build the newly generated code. (#7490)
  • Due to the major overhaul of parsing and serialization internals (#7351 and #7576),
    it is recommended to regenerate your generated code to achieve the best
    performance (the legacy generated code will still work, but might incur
    a slight performance penalty).

Release Notes

C# proto3 support

NuGet packages (502)

Showing the top 5 NuGet packages that depend on Google.Protobuf:

Package Downloads
MySql.Data
MySql.Data.MySqlClient .Net Core Class Library
Google.Api.CommonProtos
Common Protocol Buffer messages for Google APIs
Cucumber.Messages
Protocol Buffer messages for Cucumber's and SpecFlow's inter-process communication
Grpc.AspNetCore
gRPC meta-package for ASP.NET Core
Akka.Remote
Remote actor support for Akka.NET

GitHub repositories (106)

Showing the top 5 popular GitHub repositories that depend on Google.Protobuf:

Repository Stars
shadowsocks/shadowsocks-windows
If you want to keep a secret, you must also hide it from yourself.
dotnet-architecture/eShopOnContainers
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET Core 3.0, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
2dust/v2rayN
GoogleCloudPlatform/microservices-demo
Sample cloud-native application with 10 microservices showcasing Kubernetes, Istio, gRPC and OpenCensus.
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core

Version History

Version Downloads Last updated
4.0.0-rc2 1,755 7/21/2020
4.0.0-rc1 701 7/15/2020
3.12.4 16,267 7/28/2020
3.12.3 261,725 6/4/2020
3.12.2 143,557 5/27/2020
3.12.1 61,385 5/20/2020
3.12.0 49,349 5/15/2020
3.12.0-rc2 470 5/12/2020
3.12.0-rc1 1,609 5/4/2020
3.11.4 1,549,176 2/16/2020
3.11.3 481,892 2/3/2020
3.11.2 2,240,715 12/13/2019
3.11.1 310,402 12/3/2019
3.11.0-rc2 2,537 11/22/2019
3.11.0-rc1 697 11/20/2019
3.10.1 485,205 10/29/2019
3.10.0 1,590,104 10/3/2019
3.10.0-rc1 14,437 9/10/2019
3.9.2 130,991 9/23/2019
3.9.1 733,137 8/5/2019
3.9.0-rc1 8,474 6/26/2019
3.8.0 2,373,262 5/28/2019
3.8.0-rc.1 2,940 5/8/2019
3.7.0 3,239,493 3/5/2019
3.7.0-rc.3 1,270 2/28/2019
3.7.0-rc.2 3,485 2/7/2019
3.6.1 6,353,867 8/10/2018
3.6.0 617,126 6/21/2018
3.5.1 5,846,715 12/21/2017
3.5.0 61,161 12/1/2017
3.4.1 589,548 9/14/2017
3.4.0 198,468 8/23/2017
3.3.0 1,964,139 5/4/2017
3.2.0 496,446 1/30/2017
3.2.0-rc2 860 1/19/2017
3.2.0-rc1 521 1/18/2017
3.1.0 457,673 9/27/2016
3.0.0 543,549 8/11/2016
3.0.0-beta4 173,266 7/20/2016
3.0.0-beta3 100,901 5/16/2016
3.0.0-beta2 48,645 1/7/2016
3.0.0-alpha4 40,710 8/27/2015