I propose we start making releases more often, specially focused on actual bugfixes and security updates versus feature updates.
Currently, for example RC 1.4 has a mix of Bug Fixes, New Features, Changed Features and back ports in it:
https://github.com/ClassicPress/ClassicPress/pulls?q=is%3Aopen+is%3Apr+milestone%3A1.4.0-rc1
This means, at current pace, and as of current progress in said milestone, it will be September 2022 until we release it (that is the time it took to release CP 1.3: one year, see Releases · ClassicPress/ClassicPress · GitHub).
That is not good. It means, bugs stay in the product for a year, when they are already fixed (or back ported), merged and tested.
A bug fix should never wait for a feature that is unrelated to it. Neither a security release.
I suggest we do this:
- 1.4 Milestone can stay as is but only with new features, and other things new/changing behaviour that are not bugs or security issues, thus not important.
- However, a (or several) new Milestone should be made, 1.3.x, with the goal to release within weeks, fixes for known bugs and security issues if any.
- Eventually, RC 1.4 should be split even more, to produce release of “done things” that are simply just waiting for more complex things to finish, which however are completely unrelated. Like, we have a finished few features, lets test, release and publish. Not wait for this thing that are unrelated, stuck, and clearly will need more time.
This approach should be taken throughout any future development process, by clearly making a Milestone more small, targeted and on topic, separating the bugs from features, where possible.
Not only will this speed up fix time, feature release time, but also make testing easier, smaller and less risky to break a whole CMS, as well as make updating much easier.
If we continue with the current process not only will we spend too much time on a single milestone/release but actual annoying bugs wont get fixed/released just because we can’t agree on a left-justification of a login screen or on the name of a new argument in a function (these are examples, but real ones)
I would suggest starting now with this, meaning all bugs from Pull requests · ClassicPress/ClassicPress · GitHub should get into a new, dedicated Milestone, if this is possible, and released preferably within the coming weeks
Since all current bugs in rc 1.4 are already solved, this should be possible without big hassle.
We can then fiddle and discuss on new features or other changes for milestone on the long run without discharging our disagreements on the actual users, who are waiting for bug fixes, trust CP to be safe, and new features that clearly are finished and ready to go.
Does that make sense to everybody?
I am not asking for scheduled releases, I am asking to actually allow things that are done and ready to be shipped, and bugs to be fixed when they are fixed, not to be waiting for a year on some feature that in the end, no one really cares about (again looking at the left aligned strings, which will hold us for probably the next few months at least, until we have an agreement, at which point we might start coding, which will take another few months )