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

4.1.0 release forces old version of bitarray #283

Closed
mgorny opened this issue Aug 17, 2023 · 8 comments
Closed

4.1.0 release forces old version of bitarray #283

mgorny opened this issue Aug 17, 2023 · 8 comments
Assignees
Milestone

Comments

@mgorny
Copy link

mgorny commented Aug 17, 2023

Today's 4.1.0 release requires bitarray 2.8.0. However, bitarray 2.8.1 was released on Aug 7.

@scott-griffiths
Copy link
Owner

Hi. True enough - there wasn't anything in the 2.8.1 release that would be helpful so I decided to not update the dependency. The 2.8.0 release is still only a few weeks old. I'm always going to pin a particular version of bitarray that has been well tested as I don't want an update to it to break bitstring.

@scott-griffiths
Copy link
Owner

@mgorny is there a particular problem that this creates? I might not understand the issue so more information would be helpful. For me this all works fine, but everyone has different workflows and requirements.

@mgorny
Copy link
Author

mgorny commented Aug 18, 2023

This is painful for people who are using system packages, as installing bitstring prevents them from upgrading bitarray. Over long periods of time, this creates a lot of maintenance burden since we'd need to make sure all compatible versions of bitarray and bitstring are working and installable.

Or to put it simpler, we may end up with the impossible situation of one package requiring one version of bitstring (and the pinned version of bitarray) and another package requiring a newer bitarray.

@scott-griffiths
Copy link
Owner

Thanks for the extra information, that's useful. I'm used to pinning versions for applications, but this is the first time I've released a library with dependencies.

A quick search shows that it is considered bad practice to pin a version rather than a range for a library dependency, which to be honest I'm pretty nervous about (there must be a better way!) I'll probably make the change in the 4.1.1 release which should be quite soon - I'll just wait a little longer to see if more issues come in.

@scott-griffiths
Copy link
Owner

The new plan is to require bitarray ">=2.5.0, <3.0.0", all versions of which (up to the current 2.8.1) pass bitstring's unit tests.

@mgorny
Copy link
Author

mgorny commented Aug 18, 2023

Thanks a lot!

@scott-griffiths scott-griffiths self-assigned this Aug 18, 2023
@scott-griffiths scott-griffiths added this to the 4.1.1 milestone Aug 18, 2023
@kitterma
Copy link

kitterma commented Aug 20, 2023

Thanks. I was just coming to report this. It's great to see it's going to be addressed.

This will also need a change in tests/test_bitstring.py. My suggestion would be just to remove the bitarray version check entirely. (looks like you already addressed this - thanks again)

@scott-griffiths
Copy link
Owner

Version 4.1.1 now released with bitarray requirement of ">=2.8.0, <3.0.0".

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