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
LICENSE
file 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 convert
flags have changed from--input
to--from
and--output
/-o
to--to
Fully qualified type names now must be passed to the
input
argument and--type
flag 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
LICENSE
file 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 convert
flags have changed from--input
to--from
and--output
/-o
to--to
fully qualified type names now must be parsed to the
input
argument and--type
flag 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)