buf

The best way of working with Protocol Buffers.

APACHE-2.0 License

Downloads
1.6M
Stars
8.3K
Committers
76

Bot releases are visible (Hide)

buf - v0.54.0

Published by bufdev about 3 years ago

  • 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.
buf - v0.53.0

Published by bufdev about 3 years ago

  • 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.
buf -

Published by bufdev about 3 years ago

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.

buf - v0.51.1

Published by bufdev about 3 years ago

  • Fix issue with git LFS where a remote must be set for fetch.
buf - v0.51.0

Published by bufdev about 3 years ago

  • 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.
buf - v0.50.0

Published by bufdev about 3 years ago

  • Add buf generate --include-imports that also generates all imports except for the Well-Known Types.
  • Fix issue where a deleted file within an unstable package that contained messages, enums, or services resulted in a breaking change failure if the PACKAGE category was used and ignore_unstable_packages was set.
buf - v0.49.0

Published by bufdev about 3 years ago

  • Split 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.
  • Only export imported dependencies from buf export.
buf - v0.48.2

Published by robbertvanginkel about 3 years ago

  • Fix git args for http auth with git lfs.
buf - v0.48.1

Published by bufdev about 3 years ago

  • Fix: use -c on git parent command instead of --config on git fetch.
  • Add ruby_package to managed mode.
buf - v0.48.0

Published by bufdev about 3 years ago

  • Add buf export. buf export will export the files from the specified input (default ".") to the given directory in a manner that is buildable by protoc without any -I flags. It also has options --exclude-imports, which excludes imports (and won't result in a buildable set of files), and --path, which filters to the specific paths.
buf - v0.47.0

Published by bufdev about 3 years ago

  • Rewrite the git cloner to use git init && git fetch rather than git clone. git clone is limited to local branches on the remote, whereas git fetch we can fetch any references on the remote including remote branches.
  • Add php_namespace managed mode handling.
  • Add java_string_check_utf8 managed mode handling.
buf - v0.46.0

Published by bufdev about 3 years ago

  • Add buf login and buf logout to login and logout from the Buf Schema Registry.
  • Fix cache, configuration, and data environment variables for Windows. Note that while Windows is still not officially supported, buf largely works on Windows.
buf - v0.45.0

Published by bufdev about 3 years ago

  • Revert default configuration file location back from buf.mod to buf.yaml. Note that both continue to work.
  • Move default workspace configuration file location from buf.work to buf.work.yaml. Note that both continue to work.
  • Move buf beta push to buf push. Note that buf beta push continues to work.
  • Move most buf beta mod commands to buf mod. Note that all buf beta mod commands continue to work.
  • Add --only flag to buf mod update.
  • Warn if buf.yaml contains dependencies that are not represented in the buf.lock file.
  • Add --version flag to buf config ls-{breaking,lint}-rules.
  • Add SYNTAX_SPECIFIED lint rule to BASIC, DEFAULT categories for v1 configuration.
  • Add IMPORT_USED lint rule to BASIC, DEFAULT categories for v1 configuration.
  • Bring v1 configuration out of beta.
  • Add managed mode for objc_class_prefix, csharp_namespace.
buf - v0.44.0

Published by bufdev over 3 years ago

  • Fix issue where C++ scoping rules were not properly enforced.
  • Add support for splitting directory paths passed to buf protoc -I by a directory separator.
  • Fix Windows support for builtin protoc plugins when using buf generate or buf protoc. Note that Windows remains officially unsupported as we have not set up testing, but largely works.
  • Upgrade to protoc 3.17.3 support.
  • Change the default module configuration location from buf.yaml to buf.mod. Note that buf.yaml continues to work.
  • Continued work on the workspaces beta, including the v1 configuration specification.
  • Continued work on the managed mode beta, including the v1 configuration specification.
  • Add v1 module configuration specification in beta - please continue to use v1beta1 until the v1 configuration specification is rolled out.
  • Add buf config migrate-v1beta1.
buf - v0.43.2

Published by bufdev over 3 years ago

  • Fix namespace resolution diff with protoc.
buf - v0.43.1

Published by bufdev over 3 years ago

  • Revert protoc namespace resolution diff change.
buf - v0.43.0

Published by bufdev over 3 years ago

  • Do not count buf:lint:ignore directives as valid comments for the COMMENT_.* lint rules.
  • Upgrade to protoc 3.17.1 support.
  • Fix namespace resolution diff with protoc.
buf - v0.42.1

Published by bufdev over 3 years ago

  • Change the architecture suffix of the Linux ARM release assets from arm64 to aarch64 to match the output of uname -m on Linux.
buf - v0.42.0

Published by bufdev over 3 years ago

  • Add managed mode in beta. This is a new feature that automatically sets file option values.
  • Add workspaces in beta. This is a new feature that allows multiple modules within the same directory structure.
  • Add arm64 releases.
buf - v0.41.0

Published by amckinney over 3 years ago

  • Add MESSAGE_SAME_REQUIRED_FIELDS breaking change rule. This checks to make sure no required fields are added or deleted from existing messages.
  • Support multi-architecture Docker image.
  • Exit with code 100 for FileAnnotation errors.