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.19.0

Published by buf-release-bot[bot] over 1 year ago

  • Add --create flag to buf push to create a repository if it does not exist. The user is also required to specify the visibility using --create-visibility.
  • Add github-actions error format to print errors in a form parseable by GitHub Actions.
  • Fix issue in buf build and buf generate where the use of type filtering (via --type flags) would cause the resulting image to have no source code info, even when --exclude-source-info was not specified. The main impact of the bug was that generated code would be missing comments.
  • Fix issue in buf curl when using --user or --netrc that would cause a malformed Authorization header to be sent.
  • Update the module cache to use an optimized content addressable store. The cache is now self-healing and uses significantly less space. Users wishing to free unused space can run buf mod --clear-cache once after upgrading to remove data stored in the previous module cache.
buf - v1.18.0

Published by buf-release-bot[bot] over 1 year ago

  • Remove buf beta registry {plugin,template} {deprecate,undeprecate}.
  • Add --user and --netrc flags to buf curl, providing the same behavior as the flags of the same name in the cURL tool.
  • Include DocumentationPath in the module on buf push.
  • Support fallback paths, README.md and README.markdown, for module documentation. The default source for module documentation is buf.md. If buf.md is missing, README.md or README.markdown is used as fallback sources.
buf - v1.17.0

Published by buf-release-bot[bot] over 1 year ago

  • Fix issue with JSON marshalling of errors where line and column fields were omitted when line and column information was empty.
  • Fix issue with MSVS marshalling of errors where the column could be 0.
  • Add buf beta stats command to print statistics about a given source or module.
  • Update buf beta price with the latest pricing information.
buf - v1.16.0

Published by buf-release-bot[bot] over 1 year ago

  • Add buf beta price command to help users of the BSR figure out how much a module will cost to store on the BSR under the Teams or Pro plans.
  • Fix an issue in protoc-gen-buf-lint that prevented it from reporting lint errors for unused imports.
  • Fix an issue with buf format where indents would be produced on certain empty lines.
  • Remove buf alpha registry token create command. Tokens must be created through the BSR UI.
  • Add local WASM plugin support in alpha, gated by the BUF_ALPHA_ENABLE_WASM environment variable. This feature is under evaluation, and may change at any time. If you are interested in WASM Protobuf plugins, reach out to us.
buf - v1.15.1

Published by buf-release-bot[bot] over 1 year ago

  • Fix a bug in buf generate with v1beta1 config files.
  • Fix a potential crash when using the --type flag with buf build or buf generate.
buf - v1.15.0

Published by buf-release-bot[bot] over 1 year ago

  • Update built-in Well-Known Types to Protobuf v22.0.
  • Fixes a bug in buf format where C-style block comments in which every line includes a prefix (usually "*") would be incorrectly indented.
  • Add --private-network flag to buf beta studio-agent to support handling CORS requests from Studio on private networks that set the Access-Control-Request-Private-Network header.
buf - v1.14.0

Published by elliotmjackson over 1 year ago

  • Replace buf generate --include-types with buf generate --type for consistency. --include-types is now deprecated but continues to work, consistent with our compability guarantee.
  • Include type references in google.protobuf.Any messages in option values when filtering on type, e.g. with buf build --type or buf generate --type.
  • Allow specifying a specific protoc path in buf.gen.yaml when using protoc's built-in plugins via the new protoc_path option.
  • Allow specifying arguments for local plugins in buf.gen.yaml. You can now do e.g. path: ["go, "run", ./cmd/protoc-gen-foo] in addition to path: protoc-gen-foo.
  • Add optional name parameter to buf mod init, e.g. buf mod init buf.build/owner/foobar.
  • Fix issue with php_metadata_namespace file option in managed mode.
  • Make all help documentation much clearer. If you notice any inconsistencies, let us know.
buf - v1.13.1

Published by buf-release-bot[bot] over 1 year ago

  • Fix race condition with buf generate when remote plugins from multiple BSR instances are being used at once.
buf - v1.13.0

Published by buf-release-bot[bot] over 1 year ago

  • Extend the BUF_TOKEN environment variable to accept tokens for multiple
    BSR instances. Both TOKEN and TOKEN1@BSRHOSTNAME1,TOKEN2@BSRHOSTNAME2,...
    are now valid values for BUF_TOKEN.
  • Remove buf beta convert in favor of the now-stable buf convert.
buf - v1.12.0

Published by buf-release-bot[bot] almost 2 years ago

  • Add buf curl command to invoke RPCs via Connect, gRPC, or gRPC-Web
  • Introduce objc_class_prefix option in managed mode, allowing a default value for objc_class_prefix for all files, except and override, which both behave similarly to other except and override options. Specifying an empty default value is equivalent to having managed mode on in previous versions.
  • Introduce ruby_package option in managed mode, allowing except and override, in the same style as objc_class_prefix. Leaving ruby_package unspecified has the same effect as having mananged mode enabled in previous versions.
buf - v1.11.0

Published by buf-release-bot[bot] almost 2 years ago

  • buf generate now batches remote plugin generation calls for improved performance.
  • Update optimize_for option in managed mode, allowing a default value for optimize_for for all files, except and override, which both behave similarly to other except and override options. Specifying an optimize_for value in the earlier versions is equivalent to having a optimize_for with that value as default.
buf - v1.10.0

Published by elliotmjackson almost 2 years ago

  • When using managed mode, setting enabled: false now no longer fails buf generate and instead prints a warning log and ignores managed mode options.
  • Add csharp_namespace option to managed mode, allowing except, which excludes modules from managed mode, and override, which specifies csharp_namespace values per module, overriding the default value. By default, when managed mode is enabled, csharp_namespace is set to the package name with each package sub-name capitalized.
  • Promote buf convert to stable, keep buf beta convert aliased in the beta command.
  • Add Types filter to buf generate command to specify types (message, enum, service) that should be included in the image. When specified, the resulting image will only include descriptors to describe the requested types.
buf - v1.9.0

Published by jhump about 2 years ago

  • 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 on buf 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
buf - v1.8.0

Published by njhale about 2 years ago

  • Change default for --origin flag of buf beta studio-agent to https://studio.buf.build
  • Change default for --timeout flag of buf beta studio-agent to 0 (no timeout). Before it was 2m (the default for all the other buf commands).
  • Add support for experimental code generation with the plugin: key in buf.gen.yaml.
  • Preserve single quotes with buf format.
  • Support junit format errors with --error-format.
buf - v1.7.0

Published by doriable about 2 years ago

  • Support protocol and encoding client options based on content-type in Studio Agent.
  • Add --draft flag to buf push.
  • Add buf beta registry draft {list,delete} commands.
buf - v1.6.0

Published by doriable over 2 years ago

  • Fix issue where // buf:lint:ignore comment ignores did not work for the ENUM_FIRST_VALUE_ZERO rule.
  • Add buf beta studio-agent command to support the upcoming Buf Studio.
buf - v1.5.0

Published by doriable over 2 years ago

  • Upgrade to protoc 3.20.1 support.
  • Fix an issue where buf would fail if two or more roots contained a file with the same name, but with different file types (i.e. a regular file vs. a directory).
  • Fix check for PACKAGE_SERVICE_NO_DELETE to detect deleted services.
  • Remove buf beta registry track.
  • Remove buf beta registry branch.
buf - v1.4.0

Published by doriable over 2 years ago

  • Fix issue where duplicate synthetic oneofs (such as with proto3 maps or optional fields) did not result in a properly formed error.
  • Add buf beta registry repository update command which supports updating repository visibility (public vs private). As with all beta commands, this is likely to change in the future.
buf - v1.3.1

Published by amckinney over 2 years ago

  • Allow --config flag to be set when targeting a module within a workspace.
  • Update buf format's file option order so that default file options are sorted before custom options.
  • Update buf format to write adjacent string literals across multiple lines.
  • Fix buf format so that the output directory (if any) is created if and only if the input is successfully formatted.
buf - v1.3.0

Published by doriable over 2 years ago

  • Add --exit code flag to buf format to exit with a non-zero exit code if the files were not already formatted.