Skip to content
This repository has been archived by the owner on Mar 4, 2022. It is now read-only.

Releases: uber/prototool

v1.10.0

19 May 18:16
Compare
Choose a tag to compare
  • Document all lint rules and their group memberships (#548)
  • Add walk-timeout command line flag (#545)
  • Fix directory structure example in Style Guide (#543)
  • Add linter for ruby_package file option
  • Update Prototool deps
  • Update Prototool to go 1.14 and protoc 3.11.0
  • Use a more stable build of Alpine as a base image
  • Fix minor typos in style guide (#535)
  • Added a regex check for a release candidate syntax in the protobuf version. If it exists, remove the hyphen for the version portion of the URL (#515)

v1.9.0

12 Oct 22:07
Compare
Choose a tag to compare
  • Updated dependencies for Go 1.13

v1.8.0

11 Jun 01:05
Compare
Choose a tag to compare
  • Update the default protoc version to 3.8.0.
  • Parse updated protoc output for 3.8.0.
  • Fix issue where there were an unbounded number of protoc calls were being executed.

v1.7.0

02 May 15:36
Compare
Choose a tag to compare
  • Fix issue where config init --document produced an invalid YAML file.
  • Dependency updates.

v1.6.0

05 Apr 18:12
Compare
Choose a tag to compare
  • Dynamically resolve google.protobuf.Any values for gRPC error details.

v1.5.0

03 Apr 20:38
Compare
Choose a tag to compare
  • Add linters for enum field and message field comments. These linters are not
    part of any lint group but can be manually added in a configuration file.
  • Add --generate-ignores flag to the lint command to print out the value
    for lint.ignores that will allow lint to pass. This is useful when
    migrating to a set of lint rules, usually a lint group.
  • Update the default version of protoc to 3.7.1.

v1.4.0

19 Mar 19:27
Compare
Choose a tag to compare
  • Add concept of lint groups. The default lint group is named uber1. The lint
    group can be specified with the lint.group option.
  • New uber2 lint group and associated V2 Style Guide representing the second
    version of our lint rules. These rules are almost entirely a superset of the
    V1 Style guide lint rules. If lint.group is set to uber2, this also will
    affect the create and format commands, as the uber2 lint group adds
    more file options to more closely match the Google Cloud APIs File Structure
    and changes the value of go_package to take versions into account.
    In total, 39 lint rules have been added as compared to the uber1 lint
    group.
  • New google lint group representing Google's minimal Style Guide.
  • Add --list-lint-group flag to the lint command to list a lint group's
    rules.
  • Add --diff-lint-groups flag to the lint command to print the diff
    between two lint groups.
  • Add descriptor-set command to output a merged FileDescriptorSet
    with all files compiled to either stdout, a given file, or a temporary file.
    Useful with external tools that use FileDescriptorSets, and also useful for
    inspection if the --json flag is given.
  • Add breaking change detector as the break check command. By default, this
    compiles your existing Protobuf definitions, and then does a shallow clone
    of your git repository against the default branch and compiles the
    definitions on that branch, and compares the existing versus the branch.
    The branch can be controlled with the --git-branch flag, and one can
    use a FileDescriptorSet instead of a shallow clone by generating a
    file with break descriptor-set and then passing the path to this file
    to break check with the --descriptor-set-path flag.
  • A Docker image is now provided on Docker Hub as uber/prototool
    which provides an environment with commonly-used plugins.
  • Switch to Golang Modules for dependency management.
  • Add Bazel build files and bazel/deps.bzl to allow Prototool to be easily
    built within a Bazel workspace.
  • Add lint.file_header option to allow a file header to be specified. This
    affects lint, format, and create.
  • Allow generate.plugins.path to be relative. If a relative path is given,
    Prototool will search your PATH for the specified executable.
  • Add generate.plugins.file_suffix option that allows for JAR generation with
    the built-in java plugin, and FileDescriptorSet generation with the
    built-in descriptor_set plugin.
  • Add generate.plugins.include_imports and
    generate.plugins.include_source_info to be used with the built-in
    descriptor_set plugin.
  • Add cache top-level command to allow management of the protoc cache.
  • Add x top-level command for experimental functionality.
  • Add inspect command under x with Protobuf inspection capabilities.
  • Add --error-format flag to allow specific error fields to be printed.
  • Allow the protoc binary and WKT paths to be controlled by the environment
    variables PROTOTOOL_PROTOC_BIN_PATH and PROTOTOOL_PROTOC_WKT_PATH in
    addition to the existing --protoc-bin-path and --protoc-wkt-path flags.
    The flags take precedence. This is especially useful for Docker images.
  • Add file locking around the protoc downloader to eliminate concurrency
    issues where multiple prototool invocations may be accessing the cache
    at the same time.
  • Add TLS support to the grpc command.
  • Add --details flag to the grpc command to output headers, trailers,
    and statuses as well as the responses.
  • Unix domain sockets can now be specified for the --address flag of the
    grpc command via the prefix unix://.

v1.3.0

17 Sep 17:19
Compare
Choose a tag to compare

Added

  • Accept prototool.json files for configuation in addition to
    prototool.yaml files.
  • Add --config-data flag.
  • Add --protoc-bin-path and --protoc-wkt-path flags to manually
    set the paths for where protoc is run and where the
    Well-Known Types are included from.

v1.2.0

29 Aug 21:05
Compare
Choose a tag to compare

Added

  • Add json flag to all, compile, format, generate and lint commands.

v1.1.0

24 Aug 17:26
Compare
Choose a tag to compare
  • Add support for Homebrew builds.