-
Notifications
You must be signed in to change notification settings - Fork 245
Bump parking_lot to 0.10 #332
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
Changes from all commits
287ea37
89448b6
564ead9
ed74d1f
29edac1
45a4a12
3078dc3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,16 @@ | ||
| [package] | ||
| name = "kvdb-memorydb" | ||
| version = "0.3.1" | ||
| version = "0.4.0" | ||
| authors = ["Parity Technologies <admin@parity.io>"] | ||
| repository = "https://github.com/paritytech/parity-common" | ||
| description = "A key-value in-memory database that implements the `KeyValueDB` trait" | ||
| license = "GPL-3.0" | ||
| edition = "2018" | ||
|
|
||
| [dependencies] | ||
| parity-util-mem = { path = "../parity-util-mem", version = "0.4", default-features = false, features = ["std"] } | ||
| parking_lot = "0.9.0" | ||
| kvdb = { version = "0.3", path = "../kvdb" } | ||
| parity-util-mem = { path = "../parity-util-mem", version = "0.5", default-features = false, features = ["std"] } | ||
| parking_lot = "0.10.0" | ||
| kvdb = { version = "0.4", path = "../kvdb" } | ||
|
|
||
| [dev-dependencies] | ||
| kvdb-shared-tests = { path = "../kvdb-shared-tests", version = "0.1" } | ||
| kvdb-shared-tests = { path = "../kvdb-shared-tests", version = "0.2" } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,10 @@ | ||
| [package] | ||
| name = "kvdb-shared-tests" | ||
| version = "0.1.0" | ||
| version = "0.2.0" | ||
| authors = ["Parity Technologies <admin@parity.io>"] | ||
| edition = "2018" | ||
| description = "Shared tests for kvdb functionality, to be executed against actual implementations" | ||
| license = "GPL-3.0" | ||
|
|
||
| [dependencies] | ||
| kvdb = { path = "../kvdb", version = "0.3" } | ||
| kvdb = { path = "../kvdb", version = "0.4" } | ||
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,6 +1,6 @@ | ||||
| [package] | ||||
| name = "kvdb" | ||||
| version = "0.3.1" | ||||
| version = "0.4.0" | ||||
| authors = ["Parity Technologies <admin@parity.io>"] | ||||
| repository = "https://github.com/paritytech/parity-common" | ||||
| description = "Generic key-value trait" | ||||
|
|
@@ -10,4 +10,4 @@ edition = "2018" | |||
| [dependencies] | ||||
| smallvec = "1.0.0" | ||||
| bytes = { package = "parity-bytes", version = "0.1", path = "../parity-bytes" } | ||||
| parity-util-mem = { path = "../parity-util-mem", version = "0.4", default-features = false } | ||||
| parity-util-mem = { path = "../parity-util-mem", version = "0.5", default-features = false } | ||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sorry for being semver-nazzi, but this is a breaking change for all There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now I think not. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The way to think about breaking changes is imagine you bump a version of only this crate in a lib that uses it as a dependency, will the compilation of the lib break? In this case the answer is yes, because the lib uses There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This breakage can be avoided by requiring kvdb ^0.4.3 (which is default when requiring just 0.4.3) in kvdb-rocksdb So if you upgrade one to latest, you are forced to upgrade another There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sometimes you can upgrade to the latest breaking change easily, but it doesn't make the change non-breaking sometimes you can't control all of your dependencies, imagine that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why incompatible? If you use it directly, you use only one of the versions. If you don’t use it directly, you don’t care if they are duplicated :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well, Line 112 in 996d370
You don't bump the Also parity-util-mem has a feature of global allocator which we use in parity-ethereum, so having two versions there will probably not work. But I feel like we've spend too much time debating on this issue already and it's easier to just bump the major versions :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Imagine this code #[derive(MallocSizeOf)]
pub struct Foo {
foo: third_party_lib::implements_parity_util_mem::MallocSizeOf_v_0_4_0,
bar: parking_lot::RwLock<Baz>,
kvdb: Arc<dyn KeyValueDB>,
}this will break There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Yeah, of course it is easier, I just thought if we could avoid this cascading bump spam But seems like no way :) |
||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| [package] | ||
| name = "parity-util-mem" | ||
| version = "0.4.2" | ||
| version = "0.5.0" | ||
| authors = ["Parity Technologies <admin@parity.io>"] | ||
| repository = "https://github.com/paritytech/parity-common" | ||
| description = "Collection of memory related utilities" | ||
|
|
@@ -25,7 +25,7 @@ impl-trait-for-tuples = "0.1.3" | |
|
|
||
| smallvec = { version = "1.0.0", optional = true } | ||
| ethereum-types = { version = "0.8.0", optional = true, path = "../ethereum-types" } | ||
| parking_lot = { version = "0.9.0", optional = true } | ||
| parking_lot = { version = "0.10.0", optional = true } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Isn't that a breaking change for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seems like no. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. But that's public API. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. hmm technically yes, but it will require major bump just for everything There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yeah, that's version bump creep is unfortunate, but we already have to do this e.g. for |
||
| primitive-types = { version = "0.6", path = "../primitive-types", default-features = false, optional = true } | ||
|
|
||
| [target.'cfg(target_os = "windows")'.dependencies] | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.