Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update bufbuild (minor) #1226

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update bufbuild (minor) #1226

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 24, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@bufbuild/buf 1.28.1 -> 1.40.1 age adoption passing confidence
@bufbuild/protobuf (source) 1.6.0 -> 1.10.0 age adoption passing confidence
@bufbuild/protoc-gen-es (source) 1.6.0 -> 1.10.0 age adoption passing confidence

Release Notes

bufbuild/buf (@​bufbuild/buf)

v1.40.1

Compare Source

  • 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

Compare Source

  • 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 your buf.yaml.
  • Rename DEFAULT lint rule category to STANDARD. With the concept of default rules being introduced,
    having a category named DEFAULT is confusing, as while it happens that all the rules in the DEFAULT
    lint category are also default rules, the name has become overloaded. As with all buf changes, this
    change is backwards-compatible: the DEFAULT lint category continues to work, and always will. We
    recommend changing to STANDARD, however.

v1.39.0

Compare Source

  • Fix git input handling of relative HEAD refs without branch names.
  • Add includes key to module configurations in v2 buf.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 and excludes 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.
  • Allow multiple module configurations in the same v2 buf.yaml to have the same directory path.

v1.38.0

Compare Source

  • Add --http3 flag to buf curl which forces buf 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 when buf dep update does not find new dependencies
    to update and there is no existing buf.lock.
  • Update buf push to push the license file or doc file (e.g. README.md, LICENSE) in the
    same directory as buf.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

Compare Source

  • 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

Compare Source

  • Add --list-services and --list-methods flags to buf 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 in buf.gen.yaml, matching the buf generate --clean flag. If
    set to true, this will delete the directories, jar files, or zip files set to out 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. Remove buf beta registry organization commands.
  • Add buf registry module {create, delete, deprecate, info, undeprecate, update} commands to
    manage BSR modules. Remove buf beta registry repository commands.
  • Add buf registry label {archive, info, list, unarchive} commands to manage BSR module labels.
    Remove buf beta registry label commands and buf 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

Compare Source

  • Fix the git input parameter ref to align with the git 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

Compare Source

  • 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 call rm -rf.
  • Deprecate --username flag on and username prompt on buf registry login. A username is no longer
    required to log in.

v1.34.0

Compare Source

  • 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 a protoc binary (for languages where code gen is
    implemented inside of protoc instead of in a plugin: Java, C++, Python, etc).
  • Allow use of an array of strings for the protoc_path property of for buf.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

  • Allow user to override --source-control-url and --create-default-label when using
    --git-metadata with buf 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 replace buf 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 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.
  • Add buf push --exclude-unnamed flag to exclude unnamed modules when pushing to the BSR.

v1.32.2

Compare Source

  • Update buf generate to warn instead of error when proto3 optional is required but not
    supported by a plugin.

v1.32.1

Compare Source

  • Fix archive and git inputs so that --path and --exclude-path paths are relative to
    the #subdir rather than the root of the input. This fixes an unintended behavior change
    that was introduced in v1.32.0.
  • Add module input for protoc-gen-buf-lint and protoc-gen-buf-breaking to allow
    users to specify the module for v2 configuration files.

v1.32.0

