Kompatibilitetskontrol for Protobuf
Sammenlign to versioner af en .proto-fil, og find ændringer, der bryder kompatibiliteten for allerede skrevne binære meddelelser eller JSON-meddelelser. Fjernede numre, typeændringer, omdøbte felter og ændringer i enumerationer forklares hver for sig.
Accepterer to .proto-filer på højst 1.000.000 tegn hver, med højst 200.000 tokens, 2.000 meddelelser og enumerationer, 10.000 felter pr. meddelelse og 32 niveauer af indlejrede meddelelser. Sammenligningen kører i browseren i en baggrundsworker. Downloads er en JSON-rapport og en CSV-liste over fund. Versionen, som eksisterende data blev skrevet med. Placer den ændrede fil i Nyt skema. Op til 1.000.000 tegn. Gennemgå indstillingerne, før du kører.
Dit resultat
Kompatibilitetskontrol for Protobuf
- Indsæt den gamle .proto-fil i hovedfeltet.
- Indsæt den nye version i feltet Nyt skema.
- Kør kontrollen, og gennemgå fundene med de alvorligste først.
- Download JSON-rapporten eller CSV-listen.
Det skal du vide
Accepterer to .proto-filer på højst 1.000.000 tegn hver, med højst 200.000 tokens, 2.000 meddelelser og enumerationer, 10.000 felter pr. meddelelse og 32 niveauer af indlejrede meddelelser. Sammenligningen kører i browseren i en baggrundsworker. Downloads er en JSON-rapport og en CSV-liste over fund.
Alvorlighedsgrader
Inkompatibel betyder, at gamle og nye programmer kan fejllæse binære meddelelser: et fjernet felt, hvis nummer ikke er reserveret, et nummer genbrugt fra et reserveret interval, en type med en anden binær kodning, en ændring mellem enkeltstående og gentaget, en fjernet meddelelse eller enumeration eller en omnummereret enumerationsværdi. Inkompatibel med JSON betyder, at binære data stadig virker, men at JSON- eller tekstformatet ændres, såsom et omdøbt felt eller en omdøbt enumerationsværdi. Advarsler omfatter ændringer, der virker binært, men kan afkorte eller omfortolke værdier, såsom int32 til int64 eller flytninger ind i og ud af en oneof.
Sådan sammenlignes der
Meddelelser og enumerationer matches efter navn uden pakken og felter efter nummer i henhold til protobuf-sprogguidens regler for opdatering af en meddelelsestype. Meddelelser og enumerationer indlejret i andre meddelelser sammenlignes også.
Det understøttes ikke
Parseren læser proto2- og proto3-filer med meddelelser, enumerationer, oneof, maps, indlejrede typer, reserverede numre og navne og feltindstillinger. Imports vises, men opløses ikke, så typer fra andre filer sammenlignes kun efter navn. Editions, grupper og udvidelser afvises. Services springes over.