We had done quite a lot of customisations on our current theme (based on Ghost v2) and so wanted to defer an upgrade to Ghost v3 as we weren’t sure whether there would be any incompatibilities between the theme and Ghost v3.
I was thinking about what you said here since I first replied to you, and I wanted to write you another reply about how this is a common misconception about major version changes - and now I’ve seen Error starting Ghost after upgrade from 2.38 to 3.22: Cannot read property 'toString' of undefined you’ve kinda proved the point I was going to make.
When it comes to major software versions, holding off upgrading because you’re worried about incompatibility is misconceived! The longer you hold off, the bigger the gap becomes between the software you are using and the latest version and the more changes (and potential incompatibilities) you’re dealing with.
Actually, the best time to upgrade is once the first minor goes out. E.g. once 3.1.0 is shipped.
Upgrading direct to a major like 3.0.0 means you’ll get caught out in any initial bugs, so holding off one minor gives you a little more confidence that any major unexpected compatibility issues have been solved.
Not only that, but this is the time when the core team and the community are most context loaded about compatibility and therefore most able to quickly help. 10 months on, noone remembers what v2 was like!
This doesn’t just apply to Ghost nor is it specific to you - just a passing thought I wanted to share.