Skip to content

Releases: bufbuild/buf

v1.0.0-rc2

23 Sep 16:58
Compare
Choose a tag to compare
v1.0.0-rc2 Pre-release
Pre-release
  • Add --include-imports flag to ls-files.
  • Upgrade to protoc 3.18.0 support.
  • Fix regression with git inputs using recurse_submodules=true.

v1.0.0-rc1

15 Sep 16:31
Compare
Choose a tag to compare
v1.0.0-rc1 Pre-release
Pre-release

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:

  • Removed the buf login command in favor of buf registry login.
  • Removed the buf logout command in favor of buf registry logout.
  • Removed the buf mod init command in favor of buf config init.
  • Removed the --name and --dep flags in buf config init.
  • Moved the output of --version from stderr to stdout.
  • Moved the output of --help and help from stderr to stdout.
  • From v0.55.0: The version key in all configuration files (buf.yaml, buf.gen.yaml, buf.work.yaml) is now required.
  • From v0.45.0: Removed the buf beta config init command in favor of buf config init.
  • From v0.45.0: Removed the buf beta mod export command in favor of buf export.
  • From v0.45.0: Removed the buf beta mod init command in favor of buf config init.
  • From v0.45.0: Removed the buf beta mod update command in favor of buf mod update.
  • From v0.45.0: Removed the buf beta mod clear-cache command in favor of buf mod clear-cache.
  • From v0.45.0: Removed the buf beta push command in favor of buf push.
  • From v0.34.0: Removed the buf check breaking command in favor of buf breaking.
  • From v0.34.0: Removed the buf check lint command in favor of buf lint.
  • From v0.34.0: Removed the buf check ls-lint-checkers command in favor of buf config ls-lint-rules.
  • From v0.34.0: Removed the buf check ls-breaking-checkers command in favor of buf config ls-breaking-rules.
  • From v0.31.0: Removed the --file flag on buf build in favor of the --path flag.
  • From v0.31.0: Removed the --file flag on buf lint in favor of the --path flag.
  • From v0.31.0: Removed the --file flag on buf breaking in favor of the --path flag.
  • From v0.31.0: Removed the --file flag on buf generate in favor of the --path flag.
  • From v0.31.0: Removed the --file flag on buf export in favor of the --path flag.
  • From v0.29.0: Removed the --source flag on buf build in favor of the first positional parameter.
  • From v0.29.0: Removed the --source-config flag on buf build in favor of the --config flag.
  • From v0.29.0: Removed the --input flag on buf lint in favor of the first positional parameter.
  • From v0.29.0: Removed the --input-config flag on buf lint in favor of the --config flag.
  • From v0.29.0: Removed the --input flag on buf breaking in favor of the first positional parameter.
  • From v0.29.0: Removed the --input-config flag on buf breaking in favor of the --config flag.
  • From v0.29.0: Removed the --against-input flag on buf breaking in favor of the --against flag.
  • From v0.29.0: Removed the --against-input-config flag on buf breaking in favor of the --against-config flag.
  • From v0.29.0: Removed the --input flag on buf generate in favor of the first positional parameter.
  • From v0.29.0: Removed the --input-config flag on buf generate in favor of the --config flag.
  • From v0.29.0: Removed the --input flag on buf ls-files in favor of the first positional parameter.
  • From v0.29.0: Removed the --input-config flag on buf ls-files in favor of the --config flag.
  • From v0.29.0: Removed the buf image build command in favor of buf build.
  • From v0.29.0: Removed the buf image convert command.
  • From v0.29.0: Removed the buf beta image convert command.
  • From v0.23.0: Removed the buf experimental image convert command.
  • From v0.52.0 and v0.34.0: Complete deletion 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

v0.56.0

08 Sep 18:34
Compare
Choose a tag to compare
v0.56.0 Pre-release
Pre-release
  • Cascade ENUM_ZERO_VALUE_SUFFIX comment ignores from the enum level.
  • Fix issue where buf genarate --output was not being respected in 0.55.0.

v0.55.0

07 Sep 20:07
Compare
Choose a tag to compare
v0.55.0 Pre-release
Pre-release
  • Error if 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.
  • Support 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.
  • Add support for using remote plugins with local source files.
  • Add per-file overrides for managed mode.
  • Fix issue with the module cache where multiple simulataneous downloads would result in a temporarily-corrupted cache.
  • Hide verbose messaing behind the --verbose (-v) flag.
  • Add --debug flag to print out debug logging.

v0.54.1

30 Aug 17:18
Compare
Choose a tag to compare
v0.54.1 Pre-release
Pre-release
  • Fix docker build.

v0.54.0

30 Aug 16:44
Compare
Choose a tag to compare
v0.54.0 Pre-release
Pre-release
  • Add windows support.
  • Add java_package_prefix support to managed mode.
  • Fix issue with C# namespaces in managed mode.
  • Fix issue where :main was appended for errors containing references to modules.

v0.53.0

25 Aug 18:41
Compare
Choose a tag to compare
v0.53.0 Pre-release
Pre-release
  • Fix issue where buf generate --include-imports would end up generating files for certain imports twice.
  • Error when both a 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.

v0.52.0

19 Aug 17:59
Compare
Choose a tag to compare
v0.52.0 Pre-release
Pre-release

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.

v0.51.1

16 Aug 19:15
Compare
Choose a tag to compare
v0.51.1 Pre-release
Pre-release
  • Fix issue with git LFS where a remote must be set for fetch.

v0.51.0

13 Aug 21:33
Compare
Choose a tag to compare
v0.51.0 Pre-release
Pre-release
  • Accept packages of the form 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.
  • Fix issue with git clones that occurred when using a previous reference of the current branch.