steps for next version - bc break
Grummfy opened this issue · 7 comments
Hello,
as discussed, we have several task to do for a next version:
- increase minimal php version to php 7.1 (require #70)
- introduce hoa\Option #56
- fix for hoaproject/Protocol#22
- update
hoa/consistency
first, then other libraries, - something else?
But two question:
increase php version for the pleasure is stupid, so only if there is a refactoring of the code, for me nothing should be done? which version php 7.0 or 7.1 ? for me it's not clear.how does we introduce hoa/option in libs? for which purpose? does we create several task explaining for each libs the purpose?
Upgrading to PHP 7.1 because:
- It's better,
- PHP 5.x is dead,
- It has scalar type declarations, so we can drop PHPDoc and use Kitab format instead, so use Kitab for online documentation (see RFC #53),
- and to test the documentation (see RFC #52),
- We can use
hoa/option
(see RFC #56), which is an excellent thing for us, - We may change some method namings (see RFC #54),
hoa/iterator
are likely to change too (see RFC #55).
So, scalar type declarations and hoa/option
will introduce a natural BC break. The goal is to combine this BC break with the drop of PHP 5.x, which is implicitely a BC break too.
The plan would be to:
- Release
hoa/option
, - Update
hoa/consistency
to use PHP 7.1, - And update all the other libraries in popularity/dependency order.
Thoughts?
oki but for me, the plan seems correct.
But for me I'm not seeing how to help, on the following points:
- use hoa\Option #56 : what concretely we must do? can you try to make a issue with detail about it, because for me it's not easy to understand how to help on it
- change about doc #53 : for me the #52 will rise from that, what did you expect we do?
- #54 can be easier to see what to do
For me, I see nice idea that have been implemented (iterator is precise, option is nice and nearly ready). But about other library impact, I don't see what to do to help on it. Perhaps I miss something.
@Grummfy Updating the code to PHP 7.1 is something concrete: Adding type declarations, using PHP 7.x new features (remove all the call_user_func
for instance) etc. During this process, add new documentation, and use hoa/option
where possible. This must be debated but there is no hard rule: Use it when it makes sense. We can split this work in many PR of course.
so perhaps we can have a branch for all of these?
Hmm, not. We can release hoa/option
, then release hoa/consistency
(with a BC break), then release hoa/exception
(with a BC break), then release hoa/ruler
(with a BC break) etc. Why should we need new branch?
oki. that's fine
we also need to drop the usage of resolve() function