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

Remove the client and server "AllowV1" settings. #61

Merged
merged 1 commit into from
Nov 26, 2021

Conversation

creachadair
Copy link
Owner

The intent of these options was to tolerate calls to/from JSON-RPC 1.0
implementations. That alone isn't enough for interoperability, however.

For example:

  • Server replies still contain the v2 version marker, which (some) v1 clients
    do not accept.

  • The v2 Error object has a stricter structure than v1, and the client only
    accepts v2.

Since this library implements v2 specifically, I do not think it's worthwhile
to add extra plumbing for those cases (e.g., tracking v1 shape through the
handler, tolerating arbitrary Error geometry). On that basis, the tolerance
settings are not carrying their weight.

For context see #44.

Updates #46

The intent of these options was to tolerate calls to/from JSON-RPC 1.0
implementations. That alone isn't enough for interoperability, however.

For example:

- Server replies still contain the v2 version marker, which (some) v1 clients
  do not accept.

- The v2 Error object has a stricter structure than v1, and the client only
  accepts v2.

Since this library implements v2 specifically, I do not think it's worthwhile
to add extra plumbing for those cases (e.g., tracking v1 shape through the
handler, tolerating arbitrary Error geometry). On that basis, the tolerance
settings are not carrying their weight.

For context see #44.

Updates #46
@creachadair creachadair merged commit 63a5fca into default Nov 26, 2021
@creachadair creachadair deleted the mjf/disallow-v1 branch November 26, 2021 16:41
creachadair added a commit that referenced this pull request Nov 26, 2021
Further API cleanup related to #46.

- 63a5fca Remove the client and server "AllowV1" settings. (#61)
- 7ab9b38 Remove the CheckRequest server option. (#62)
- 643e3dc Remove the "UsesContext" field from ServerInfo.
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.

None yet

1 participant