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

Newtonsoft JSON version 9.0.1 #212

Closed
yagilofir opened this issue Aug 5, 2016 · 4 comments
Closed

Newtonsoft JSON version 9.0.1 #212

yagilofir opened this issue Aug 5, 2016 · 4 comments

Comments

@yagilofir
Copy link

Hi, is there a chance you'll upgrade to the latest version of Netonsoft.Json ? (v9.0.1)
We are having some troubles using your json serializer in a .NET project that uses json 9.0.1 (and it seems that Bond currently works with Newtonsoft.Json v7.0.1 which is a bit obsolete.)
Thanks.

@chwarr
Copy link
Member

chwarr commented Aug 10, 2016

We'll need to look at what sort of breaking changes came in version Newtonsoft.Json versions 8 and 9. If it "just" works, we can relax the upper bound, otherwise, some more work will need to be done to make Bond work with 7, 8, and 9.

@chwarr chwarr changed the title Nettonsoft JSON version 9.0.1 Newtonsoft JSON version 9.0.1 Aug 10, 2016
lalo added a commit that referenced this issue Aug 12, 2016
- Bond can now be used with Newtonsoft.Json >= 7.0.1 and < 10
- Closes issue #212
chadwalters pushed a commit that referenced this issue Aug 15, 2016
- Bond can now be used with Newtonsoft.Json >= 7.0.1 and < 10
- Closes issue #212
@lalo lalo closed this as completed Aug 15, 2016
@lalo
Copy link
Member

lalo commented Aug 23, 2016

@yagilofir Bond 4.3.0 supports Netonsoft.Json v9.0.1

@chwarr
Copy link
Member

chwarr commented Sep 10, 2016

Re-reading the nuspec verisioning documentation, I think what we had before commit e2be0bf was the correct thing. It specified a lower bound of 7.0.1 but no upper bound.

Looking through the history of NuGet's update behavior, the default is to install the lowest version that satisfied the constraints. If you'd like to use Newtonsoft JSON 9.0.1, you can install/upgrade to that version of Newtonsoft.Json explicitly, and Bond will still work. You can also use Install-Package -DependencyVersion Highest:

PM> install-package bond.csharp -DependencyVersion Highest -WhatIf

Attempting to gather dependency information for package 'bond.csharp.4.3.0' with respect to project 'Playground', targeting '.NETFramework,Version=v4.6.1'
Gathering dependency information took 584.53 ms
Attempting to resolve dependencies for package 'bond.csharp.4.3.0' with DependencyBehavior 'Highest'
Resolving dependency information took 0 ms
Resolving actions to install package 'bond.csharp.4.3.0'
Resolved actions to install package 'bond.csharp.4.3.0'
Install Bond.Core.CSharp.4.3.0
Install Newtonsoft.Json.9.0.1
Install Bond.Runtime.CSharp.4.3.0 : Bond.Core.CSharp [4.3.0, 4.3.0], Newtonsoft.Json [7.0.1, 10.0.0)
Install Bond.CSharp.4.3.0 : Bond.Core.CSharp [4.3.0, 4.3.0], Bond.Runtime.CSharp [4.3.0, 4.3.0]
Time Elapsed: 00:00:01.2734569

I'm preparing a PR to relax the upper bound in the .nuspec back to what we had before.

@chwarr chwarr reopened this Sep 10, 2016
chwarr added a commit to chwarr/bond that referenced this issue Sep 10, 2016
The Bond.Runtime NuGet package again only specifies a lower bound on its
Newtonsoft.JSON dependency. This reverts commit
e2be0bf, which artificially limited the
upper bound to < 10. The previous behavior did not limit Bond.Runtime to
only working with Newtonsoft.Json 7.0.1. _However_, the default behavior
of NuGet (since 2.8) is to install the _lowest_ version of a package
that satisfied the constraints. This can be overridden when a package is
installed.

Closes microsoft#212
chwarr added a commit to chwarr/bond that referenced this issue Sep 10, 2016
The Bond.Runtime NuGet package again only specifies a lower bound on its
Newtonsoft.JSON dependency. This reverts commit
e2be0bf, which artificially limited the
upper bound to < 10. The previous behavior did not limit Bond.Runtime to
only working with Newtonsoft.Json 7.0.1. _However_, the default behavior
of NuGet (since 2.8) is to install the _lowest_ version of a package
that satisfied the constraints. This behavior can be overridden when a
package is installed, but that decision needs to be made by the consumer
of Bond.Runtime.

Closes microsoft#212
@chwarr
Copy link
Member

chwarr commented Nov 11, 2016

As part of adding .NET Core support, we've bumped the minimum Newtonsoft.JSON version to 9.0.1. See commits 2deb186 and 6829035.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants