tag:github.com,2008:https://github.com/uber/prototool/releasesRelease notes from prototool2020-05-19T18:03:24Ztag:github.com,2008:Repository/120625155/v1.10.02020-05-19T18:20:13Zv1.10.0<ul>
<li>Document all lint rules and their group memberships (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="591158178" data-permission-text="Title is private" data-url="https://github.com/uber/prototool/issues/548" data-hovercard-type="pull_request" data-hovercard-url="/uber/prototool/pull/548/hovercard" href="https://github.com/uber/prototool/pull/548">#548</a>)</li>
<li>Add walk-timeout command line flag (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="588606048" data-permission-text="Title is private" data-url="https://github.com/uber/prototool/issues/545" data-hovercard-type="pull_request" data-hovercard-url="/uber/prototool/pull/545/hovercard" href="https://github.com/uber/prototool/pull/545">#545</a>)</li>
<li>Fix directory structure example in Style Guide (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="586090763" data-permission-text="Title is private" data-url="https://github.com/uber/prototool/issues/543" data-hovercard-type="pull_request" data-hovercard-url="/uber/prototool/pull/543/hovercard" href="https://github.com/uber/prototool/pull/543">#543</a>)</li>
<li>Add linter for ruby_package file option</li>
<li>Update Prototool deps</li>
<li>Update Prototool to go 1.14 and protoc 3.11.0</li>
<li>Use a more stable build of Alpine as a base image</li>
<li>Fix minor typos in style guide (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="550857693" data-permission-text="Title is private" data-url="https://github.com/uber/prototool/issues/535" data-hovercard-type="pull_request" data-hovercard-url="/uber/prototool/pull/535/hovercard" href="https://github.com/uber/prototool/pull/535">#535</a>)</li>
<li>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 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="506920807" data-permission-text="Title is private" data-url="https://github.com/uber/prototool/issues/515" data-hovercard-type="pull_request" data-hovercard-url="/uber/prototool/pull/515/hovercard" href="https://github.com/uber/prototool/pull/515">#515</a>)</li>
</ul>smaye81tag:github.com,2008:Repository/120625155/v1.9.02019-10-12T22:07:17Zv1.9.0<ul>
<li>Updated dependencies for Go 1.13</li>
</ul>smaye81tag:github.com,2008:Repository/120625155/v1.8.12019-07-08T15:27:00Zv1.8.1<p>Tagging v1.8.0 with an additional v1.8.1 tag to fix go module proxy i…</p>bhenhsitag:github.com,2008:Repository/120625155/v1.8.02019-06-11T01:05:55Zv1.8.0<ul>
<li>Update the default <code>protoc</code> version to <code>3.8.0</code>.</li>
<li>Parse updated <code>protoc</code> output for <code>3.8.0</code>.</li>
<li>Fix issue where there were an unbounded number of <code>protoc</code> calls were being executed.</li>
</ul>smaye81tag:github.com,2008:Repository/120625155/v1.7.02019-05-02T15:36:43Zv1.7.0<ul>
<li>Fix issue where <code>config init --document</code> produced an invalid YAML file.</li>
<li>Dependency updates.</li>
</ul>bufdevtag:github.com,2008:Repository/120625155/v1.6.02019-04-05T18:12:43Zv1.6.0<ul>
<li>Dynamically resolve <code>google.protobuf.Any</code> values for gRPC error details.</li>
</ul>smaye81tag:github.com,2008:Repository/120625155/v1.5.02019-04-03T20:38:39Zv1.5.0<ul>
<li>Add linters for enum field and message field comments. These linters are not<br>
part of any lint group but can be manually added in a configuration file.</li>
<li>Add <code>--generate-ignores</code> flag to the <code>lint</code> command to print out the value<br>
for <code>lint.ignores</code> that will allow <code>lint</code> to pass. This is useful when<br>
migrating to a set of lint rules, usually a lint group.</li>
<li>Update the default version of <code>protoc</code> to <code>3.7.1</code>.</li>
</ul>bufdevtag:github.com,2008:Repository/120625155/v1.4.02019-03-19T19:27:28Zv1.4.0<ul>
<li>Add concept of lint groups. The default lint group is named <code>uber1</code>. The lint<br>
group can be specified with the <code>lint.group</code> option.</li>
<li>New <code>uber2</code> lint group and associated V2 Style Guide representing the second<br>
version of our lint rules. These rules are almost entirely a superset of the<br>
V1 Style guide lint rules. If <code>lint.group</code> is set to <code>uber2</code>, this also will<br>
affect the <code>create</code> and <code>format</code> commands, as the <code>uber2</code> lint group adds<br>
more file options to more closely match the <a href="https://cloud.google.com/apis/design/file_structure" rel="nofollow">Google Cloud APIs File Structure</a><br>
and changes the value of <code>go_package</code> to take versions into account.<br>
In total, 39 lint rules have been added as compared to the <code>uber1</code> lint<br>
group.</li>
<li>New <code>google</code> lint group representing Google's minimal <a href="https://developers.google.com/protocol-buffers/docs/style" rel="nofollow">Style Guide</a>.</li>
<li>Add <code>--list-lint-group</code> flag to the <code>lint</code> command to list a lint group's<br>
rules.</li>
<li>Add <code>--diff-lint-groups</code> flag to the <code>lint</code> command to print the diff<br>
between two lint groups.</li>
<li>Add <code>descriptor-set</code> command to output a merged <code>FileDescriptorSet</code><br>
with all files compiled to either stdout, a given file, or a temporary file.<br>
Useful with external tools that use FileDescriptorSets, and also useful for<br>
inspection if the <code>--json</code> flag is given.</li>
<li>Add breaking change detector as the <code>break check</code> command. By default, this<br>
compiles your existing Protobuf definitions, and then does a shallow clone<br>
of your git repository against the default branch and compiles the<br>
definitions on that branch, and compares the existing versus the branch.<br>
The branch can be controlled with the <code>--git-branch</code> flag, and one can<br>
use a <code>FileDescriptorSet</code> instead of a shallow clone by generating a<br>
file with <code>break descriptor-set</code> and then passing the path to this file<br>
to <code>break check</code> with the <code>--descriptor-set-path</code> flag.</li>
<li>A Docker image is now provided on Docker Hub as <a href="https://hub.docker.com/r/uber/prototool" rel="nofollow">uber/prototool</a><br>
which provides an environment with commonly-used plugins.</li>
<li>Switch to Golang Modules for dependency management.</li>
<li>Add Bazel build files and <code>bazel/deps.bzl</code> to allow Prototool to be easily<br>
built within a Bazel workspace.</li>
<li>Add <code>lint.file_header</code> option to allow a file header to be specified. This<br>
affects <code>lint</code>, <code>format</code>, and <code>create</code>.</li>
<li>Allow <code>generate.plugins.path</code> to be relative. If a relative path is given,<br>
Prototool will search your <code>PATH</code> for the specified executable.</li>
<li>Add <code>generate.plugins.file_suffix</code> option that allows for JAR generation with<br>
the built-in <code>java</code> plugin, and <code>FileDescriptorSet</code> generation with the<br>
built-in <code>descriptor_set</code> plugin.</li>
<li>Add <code>generate.plugins.include_imports</code> and<br>
<code>generate.plugins.include_source_info</code> to be used with the built-in<br>
<code>descriptor_set</code> plugin.</li>
<li>Add <code>cache</code> top-level command to allow management of the <code>protoc</code> cache.</li>
<li>Add <code>x</code> top-level command for experimental functionality.</li>
<li>Add <code>inspect</code> command under <code>x</code> with Protobuf inspection capabilities.</li>
<li>Add <code>--error-format</code> flag to allow specific error fields to be printed.</li>
<li>Allow the <code>protoc</code> binary and WKT paths to be controlled by the environment<br>
variables <code>PROTOTOOL_PROTOC_BIN_PATH</code> and <code>PROTOTOOL_PROTOC_WKT_PATH</code> in<br>
addition to the existing <code>--protoc-bin-path</code> and <code>--protoc-wkt-path</code> flags.<br>
The flags take precedence. This is especially useful for Docker images.</li>
<li>Add file locking around the <code>protoc</code> downloader to eliminate concurrency<br>
issues where multiple <code>prototool</code> invocations may be accessing the cache<br>
at the same time.</li>
<li>Add TLS support to the <code>grpc</code> command.</li>
<li>Add <code>--details</code> flag to the <code>grpc</code> command to output headers, trailers,<br>
and statuses as well as the responses.</li>
<li>Unix domain sockets can now be specified for the <code>--address</code> flag of the<br>
<code>grpc</code> command via the prefix <code>unix://</code>.</li>
</ul>bufdevtag:github.com,2008:Repository/120625155/v1.3.02018-09-17T17:19:02Zv1.3.0<h3>Added</h3>
<ul>
<li>Accept <code>prototool.json</code> files for configuation in addition to<br>
<code>prototool.yaml</code> files.</li>
<li>Add <code>--config-data</code> flag.</li>
<li>Add <code>--protoc-bin-path</code> and <code>--protoc-wkt-path</code> flags to manually<br>
set the paths for where <code>protoc</code> is run and where the<br>
Well-Known Types are included from.</li>
</ul>bufdevtag:github.com,2008:Repository/120625155/v1.2.02018-08-29T21:05:49Zv1.2.0<h3>Added</h3>
<ul>
<li>Add <code>json</code> flag to <code>all</code>, <code>compile</code>, <code>format</code>, <code>generate</code> and <code>lint</code> commands.</li>
</ul>amckinney