Skip to content

Conversation

@doriable
Copy link
Member

This adds a new breaking change detection category, CSR,
for the rules we run for CSR compatibility checks:

WIRE_JSON // entire category

ENUM_NO_DELETE
ENUM_VALUE_NO_DELETE
EXTENSION_MESSAGE_NO_DELETE
FILE_NO_DELETE
FIELD_NO_DELETE
FIELD_SAME_TYPE
FILE_SAME_SYNTAX
MESSAGE_NO_DELETE
MESSAGE_NO_REMOVE_STANDARD_DESCRIPTOR_ACCESSOR
ONEOF_NO_DELETE

Fixes BSR-2296

@github-actions
Copy link
Contributor

github-actions bot commented Apr 21, 2025

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedApr 21, 2025, 8:49 PM

@doriable doriable marked this pull request as ready for review April 21, 2025 20:30
@bufdev
Copy link
Member

bufdev commented Apr 21, 2025

Is FILE_NO_DELETE correct?

@doriable
Copy link
Member Author

doriable commented Apr 21, 2025

Is FILE_NO_DELETE correct?

Yeah -- it's in the docs and also I double-checked the server-side implementation.

@doriable doriable merged commit 5bc6dd9 into main Apr 23, 2025
10 checks passed
@doriable doriable deleted the BSR-2296-CSR-category branch April 23, 2025 14:19
@andrejgou
Copy link

Hi there, thank you for developing such a great tool for the Protobuf ecosystem. I'm curious how we determined these rules for the new CSR category?

Yeah -- it's in the docs and also I double-checked the server-side implementation.

That link redirects to https://buf.build/docs/bsr/csr/#csr-policy-check but neither that page nor any of the pages under https://buf.build/docs/bsr/checks mention anything about particular rules. I don't have access to BSR's source code so I can't reference that either.

@doriable
Copy link
Member Author

Appreciate the compliments, hopefully I am able to address your questions below :)

I'm curious how we determined these rules for the new CSR category?

So we went through the compatibility checks in the Confluent Schema Registry and referenced them against our breaking change detection rules to determine which rules we should use to enforce compatibility for use with the CSR.

That link redirects to https://buf.build/docs/bsr/csr/#csr-policy-check but neither that page nor any of the pages under https://buf.build/docs/bsr/checks mention anything about particular rules.

The page I was referencing in the comment contained the list implemented in this PR before this category was created, and the docs have been updated since, apologies for the confusion! Our full list of breaking change rules and categories is available here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants