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

stripe-php v7.0.0 #552

Merged
merged 28 commits into from
Sep 3, 2019
Merged

stripe-php v7.0.0 #552

merged 28 commits into from
Sep 3, 2019

Conversation

ob-stripe
Copy link
Contributor

@ob-stripe ob-stripe commented Nov 15, 2018

cc @stripe/api-libraries

WIP PR for the next major release.

⚠️ = breaking change

Fixes #587 (via #704), fixes #702 (via #704), fixes #723 (via #725).

@browner12
Copy link

I'm not sure if this is planned already, but since this is targeting a new major version, I would suggest dropping support for PHP 5.6 and PHP 7.0 while you're at it. Both of these version will be losing security support by the end of the year.

http://php.net/supported-versions.php

Would be great to see a new major version more forward with only supported PHP versions, and allow users who require older PHP versions to stay on v6.

@ob-stripe
Copy link
Contributor Author

Hey @browner12, thanks for the feedback!

I'm aware that security support for 5.6 and 7.0 will be ending soon, but our usage metrics show that usage for these versions is still very high: half of our PHP users that are currently on the 6.x branch are using one of these (25% on 5.6 and 25% on 7.0).

As it is, dropping support for 5.4 and 5.5 will prevent 6.5% of users (again, counting only users on the 6.x branch) from upgrading to 7.0 until they upgrade to a more recent PHP version. Bumping that number to 56.5% seems a little bit too steep for now.

That said, we will reevaluate in 2019 once support for 5.6 and 7.0 has actually ended, and might revisit this decision then.

@browner12
Copy link

Thanks for the response. Are you saying you guys would consider another major version (v8) after the new year?

I guess I don't see the downside of dropping the additional PHP versions. Even though the percentage of users on unsupported PHP versions is high, they will still be able to use this package by staying on v6. Users on supported PHP versions would be able to upgrade to v7.

I would say in the package community this is a pretty common practice of branching to a new major version and dropping old PHP support, which also helps drive adoption of newer versions of PHP.

@ob-stripe
Copy link
Contributor Author

@browner12 Replying a bit late, sorry! As a developer, I agree with you entirely. However, many of Stripe's PHP users are not developers or even very technical persons and rely on e.g. Wordpress plugins for their Stripe integrations. It's an unfortunate reality that many hosting providers are not very diligent about keeping their PHP versions up to date, so dropping support for all but officially supported PHP versions would be a pretty harsh move for those users and would go against Stripe's philosophy of minimizing friction in accepting online payments.

As said above, we'll certainly reconsider this decision in a few months, and might release a new major version then.

@browner12
Copy link

Definitely agree, and understand where you're coming from.

I thought since this PR was for a Major release, it would be a good time to drop unsupported (or soon to be unsupported) versions of PHP.

People on older versions of PHP would still be able to use Stripe by sticking to v6, while other users could hop up to v7. Because Stripe is so popular, this would also add some pressure for people to start upgrading to a supported version of PHP.

You guys are also in a unique position because you accept payments meaning security is paramount to you (and should be to your users). When I see a website that accepts payments via Stripe, it gives me an extra bit of confidence that my information is secure. But knowing the website could be using Stripe, but also still be on an older version of PHP takes that confidence away.

We could discuss this forever, so I'll just say keep up the good work building this great product.

@ob-stripe ob-stripe force-pushed the integration-v7 branch 3 times, most recently from ce1acaa to 1f47d25 Compare December 13, 2018 17:28
@rvitaliy
Copy link

@ob-stripe
Since PHP dropped the 5.6 & 7.0 support, I would suggest upgrading to 7.1 see supported versions.
So you can finally start using the types 🚀 and make this lib more secure 🔒

@ob-stripe
Copy link
Contributor Author

@rvitaliy Thanks! However, we're going to keep supporting 5.6 and 7.0 for a bit longer despite these versions having reached end-of-life. See the discussion above for some justification.

@ob-stripe ob-stripe force-pushed the integration-v7 branch 2 times, most recently from e76eff7 to e573ad2 Compare August 2, 2019 13:54
@ob-stripe ob-stripe mentioned this pull request Aug 9, 2019
@ob-stripe ob-stripe force-pushed the integration-v7 branch 4 times, most recently from bd738af to b4d7ef1 Compare August 16, 2019 17:38
@ob-stripe ob-stripe force-pushed the integration-v7 branch 4 times, most recently from 5c2a2fa to 5a02d12 Compare August 27, 2019 19:37
@ob-stripe
Copy link
Contributor Author

@brandur-stripe @remi-stripe I think this is more or less ready! I just need to finish writing up the migration guide: https://github.com/stripe/stripe-php/wiki/%5BWIP%5D-Migration-guide-for-v7.

Is there anything else you think we need to include in this release?

@remi-stripe
Copy link
Contributor

Nothing comes to mind. I'm sure we'll think of something the day after release as usual :)

@brandur-stripe
Copy link
Contributor

Haha, same Olivier. You already blew past any ideas that I had by about 10x.

Very exciting that we're getting close though!! Lemme know if there's anything else I can do to help get it across the finish line.

@ob-stripe ob-stripe changed the title [WIP] stripe-php v7.0.0 stripe-php v7.0.0 Sep 3, 2019
@ob-stripe ob-stripe added approved and removed future labels Sep 3, 2019
@ob-stripe
Copy link
Contributor Author

Pulling this in!

@ob-stripe ob-stripe merged commit 91e2b80 into master Sep 3, 2019
@ob-stripe ob-stripe deleted the integration-v7 branch September 3, 2019 17:58
@ob-stripe
Copy link
Contributor Author

Released as v7.0.0 (obviously). Thanks everyone!

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