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 - v1.2.1

Published by amckinney over 2 years ago

  • Fix a few buf format edge cases.
buf - v1.2.0

Published by amckinney over 2 years ago

  • Add buf format command to format .proto files.
  • Fix build scripts to avoid using the command-line-arguments pseudo-package when building binaries and re-introduce checking for proper usage of private packages.
buf - v1.1.1

Published by doriable over 2 years ago

  • Remove check for proper usage of private packages due to a breaking change made in the Golang standard library in 1.18.
buf - v1.1.0

Published by doriable over 2 years ago

  • Add --type flag to the build command to create filtered images containing only the specified types and their required dependencies.
  • Trim spaces and new lines from user-supplied token for buf registry login.
  • Add support for conversion between JSON and binary serialized message for buf beta convert.
buf - v1.0.0

Published by doriable over 2 years ago

  • Check that the user provided a valid token when running buf registry login.
  • Add buf mod open that opens a module's homepage in a browser.
  • Add buf completion command to generate auto-completion scripts in commonly used shells.
  • Add --disable-symlinks flag to the breaking, build, export, generate, lint, ls-files, push commands. By default, the CLI will follow symlinks except on Windows, and this disables following symlinks.
  • Add --include-wkt flag to buf generate. When this flag is specified alongside --include-imports, this will result in the Well-Known Types being generated as well. Most language runtimes have the Well-Known Types included as part of the core library, making generating the Well-Known Types separately undesirable.
  • Remove buf protoc. This was a pre-v1.0 demonstration to show that buf compilation produces equivalent results to mainline protoc, however buf is working on building a better Protobuf future that provides easier mechanics than our former protoc-based world. buf protoc itself added no benefit over mainline protoc beyond being considerably faster and allowing parallel compilation. If protoc is required, move back to mainline protoc until you can upgrade to buf. See #915 for more details.
  • Context modifier no longer overrides an existing token on the context. This allows buf registry login to properly check the user provided token without the token being overriden by the CLI interceptor.
  • Removed the buf config init command in favor of buf mod init.
  • Removed the buf config ls-breaking-rules command in favor of buf mod ls-breaking-rules.
  • Removed the buf config ls-lint-rules command in favor of buf mod ls-lint-rules.
  • Removed the buf config migrate-v1beta1 command in favor of buf beta migrate-v1beta1.
  • Add buf beta decode command to decode message with provided image source and message type.
  • Disable --config flag for workspaces.
  • Move default config version from v1beta1 to v1.
buf - v1.0.0-rc12

Published by doriable over 2 years ago

  • Add default, except and override to java_package_prefix.
  • Add dependency commits as a part of the b3 digest.
  • Upgrade to protoc 3.19.4 support.
  • Remove branch field from buf.lock.
buf - v1.0.0-rc11

Published by bufdev almost 3 years ago

  • Upgrade to protoc 3.19.3 support.
  • Add PACKAGE_NO_IMPORT_CYCLE lint rule to detect package import cycles.
  • Add buf beta registry {plugin,template} {deprecate,undeprecate}.
  • Add warning when using enterprise dependencies without specifying a enterprise remote in the module's identity.
  • Remove digest, and created_at fields from the buf.lock. This will temporarily create a new commit when pushing the same contents to an existing repository, since the ModulePin has been reduced down.
  • Add manpages for buf.
buf - v1.0.0-rc10

Published by doriable almost 3 years ago

  • Fix issue where remote references were not correctly cached.Fix issue where remote references were not correctly cached.
buf - v1.0.0-rc9

Published by amckinney almost 3 years ago

  • Always set compiler_version parameter in the CodeGeneratorRequest to "(unknown)".
  • Fix issue where buf mod update was unable to resolve dependencies from different remotes.
  • Display the user-provided Buf Schema Registry remote, if specified, instead of the default within the buf login message.
  • Fix issue where buf generate fails when the same plugin was specified more than once in a single invocation.
  • Update the digest algorithm so that it encodes the name, lint, and breaking configuration encoded in the buf.yaml.
    When this change is deployed, users will observe the following:
    • Users on v0.43.0 or before will notice mismatched digest errors similar to the one described in https://github.com/bufbuild/buf/issues/661.
    • Users on v0.44.0 or after will have their module cache invalidated, but it will repair itself automatically.
    • The buf.lock (across all versions) will reflect the new b3- digest values for new commits.
buf - v1.0.0-rc8

Published by doriable almost 3 years ago

  • Add new endpoints to the recommendation service to make it configurable.
  • Add --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.
  • Change GetModulePackages endpoint to return a repeated ModulePackage message that now includes package description with the package name.
  • Add Oneof to the Message structure for documentation.
buf - v1.0.0-rc7

Published by amckinney almost 3 years ago

  • Upgrade to protoc 3.19.1 support.
  • Fix issue with buf generate where multiple insertion points are defined in the same file.
buf - v1.0.0-rc6

Published by doriable almost 3 years ago

  • Fix issue with buf ls-files when given an image as an input, imports were being printed,
    even without the --include-imports flag.
  • Add the ability for users to provide individual protobuf files as inputs to CLI commands. This allows users to run 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.
buf - v1.0.0-rc5

Published by WillAbides about 3 years ago

  • Add buf beta registry repository deprecate and buf beta registry repository undeprecate.
  • Support --include-imports for remote plugins.
  • Fix issue where buf config migrate-v1beta1 fails when files cannot be renamed.
  • Fix issue where buf registry login panics when an existing .netrc entry exists.
buf - v1.0.0-rc4

Published by bufdev about 3 years ago

  • Fix issue where buf generate could fail when used with large numbers of plugins and files on systems with low file limits.
  • Add buf protoc --version flag back. This was accidentally removed.
  • Upgrade to protoc 3.18.1 support.
buf - v1.0.0-rc3

Published by bufdev about 3 years ago

  • Add --as-import-paths flag to ls-files that strips local directory paths and prints file
    paths as they are imported.
  • Fix issue where groups used in custom options did not result in the same behavior as protoc.
  • Fix issue where insertion points were not applied with respect to the configured output directory.
buf - v1.0.0-rc2

Published by bufdev about 3 years ago

  • Add --include-imports flag to ls-files.
  • Upgrade to protoc 3.18.0 support.
  • Fix regression with git inputs using recurse_submodules=true.
buf - v1.0.0-rc1

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:

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

Published by bufdev about 3 years ago

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

Published by doriable about 3 years ago

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

Published by bufdev about 3 years ago

  • Fix docker build.