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

Drop 5.8? New minimum 5.10.1? #58

Open
schwern opened this issue Oct 27, 2012 · 10 comments
Open

Drop 5.8? New minimum 5.10.1? #58

schwern opened this issue Oct 27, 2012 · 10 comments
Labels

Comments

@schwern
Copy link
Contributor

schwern commented Oct 27, 2012

I propose we raise the minimum dependency to 5.10.1.

I don't remember why I made 5.8.1 the minimum, but I don't have any need for it, and I don't test it much any more. Amazingly enough, aside from some silly test mistakes in line numbers, it still works. I'm going to try out travis-ci.org to do CI testing and they don't provide a 5.8.

I'd go with 5.10.1, 5.10.0 has annoying bugs.

@barefootcoder
Copy link
Contributor

Interesting. Well, $work is still using 5.8.9, despite my efforts for more than a year. But that's mostly irrelevant, since I couldn't get MSM to work with 5.8.x anyway, due to some annoying Devel::Declare something-or-other. So we're still not using MSM here, despite all the work I put into it. :-/

OTOH, removing the Devel::BeginLift dependency may actually fix that (I can't remember enough about what the problem was now, but I'm willing to try testing it again).

I've put in the work to make all of the new features from @thoughtstream at least fail gracefully on 5.8.x. So, at least for now, I'm not sure I see a huge benefit from ditching support for it. (Though I suppose it would simplify the POD to be able to remove all the "this won't work on older perls" notices.) I'm thinking let's just put this on hold for a little and revisit it once I can figure out how much I can make work on 5.8.9. I've got my little perlbrew farm set up, although I haven't got it automated yet (although that's on my list), so it's not that big a deal for me to do the full spectrum of testing.

@schwern
Copy link
Contributor Author

schwern commented Oct 27, 2012

On 2012.10.26 8:07 PM, Buddy Burden wrote:

Interesting. Well, $work is /still/ using 5.8.9, despite my efforts for more
than a year. But that's mostly irrelevant, since I couldn't get MSM to work
with 5.8.x /anyway/, due to some annoying |Devel::Declare| something-or-other.
So we're still not using MSM here, despite all the work I put into it. :-/

OTOH, removing the Devel::BeginLift dependency may actually fix that (I can't
remember enough about what the problem was now, but I'm willing to try testing
it again).

Huh, I just loaded it all up on 5.8.1 on OS X and it worked like a charm.
Devel::BeginLift and all.

I've put in the work to make all of the new features from @thoughtstream
https://github.com/thoughtstream at least fail gracefully on 5.8.x. So, at
least for now, I'm not sure I see a /huge/ benefit from ditching support for
it. (Though I suppose it would simplify the POD to be able to remove all the
"this won't work on older perls" notices.) I'm thinking let's just put this on
hold for a little and revisit it once I can figure out how much I can make
work on 5.8.9. I've got my little perlbrew farm set up, although I haven't got
it automated yet (although that's on my list), so it's not that big a deal for
me to do the full spectrum of testing.

Okie doke.

  1. I am not authorized to initiate Jihad.
    -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
    http://skippyslist.com/list/

@MidLifeXis
Copy link
Contributor

The only "problem" I have seen with 5.8.9 at $work is that the 'when FOO' syntax is unsupported. I am moving from 5.8.9 as time allows, which should be RealSoonNow(tm).

I have, however, been using it quite heavily in the last few months under 5.8.9, as it removes a boatload of boilerplate parameter marshaling and checking code, and makes the code, at least in my opinion, much easier to read.

In short, for the time being, I would vote that the support of 5.8 be held on to for just a bit longer.

@barefootcoder
Copy link
Contributor

In short, for the time being, I would vote that the support of 5.8 be held on to for just a bit longer.

Yes, I think I agree. The when won't work, and neither wil the where. Other than that, problems we've seen definitely centered around the compile-time vs run-time declarations. I even put something in the POD:

The most noticeable is if an error occurs at compile time, such as a strict error, perl might not notice until it
tries to compile something else via an "eval" or "require" at which point perl will appear to fail where there is
no reason to fail.

I have no idea if this is still true now that we've ditched Devel::BeginLift, and I don't remember how to reproduce it now. :-/ Hopefully it's not (still true, that is).

But I think if people are still stuck on 5.8.x for whatever reason, we should probably have mercy on them. No need to make their lives even harder than they already are. :-D

@chloe-zen
Copy link

FWIW we upgraded from 5.8 at $ORK but only because I pushed it. OTOH if I weren't here we wouldn't be using fancy things like method signatures, so maybe that's not probative.

@barefootcoder
Copy link
Contributor

FWIW we upgraded from 5.8 at $ORK but only because I pushed it.

Well, at least your push was succesful. :-/ I've been pushing that at my $work for two years now with no luck so far. <sigh>

@eserte
Copy link
Contributor

eserte commented Dec 10, 2013

Ironically, perls between 5.8.8 and 5.10.1 are the only ones with a 100% PASS, see http://matrix.cpantesters.org/?dist=Method-Signatures%2020131010
BTW, travis-ci provides now 5.8.9 in their testing system, so "5.8" could be added to .travis.yml.

... see #93

@pjf
Copy link

pjf commented Feb 11, 2014

Right now it appears that because MS depends upon experimental, and experimental now requires 5.10, MS is now 5.10+ only as a result.

@barefootcoder
Copy link
Contributor

Right now it appears that because MS depends upon experimental, and experimental now requires 5.10, MS is now 5.10+ only as a result.

Well, that seems wrong ... I thought experimental was just a wrapper around no if ... does that not work on 5.8? I wonder if there's a quick, easy way to make it work (i.e. disappear, since it's not necessary anyway) on 5.8 ... I'll have to think about it a bit, unless someone responds here first. :-)

@pjf
Copy link

pjf commented Feb 11, 2014

I haven't dug into the source code that much, but the Build.PL now requires 5.10.x as a minimum, and experimental.pm itself seems to now depend upon feature.pm, which is obviously 5.10+ only.

On the plus side, I discovered this because the travis tests for my pull request (#94) unexpectedly errored on 5.8.x.

Thanks for the swift response! :)

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

No branches or pull requests

6 participants