Sourced from github.com/bufbuild/buf's releases.
v1.9.0
New compiler that is faster and uses less memory than the outgoing one.
- When generating source code info, the new compiler is 20% faster, and allocates 13% less memory.
- If not generating source code info, the new compiler is 50% faster and allocates 35% less memory.
- In addition to allocating less memory through the course of a compilation, the new compiler releases some memory much earlier, allowing it to be garbage collected much sooner. This means that by the end of a very large compilation process, less than half as much memory is live/pinned to the heap, decreasing overall memory pressure.
The new compiler also addresses a few bugs where Buf would accept proto sources that protoc would reject:
- In proto3 files, field and enum names undergo a validation that they are sufficiently different so that there will be no conflicts in JSON names.
- Fully-qualified names of elements (like a message, enum, or service) may not conflict with package names.
- A oneof or extend block may not contain empty statements.
- Package names may not be >= 512 characters in length or contain > 100 dots.
- Nesting depth of messages may not be > 32.
- Field types and method input/output types may not refer to synthetic map entry messages.
Push lint and breaking configuration to the registry.
Include
LICENSEfile in the module onbuf push.Formatter better edits/preserves whitespace around inline comments.
Formatter correctly indents multi-line block (C-style) comments.
Formatter now indents trailing comments at the end of an indented block body (including contents of message and array literals and elements in compact options) the same as the rest of the body (instead of out one level, like the closing punctuation).
Formatter uses a compact, single-line representation for array and message literals in option values that are sufficiently simple (single scalar element or field).
buf beta convertflags have changed from--inputto--fromand--output/-oto--toFully qualified type names now must be passed to the
inputargument and--typeflag separately
Sourced from github.com/bufbuild/buf's changelog.
[v1.9.0] - 2022-10-19
New compiler that is faster and uses less memory than the outgoing one.
- When generating source code info, the new compiler is 20% faster, and allocates 13% less memory.
- If not generating source code info, the new compiler is 50% faster and allocates 35% less memory.
- In addition to allocating less memory through the course of a compilation, the new compiler releases some memory much earlier, allowing it to be garbage collected much sooner. This means that by the end of a very large compilation process, less than half as much memory is live/pinned to the heap, decreasing overall memory pressure.
The new compiler also addresses a few bugs where Buf would accept proto sources that protoc would reject:
- In proto3 files, field and enum names undergo a validation that they are sufficiently different so that there will be no conflicts in JSON names.
- Fully-qualified names of elements (like a message, enum, or service) may not conflict with package names.
- A oneof or extend block may not contain empty statements.
- Package names may not be >= 512 characters in length or contain > 100 dots.
- Nesting depth of messages may not be > 32.
- Field types and method input/output types may not refer to synthetic map entry messages.
Push lint and breaking configuration to the registry.
Include
LICENSEfile in the module onbuf push.Formatter better edits/preserves whitespace around inline comments.
Formatter correctly indents multi-line block (C-style) comments.
Formatter now indents trailing comments at the end of an indented block body (including contents of message and array literals and elements in compact options) the same as the rest of the body (instead of out one level, like the closing punctuation).
Formatter uses a compact, single-line representation for array and message literals in option values that are sufficiently simple (single scalar element or field).
buf beta convertflags have changed from--inputto--fromand--output/-oto--tofully qualified type names now must be parsed to the
inputargument and--typeflag separately
0d39fac Update to v1.9.0 (#1511)9033632 Update CHANGELOG.md (#1510)3bafb05 Update CHANGELOG.md (#1501)ff03a69 Use protocompile as the compiler (#1463)bda6cf6 avoid panic in OptionExtensionDescriptor (#1506)a39cbab BSR-578/Protobuf definition for updating metadata (#1483)e7889dc move convert command tests to where commands are tested (#1507)85bed09 Change field option packed type to optional760da67 bufmodule: test NewModuleForBucket (#1486)045f568 update makego and go dependencies (#1495)