CHANGELOGS
Show changelogs of modules in a non intrusive way.
Why?
Module developers have no way of issuing changelogs or important warnings in a clean and streamlined way. This module adds a non intrusive way for users to get important informations.
How does it work?
You can chose the level of importance you want to see
With four options
Once you close the window you will not get notified again for the current version of the module
If you accidentaly closed a popup and want to check all your changelogs just click the show all changelogs button in Changelogs settings
All
Any changelog and warning will be shown
Major
Only updates with new features (and above) will be shown
Breaking
Only updates with breaking changes (and above) will be shown
Critical
Only for emergencies, this is for module developers to issue critical messages
Color Codes
Purple: Critical Red: Breaking Yellow: Major Blue: Minor
How to include changelogs in your module:
Including a changelog is very simple, just call the libChangelogs.register()
in the libChangelogsReady
hook. Since changelogs is registered on a custom hook you don't need to check if the module is active before you register your changelog
/**
* @param {string} moduleId The package identifier, i.e. the 'id' field in your module/system/world's manifest.json
* @param {string} html The html to be inserted into the changelog
* @param {string} warnLevel The level of warning to be displayed.
*
* The possible types are:
*
* - critical:
* Only use for emergencies, something went wrong or the update requires immidiate action from the user. This warning level CANNOT be disable by the user
* - breaking:
* A breaking change that requires action from the user but will not cause issues if left unattended (eg. a new feature that requires some manual configuration changes).
* - major:
* One or more Major features have been added to the module, let the user know what they do or link to other resources.
* - minor:
* Minor bugfixes or changes that won't impact the user experience with your module (this is the default option).
* **/
libChangelogs.register(moduleId, html, warnLevel="minor")
Example
Hooks.once('libChangelogsReady', function() {
libChangelogs.register("yourmoduleid","THIS UPDATE BREAKS EVERYTHING","critical")
})