NBIRTH keeps getting rejected for missing sequence

I have a C# / .NET application acting as an edge node sending data from a running Windows service to Ignition via Sparkplug-B. I am using the SparkplugNet / MQTTNet nuget packages. 4.8 framework.

The NBIRTH message causes this log entry:
Invalid payload missing sequence number: spBv1.0/AVSE/NBIRTH/B1A

I sniffed the messages via WireShark, and indeed there is no sequence number in the message. But then I remember the ProtoBuf encapsulation doesn’t send default values over the wire. To prove it, I forced a Seq value of 45. I then see it in WireShark and in the Ignition log I see (of course)
Edge Node BIRTH messages must always have a seq number of zero! - Not processing Edge Node AVSE/B1A

What am I missing here?

I found my own problem. The SparkplugNet package is using ProtoBuf version 3, which uses the “surpress default values” feature, while the .proto definition specifies version 2, which does not. That explains it.
Now to find a code library…