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

Bump itertools version to allow 0.12 #963

Closed
wants to merge 1 commit into from

Conversation

jleibs
Copy link

@jleibs jleibs commented Dec 20, 2023

Ran into a dependency conflict with using itertools 0.12 in our project that also depends on prost.

When I ran the tests everything appeared to work, so I'm not sure what the purpose of the <0.12 restriction was.

@MarijnS95
Copy link

so I'm not sure what the purpose of the <0.12 restriction was.

It is never desired to publish crates with an unbounded upper version range, as there is no guarantee that future semver-breaking itertools crate releases are compatible with its use in this crate.

i.e. when this <0.12 clause was written in 4d55103, itertools 0.12 wasn't released yet.


This version-range model allows prost to publish patch releases with dependency bumps of itertools, after prost was tested to be compatible like you did in this PR 🎉

Copy link
Collaborator

@caspermeijn caspermeijn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase to latest master to fix CI

@@ -23,7 +23,7 @@ cleanup-markdown = ["pulldown-cmark", "pulldown-cmark-to-cmark"]
[dependencies]
bytes = { version = "1", default-features = false }
heck = "0.4"
itertools = { version = ">=0.10, <0.12", default-features = false, features = ["use_alloc"] }
itertools = { version = ">=0.10, <0.13", default-features = false, features = ["use_alloc"] }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I think this syntax explains better the intent of the version bounds.

Suggested change
itertools = { version = ">=0.10, <0.13", default-features = false, features = ["use_alloc"] }
itertools = { version = ">=0.10, <=0.12", default-features = false, features = ["use_alloc"] }

Copy link

@MarijnS95 MarijnS95 Mar 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@caspermeijn one thing that might be hiding is that this version range, whether it is written as <0.13 or <=0.12, allows 0.12.99999. Some folks find that confusing with the second format, though I also prefer to read the version that is included rather than the one that is excluded 👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the intention is to include/allow 0.12 series, so I prefer to write is the suggested way.

@caspermeijn
Copy link
Collaborator

Fixed in #948

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

Successfully merging this pull request may close these issues.

None yet

3 participants