Update
The first part of the refactorization has been completed. This includes separating the different versions of chunk format schemes, which should make it easier to add additional versions. Currently only the minor versions that had significant changes are supported, from 1.3.0 (below 1.3.0 is McRegion, which is supported in PixelMap Alpha) up to the latest 1.18.2(and beyond per default if possible). Version 1.7, 1.12,1. 13, 1.14, 1.15, 1.16, 1.17 and 1.18 has currently been tested.
In addition to moving code around for easier compatibility handling, several code paths was secured down and a lot of unpredictable bugs were squashed. Due to the immense changes coming of 1.18, the code base suffered some serious changes, but it invited to some better handling of certain features. The refactorization was of great help to separate different code paths. Sadly, this resulted in duplicate code, but that could be solved in the future with some generalized functions that can be shared between versions.
Helgrind has been tested, but due to the amount of output it is best to take more time to investigate further what it means and if this will help at all.
It was discovered that PixelBlock, the tool that generates the palette file, needed to be updated, but apparently the wiki where it scrapes the data was changed slightly, rendering the tool useless unless fixed. Further, the key/values seems to be a bit off, so there may be some fixing there as well. It was intended to be used only to get a basic platform to then modify the values where necessary, so it might be ignored for now and the old generated file could be used instead.
Finally, a version may be compiled and released later, but currently will be put on hold until the program is considered stable enough. Maybe Linux CLI may be released.