Compare Source

  • Add version v2 for buf.yaml and buf.gen.yaml configuration files.
  • Add buf config migrate to migrate configuration files to the latest version (now v2).
  • Move buf mod init to buf config init. buf mod init is now deprecated.
  • Move buf mod ls-lint-rules to buf config ls-lint-rules. buf mod ls-lint-rules is now
    deprecated.
  • Move buf mod ls-breaking-rules to buf config ls-breaking-rules. buf mod ls-breaking-rules
    is now deprecated.
  • Move buf mod prune to buf dep prune. buf mod prune is now deprecated.
  • Move buf mod update to buf dep update. buf mod update is now deprecated.
  • Move buf mod {clear-cache,cc} to buf registry cc. buf mod {clear-cache,cc} is now
    deprecated.
  • Move buf beta graph to stable as buf dep graph.
  • Change the default visibility of buf push --create-visibility to private when the --create
    flag is set. Users are no longer required to set --create-visibility when running
    buf push --create.
  • Add buf push --label, which allows users to set labels when pushing new commits to the BSR.
  • Add buf push --source-control-url, which allows users to associate commits pushed to the BSR
    with a URL to a source code repository.
  • Add buf push --create-default-label, which allows users to set a default label for a repository
    when calling buf push --create.
  • Add buf push --git-metadata, which automatically sets appropriate --label,
    --source-control-url, and --create-default-label flags based on the current Git repository.
  • Add buf convert --validate to apply protovalidate
    rules to incoming messages specified with --from.
  • Deprecate buf mod open.
  • Delete buf beta migrate-v1beta1 This is now replaced with buf config migrate.
  • Add buf registry sdk version to get the version of a Generated SDK for a module and plugin.
  • Add buf beta registry archive and buf beta registry unarchive commands for archiving and
    unarchiving labels on the BSR.
  • Add support for Protobuf Editions. This allows buf to be used with sources that use edition
    2023, instead of proto2 or proto3 syntax. This also updates the protoc-gen-buf-breaking and
    protoc-gen-buf-lint Protobuf plugins to support files that use edition 2023.
  • Update buf breaking rules to work with Protobuf Editions. To support Editions, some rules have
    been deprecated and replaced with Editions-aware rules. All deprecated rules continue to work
    for existing users.
    • FIELD_SAME_CTYPE has been replaced with FIELD_SAME_CPP_STRING_TYPE, which considers both
      ctype field options and new (pb.cpp).string_type features when deciding on backwards
      compatibility.
    • FIELD_SAME_LABEL has been replaced with three rules that all check "cardinality". The new
      rules can distinguish between maps and other repeated fields and between implicit and explicit
      field presence. The new rules are:
      1. FIELD_SAME_CARDINALITY in the FILE and PACKAGE categories.
      2. FIELD_WIRE_COMPATIBLE_CARDINALITY in the WIRE category.
      3. FIELD_WIRE_JSON_COMPATIBLE_CARDINALITY in the WIRE_JSON category.
    • FILE_SAME_JAVA_STRING_CHECK_UTF8 has been replaced with FIELD_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.
    • Add to the existing FILE_SAME_SYNTAX rule with a few related rules that can catch the same
      sort of compatibility issues, but in an Editions source file that changes feature values:
      1. MESSAGE_SAME_JSON_FORMAT and ENUM_SAME_JSON_FORMAT catch changes to the json_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.
      2. FIELD_SAME_UTF8_VALIDATION catches changes to the utf8_validation feature, which
        controls validation of string values.
      3. ENUM_SAME_TYPE catches changes to an enum's type, open vs. closed.
  • Add support for extensions to buf breaking. All existing rules for fields are now applied to
    extensions, except for FIELD_NO_DELETE (and its variants). There are also new
    EXTENSION_NO_DELETE and PACKAGE_EXTENSION_NO_DELETE rules for catching deletions of an
    extension. The new rules are not active by default in existing v1 and v1beta1
    configurations, for backwards-compatibility reasons. Migrate your config to v2 to use them.
  • Add support for top-level extensions to buf lint. It previously only checked extensions that
    were defined inside of messages.
  • Add a new FIELD_NOT_REQUIRED lint rule that prevents use of required in proto2 files and of
    features.field_presence = LEGACY_REQUIRED in Editions files. This new rule is not active by
    default in existing v1 and v1beta1 configurations, for backwards-compatibility reasons.
    Migrate your config to v2 to use them.

v1.31.0

Compare Source

  • Update dependencies.

v1.30.1

Compare Source

  • Fix issue where buf lint incorrectly reports an error for (buf.validate.field).repeated
    is set for a repeated validation rule.

v1.30.0

Compare Source

  • Update buf generate so it populates the recently-added
    source_file_descriptors
    field of the CodeGeneratorRequest message. This provides the plugin with access to options
    that 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 way
    for the files named in file_to_generate field.
  • Add --exclude-source-retention-options flag to buf build, which
    causes options configured to only be retained in source to be stripped
    from the output descriptors.

v1.29.0

Compare Source

  • Add support for yaml format. All commands that take image inputs, output images,
    or convert between message formats, now take yaml as a format, in addition to
    the existing binpb and txtpb formats. Some examples:
    • buf build -o image.yaml
    • buf ls-files image.yaml
    • buf convert --type foo.Bar --from input.binpb --to output.yaml
  • The yaml and json formats now accept two new options: use_proto_names and
    use_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
  • Fix issue where buf format would inadvertently mangle files that used
    the expanded Any syntax
    in 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
New 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:

syntax = "proto2";

message User {
  extensions 100 to 200;
}

extend User {
  optional uint32 age = 100;
}

For the extension age, we generate a new export const age: Extension<User, number>. You can set the extension field with the function setExtension:

import { setExtension } from "@&#8203;bufbuild/protobuf";
import { User, age } from "./example_pb.js";

const user = new User();
setExtension(user, age, 77);

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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update bufbuild to v1.7.0 (minor) Update bufbuild (minor) Jan 24, 2024
@renovate renovate bot force-pushed the renovate/bufbuild branch 7 times, most recently from 94170e0 to d90266c Compare February 1, 2024 14:21
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from 973450b to f681ce7 Compare March 14, 2024 17:40
@renovate renovate bot force-pushed the renovate/bufbuild branch 14 times, most recently from bb613b2 to f85055f Compare March 21, 2024 14:06
@renovate renovate bot force-pushed the renovate/bufbuild branch 5 times, most recently from de88776 to c987264 Compare April 9, 2024 19:10
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from 4aeb181 to ea7c672 Compare April 23, 2024 17:49
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from faeb74f to 7e48859 Compare May 21, 2024 21:17
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from b22da9d to 8719b26 Compare May 30, 2024 17:22
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from ad08d18 to 3fe2a32 Compare July 24, 2024 23:04
@renovate renovate bot force-pushed the renovate/bufbuild branch 2 times, most recently from b8da001 to cddd29d Compare August 22, 2024 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants