-
Notifications
You must be signed in to change notification settings - Fork 46
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
Upgrade Newtonsoft.Json to v13.0.2. | Continue Development for JsonApiSerializer #145
Conversation
….1+ as well as .NET 6+
On the surface, this looks really good. Ill have a closer look at this PR in the weekend to try and get this merged. Ill also need to do some work to update the build and refresh the credentials so I can generate a new release |
This sounds great! And again massive credits for creating this library in the first place 😎 Had some good time implementing the upgraded PR-version in my pet project and already consider it for some pre-production services as well. This implies however, that arising security issues are dealt with in a timely matter and known CVE's (such as the ones in JSON.NET v10) are patched. For that reason, i'll keep my fork around and plan to back-contribute to JsonApiSerializer to let the public benefit from the updates, especially since the last commit is currently about 5 years in the past and .NET heavily advanced since the release of .NET 6. (Out of my own curiosity, was there a specific reason for this long break?) My next goal keep this library alive will be refactoring it with improvements for JSON:API v1.1 and deprecating .NET 4.6.x in favour of modern cross-platform .NET 6+ whilst releasing security updates for .NET 4.6 in v1 for at least the next 3-5 years (or as long as Microsoft keeps supporting it within this timespan). |
Btw.. the bump in versions within the .csproj was mainly due to me using a private package repository other than nuget and can be reverted or reconsidered. v1.8.0 was just upgrading dependencies / targets while |
* Made unit test more resiliant of day light savings times * Removed the need to use timestamp division which is not available in some dotnet versions
As we are targetting a later netstandard/dotnet version it would be considered a breaking change to anyone on the earlier versions
Happy to merge. Made a few minor changes to the unit test. Bumped the major version number as this is technically a breaking change for anyone not supporting the later framework - which admittedly wouldn't be too many I'm going to move the build/release pipeline over to github actions in a day or two and make the release that way. Will probably change the way versioning works at the same time to base it on tags rather than version in the csproj
When I developed the library I was using json:api heavily for work. I have since moved companies and haven't had any interaction with json:api since then so the library got less focus than it deserved |
I've recently stumbled upon this project and incorporated it into my new pet project. Imho, this project is superior to the more active / larger "JsonApiDotnetCore" in the sense that it doesn't add a bunch of magic to the app, but simply focuses on de- / serializing.
I've forked this project and upgraded Newtonsoft.Json as well as the Test-Project's dependencies to the latest version, fixing a bunch of security vulnerabilities and modernizing / fixing deprecation notices in the process.
Running the tests succeeds after the upgrade / refactor, so i'd say it's safe to update.
Additionally, I've refactored the csproj and set target frameworks to netstandard2.0, which is the latest version of the standard still supporting .NET Framework 4.6.1+ in addition to .NET (Core)
Regardless if this PR reaches the maintainers and (hopefully) gets approved, i'm still planning to continue development of my fork over on my Github profile, with plans of starting a v2.0, that complies to JSON:API v1.1 spec, targets newer .NET versions and deprecates support for .NET Framework 4.x while keeping security updates for the v1