Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.28.1
->1.40.1
1.6.0
->1.10.0
1.6.0
->1.10.0
Release Notes
bufbuild/buf (@bufbuild/buf)
v1.40.1
Compare Source
buf lint
where comment ignores in the shape of// buf:lint:ignore <RULE_ID> <extra comment>
were not recognized due to the extra comment.
v1.40.0
Compare Source
buf config ls-{breaking,lint}-rules
. Default rules are those rules which are run if no lintor breaking rules are explicitly configured in your
buf.yaml
.DEFAULT
lint rule category toSTANDARD
. With the concept of default rules being introduced,having a category named
DEFAULT
is confusing, as while it happens that all the rules in theDEFAULT
lint category are also default rules, the name has become overloaded. As with all
buf
changes, thischange is backwards-compatible: the
DEFAULT
lint category continues to work, and always will. Werecommend changing to
STANDARD
, however.v1.39.0
Compare Source
includes
key to module configurations in v2buf.yaml
, accepting a list of directories.includes
is specified, a proto file is considered in the module only if it is in one of thedirectories specified.
includes
andexcludes
keys are specified for a module, a proto file is consideredpart of this module if it is contained in any of the include paths and not in any of the exclude
paths.
buf.yaml
to have the same directory path.v1.38.0
Compare Source
--http3
flag tobuf curl
which forcesbuf curl
to use HTTP/3 as the transport.a path to a module, but contained directories with modules, and the modules would not build.
buf.lock
files whenbuf dep update
does not find new dependenciesto update and there is no existing
buf.lock
.buf push
to push the license file or doc file (e.g.README.md
,LICENSE
) in thesame directory as
buf.yaml
if a module does not have a license file or doc file in themodule's directory.
--path
flag for lint and breaking rules to avoid resolving all fileswithin a module. This change can result in a performance improvement for large workspaces.
v1.37.0
Compare Source
STABLE_PACKAGE_NO_IMPORT_UNSTABLE
lint rule which disallows files from stable packagesto import files from unstable packages.
v1.36.0
Compare Source
--list-services
and--list-methods
flags tobuf curl
, which trigger the command to listknown services or methods in the RPC schema, instead of invoking an RPC method.
clean
as a top-level option inbuf.gen.yaml
, matching thebuf generate --clean
flag. Ifset to true, this will delete the directories, jar files, or zip files set to
out
for eachplugin.
buf registry login
to complete the login flow in the browser by default. This allowsusers to login with their browser and have the token automatically provided to the CLI.
buf registry organization {create, delete, info, update}
commands to manage BSRorganizations. Remove
buf beta registry organization
commands.buf registry module {create, delete, deprecate, info, undeprecate, update}
commands tomanage BSR modules. Remove
buf beta registry repository
commands.buf registry label {archive, info, list, unarchive}
commands to manage BSR module labels.Remove
buf beta registry label
commands andbuf beta registry {archive, unarchive}
.buf registry commit {add-label, info, list, resolve}
to manage BSR module commits. Removebuf beta registry commit
commands.v1.35.1
Compare Source
ref
to align with thegit
notion of a ref. This allows for the useof branch names, tag names, and commit hashes.
buf build
errors with absolute path directory inputs without workspace and/ormodule configurations (e.g.
buf.yaml
,buf.work.yaml
) and proto file paths set to the--path
flag.v1.35.0
Compare Source
buf generate --clean
flag that will delete the directories, jar files, or zip files that theplugins will write to, prior to generation. Allows cleaning of existing assets without having
to call
rm -rf
.--username
flag on and username prompt onbuf registry login
. A username is no longerrequired to log in.
v1.34.0
Compare Source
buf config ls-modules
command to list configured modules.buf generate
would succeed on missing insertion points andpanic on empty insertion point files.
buf generate
to allow the use of Editions syntax when doing local codegeneration by proxying to a
protoc
binary (for languages where code gen isimplemented inside of
protoc
instead of in a plugin: Java, C++, Python, etc).protoc_path
property of forbuf.gen.yaml
,where the first array element is the actual path and other array elements are extra
arguments that are passed to
protoc
each time it is invoked.v1.33.0
Compare Source
--source-control-url
and--create-default-label
when using--git-metadata
withbuf push
.buf push --git-metadata
when local tags point to different objects thanthe remote tags.
PROTOVALIDATE
lint rule violations.buf beta registry label {create,get,list}
to replacebuf beta registry {draft, tag}
commands.
buf beta commit {get,list}
command outputs to display create time and stopdisplaying associated tags.
buf beta commit list <buf.build/owner/repository>
when thereference is empty. It now lists commits in the repository instead of listing commits
of the default label.
buf format
to canonicalize the punctuation used in message literalsin option values. The output now always uses
{
and}
instead of<
and>
; itadds
:
separators between field names and message values if the source omitted them,and it removes unnecessary separators between fields (
,
and;
are allowed, butneither is needed).
buf format -w
so that it does not touch files whose contents don't actuallychange. This eliminates noisy notifications to file-system-watcher tools that are
watching the directory that contains proto sources.
buf generate
to work with plugins provided by protoc for versions v24.0to v25.3. Editions support was experimental in these releases, and the plugins
advertise incomplete support for editions, which triggers
buf
to report an error.With this fix, these plugins can be used again as long as none of the input files use
editions syntax.
buf push --exclude-unnamed
flag to exclude unnamed modules when pushing to the BSR.v1.32.2
Compare Source
buf generate
to warn instead of error when proto3 optional is required but notsupported by a plugin.
v1.32.1
Compare Source
--path
and--exclude-path
paths are relative tothe
#subdir
rather than the root of the input. This fixes an unintended behavior changethat was introduced in
v1.32.0
.module
input forprotoc-gen-buf-lint
andprotoc-gen-buf-breaking
to allowusers to specify the module for
v2
configuration files.v1.32.0
Compare Source
v2
forbuf.yaml
andbuf.gen.yaml
configuration files.buf config migrate
to migrate configuration files to the latest version (nowv2
).buf mod init
tobuf config init
.buf mod init
is now deprecated.buf mod ls-lint-rules
tobuf config ls-lint-rules
.buf mod ls-lint-rules
is nowdeprecated.
buf mod ls-breaking-rules
tobuf config ls-breaking-rules
.buf mod ls-breaking-rules
is now deprecated.
buf mod prune
tobuf dep prune
.buf mod prune
is now deprecated.buf mod update
tobuf dep update
.buf mod update
is now deprecated.buf mod {clear-cache,cc}
tobuf registry cc
.buf mod {clear-cache,cc}
is nowdeprecated.
buf beta graph
to stable asbuf dep graph
.buf push --create-visibility
toprivate
when the--create
flag is set. Users are no longer required to set
--create-visibility
when runningbuf push --create
.buf push --label
, which allows users to set labels when pushing new commits to the BSR.buf push --source-control-url
, which allows users to associate commits pushed to the BSRwith a URL to a source code repository.
buf push --create-default-label
, which allows users to set a default label for a repositorywhen calling
buf push --create
.buf push --git-metadata
, which automatically sets appropriate--label
,--source-control-url
, and--create-default-label
flags based on the current Git repository.buf convert --validate
to apply protovalidaterules to incoming messages specified with
--from
.buf mod open
.buf beta migrate-v1beta1
This is now replaced withbuf config migrate
.buf registry sdk version
to get the version of a Generated SDK for a module and plugin.buf beta registry archive
andbuf beta registry unarchive
commands for archiving andunarchiving labels on the BSR.
buf
to be used with sources that use edition2023, instead of proto2 or proto3 syntax. This also updates the
protoc-gen-buf-breaking
andprotoc-gen-buf-lint
Protobuf plugins to support files that use edition 2023.buf breaking
rules to work with Protobuf Editions. To support Editions, some rules havebeen deprecated and replaced with Editions-aware rules. All deprecated rules continue to work
for existing users.
FIELD_SAME_CTYPE
has been replaced withFIELD_SAME_CPP_STRING_TYPE
, which considers bothctype
field options and new(pb.cpp).string_type
features when deciding on backwardscompatibility.
FIELD_SAME_LABEL
has been replaced with three rules that all check "cardinality". The newrules can distinguish between maps and other repeated fields and between implicit and explicit
field presence. The new rules are:
FIELD_SAME_CARDINALITY
in theFILE
andPACKAGE
categories.FIELD_WIRE_COMPATIBLE_CARDINALITY
in theWIRE
category.FIELD_WIRE_JSON_COMPATIBLE_CARDINALITY
in theWIRE_JSON
category.FILE_SAME_JAVA_STRING_CHECK_UTF8
has been replaced withFIELD_SAME_JAVA_UTF8_VALIDATION
,which considers both the
java_string_check_utf8
file option and(pb.java).utf8_validation
features when deciding on backwards compatibility.
FILE_SAME_SYNTAX
rule with a few related rules that can catch the samesort of compatibility issues, but in an Editions source file that changes feature values:
MESSAGE_SAME_JSON_FORMAT
andENUM_SAME_JSON_FORMAT
catch changes to thejson_format
feature, which controls whether support for the JSON format is best-effort or properly
supported. When supported, the compiler performs more checks relating to field name
collisions for the JSON format as well as for FieldMask usage.
FIELD_SAME_UTF8_VALIDATION
catches changes to theutf8_validation
feature, whichcontrols validation of string values.
ENUM_SAME_TYPE
catches changes to an enum's type, open vs. closed.buf breaking
. All existing rules for fields are now applied toextensions, except for
FIELD_NO_DELETE
(and its variants). There are also newEXTENSION_NO_DELETE
andPACKAGE_EXTENSION_NO_DELETE
rules for catching deletions of anextension. The new rules are not active by default in existing
v1
andv1beta1
configurations, for backwards-compatibility reasons. Migrate your config to
v2
to use them.buf lint
. It previously only checked extensions thatwere defined inside of messages.
FIELD_NOT_REQUIRED
lint rule that prevents use of required in proto2 files and offeatures.field_presence = LEGACY_REQUIRED
in Editions files. This new rule is not active bydefault in existing
v1
andv1beta1
configurations, for backwards-compatibility reasons.Migrate your config to
v2
to use them.v1.31.0
Compare Source
v1.30.1
Compare Source
buf lint
incorrectly reports an error for(buf.validate.field).repeated
is set for a repeated validation rule.
v1.30.0
Compare Source
buf generate
so it populates the recently-addedsource_file_descriptors
field of the
CodeGeneratorRequest
message. This provides the plugin with access to optionsthat are configured to only be retained in source and not at runtime (via
field option).
Descriptors in the
proto_file
field will not include any options configured this wayfor the files named in
file_to_generate
field.--exclude-source-retention-options
flag tobuf build
, whichcauses options configured to only be retained in source to be stripped
from the output descriptors.
v1.29.0
Compare Source
yaml
format. All commands that take image inputs, output images,or convert between message formats, now take
yaml
as a format, in addition tothe existing
binpb
andtxtpb
formats. Some examples:buf build -o image.yaml
buf ls-files image.yaml
buf convert --type foo.Bar --from input.binpb --to output.yaml
yaml
andjson
formats now accept two new options:use_proto_names
anduse_enum_numbers
. This affects output serialization. Some examples:buf convert --type foo.Bar --from input.binpb --to output.yaml#use_proto_names=true
buf convert --type foo.Bar --from input.binpb --to -#format=yaml,use_enum_numbers=true
buf format
would inadvertently mangle files that usedthe expanded
Any
syntaxin option values.
bufbuild/protobuf-es (@bufbuild/protobuf)
v1.10.0
Compare Source
What's Changed
Full Changelog: bufbuild/protobuf-es@v1.9.0...v1.10.0
v1.9.0
Compare Source
What's Changed
New Contributors
Full Changelog: bufbuild/protobuf-es@v1.8.0...v1.9.0
v1.8.0
Compare Source
What's Changed
/*@​__PURE__*/
annotation for better tree-shaking support by @pmzi in https://github.com/bufbuild/protobuf-es/pull/470New Contributors
Full Changelog: bufbuild/protobuf-es@v1.7.2...v1.8.0
v1.7.2
Compare Source
What's Changed
New Contributors
Full Changelog: bufbuild/protobuf-es@v1.7.1...v1.7.2
v1.7.1
Compare Source
What's Changed
Full Changelog: bufbuild/protobuf-es@v1.7.0...v1.7.1
v1.7.0
Compare Source
What's Changed
This release adds support for extensions, a Protobuf language feature that allows to extend a message with an additional field.
For example:
For the extension
age
, we generate a new exportconst age: Extension<User, number>
. You can set the extension field with the functionsetExtension
:To learn more about the details, see the API documentation.
For plugin authors: Since extensions provide a better way to access custom options in a plugin, we are deprecating the
findCustom*Option
functions from@bufbuild/protoplugin/ecmascript
. We recommend to switch to extensions for better type safety and flexibility, see the PR for details.All changes
Full Changelog: bufbuild/protobuf-es@v1.6.0...v1.7.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.