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

[BREAKING] Investigate possibility of moving to System.Text.Json #3061

Closed
7 tasks done
JustArchi opened this issue Nov 2, 2023 · 0 comments · Fixed by #3145
Closed
7 tasks done

[BREAKING] Investigate possibility of moving to System.Text.Json #3061

JustArchi opened this issue Nov 2, 2023 · 0 comments · Fixed by #3145
Labels
💣 Breaking changes Issues marked with this label indicate possible breaking changes that might need major version bump. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 🟢 Low priority Issues marked with this label are actively being worked on if nothing serious is on the list. 🙏 Wishlist Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial.

Comments

@JustArchi
Copy link
Member

Checklist

Enhancement purpose

As a first pre-step, I've migrated ASFB to System.Text.Json a few months ago and it's working fine without any issues or drawbacks. ASF will likely need more work due to the fact that the codebase is much bigger, but it should be viable with only limited amount of missing functionalities such as Required = Required.DisallowNull.

Solution

Why currently available solutions are not sufficient?

Can you help us with this enhancement idea?

Yes, I can code the solution myself and send a pull request

Additional info

No response

@JustArchi JustArchi added ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 🙏 Wishlist Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial. 👀 Evaluation Issues marked with this label are currently being evaluated if they're going to be considered. ⚪ No priority Issues marked with this label are not being actively worked on for time being. labels Nov 2, 2023
@JustArchi JustArchi added ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. 💣 Breaking changes Issues marked with this label indicate possible breaking changes that might need major version bump. and removed ⚪ No priority Issues marked with this label are not being actively worked on for time being. labels Nov 11, 2023
@JustArchi JustArchi changed the title Investigate possibility of moving to System.Text.Json [BREAKING] Investigate possibility of moving to System.Text.Json Nov 11, 2023
@JustArchi JustArchi removed the ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. label Dec 14, 2023
@JustArchi JustArchi mentioned this issue Feb 12, 2024
3 tasks
@JustArchi JustArchi added 🟢 Low priority Issues marked with this label are actively being worked on if nothing serious is on the list. and removed 👀 Evaluation Issues marked with this label are currently being evaluated if they're going to be considered. labels Feb 15, 2024
JustArchi added a commit that referenced this issue Feb 21, 2024
* Good start

* Misc

* Make ApiAuthenticationMiddleware use new json

* Remove first newtonsoft dependency

* Pull latest ASFB json enhancements

* Start reimplementing newtonsoft!

* One thing at a time

* Keep doing all kind of breaking changes which need to be tested later

* Add back ShouldSerialize() support

* Misc

* Eradicate remaining parts of newtonsoft

* WIP

* Workaround STJ stupidity in regards to derived types

STJ can't serialize derived type properties by default, so we'll use another approach in our serializable file function

* Make CI happy

* Bunch of further fixes

* Fix AddFreeLicense() after rewrite

* Add full support for JsonDisallowNullAttribute

* Optimize our json utilities even further

* Misc

* Add support for fields in disallow null

* Misc optimization

* Fix deserialization of GlobalCache in STD

* Fix non-public [JsonExtensionData]

* Fix IM missing method exception, correct db storage helpers

* Fix saving into generic databases

Thanks STJ

* Make Save() function abstract to force inheritors to implement it properly

* Correct ShouldSerializeAdditionalProperties to be a method

* Misc cleanup

* Code review

* Allow JSON comments in configs, among other

* Allow trailing commas in configs

Users very often add them accidentally, no reason to throw on them

* Fix confirmation ID

Probably needs further fixes, will need to check later

* Correct confirmations deserialization

* Use JsonNumberHandling

* Misc

* Misc

* [JsonDisallowNull] corrections

* Forbid [JsonDisallowNull] on non-nullable structs

* Not really but okay

* Add and use ToJson() helpers

* Misc

* Misc
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
💣 Breaking changes Issues marked with this label indicate possible breaking changes that might need major version bump. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 🟢 Low priority Issues marked with this label are actively being worked on if nothing serious is on the list. 🙏 Wishlist Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant