Now there is more visible and consistent information such as the number
of patches and how far you're into the patching process. It's harder to
close or quit the window while patching to prevent errors, and
installing patches no longer freezes the window.
And fixes an issue where the boot component would never properly update.
The old pre-async login system (especially SE's) was this weird mess
and it wasn't clear what data was flowing where, etc. Now it's a flat
function with comments and a bit better logging.
In the rare situation where the goatcorp servers are offline, they
shouldn't prevent a profile from launching. This adds an option to
quickly disable Dalamud if needed.
Now the asset updating process is parallelized (especially asset file
downloading). There's less wasteful usage of the patcher and game
version reading when no patches need to be installed.
Not every domain and server will be around forever, so now you can configure the two Square Enix domains used for login
and patching. And you can configure the Dalamud domain used to download assets, etc.
The data directory has been rearranged, and all the Dalamud data is
stored separately, so it's no longer clogging up everything. Dalamud
logs (and our own logs, when that's implemented) now exist in
XDG_STATE_HOME, instead of the data directory.
The game directory now exists under the data directory, instead of
~/.wine. The user path is set before launching the game, and it now
exists under the data directory too. These are also prefixed to the
user and profile UUID that it belongs to.
The "keep patches" option is now implemented (which is off by default)
and it lives in the temporary directory now.
Giant commit overhauling the interface to use KDE's Kirigami framework,
which is based on Qt Quick. The logic is all but rewritten, allowing
accounts to be separate from profiles.