Skip to content
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

0.17.0 Changelog draft [skip ci] #631

Merged
merged 15 commits into from
Dec 5, 2022
Merged

0.17.0 Changelog draft [skip ci] #631

merged 15 commits into from
Dec 5, 2022

Conversation

Baccata
Copy link
Contributor

@Baccata Baccata commented Nov 23, 2022

Reminder: use the [skip ci] tag in commit messages to avoid triggering un-necessary CI runs.

@Baccata Baccata changed the title 0.17.0 Changelog draft [ci-skip] 0.17.0 Changelog draft [skip ci] Nov 23, 2022
CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Outdated
Comment on lines 67 to 74
### Endpoint Specific Middleware

Adds the ability to have smithy4s-level middleware that is made aware of the `Server` and `Endpoint` for use in creating middleware implementations. This unlocks creating middleware that is aware of the Smithy traits (`Hints` in smithy4s) and shapes in your specification. This means the middleware can apply transformations based on traits applied in a smithy specification and it can return error responses defined in the smithy specification. An example of this is authentication. You are now able to create middleware that will check authentication on only the endpoints that require it AND you can return a smithy-defined error response when the authentication is not valid. See the [endpoint specific middleware guide](https://disneystreaming.github.io/smithy4s/docs/guides/endpoint-middleware) for more.


### Error Response Handling Improvements

Streamlines and improves how error responses are mapped to their corresponding smithy4s-generated types. It now works such that IF no `X-Error-Type` header is found AND the status code doesn't map precisely to an error annotated with @httpCode AND exactly one error happens to have @error("client") without @httpCode, that error will be selected (provided the status code is in the 4xx range). Same for @error("server") and 5xx range. See the [error handling documentation](https://disneystreaming.github.io/smithy4s/docs/protocols/simple-rest-json/client#error-handling) for more.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added these descriptions which I think cover all user-facing changes I made in this release. The only other changes I made I think are adding internal stuff that is not binary breaking (so probably needs no mention here?)

CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
@Baccata Baccata marked this pull request as ready for review November 28, 2022 10:34
CHANGELOG.md Outdated Show resolved Hide resolved
@Baccata Baccata merged commit d13f4cd into series/0.17 Dec 5, 2022
@Baccata Baccata deleted the 0.17-changelog branch December 5, 2022 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants