With this thcrap is able to look for updates without depending on the repository and pick different URLs depending on information stored on its update server.
Now a PROJECT_BRANCH property is globally available, allowing for different versions of thcrap to be created and maintained differently without having to modify thcrap_update.dll;
Instead of cycling through every patch.js stored in the repository searching for the highest "thcrap_version_min", it tries to download a json ("thcrap_update.js") from one of its update servers.
thcrap_update.js contains a "branch" object, and every branch object contains its latest version number, the path to download the latest version, plus a list of optional milestones, which have to be downloaded before every other update (an example is available here);
Failing to download thcrap_update.js generates an error similar to the ones triggered when an update fails. Multiple consequential error of this type will be suppressed while still logging;
config.js is now globally available and is accessible through accessors that handle type conversions and errors. Every change is immediately persisted (different processes/instances may generate unintended behavior. This isn't really a new problem, but it's something to keep in mind).
Some changes have been backported from Restructuring
With this thcrap is able to look for updates without depending on the repository and pick different URLs depending on information stored on its update server.
Some changes have been backported from Restructuring