Is it worth migrating to v4?

I spent few hours reading the migration guides and comparing to our current solution.
I also executed codemods and I have read all the changes.

I can understand that could be easier to develop to v4. Is this enough? Anyone has a good justification for migrating to v4?


I had same issues. Late 2021, I had developed a platform to beta using V3. I had to build a strong case for why to move to v4. Mind you v4 wasn;t as comprehensive as it is now when I made this decision.
Here are some things I considered:

  1. v3 had issues with is_null filters (This just fetches everything to first item) - fixed in v4
  2. v4 planned to support typescript (It does now)
  3. v4 has a very robust filters system
  4. More and rapid support of the plugins ecosystem
  5. Dark mode on the Admin (If you fancy this)
  6. The plugins marketplace is paradigm shift (So much possibilities)
    You can check the release notes on github for more info Releases · strapi/strapi · GitHub

Some cons

  1. Migration from v3 to v4 is not simple. (DB models is different, plugin system is different, core is adjusted,)
  2. v4 is not as customizable as v3 (I couldn’t edit some core functions without making a clone of strapi)

If you remain inn v3 you might find yourself branching out your own clone of v3 to catchup with some of the things solved in v4. If you can upgrade as soon as you can.

Hey Izuorah,

how did you go about creating clone of strapi and customizing it in v4?

Thanks in advance.

v4.1.6 is horrible when it comes to plugins. Freaking nightmare to make something work and even harder to find help

I didn’t create a clone of v4. I was only saying that if you continue to use v3, you might end up having to manage all upgrades and maintenance yourself once the support of it is abandoned.

But if you want to clone v4 (You can clone it via Github) into your own repo. You can still fetch updates from Strapi into your cloned version. (Cloning is not necessary except there are some core features you want to change).

I see, thanks.
I am not looking into changing core features but I need to change the admin panel to a certain degree. The customization of the admin panel strongly lacking in v4.

Ya, It’s currently not available even, It’s on the roadmap though.
Lots of exciting propositions by the community

thanks for all the feedback (good and bad, we appreciate both).

Indeed the admin is not as customizable as it was in v3 largely because we are investing in making it easier through programmatic APIs and not through the legacy file override system which was easy to start but difficult to maintain long term.

We started with the few injection zones that plugins can leverage and really want to expand that system even further. But we needed to keep maintainability in mind and for many of the improvements we wanted to make around how we build the admin panel with all the plugins we couldn’t maintain the file override system anymore.

For those unaware though you can customize any part of Strapi, including the core using something like patch-package (it’s really easy, even easier than our v3 extensions system was). Downside is admin customization, it’s not really possible/easy to setup the auto-reload with the --watch-admin flag