{"action":"created","issue":{"url":"https://api.github.com/repos/serde-rs/serde/issues/356","repository_url":"https://api.github.com/repos/serde-rs/serde","labels_url":"https://api.github.com/repos/serde-rs/serde/issues/356/labels{/name}","comments_url":"https://api.github.com/repos/serde-rs/serde/issues/356/comments","events_url":"https://api.github.com/repos/serde-rs/serde/issues/356/events","html_url":"https://github.com/serde-rs/serde/issues/356","id":158754484,"number":356,"title":"Decide whether Syntex bumps require a Serde major version change","user":{"login":"dtolnay","id":1940490,"avatar_url":"https://avatars.githubusercontent.com/u/1940490?v=3","gravatar_id":"","url":"https://api.github.com/users/dtolnay","html_url":"https://github.com/dtolnay","followers_url":"https://api.github.com/users/dtolnay/followers","following_url":"https://api.github.com/users/dtolnay/following{/other_user}","gists_url":"https://api.github.com/users/dtolnay/gists{/gist_id}","starred_url":"https://api.github.com/users/dtolnay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dtolnay/subscriptions","organizations_url":"https://api.github.com/users/dtolnay/orgs","repos_url":"https://api.github.com/users/dtolnay/repos","events_url":"https://api.github.com/users/dtolnay/events{/privacy}","received_events_url":"https://api.github.com/users/dtolnay/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/serde-rs/serde/labels/logistics","name":"logistics","color":"E8E8E8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2016-06-06T19:25:32Z","updated_at":"2016-06-08T03:32:08Z","closed_at":null,"body":"@alexcrichton https://github.com/serde-rs/serde/pull/346#issuecomment-223723712\r\n> Changes like this which update syntex, a public dependency of serde_codegen (e.g. it reexports types from syntex) are actually a breaking change for the serde crate. Could this be signaled with a major version update or holding off the upgrade? This unfortunately breaks any other crate which is depending on serde_codegen as it may get a mismatch of syntex versions otherwise.\r\n\r\nWe're probably damned either way. If Serde were on version 0.33, the [275 crates that depend on Serde](https://crates.io/crates/serde/reverse_dependencies) would be fragmented across all of them (about half are still on ^0.6) and would not work together.\r\n\r\nOn the one hand (no major version change), we occasionally break crates that use a `^` dependency on Serde and also have another dependency on Syntex. Where this is unacceptable, you could use an `=` dependency.\r\n\r\nOn the other hand, we would never break `^` dependencies but practically every time you do `cargo update` you would end up in a broken state until 275 crates synchronize their Serde dependency."},"comment":{"url":"https://api.github.com/repos/serde-rs/serde/issues/comments/224478564","html_url":"https://github.com/serde-rs/serde/issues/356#issuecomment-224478564","issue_url":"https://api.github.com/repos/serde-rs/serde/issues/356","id":224478564,"user":{"login":"dtolnay","id":1940490,"avatar_url":"https://avatars.githubusercontent.com/u/1940490?v=3","gravatar_id":"","url":"https://api.github.com/users/dtolnay","html_url":"https://github.com/dtolnay","followers_url":"https://api.github.com/users/dtolnay/followers","following_url":"https://api.github.com/users/dtolnay/following{/other_user}","gists_url":"https://api.github.com/users/dtolnay/gists{/gist_id}","starred_url":"https://api.github.com/users/dtolnay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dtolnay/subscriptions","organizations_url":"https://api.github.com/users/dtolnay/orgs","repos_url":"https://api.github.com/users/dtolnay/repos","events_url":"https://api.github.com/users/dtolnay/events{/privacy}","received_events_url":"https://api.github.com/users/dtolnay/received_events","type":"User","site_admin":false},"created_at":"2016-06-08T03:32:08Z","updated_at":"2016-06-08T03:32:08Z","body":"> I write all my code on nightly, but test it on both nightly and stable. I never let builds break on master for stable, though.\r\n\r\nI guess maintain separate Cargo.toml and Cargo.lock files for the two. For the nightly one use ^0.x and for the stable one use =0.x.y (or as appropriate, based on what scheme we settle on).\r\n\r\nThere is probably some lift here that could be provided by tooling, if we are able to distill this into a Cargo feature request."}}
{"actor":{"display_login":"dtolnay"}}