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:
v3 had issues with is_null filters (This just fetches everything to first item) - fixed in v4
v4 planned to support typescript (It does now)
v4 has a very robust filters system
More and rapid support of the plugins ecosystem
Dark mode on the Admin (If you fancy this)
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
Migration from v3 to v4 is not simple. (DB models is different, plugin system is different, core is adjusted,)
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.
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.
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