-
Notifications
You must be signed in to change notification settings - Fork 581
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
RFC: Your PGV Wishlist #638
Comments
would love to see ruby support! |
Some more color on the Ruby ask by Sarah. We use protobuf schemas heavily at Chime in general, and have lots of Ruby on Rails services that we actively want to move to Protobuf + Twirp. Autogeneration of parameter validation code will really DRY-up our APIs and help with better documentation too by making the semantic rules explicit. We'd greatly appreciate you prioritizing building support for Ruby in this tool. Thank you for taking ownership of PGV and really excited about its evolution! |
I would love to see issue #74 resolved. |
IMO the most upvoted issues is a good start. |
Not having all valid issues closed without any resolution, since those were wishes. 😝 |
Should or could we re-open specific issues that had good context and we're good wish list items, for example: #405 |
Hi everyone! This is my fault, after recently taking over maintenance of PGV with 100 issues and 30 open PRs, trying to get a grasp of the current state of the project has been tricky and after a month of fixing various bugs, some tickets I thought were stale or resolved may have been caught up in the mix. I'll go back over the issues I closed and reopen any that stand out. If I miss any, please don't hesitate to reopen any of particular interest yourself. But this is a good thing, whilst jagged, all of this helps me and the team develop a deeper understanding of where the project should go and where we should focus our attention immediately. |
Node, Deno Support #71 If connect-node and PGV can be combined, great! |
Swift support 🙏🏻 |
I would love to see official plugin for buf and more string rules such as alphanumeric etc. Thank you for your hard work! Love the project 💙 |
Better structure for validation errors. When validation fails on a deeply-nested message instead of a massive string it'd be great to see JSONSchema-style errors with structure that can be handled by client code. |
Combined validations. E.g. if
Real world example , we have an enum that determines whether this repeated should have size 1 or not. |
Custom error message!!! |
1 similar comment
Custom error message!!! |
|
I would like to be able to generate a JSON schema that includes validation rules specified using Some options I can thing of:
None of these options are great though. Would like to know what others think. Closed issue relating to this request: |
I would like to be able to validate a stream of protobuf messages using |
Export of validation rules to JSON-schema is the most needed feature in my opinion. I would like to use this so that front-end developers get the validation rules from the proto, and not duplicate them themselves. |
@elliotmjackson any timeline for the new release? The last release was on December 2022. |
@aucampia I'd be open to supporting this in protoc-gen-jsonschema for sure |
Hello everyone! I am excited to announce the release of protoc-gen-validate (PGV) v1.0! After half a decade of being labeled “alpha,” we’ve decided it’s time to promote PGV to v1.0, ensuring stability for all current workflows. 🎉 But that’s not all! We’re also announcing the imminent release of the future of validation: v2.0 of PGV, soon to be known as In our latest blog post, we reflect on PGV’s history, discuss its limitations, and give you a sneak peek into the exciting features we’re working on for protovalidate. Check it out here: Announcing protoc-gen-validate v1.0 and our plans for v2.0 As always, your feedback is invaluable to us. So please, take a moment to read the blog post and let us know your thoughts. Feel free to share your ideas or feature requests in this wishlist GitHub issue. Thank you for your ongoing support, and we look forward to hearing from you as we continue to shape the future of Protobuf validation together! |
In terms of feature requests/wishlist, have you given any thought to message-level rather than field-level validation? For example, google.type.Date says:
It would be nice to be able to write a message option to express/enforce this, e.g. |
Validation rules on methods! Validation transferral |
A way to provide sample values would be great. These are useful for e.g. generating sample code snippets for APIs. Arguably this is beyond the scope of validation, but on the other hand it does feel somewhat related, in the sense that the sample values should certainly pass the validation rules (and an API linter might want to validate such a thing). |
Our team would love to have support for the C#/.Net ecosystem gRPC and proto files are cross-platform and supported in many languages but, so far, PGV does not support C# despite being one of the most popular languages. |
This is great news! Some ideas I've been chewing on:
|
python support pydantic |
We'd benefit from C#/.NET support at Roblox as well. |
That looks promising ! I had a similar approach in my protoc-gen-cel-validate validation plugin built around CEL. Here are some features that I was able to implement and that might be useful here:
|
dart + typescript support 🙏 |
Required validation for scalar types |
Hi Everyone! 🎉 Exciting times! Protovalidate's beta release for Go is now out! We’re making strides with C++, Java, TypeScript, and Python implementations too. As we’re in beta, your feedback is critical to shape protovalidate. Please, give it a whirl and share your insights and suggestions. Your support is invaluable in this phase. Thank you for your ongoing support, and we look forward to hearing from you as we continue to shape the future of Protobuf validation together! |
This is fantastic! Congrats for this milestone! 💪🏻💪🏻 Just one question, where should I raise issues about the way of defining expressions/validation that are not tied to specific language? I have a question about why not infer the id in cel expressions. Keep up the good work! |
Hey @glerchundi! Design discussions around protovalidate will get the most coverage in their issues. Would love to chat about decisions and explore other options there! |
Rust / prost support 🦀 |
For the .NET users out there, I just provided a starting point C# implementation of CEL. I don't expect to be able to maintain this, but I'm happy for someone else to pick up where I left off. The README describes the known gaps (and there may be unknown ones). @Alfus FYI |
Now that the following runtime implementations of protovalidate can be found in their own repositories, I'm going to close this issue.
I'd like to thank everyone here for getting involved and letting us know what your wanting out of protobuf validation. Its because of you that we made some of the decisions that shaped protovalidate into what it is today. For that, we are grateful. I've gone through the comments here and tried to create somewhat of a summary. If i have missed your suggestion, this was not intentional please feel free to open a feature request over at protovalidate. Features we support in protovalidate today:
Features we will consider support for in the future:
Features we don't currently plan to support or don't have a clear path to support:
Thank you again and hope to see your handles over at the new project. |
Another C# implementation for CEL is here. |
The team at @bufbuild are excited to begin maintaining PGV.
This project fills a huge gap in the protobuf ecosystem and deserves careful stewardship. As a company, our incentives are well-aligned with the PGV community's. We want protobuf to be feature-complete and easy to use for personal projects, tiny startups, and giant megacorporations alike, because wider protobuf adoption increases the market for our paid schema registry product. We will take care not to break existing PGV users, and we can devote enough time to the project to clear out the issue backlog and possibly support additional languages. We will, of course, keep everything under an Apache 2 license.
We appreciate the PGV community's continued paitence whilst we iron out a detailed transition plan and thank the @envoyproxy team for all that hard work they've put in to date.
Right now, we want to hear from you - What do you want to see from PGV? What major bugs have you run into and would like to see fixed? Or better yet, what have you already fixed that you'd like merged?
[UPDATE]: Announcing protoc-gen-validate v1.0 and our plans for v2.0
The text was updated successfully, but these errors were encountered: