Skip to content

Ready for stable release #62

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

Closed
Nyholm opened this issue Jun 29, 2016 · 15 comments
Closed

Ready for stable release #62

Nyholm opened this issue Jun 29, 2016 · 15 comments
Milestone

Comments

@Nyholm
Copy link
Member

Nyholm commented Jun 29, 2016

I started this issue from the discussion here: php-http/HttplugBundle#81

Our BC promise in this library is the following functions:

HttpAsyncClientDiscovery::find();
HttpClientDiscovery::find();
MessageFactoryDiscovery::find();
StreamFactoryDiscovery::find();
UriFactoryDiscovery::find();

ClassDiscovery::setStrategies();
ClassDiscovery::clearCache();

// And the
DiscoveryStrategy interface

// And our exceptions and when they are thrown

This API has nothing to do with the discovery methods (strategies) itself. The strategy classes should not be a part of our API promise. Which is a great thing.

If we change the namespace of our clients we just add another "NewNamespacesStrategy" together with our existing CommonClassesStrategy. Same with if Puli changes their API when they release 1.0. We just add a "Puli1Strategy".

So if we leave the strategies outside our BC promise, are we ready for a stable release? At least, can we mature in to this API and tag 1.0 after the summer?

@joelwurtz
Copy link
Member

Was also thinking the same, as we have now a stable api for discovery it is good for a stable release, maybe we can rename Puli strategy to PuliBetaStrategy in the meantime ? (So we can create a PuliStrategy when it is stable)

@dbu
Copy link
Contributor

dbu commented Jun 29, 2016 via email

@sagikazarmark
Copy link
Member

I would add one more thing here: NotFoundException. The API became quite stable in 0.8 and many libraries (like mailgun) started to use it. I would really hate if they haven't updated because of the BC break between 0.8 and 0.9 (NotFoundException relocated). So I would add that exception back, extend the new exception and throw it temporarily (also deprecate it).

@dbu
Copy link
Contributor

dbu commented Jun 30, 2016

@sagikazarmark as long as we remove it for 1.0 i am +1 on that.

@sagikazarmark
Copy link
Member

I think we should remove it in 2.0 to make transition from 0.8 to 1.0 easier. Otherwise it's a BC break for consumer libraries.

@dbu
Copy link
Contributor

dbu commented Jun 30, 2016

i would say caring a bit about BC for the 0.* versions to make upgrades
easier is fine, but 1.0 could be a cleanup. its not like this would be a
huge, hard to refactor problem. but if you insist, i can live with it.

@sagikazarmark
Copy link
Member

I don't insist, but my concern is that libraries would stick to 0.8 to preserve THEIR BC. And it would be a problem, because they would stuck on older Bundle versions, older adapters, etc.

@dbu
Copy link
Contributor

dbu commented Jun 30, 2016 via email

@sagikazarmark
Copy link
Member

If I am right, we did all the changes we wanted. So I think we could bring this to stable this week? Anything to add here?

@Nyholm
Copy link
Member Author

Nyholm commented Jul 13, 2016

Yes, I would like to figure out this first: php-http/HttplugBundle#85

I hope I do not need any change in this repo, But lets wait an extra few days. I'll try to give some time to HttplugBundle the next coming days

@Nyholm
Copy link
Member Author

Nyholm commented Jul 14, 2016

I believe we are ready for tagging a stable 1.0.

@sagikazarmark
Copy link
Member

I will do a final review and tag during the weekend.

@dbu
Copy link
Contributor

dbu commented Jul 18, 2016

i merged #76 so we should now be ready.

@sagikazarmark
Copy link
Member

Cool, I will tag the stable soon.

@sagikazarmark
Copy link
Member

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

No branches or pull requests

4 participants