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

Document behavior of the newly added System.Text.Json snake case and kebab case policies #36652

Closed
eiriktsarpalis opened this issue Aug 11, 2023 · 0 comments · Fixed by #37530
Assignees
Labels
dotnet-fundamentals/svc 📌 seQUESTered Identifies that an issue has been imported into Quest.

Comments

@eiriktsarpalis
Copy link
Member

eiriktsarpalis commented Aug 11, 2023

.NET 8 includes built-in support for snake_case and kebab-case naming policies. Even though we recently updated the implementation to more closely match the semantics of the equivalent Json.NET feature, we intentionally deviated in certain cases where consensus is that the Json.NET implementation is flawed.

This divergence still has the potential of breaking users that are migrating from Json.NET to System.Text.Json, so we should try to document it. A good starting point is this commit whose test diffs highlight where exactly different outputs should be expected.

In addition to the above, we should consider documenting the fact that the naming policies (both old and new) don't support letters that are surrogate pairs. See dotnet/runtime#90352 for more details.

cc @gewarren @IEvangelist


Associated WorkItem - 156741

@dotnet-bot dotnet-bot added the ⌚ Not Triaged Not triaged label Aug 11, 2023
@gewarren gewarren self-assigned this Aug 11, 2023
@dotnet-bot dotnet-bot removed the ⌚ Not Triaged Not triaged label Aug 11, 2023
@gewarren gewarren added the 🗺️ reQUEST Triggers an issue to be imported into Quest. label Sep 5, 2023
@github-actions github-actions bot added 📌 seQUESTered Identifies that an issue has been imported into Quest. and removed 🗺️ reQUEST Triggers an issue to be imported into Quest. labels Sep 6, 2023
@gewarren gewarren moved this from 🔖 Ready to 🏗 In progress in dotnet/docs September 2023 sprint Sep 22, 2023
@gewarren gewarren moved this from 🏗 In progress to 🔖 Ready in dotnet/docs September 2023 sprint Sep 22, 2023
@gewarren gewarren moved this from 🔖 Ready to 🏗 In progress in dotnet/docs September 2023 sprint Sep 25, 2023
@gewarren gewarren moved this from 🏗 In progress to 🔖 Ready in dotnet/docs September 2023 sprint Sep 26, 2023
@gewarren gewarren moved this from 🔖 Ready to 🏗 In progress in dotnet/docs September 2023 sprint Sep 26, 2023
@gewarren gewarren moved this from 🏗 In progress to Slipped in dotnet/docs September 2023 sprint Sep 29, 2023
@gewarren gewarren moved this from 🔖 Ready to 🏗 In progress in dotnet/docs October 2023 sprint Oct 16, 2023
@ghost ghost added the in-pr This issue will be closed (fixed) by an active pull request. label Oct 16, 2023
@gewarren gewarren moved this from 🏗 In progress to 👀 In review in dotnet/docs October 2023 sprint Oct 17, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in dotnet/docs October 2023 sprint Oct 17, 2023
@ghost ghost removed the in-pr This issue will be closed (fixed) by an active pull request. label Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dotnet-fundamentals/svc 📌 seQUESTered Identifies that an issue has been imported into Quest.
Projects
No open projects
Status: Done
Status: Slipped
Development

Successfully merging a pull request may close this issue.

4 participants