Tighten dependency on pry
mvz opened this issue ยท 4 comments
The current dependency specification on pry
allows any 0.x
version starting from 0.10
. Since pry
is in the pre-1.x
stage, please consider tightening the range of minor versions for this dependency.
I'm guessing this issue comes from the fact that pry 0.13.0
was released, and it's incompatible with the latest pry-byebug
release, right?
I've had support for pry
master for a while, so that particular issue can be fixed by cutting a new release of pry-byebug
.
That said, I'm sorry this happened, and I'm happy to think of ways of preventing this in the future. How should I do that?
Possible ways:
-
Change the pry requirement to
>= <min_version>, <= max_version
constraint, and release a new version increasing the upper bound every timepry
releases a new version? This seems like the most flexible option, but might require compatibility code to support several pry versions. I actually already have that kind of code in master so I guess it'd be fine for now ๐คทโโ๏ธ. -
Change the pry requirement to
~> 0.y.z
constraint? What should I do on newpry
minors in this case? Increase the dependency to~> 0.y+1.0
and drop support for the previous minor, right after every minor release ofpry
, even if it's compatible? This one seems viable, and maybe the easiest. -
Don't change the requirement but make sure I release a new version of
pry-byebug
everytime there are breaking changes inpry
's master. I'm currently trackingpry
's master in CI, so this might be viable, butpry
master seems too breaking at the moment, so I'll not do this.
I think I tend towards the second?
I'm guessing this issue comes from the fact that pry 0.13.0 was released, and it's incompatible with the latest pry-byebug release, right?
Right :-)
Yes, the first two options were what I was thinking of. I think the first one requires more work, especially if you want to test compatibility with all minor supported pry versions. So, the second option may indeed be best.
Ok, since I already have the compability code in master, I'll cut a release for now.
In addition to that, since I'm already tracking pry's master in CI, next time there are breaking changes in pry, I'll make a decision about this issue and change the requirement accordingly.
I changed my mind, actually. I'll go with the second option, so that whenever pry releases a breaking minor in the future, I can add support at my own pace.