-
Notifications
You must be signed in to change notification settings - Fork 0
fix(deps): update module github.com/jhump/protoreflect to v1.17.0 #40
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #40 +/- ##
=======================================
Coverage 93.00% 93.00%
=======================================
Files 3 3
Lines 343 343
=======================================
Hits 319 319
Misses 13 13
Partials 11 11 ☔ View full report in Codecov by Sentry. |
8a27869 to
adac898
Compare
02bba5c to
952a87f
Compare
952a87f to
42ae58c
Compare
42ae58c to
25fa5b2
Compare
25fa5b2 to
be195c2
Compare
be195c2 to
c9d176c
Compare
c9d176c to
f0cfd70
Compare
f0cfd70 to
d798ff9
Compare
d798ff9 to
892a78e
Compare
ℹ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
892a78e to
be39c6e
Compare
be39c6e to
c188547
Compare
c188547 to
40e5c2e
Compare
40e5c2e to
50d2930
Compare
50d2930 to
b880db9
Compare
b880db9 to
bc1186e
Compare
bc1186e to
9aaa894
Compare
9aaa894 to
b80b9bb
Compare
This PR contains the following updates:
v1.15.1->v1.17.0Release Notes
jhump/protoreflect (github.com/jhump/protoreflect)
v1.17.0Compare Source
This release deprecates some packages that have newer alternatives in the Protobuf runtime. It also includes some small additions to the
grpcreflectanddesc/sourceinfopackages. The rest of the changes are bug fixes."github.com/jhump/protoreflect/desc"
Changes:
"google.golang.org/protobuf/reflect/protoreflect"package in the Protobuf runtime. In a v2 of this repo, this package will no longer be present.MessageDescriptor.FindFieldByNamemethod."github.com/jhump/protoreflect/desc/protoparse"
Changes and bugfixes:
"github.com/bufbuild/protocompile"package. There are some behavioral differences that we hope to address with additional API and enhancements toprotocompile. But theprotoparsepackage here is just a veneer on top ofprotocompileand we plan to do as little maintenance as possible here. In a v2 of this repo, this package will no longer be present.protocompiledependency has been updated to use a more recent version of that package. This addresses potential panics when callingParser.ParseButDontLink."github.com/jhump/protoreflect/desc/sourceinfo"
Changes and bugfixes:
sourceinfo.GlobalFiles.FindDescriptorByNamehas been fixed.sourceinfo.GlobalFilesregistry or from the variousWrap*functions could induce panics in user code if querying for non-existent elements. For example, callingmessageDescriptor.Fields().ByNumber(123)could return a typed-nil value on failure, instead of a nil interface. This would result in nil-dereference panics if methods were called on this later. These have been fixed.sourceinfo.GlobalFilesregistry and from the variousWrap*functions had concrete types defined in this package, not in the Protobuf runtime. But theprotoreflect.Descriptorinterface has a "do not implement" marker, indicating that concrete types implementing the interface should not be implemented outside of that module. To avoid future issues with the Protobuf runtime, there are no more implementations in this repo. Instead of wrapping other descriptor implementations (via embedding, and then overriding some methods), this package now builds new descriptors, using theprotodescpackage in the Protobuf runtime module.Wrap*functions are now deprecated. The name is no longer accurate since they no longer return wrapper values. Also the new implementation, which builds new descriptors, can fail (though unlikely), but the existing signature of these functions did not allow for returning an error. So these functions could possibly panic in the face of malformed input descriptors. Users should use the newAddSourceInfoTo*versions of these functions instead.Additions:
AddSourceInfoTo*functions to replace theWrap*functions. These functions augment the input descriptors by adding source code information to them."github.com/jhump/protoreflect/dynamic"
Changes:
"google.golang.org/protobuf/types/dynamicpb"package in the Protobuf runtime. In a v2 of this repo, this package will no longer be present."github.com/jhump/protoreflect/grpcreflect"
Additions:
NewClientV1function to return a client that uses v1 of the server reflection service. This fills the gap in the existing factory functions,NewClientV1AlphaandNewClientAuto.AllowFallbackResolvermethod to the*grpcreflect.Clienttype. This allows the client to be configured with an alternate resolver that can be used as a backup when trying to satisfy dependencies, for cases where the remote server is non-authoritative and unable to provide all of them.v1.16.0Compare Source
This release adds support for Protobuf Editions to many of the packages. Note, however, that the
desc/protoparsepackage does not yet work to parse Protobuf Editions source files. This release also includes a handful of bug-fixes."github.com/jhump/protoreflect/desc"
Additions:
Editionmethod to*desc.FileDescriptor, which returns non-zero for files that use Protobuf Editions (instead of syntax "proto2" or "proto3").Changes/fixes:
Wrap*functions, that could result in a descriptor hierarchy where the same descriptors were incorrectly present multiple times. This could happen if a file in the transitive dependency graph being wrapped had more than one incoming edge (e.g. same file appearing in import statements from two or more other files)."github.com/jhump/protoreflect/desc/builder"
Additions:
Editionsfield andSetEditionsmethod to*builder.FileBuilder, for creating files that use Protobuf Editions."github.com/jhump/protoreflect/desc/protoprint"
Changes/fixes:
Printer.CustomSortFunctionwas set wherein enum values could be printed in incorrect order, resulting in invalid source output. In syntax "proto3" and in open enums in Protobuf Editions, the first value must be the one with a zero numeric value."github.com/jhump/protoreflect/grpcreflect"
Additions:
AllowMissingFileDescriptorsmethod to*grpcreflect.Clientthat allows users to opt-in to a lenient mode that will try to return schemas even when some files are unavailable. This will only be successful in cases where the missing files only provide custom options or are unused imports. This restores some lenience that was inadvertently provided (due to bugs and missing validation checks) when versions of this repo prior to v1.15 were combined with versions of thegoogle.golang.org/grpcmodule prior to v1.61.v1.15.6Compare Source
This is a bugfix release to address recently identified regressions in the
desc/protoparsepackage -- things that worked in v1.14.1 but did not work in v1.15.x."github.com/jhump/protoreflect/desc/protoparse"
Changes/fixes:
Parser.ImportPathsfield specifies that the field is not used for calls to theParser.ParseFilesButDoNotLinkmethod. This is because import paths do not need to be resolved if not linking. But as of v1.15.0, theImportPathsfield was being used for that method, and the difference in behavior could break existing programs. This has been fixed, and the behavior once again matches the spec.Parser.ParseFileswere resolved as descriptors (via theParser.LookupImportorParser.LookupImportProtofunctions) instead of as source code (via theParser.Accessorfunction or the default action ofos.Open), the parse operation would fail with a "no such file" error. This would succeed with v1.14.1, with the descriptor being used as the input for the file instead of the file being parsed from source. So working programs could have been broken by an upgrade to v1.15.x. The package has been changed back to the v1.14.1 behavior.v1.15.5Compare Source
This is a bugfix release to address bugs in the
desc/builder,desc/protoparse, andgrpcreflectpackages and a compatibility issue with the most recent version ofgithub.com/bufbuild/protocompile."github.com/jhump/protoreflect/desc/builder"
Changes/fixes:
"github.com/jhump/protoreflect/desc/protoparse"
Changes/fixes:
github.com/bufbuild/protocompilepackage under the hood as the parser. But that package is still using major version zero, since it's API has not completely stabilized. A recent release (v0.8.0) included backwards-incompatible changes that caused this repo to no longer compile. This release addresses the compile errors: this repo now uses that latest release ofprotocompileand correctly compiles against it.desc/protoparsepackage that could cause it to incorrectly accept or reject some Protobuf source files. See the release notes for protocompile v0.8.0 for more details."github.com/jhump/protoreflect/grpcreflect"
Changes/fixes:
grpcreflect.NewClientAutofunction (added in v1.14.0) returns a client that automatically falls back to using v1alpha of the reflection protocol if the server does not support v1. However, it relied on the server returning an "unimplemented" error to decide to fall back, but this condition has been observed to sometimes instead manifest as an "unavailable" error (in proxies that fail to write a 404 error before closing the connection). In those cases, the client was not correctly falling back to v1alpha. This release remedies that, so it can fallback to v1alpha when this category of error occurs.v1.15.4Compare Source
This is a bugfix release to address bugs in the
desc/protoprintpackage and a compatibility issue with the most recent version ofgithub.com/bufbuild/protocompile."github.com/jhump/protoreflect/desc/protoparse"
Changes/fixes:
github.com/bufbuild/protocompilepackage under the hood as the parser. But that package is still using major version zero, since it's API has not completely stabilized. A recent release (v0.7.0) included backwards-incompatible changes that caused this repo to no longer compile. This release addresses the compile errors: this repo now uses that latest release ofprotocompileand correctly compiles against it."github.com/jhump/protoreflect/desc/protoprint"
Changes/fixes:
"), it would get printed incorrectly leading to either an incorrect string literal in some cases or an invalid and uncompilable source file in others. This has been fixed.FileDescriptorProtobut never linked, the descriptor may be missing thetypefield of aFieldDescriptorProto(since it is not known whether a named type refers to a message, group, or enum), and it may have options left in theuninterpreted_optionsfield of the various options messages, which has a peculiar representation for aggregate values. When printing a descriptor that had these characteristics, they were not correctly handled, so the output of the printer would be an invalid and uncompilable source file. Both of these cases have been fixed.v1.15.3Compare Source
This is a bugfix release to address a panics in the
desc/builderanddesc/protoparsepackages."github.com/jhump/protoreflect/desc/builder"
Changes/fixes:
EnumBuilderhad numbers explicitly assigned and others did not, a panic could occur. This panic has now been fixed. When there is a mix of explicit value numbers and implicit numbers, the implicit values will be auto-assigned available numbers (starting at zero) while the explicit values will use the configured number."github.com/jhump/protoreflect/desc/protoparse"
Changes/fixes:
protoparsepackage was overhauled in v1.15.0, a bug was inadvertently introduced to the functionality related to theParser.InferImportPathsflag. If the files being processed imported a file for which an AST was not available (which is actually quite common, since they may import a standard file such as "google/protobuf/empty.proto"), a panic would occur. This panic has been fixed.Parser.InferImportPathsflag which now allow it to better detect file layouts and remedy import mismatches in more scenarios.v1.15.2Compare Source
This is a bugfix release to address issues found in the
desc/protoparsepackage."github.com/jhump/protoreflect/desc/protoparse"
Changes/fixes:
Parserwere updated in this fashion. Other files in the transitive dependency (i.e. imports) did not have options represented this way. As of this release, the fix is complete and all descriptors returned by this package should have the same representation for custom options as in v1.14 and earlier.github.com/bufbuild/protocompilepackage under the hood as the parser. But that package is still using major version zero, since it's API has not completely stabilized. A recent release (v0.6.0) included backwards-incompatible changes that caused this repo to no longer compile. This release addresses the compile errors: this repo now uses that latest release ofprotocompileand correctly compiles against it.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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.