This release ports buf to our new Protobuf compiler, already used to power the Buf LSP. It uses a query-driven frontend and a new AST and intermediate representation, designed from the ground up to bring several improvements:
- Better diagnostics. The new compiler produces rich, structured diagnostic reports with precise source locations. It also catches issues that
protocmisses, such as duplicaterepeatedmodifiers. - Editions 2024 support. Full support for Protobuf Editions 2024.
- Faster and more memory efficient. Designed for large workspaces, the new compiler uses less memory and compiles faster than the previous implementation.
This is a seamless upgrade for buf users: no changes are required, the output has been automatically updated to a new, richer diagnostics report.
- Use new compiler for build process and support Editions 2024 features.
- Add LSP document links for
buf.yamldeps,buf.gen.yamlremote plugins and input modules,buf.policy.yamlname and BSR plugins, andbuf.lockdep names, making each a clickable link to its BSR page. - Add LSP code lenses for
buf.yamlfiles to update all dependencies (buf.dep.updateAll) or check for available updates (buf.dep.checkUpdates). - Improve shell completions for
bufflags with fixed value sets and file/directory arguments. - Add
buf curlURL path shell completions (service and method names) via
server reflection,--schema, or the local buf module. - Add support for Edition 2024 syntax to
buf format. - Fix
buf generate --cleandeleting files from nested plugin output directories.