The best way of working with Protocol Buffers.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by amckinney almost 3 years ago
compiler_version
parameter in the CodeGeneratorRequest
to "(unknown)".buf mod update
was unable to resolve dependencies from different remotes.buf login
message.buf generate
fails when the same plugin was specified more than once in a single invocation.name
, lint
, and breaking
configuration encoded in the buf.yaml
.v0.43.0
or before will notice mismatched digest errors similar to the one described in https://github.com/bufbuild/buf/issues/661.v0.44.0
or after will have their module cache invalidated, but it will repair itself automatically.buf.lock
(across all versions) will reflect the new b3-
digest values for new commits.Published by doriable almost 3 years ago
--exclude-path
flag to buf breaking
, buf build
, buf export
, buf generate
, and buf lint
commands. This allows users to exclude specific paths when running commands.GetModulePackages
endpoint to return a repeated ModulePackage
message that now includes package description with the package name.Oneof
to the Message
structure for documentation.Published by amckinney almost 3 years ago
buf generate
where multiple insertion points are defined in the same file.Published by doriable almost 3 years ago
buf ls-files
when given an image as an input, imports were being printed,--include-imports
flag.buf
commands against and file input based on their current working directory, for example, buf lint foo/bar.proto
, where foo/bar.proto
is a path to protobuf file on disk.Published by WillAbides about 3 years ago
buf beta registry repository deprecate
and buf beta registry repository undeprecate
.--include-imports
for remote plugins.buf config migrate-v1beta1 fails
when files cannot be renamed.buf registry login
panics when an existing .netrc entry exists.Published by bufdev about 3 years ago
buf generate
could fail when used with large numbers of plugins and files on systems with low file limits.buf protoc --version
flag back. This was accidentally removed.protoc
3.18.1 support.Published by bufdev about 3 years ago
--as-import-paths
flag to ls-files
that strips local directory paths and prints fileprotoc
.Published by bufdev about 3 years ago
--include-imports
flag to ls-files
.protoc
3.18.0 support.recurse_submodules=true
.Published by doriable about 3 years ago
This is our first v1.0 release candidate. This release largely concentrates on erroring for
already-deprecated commands and flags.
At Buf, we take compatibility very seriously. When we say v1.0, we mean it - we hope buf
will be
stable on v1 for the next decade, and if there is something we want to change, it is our responsibility to
make sure that we don't break you, not your responsibility to change because of us. We have learned
a lot about buf
usage in the last two years of our beta, and have deprecated flags and commands as
we go, but for v1.0, we are removing the deprecated items to make sure we have a clean setup going forward.
All commands and flags have been printing warnings for a long time, and have an easy migration path.
Simply update the command or flag, and you'll be good to go:
buf login
command in favor of buf registry login
.buf logout
command in favor of buf registry logout
.buf mod init
command in favor of buf config init
.--name
and --dep
flags in buf config init
.--version
from stderr to stdout.--help
and help
from stderr to stdout.buf.yaml
, buf.gen.yaml
, buf.work.yaml
) is now required.buf beta config init
command in favor of buf config init
.buf beta mod export
command in favor of buf export
.buf beta mod init
command in favor of buf config init
.buf beta mod update
command in favor of buf mod update
.buf beta mod clear-cache
command in favor of buf mod clear-cache
.buf beta push
command in favor of buf push
.buf check breaking
command in favor of buf breaking
.buf check lint
command in favor of buf lint
.buf check ls-lint-checkers
command in favor of buf config ls-lint-rules
.buf check ls-breaking-checkers
command in favor of buf config ls-breaking-rules
.--file
flag on buf build
in favor of the --path
flag.--file
flag on buf lint
in favor of the --path
flag.--file
flag on buf breaking
in favor of the --path
flag.--file
flag on buf generate
in favor of the --path
flag.--file
flag on buf export
in favor of the --path
flag.--source
flag on buf build
in favor of the first positional parameter.--source-config
flag on buf build
in favor of the --config
flag.--input
flag on buf lint
in favor of the first positional parameter.--input-config
flag on buf lint
in favor of the --config
flag.--input
flag on buf breaking
in favor of the first positional parameter.--input-config
flag on buf breaking
in favor of the --config
flag.--against-input
flag on buf breaking
in favor of the --against
flag.--against-input-config
flag on buf breaking
in favor of the --against-config
flag.--input
flag on buf generate
in favor of the first positional parameter.--input-config
flag on buf generate
in favor of the --config
flag.--input
flag on buf ls-files
in favor of the first positional parameter.--input-config
flag on buf ls-files
in favor of the --config
flag.buf image build
command in favor of buf build
.buf image convert
command.buf beta image convert
command.buf experimental image convert
command.protoc-gen-buf-check-breaking
and protoc-gen-buf-check-lint
, which have been moved to protoc-gen-buf-breaking
and protoc-gen-buf-lint
.In January 2021 (v0.34.0), protoc-gen-buf-check-breaking
and protoc-gen-buf-check-lint
were deprecated and scheduled for removal for v1.0. In August 2021 (v0.52.0), we began returning error for every invocation of protoc-gen-buf-check-breaking
and protoc-gen-buf-check-lint
. This release completes the deletion process.
The only migration necessary is to change your installation and invocation from protoc-gen-buf-check-breaking
to protoc-gen-buf-breaking
and protoc-gen-buf-check-lint
to protoc-gen-buf-lint
. These can be installed in the exact same manner, whether from GitHub Releases, Homebrew, AUR, or direct Go installation:
# instead of go get github.com/bufbuild/buf/cmd/protoc-gen-buf-check-breaking
go get github.com/bufbuild/buf/cmd/protoc-gen-buf-breaking
# instead of curl -sSL https://github.com/bufbuild/buf/releases/download/v0.57.0/protoc-gen-buf-check-breaking-Linux-x86_64
curl -sSL https://github.com/bufbuild/buf/releases/download/v0.57.0/protoc-gen-buf-breaking-Linux-x86_64
Published by bufdev about 3 years ago
ENUM_ZERO_VALUE_SUFFIX
comment ignores from the enum level.buf genarate --output
was not being respected in 0.55.0.Published by doriable about 3 years ago
version:
is not set in buf.yaml
. This is one of the few breaking changes we must make before v1.0 to guarantee stability for the future. If you do not have a version set, simply add version: v1beta1
to the top of your buf.yaml
.BUF_TOKEN
for authentication. buf
will now look for a token in the BUF_TOKEN
environment variable, falling back to .netrc
as set via buf login
.--verbose
(-v
) flag.--debug
flag to print out debug logging.Published by bufdev about 3 years ago
Published by bufdev about 3 years ago
java_package_prefix
support to managed mode.:main
was appended for errors containing references to modules.Published by bufdev about 3 years ago
buf generate --include-imports
would end up generating files for certain imports twice.buf.mod
and buf.yaml
are present. buf.mod
was briefly used as the new default name for buf.yaml
, but we've reverted back to buf.yaml
.Return error for all invocations of protoc-gen-buf-check-breaking
and protoc-gen-buf-check-lint
.
As one of the few changes buf will ever make, protoc-gen-buf-check-breaking
and protoc-gen-buf-check-lint
were deprecated and scheduled for removal for v1.0 in January 2021. In preparation for v1.0, instead of just printing out a message notifying users of this, these commands now return an error for every invocation and will be completely removed when v1.0 is released.
The only migration necessary is to change your installation and invocation from protoc-gen-buf-check-breaking
to protoc-gen-buf-breaking
andprotoc-gen-buf-check-lint
to protoc-gen-buf-lint
. These can be installed in the exact same manner, whether from GitHub Releases, Homebrew, AUR, or direct Go installation:
# instead of go get github.com/bufbuild/buf/cmd/protoc-gen-buf-check-breaking
go get github.com/bufbuild/buf/cmd/protoc-gen-buf-breaking
# instead of curl -sSL https://github.com/bufbuild/buf/releases/download/v0.52.0/protoc-gen-buf-check-breaking-Linux-x86_64
curl -sSL https://github.com/bufbuild/buf/releases/download/v0.52.0/protoc-gen-buf-breaking-Linux-x86_64
There is no change in functionality.
Published by bufdev about 3 years ago
Published by bufdev about 3 years ago
v\d+alpha
and v\d+beta
as packages with valid versions. These will be considered unstable packages for the purposes of linting and breaking change detection if ignore_unstable_packages
is set.Published by bufdev about 3 years ago
buf generate --include-imports
that also generates all imports except for the Well-Known Types.PACKAGE
category was used and ignore_unstable_packages
was set.Published by bufdev about 3 years ago
FIELD_SAME_TYPE
breaking change rule into FIELD_SAME_TYPE, FIELD_WIRE_COMPATIBLE_TYPE, FIELD_WIRE_JSON_COMPATIBLE_TYPE
in v1
. See https://github.com/bufbuild/buf/pull/400 for details.buf export
.Published by robbertvanginkel about 3 years ago