How much is the 5x line changed from 4x?
Without seeing any preview releases we in the dev community have to work off of public postings and any private communications with IPS developers for insights. Those developers and any outside-individuals with "access" are under non-disclosure agreements and to my knowledge have not leaked anything to anyone outside of the broadest overviews which more or less match previous public postings by IPS staff. Most people enjoy financial security, nominal control over their first-born, roofs over their heads, so you should never expect any of them to break an NDA.
The leap from the 3x line to 4x. was an entire re-write of everything; a massive undertaking. Moving from 4x to 5x is generally considered half, and likely less than half, that level of work. Overall changes include:
- The underlying code is being brought up to PHP8 standards (and targeting 8.1 for minimal out the gate). Much of the core code in the 4x line was early PHP7 or earlier in structure and IPS focused more on new features and application enhancements rather than constantly upgrading core components. 5x is being used to clear this stuff out.
- Structural changes from hooks to listeners for developer interfacing with the system.
- A complete overhaul of the theme system, although the outward appearance of the default IPS theme will remain, on viewing, mostly the same. This includes no template editing of the default templates. We will not know how bad this will be until we get hands-on.
- A general removal of things they no longer believe are needed. What those are mostly remain unknown until we all get hands on with the new stuff.
- Updating some external libraries and integrations. Newer CKEditor! Font Awesome 6! And so on...
What does this mean for the 4x Applications and Plugins I use?
For one thing, plugins are not a part of the 5x line. Plugins were merely simplified applications so the decision was made to remove that weight from the system and have everyone use applications going forward. Not a big deal.
However... the above change, plus the moving to listeners (from hooks), and the overall PHP8 changes, and adjusting the theme structures, and other things, means every application and plugin will need to be re-written to work with 5x.
Just because they need to be re-written does not mean all the work done for those apps and plugins needs to be pitched. The underlying models, controllers, and all that, will remain substantially the same; we just need to move, re-create, account for, and all that, with a new application. So - guessing here - a good measure of copypasta, and then the rest of the work however long that takes. Do not forget that applications often have their own templates and those too will need to be re-coded.
So if I rely on custom applications or 3rd-party applications and plugins...
You will have to wait for your devs to upgrade all that for 5x before you can upgrade.
And my custom theme/s?
You will have to wait for new themes to be created for 5x; your custom ones and any 3rd-party ones you have.
But I want it now!
3rd-party devs like me not only have to learn the new system, we have all our public offerings to rewrite - that's applications, plugins-to-applications, themes, and we also have our own clients with PRIVATE applications and plugins and themes - stuff the general public is not typically aware of, and then on top of that we have the same stuff for our OWN SITES: not something like this All Astronauts joint, but our very own community/s just like yours.
This is going to be an excrement-ton of work - perhaps not on the individual item level, but take the full scope of what we have to actually do. Rotating tires on a car is not particularly time-consuming but if it is just you rotating the tires for an entire fleet of 18-wheelers...
If you expect all of our public offerings to be 5x ready out of the gate for the 5x final initial release you are probably going to be disappointed. Things will change throughout the beta cycle and although we'll try to keep up as we undertake all the rewrites, the general nature of the thing probably means we won't have all that work done. On top of that, what will we be prioritizing? Our own sites? Our private clients? Our public applications and themes? No answers there, for myself, or other devs.
So when should I upgrade?
When you have all your MUST-HAVE 3rd-party things (applications/themes) available for 5x and if you have custom applications, when those are flagged ready by your dev.
Beyond that ask yourself: is 5x ready for you? Some people jump onboard the moment the newness arrives. Others tend to wait out a point version or two. I don't think I punched my sites over to 4x until 4.2 or 4.3.
The conditions back then were different than what we are about to have now. That 4x launch, as stated before, was an entire re-write. Most of us on the dev-side considered the 4.0.0 final as still a beta. They had to push it out the door sometime and it was good enough; but there was still work to be done (as seen with moving the editor out from iframe and the file storage changes enacted with 4.1.0). I think we (collectively) saw 4.2.0 as the real final, production-ready release, and we mostly stopped bitching about god-knows-what after 4.4.x came around.
This time? It's not a total re-write. The base is already solid as hell so the main hold-up is likely going to be getting applications and themes set up for deployment on 5.x and I imagine a lot of upgrades will occur once 5.1.x rolls out. That's the way I see it going but maybe, just maybe, if the 5x betas are pretty alright and the upgrade work is not as hellish as it appears we all start pushing through not too long after 5x goes final. Time will tell; and remember: 4x is going to be supported throughout 2024, and probably into 2025 for a time.
Read more here: https://invisioncommunity.com/news/invision-community/