Releases: bufbuild/buf
Releases · bufbuild/buf
v1.40.1
- Fix issue with
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
- Add concept of a default lint or breaking rule, which is printed out as a property when running
buf config ls-{breaking,lint}-rules
. Default rules are those rules which are run if no lint or breaking rules are explicitly configured in yourbuf.yaml
. - Rename
DEFAULT
lint rule category toSTANDARD
. With the concept of default rules being introduced, having a category namedDEFAULT
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 allbuf
changes, this change is backwards-compatible: theDEFAULT
lint category continues to work, and always will. We recommend changing toSTANDARD
, however.
v1.39.0
- Fix git input handling of relative HEAD refs without branch names.
- Add
includes
key to module configurations in v2buf.yaml
, accepting a list of directories.- If
includes
is specified, a proto file is considered in the module only if it is in one of the
directories specified. - If both
includes
andexcludes
keys are specified for a module, a proto file is considered
part of this module if it is contained in any of the include paths and not in any of the exclude
paths.
- If
- Allow multiple module configurations in the same v2
buf.yaml
to have the same directory path.
v1.38.0
- Add
--http3
flag tobuf curl
which forcesbuf curl
to use HTTP/3 as the transport. - Fix issue with directory inputs for v2 workspaces where the specified directory was not itself
a path to a module, but contained directories with modules, and the modules would not build. - Stop creating empty
buf.lock
files whenbuf dep update
does not find new dependencies
to update and there is no existingbuf.lock
. - Update
buf push
to push the license file or doc file (e.g.README.md
,LICENSE
) in the
same directory asbuf.yaml
if a module does not have a license file or doc file in the
module's directory. - Fix constraints of
--path
flag for lint and breaking rules to avoid resolving all files
within a module. This change can result in a performance improvement for large workspaces.
v1.37.0
- Add
STABLE_PACKAGE_NO_IMPORT_UNSTABLE
lint rule which disallows files from stable packages
to import files from unstable packages. - Fix plugin push failures when pushing an image built with containerd image store.
v1.36.0
- Add
--list-services
and--list-methods
flags tobuf curl
, which trigger the command to list
known services or methods in the RPC schema, instead of invoking an RPC method. - Add
clean
as a top-level option inbuf.gen.yaml
, matching thebuf generate --clean
flag. If
set to true, this will delete the directories, jar files, or zip files set toout
for each
plugin. - Fix git input handling of annotated tags.
- Update
buf registry login
to complete the login flow in the browser by default. This allows
users to login with their browser and have the token automatically provided to the CLI. - Add
buf registry organization {create, delete, info, update}
commands to manage BSR
organizations. Removebuf beta registry organization
commands. - Add
buf registry module {create, delete, deprecate, info, undeprecate, update}
commands to
manage BSR modules. Removebuf beta registry repository
commands. - Add
buf registry label {archive, info, list, unarchive}
commands to manage BSR module labels.
Removebuf beta registry label
commands andbuf beta registry {archive, unarchive}
. - Add
buf registry commit {add-label, info, list, resolve}
to manage BSR module commits. Remove
buf beta registry commit
commands.
v1.35.1
- Fix the git input parameter
ref
to align with thegit
notion of a ref. This allows for the use of branch names, tag names, and commit hashes. - Fix unexpected
buf build
errors with absolute path directory inputs without workspace and/or module configurations (e.g.buf.yaml
,buf.work.yaml
) and proto file paths set to the--path
flag.
v1.35.0
- Add
buf generate --clean
flag that will delete the directories, jar files, or zip files that the
plugins will write to, prior to generation. Allows cleaning of existing assets without having
to callrm -rf
. - Deprecate
--username
flag on and username prompt onbuf registry login
. A username is no longer
required to log in.
v1.34.0
- Add
buf config ls-modules
command to list configured modules. - Fix issue where
buf generate
would succeed on missing insertion points and panic on empty insertion point files. - Update
buf generate
to allow the use of Editions syntax when doing local code generation by proxying to aprotoc
binary (for languages where code gen is implemented inside ofprotoc
instead of in a plugin: Java, C++, Python, etc). - Allow use of an array of strings for the
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 toprotoc
each time it is invoked.
v1.33.0
- Allow user to override
--source-control-url
and--create-default-label
when using--git-metadata
withbuf push
. - Fix
buf push --git-metadata
when local tags point to different objects than the remote tags. - Fix issue where comment ignores were not respected for
PROTOVALIDATE
lint rule violations. - Add
buf beta registry label {create,get,list}
to replacebuf beta registry {draft, tag}
commands. - Update
buf beta commit {get,list}
command outputs to display create time and stop displaying associated tags. - Change the behavior of
buf beta commit list <buf.build/owner/repository>
when the reference is empty. It now lists commits in the repository instead of listing commits of the default label. - Update output of
buf format
to canonicalize the punctuation used in message literals in option values. The output now always uses{
and}
instead of<
and>
; it adds:
separators between field names and message values if the source omitted them, and it removes unnecessary separators between fields (,
and;
are allowed, but neither is needed). - Update
buf format -w
so that it does not touch files whose contents don't actually change. This eliminates noisy notifications to file-system-watcher tools that are watching the directory that contains proto sources. - Update
buf generate
to work with plugins provided by protoc for versions v24.0 to v25.3. Editions support was experimental in these releases, and the plugins advertise incomplete support for editions, which triggersbuf
to report an error. With this fix, these plugins can be used again as long as none of the input files use editions syntax. - Add
buf push --exclude-unnamed
flag to exclude unnamed modules when pushing to the BSR.