Updating MCL is quite easy due to git and database migrations.
vendor/data/ and note the current commit message which you can get with the
Ingame update is available via
!mclupdate [exit] (i) command.
The output in the chat will show you something like this:
[MCL] Updating MCL...
[MCL] git was: old commit message
[MCL] git now: new commit message
This step is universal for all platforms. You just need to adjust the paths accordingly.
Don't forget to restart MCL.
It should happen very rarely but when the config version changes you will have to update your config file manually.
MCL will refuse to launch with an outdated config and if running in the background will retry infinitely.
If you change code in MCL (this does not apply for additional custom handlers) merge conflicts may arise on pulling the latest changes. I highly recommend a git GUI and a code editor to fix these. It's not that hard!
I can't explain git in a few sentences but this video here shows how to resolve conflicts. Note that the first part of the video is just about provoking a conflict, that's my job ;)
MCL updates may break custom handlers you use or cause other problems. To rollback search for the commit message in the history you were running on and copy the full SHA identifier.
Then run the following command in your MCL directory.
git reset --hard <SHA identifier>
Since buildin handlers or the MCL core may have migrated the database to a new format you should restore the sqlite files which you hopefully backed up.