More consistent parameter escaping, use older kin-openapi
Some recent bugs have exposed lots of issues around inconsistent encoding and decoding of parameters. With this version, all path parameter values will be url.ParamEscaped and all query parameters will be url.QueryEscaped. The server binding methods perform the inverse operation on all parameters. This changes existing behavior, but parameters with reserved characters were outright broken, so I hope this is ok.
We went back to kin-openapi v0.47.0, since more recent versions create a dependency on Go 1.16, and broke our build. We're not ready to be on the bleeding edge, as lots fo code using this library is using older go versions
Bumped Go requirement to 1.14, as that's what kin-openapi v0.47.0 requires.
ClientWithResponses update, bug fixes
ClientWithResponses API grew out of sync with the Client, so added RequestEditorFn parameters to ClientWithResponses. This might break your code if you pass around function pointers, as the signatures changed by adding variadic args. It shouldn't affect most people.
SecurityDefinitions were non-deterministic in ordering, resulting in random permutations of generated code if you had multiple definitions.
Fix bug in escaping and unescaping query arguments
This release fixes #312 properly, without sending unescaped values to server handlers.
Reverting a recent path handling change in the client
A recent change in path concatenation in generated clients did more harm than it helped, so I'm reverting it until this fragile code can be tested thoroughly and fixed in a better way.
Many pull requests
Thanks to all contributors for your fixes.
Commits
124f782 feature(extension): support x-omitempty (#295)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/deepmap/oapi-codegen from 1.5.1 to 1.6.0.
Release notes
Sourced from github.com/deepmap/oapi-codegen's releases.
Commits
124f782
feature(extension): support x-omitempty (#295)3837038
allow dollar-sign properties (#323)4725e20
Fix broken build due to kin backwards-incompatible change (#325)879c4a5
Refactor ClientWithResponses TypeDefinitionef7bee4
Descriptions for types (#328)e80312a
fix when responseBody has multiple content types (fixed for #329) (#330)e5bced6
Change default client template to use new http.Client not DefaultClient. (#331)ee737ce
Clean up parameter escapingc654506
Revert "Fix broken build due to kin backwards-incompatible change (#322)"88f937a
Fix broken build due to kin backwards-incompatible change (#322)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)