-
Notifications
You must be signed in to change notification settings - Fork 220
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
Status of idl-2.0 design docs and visibility into future roadmap. #1174
Comments
Thanks for your feedback. We are happy to hear about the use of Smithy in your organization. We have been working hard on Smithy IDL 2.0 for some time now. We're putting the final touches on IDL 2.0 and hope to release it in early May. We will continue to support IDL 1.0 and will offer a migration tool to make the transition to 2.0 as smooth as possible. We're planning to publish a release candidate for IDL 2.0 in the near future, which will include all of its features and a sizeable changelog going over everything that's set for the release. Specific responses to your questions:
|
Excellent, thanks for the response, that all makes sense. We can go ahead with our speculative plans and remove boxing from our tooling before rolling it out internally to keep the learning curve/adoption path smoother. Thanks. |
We shipped IDL 2.0 yesterday. More information can be found in the changelog and blog post: https://aws.amazon.com/blogs/developer/introducing-smithy-idl-2-0/ |
Over the past six months we've been preparing to rollout Smithy internally in our organization as a way to help us build software. We're just at the point where we're delivering training to our teams, running workshops and about to start putting our first bits of Smithy specified software into production (again, thanks for open-sourcing this, it's been very helpful).
One of the observations we've had whilst delivering internal training and writing documentation is that, in v1 of the IDL, boxing and defaulting behaviour for some simple types is hard to explain and the semantics are a little non-obvious. I was going to raise an issue to discuss this with you when, quite by accident, I discovered this: https://github.com/awslabs/smithy/blob/idl-2.0/designs/default-zero-value.md
This design proposal nicely solves all of the questions I would've raised and, IMO, is a much simpler, easier-to-teach approach than the original boxing design.
Right now, our internal tooling only targets v1 of the IDL but at some point we'll migrate towards v2. To keep this transition simpler for our internal teams we'd like to selectively break with the v1 spec within our tooling such that it smooths our migration path to v2 and removes the difficult to understand boxing behaviour (aside, we've written our own code-generator, rationale/background here: #947 (comment)).
My issue can be summed up in two questions I suppose:
idl-2.0
branch in the existing documentation, knowing it exists helps us keep an eye on whats coming up and prepare for work we need to do internally. Perhaps adding astatus
field to design documents so that external parties know if they are just for discussion or whether they've been accepted for inclusion would also help. Greater visibility into the Smithy roadmap might also help consumers keep abreast of other important changes (e.g. Breaking Change to limit sets to string, blob, byte, short, integer, long, bigInteger, bigDecimal #1106, again, I stumbled across this issue by accident by having great difficulty implementingSet
s for exactly the reasons discussed. I also discovered reading the PR that@uniqueItems
is also being deprecated. Fortunately our tooling doesn't support that trait yet but our decision whether to implement it at all would've greatly been informed by the knowledge of its deprecation). The above are just a few specific examples that might have been rendered moot with greater visibility into the project roadmap. For sure, I could do better at keeping an eye on the Smithy repo and the goings-on in it, which I'll be doing in the future too.Many thanks, keep up the great work.
The text was updated successfully, but these errors were encountered: