Notice: Stability and changes to our release process (v4.15.x through 2023)

Hello all,

Today I’m sharing a notice from Strapi’s CTO (@alexandrebodin) regarding the latest minor version and it’s patch releases as well as changes to our release process through the end of 2023 and into the future for 2024 and beyond. We understand the user frustration about the recent lack of stable releases and the rise of regressions that have happened over the past few months but more recently in v4.15.x.

First a bit of context, we are currently heavily focused on the development of Strapi v5 as we have a fairly strict deadline and roadmap for it’s release and likewise the Alpha and Beta testing we want to do before it gets launched as stable (mostly based on the feedback we gathered from the v4 release and not repeating the same mistakes) and we were trying to find quick resolutions to meet that deadline. Unfortunately this brought enough pressure that we started to cut corners where we should not have. In order to avoid this we need to relieve some pressure from the team and maintain certain of our quality standards even if it might seem to slow us down. The opposite would indeed cost us much more in the long run.

As such the following changes are going into effect immediately in combination with the temporary community PR change freeze mentioned here: Notice: Community PR Change Freeze for 2023 Holidays & v5 · Issue #18618 · strapi/strapi · GitHub

  • Our priority is fixing v4.15.x to be back to the same stability as v4.14.x. All fix PRs for this should target releases/4.15.5
  • Typescript migrations PRs & v5 related PRs done in the v4 should target develop
  • All other PRs should keep targeting main
  • We will release the work from develop in December (14th) after a 1 week lock with a lot of QA on the entire app. This should match with when we will have entirely switch to v5 work on v5 branches (except for v4 features)
  • End to end tests should still be on our radar (EMs are the DRIs to keep this as a topic during preparation). We have started certain things (CTB) that should be finished and all new work (Content releases/history, D&P v5) should include critical end to end tests to give us confidence releasing v5.

Likewise below are some of our internal notes with regards to future changes to our release processes to ensure more stability in the future:

  • We MUST not decrease our level of expectations when reviewing PRs
    • Doing QA while developing and while reviewing a PR is a must (testing the feature that you touch)
    • Asking for external review / QA on topics where you lack confidence or knowledge is also important (including asking for community to help us review)
  • If we rush too much now we will just pay it later and slow down the v5 even more it is not worth it
  • We are not expected to throw away our good practices to reach a deadline that will just contain an unstable app that can’t go in GA anyway. We will just end up delaying anyway and loosing the community at the same time.
  • Let’s take the time we need when developing while choosing to develop less things or less complex things when we can :handshake:

Regarding changes to the release process:

  • Reviews, manual QA testing, and more complete automated testing will become a focus for us in the long run
  • Both technical and non-technical teams across the company will be expected to participate in manual QA and testing including Product Managers, Engineering Managers, Support Engineers, as well as Developers and QA Engineers
  • Creating new automated tests is a must, if any of our engineers are getting push back on deadlines and being rushed to get something out the door they will be encouraged to speak to their managers or our CTO directly to ensure proper tests are created

As a short summary to the above we will effectively be heavily slowing down on v4 feature development will largely focus on v4 stability for the remainder of 2023 and into the beginning of 2024. Our timeline for Strapi v5 stable will be around the end of Q1/beginning of Q2 2024 with several weeks of Alpha/Beta testing (of which we want a lot of our community to engage with us on). Likewise for Strapi Enterprise/Strapi Cloud or more risk adverse users we are committed to 12 months of bug fixes for Strapi v4 after v5 launches as well as an additional 6 months of security patches (meaning a total of 18 months of continued support for Strapi v4 after v5 launches).

Generally I would lock a notice post however in this case I will leave it unlocked to allow for comments, likewise this same message is shared on our Forum, GitHub, and Discord as well. If you have any feedback please feel free to share it.

All the best,
The Strapi Team

3 Likes

Hi
We are making a new project on Strapi. We expect to go Live in Q3 or Q4. Do you recommend that we start the project with version 4 or version 5?
Br Claus