Compatibiliteitscontrole voor Protobuf
Vergelijk twee versies van een .proto-bestand en vind wijzigingen die eerder geschreven binaire of JSON-berichten incompatibel maken. Verwijderde nummers, typewijzigingen, hernoemde velden en wijzigingen in enumeraties worden afzonderlijk uitgelegd.
Accepteert twee .proto-bestanden van maximaal 1.000.000 tekens per bestand, met maximaal 200.000 tokens, 2.000 berichten en enumeraties, 10.000 velden per bericht en 32 niveaus van geneste berichten. De vergelijking draait in je browser in een achtergrondworker. Downloads zijn een JSON-rapport en een CSV-lijst met bevindingen. De versie waarmee bestaande gegevens zijn geschreven. Plaats het gewijzigde bestand in Nieuw schema. Maximaal 1.000.000 tekens. Controleer de instellingen voordat je de tool uitvoert.
Je resultaat
Compatibiliteitscontrole voor Protobuf
- Plak het oude .proto-bestand in het hoofdvak.
- Plak de nieuwe versie in het veld Nieuw schema.
- Voer de controle uit en bekijk de bevindingen, de ernstigste eerst.
- Download het JSON-rapport of de CSV-lijst.
Wat je kunt verwachten
Accepteert twee .proto-bestanden van maximaal 1.000.000 tekens per bestand, met maximaal 200.000 tokens, 2.000 berichten en enumeraties, 10.000 velden per bericht en 32 niveaus van geneste berichten. De vergelijking draait in je browser in een achtergrondworker. Downloads zijn een JSON-rapport en een CSV-lijst met bevindingen.
Ernstniveaus
Incompatibel betekent dat oude en nieuwe programma's binaire berichten verkeerd kunnen lezen: een verwijderd veld waarvan het nummer niet is gereserveerd, een hergebruikt nummer uit een gereserveerd bereik, een type met een andere binaire codering, een wijziging tussen enkelvoudig en herhaald, een verwijderd bericht of een verwijderde enumeratie, of een hernummerde enumeratiewaarde. Incompatibel met JSON betekent dat binaire gegevens nog werken maar het JSON- of tekstformaat verandert, zoals bij een hernoemd veld of een hernoemde enumeratiewaarde. Waarschuwingen betreffen wijzigingen die binair werken maar waarden kunnen afkappen of anders interpreteren, zoals int32 naar int64 of verplaatsingen naar en uit een oneof.
Hoe wordt vergeleken
Berichten en enumeraties worden gekoppeld op hun naam zonder pakket en velden op nummer, volgens de regels voor het bijwerken van een berichttype in de protobuf-taalgids. Berichten en enumeraties die in andere berichten zijn genest, worden ook vergeleken.
Wat niet wordt ondersteund
De parser leest proto2- en proto3-bestanden met berichten, enumeraties, oneof, maps, geneste typen, gereserveerde nummers en namen en veldopties. Imports worden vermeld maar niet opgelost, dus typen uit andere bestanden worden alleen op naam vergeleken. Edities, groepen en extensies worden geweigerd. Services worden overgeslagen.