I'm going to wait until the upgrade process is ready but let's say I wanted to do a fresh install. Several threads on this topic make the recommendation to "make a backup first" which makes perfect sense. But, that's the easy part. How does one actually restore the backup after a fresh install if the OS?
Is there a strategy that defines exactly what to backup and how to restore it? I'm assuming that all programs I've installed will have to be downloaded and reinstalled. Then, all data/configs/files for those installs have to be restored - most likely by hand. Is there a simpler way?
The reality is that different programs work differently. Some have their own import/export mechanism but others don't. Web browsers, for example, have an option to do this for bookmarks, but not for other important files like settings and extensions.
Often, it's just a plain text file that you can edit directly to change the settings. Backing up this file and then restore it at the right location is enough. For example, to keep your theme, fonts, etc as it is in the new system there's a file located at ~/.config/gtk-3.0/settings.ini that handles all of this. For Zorin OS in particular, this is one of the easiest things to configure so I don't know if it'd be on my files to backup, but the option is definitely there.
If you are tech-savvy, you can automate the restore process using a shell script or tools like Ansible. Or, you can create a dedicated partition for your personal files, so that a new install wouldn't affect them and at least make some of this restore process a bit easier.
Ultimately, however, you need to come up with your own strategy based on your needs.
Multiply that by a dozen or so different programs and the job becomes tedious and error prone. I have Apache, MariaDB, vscode and many utilities. It just isn't feasible unless there was a catastrophic failure and a recovery was really necessary.
The point I wanted to make with this post is that it isn't just "do a backup and a fresh OS install". If you go that route, it has to be thought through carefully.
Best to wait for the auto-upgrade (after making a full backup of course )
Yes, definitely use this and let is upgrade on its own
Another way of seeing this is you will have to replace your computer at some point, and go over all of this anyway. Might as well be prepared!
Of course, this isn't something that you do in one afternoon. But over time, you can create a reliable backup script or some other process that ensures you have everything you need. Even a simple check list is a backup strategy.
For things like LAMP applications (I assume that's what you're running) I'd recommend Docker. It can be complex for larger deployments, but for self-hosting or even small setups it makes it a breeze.
VS Code is good example of a program that makes this sort of thing very easy to do as you can export/import your entire profile, with settings, keybindings, extensions, etc.