U4-3779 - v7 - Update To JSON.net v6

Created by Jeavon Leopold 02 Dec 2013, 23:02:13 Updated by Sebastiaan Janssen 08 Apr 2014, 11:41:26

Is duplicated by: U4-4354

Is there any reason why Umbraco.Core can't be updated to JSON.net v6?


Sebastiaan Janssen 02 Dec 2013, 23:15:51

Yes. http://issues.umbraco.org/issue/U4-3118 and many more issues created in a similar vein.

Is there any compelling reason to use v5? I couldn't find one except for it being the latest version. The fact that the assembly versions are staying the same even when releasing a major version is insane to me (yes.. v5 still has assembly version 4.5.0). We'd love to use 5 but as long as it's assembly version 4.5.0 it's doing more harm than good.

Jeavon Leopold 03 Dec 2013, 19:08:50

The reason it's an issue for me is Nuget, I install Umbraco v7 via Nuget, now I want to install BundleTransformer:Less (I'm sure there are others), I can't as BundleTransformer:Less requires Newtonsoft.Json > 5.0.8. I just get Updating 'Newtonsoft.Json 4.5.11' to 'Newtonsoft.Json 5.0.8' failed. Unable to find a version of 'UmbracoCms.Core' that is compatible with 'Newtonsoft.Json 5.0.8'. My only option is to install the package and all of its dependencies individually in the Package Manager Console using the –IgnoreDependencies option. BundleTransformer actually does seem to work currently with the v4.5.11 shipped with Umbraco, but of course there is no guarantee as I'm using an older version than is specified by the BundleTransformer:Less package.

Jeavon Leopold 03 Dec 2013, 19:09:58

Yes, it is insane that assembly version of v5 is still v4.5.0!!!

Sebastiaan Janssen 03 Dec 2013, 19:17:59

@Jeavon yes, that sucks, and I'm sorry. Currently we have no option but to prefer an initially great out of the box experience installing Umbraco over the later disappointment of not easily being able to use BundleTransformer et all.

What we can investigate is if we can loosen up the json.net requirement in the NuSpecs so you won't be stuck with v4 if it's not necessary. We know that v5 doesn't break anything in Umbraco so if people want the option I see no problem in giving them it.

Will look into it for 7.0.1!

Jeavon Leopold 03 Dec 2013, 19:28:20

I totally get it, I think loosening the NuSpecs is the way to go, (maybe add a note somewhere about the potential GAC issue and how to resolve it) Also did you see this discussion where JamesNK commented about v6.0? http://json.codeplex.com/discussions/465332

Sebastiaan Janssen 03 Dec 2013, 19:35:55

@crumpled_jeavon I wonder if in the new YouTrack if I mention you by username you'd get a special notfication?

Anyway, I can't wait for v6 then! Glad he seems to sort of agree that this was not the best decision.

Jeavon Leopold 03 Dec 2013, 19:59:16

Not sure as I would have received notification anyway, also can't work out what your username is to mention you back...?

So what you are saying is if I do some hacking with packages.config and get JSON.net v5 to install I'm not going to have any issues with Umbraco v7 as long as I don't have the GAC thing going on?

Of course there will be the whole having to recompile third party packages against new version when a new strongly named v6 versions comes out, but it's probably better...

Kenneth Solberg 21 Jan 2014, 09:46:40

Any news on this one? Currently a show-stopper for me as SignalR 2.0.1 depends on Newtonsoft.Json 5.0.8.

Jeavon Leopold 21 Jan 2014, 15:03:34

Looks like JSON.Net v6 beta is available but doesn't look like they have updated the AssemblyVersion! https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs

Jeavon Leopold 05 Apr 2014, 19:47:30

JSON v6 RTM has changed the assembly version to be correct, can we update the nuspec restriction now?

Wiebe Tijsma 05 Apr 2014, 19:47:39

+1 for this issue. WindowsAzure.Storage also wants a newer version. @Jeaven thanks for the tip on the nuget IgnoreDependencies parameter!

Sebastiaan Janssen 08 Apr 2014, 10:43:40

Updated in rev 670a67225af119ef7f06656ed6eb461360fd429d to be released with 7.1.1 later today.

Sebastiaan Janssen 08 Apr 2014, 11:41:26

Marked as Not backwards compatible as the Json.Net update lists a breaking change:

http://james.newtonking.com/archive/2013/04/07/json-net-5-0-release-1-net-4-5-biginteger-read-only-collections Change - Minor breaking changes to JsonSchema type

Priority: Normal

Type: Feature (request)

State: Fixed


Difficulty: Normal


Backwards Compatible: False

Fix Submitted:

Affected versions: 7.0.0

Due in version: 7.1.1


Story Points: