Skip to content

Fully stabilize now-stable protocol properties#1686

Merged
eiriktsarpalis merged 1 commit into
mainfrom
eiriktsarpalis-experimental-attrs-audit
Jul 1, 2026
Merged

Fully stabilize now-stable protocol properties#1686
eiriktsarpalis merged 1 commit into
mainfrom
eiriktsarpalis-experimental-attrs-audit

Conversation

@eiriktsarpalis

Copy link
Copy Markdown
Member

#1301 hid experimental JSON properties from consumer source generators using an internal *Core twin pattern (public [JsonIgnore] + internal [JsonInclude]). #1642 later removed [Experimental] from ClientCapabilities.Extensions, ServerCapabilities.Extensions, RequestParams.InputResponses, and RequestParams.RequestState but left that plumbing in place — so consumer-defined JsonSerializerContexts still silently dropped these now-stable properties.

This removes the *Core twins and converts the four properties to plain public [JsonPropertyName] auto-properties. Wire format is unchanged; consumer source-gen contexts now round-trip them correctly.

ExperimentalPropertySerializationTests.cs is deleted because it asserted the #1301 drop-by-consumer-context behavior, which no longer applies.

… plumbing)

Removes the internal *Core JSON plumbing from ClientCapabilities.Extensions, ServerCapabilities.Extensions, RequestParams.InputResponses, and RequestParams.RequestState, converting them to plain public [JsonPropertyName] auto-properties. PR #1642 removed [Experimental] from these but left the workaround plumbing from #1301, so consumer-defined source-gen contexts still silently dropped them.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@eiriktsarpalis eiriktsarpalis merged commit 5d00eed into main Jul 1, 2026
15 of 17 checks passed
@eiriktsarpalis eiriktsarpalis deleted the eiriktsarpalis-experimental-attrs-audit branch July 1, 2026 19:44
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.

2 participants