ℹ️ This release is mostly focused on Web instances.
If you only use metrics through GitHub Actions, you can ignore this version.
🎉 Thanks to all my sponsors, metrics.lecoq.io has been migrated on a more powerful server and should be able to handle more requests!
📦 New features
- 🌐 Web instances
- Home page has been redesigned to better guide users through the different features of metrics
📊 Metrics embed
is now accessible through/embed/
- Action and markdown tabs can now be displayed without entering an username
✨ Metrics insights
is now accessible through/insights/
- Backwards compatibility with previous endpoints has been kept
/:login
and/:login/:repository
will still generate embed metrics/about/
will redirect towards/insights/
- Add support for new options in
settings.json
outputs
can be used to restrict which output formats can be used withconfig.output
modes
can be used to separately enable or disableembed
andinsights
modescontrol.token
can be used to configure a token which can be used by external services to perform action on instance/.control/stop
can be used to stop instance (useful to redeploy or restart it)
- Add more granularity to
extras.features
to enable advanced plugin features- The following permissions are currently supported:
metrics.setup.community.templates
: Allow community templates downloadmetrics.setup.community.presets
: Allow community presets usagemetrics.api.github.overuse
: Allow GitHub API intensive requestsmetrics.cpu.overuse
: Allow CPU intensive requestsmetrics.run.tempdir
: Allow access to temporary directory (including I/O)metrics.run.git
: Allow to run gitmetrics.run.licensed
: Allow to run licensedmetrics.run.user.cmd
: Allow to run ANY command by user (USE WITH CAUTION! May result in token leaks by malicious users)metrics.run.puppeteer.scrapping
: Allow to run puppeteer to scrape datametrics.run.puppeteer.user.css
: Allow to run CSS by user during puppeteer rendermetrics.run.puppeteer.user.js
: Allow to run JavaScript by user during puppeteer rendermetrics.npm.optional.chartist
: Allow use of chartistmetrics.npm.optional.gifencoder
: Allow use of gifencodermetrics.npm.optional.libxmljs2
: Allow use of libxmljs2
-
⚠️ If you deployed a web server with a previous version, you may need to reconfigure
extras.features
with some of the permissions listed above to keep some plugins working - The following settings has been deprecated:
extras.presets
should now useextras.features
withmetrics.setup.community.presets
extras.js
should now useextras.features
withmetrics.run.puppeteer.user.js
extras.css
should now useextras.features
withmetrics.run.puppeteer.user.css
- The following permissions are currently supported:
- Settings display on startup has been improved
- Home page has been redesigned to better guide users through the different features of metrics
🧰 Fixes and documentation
- fix(app/web): force
faker
to be uncached for users who used a previous version of web instance - fix(deps): libxmljs2 is now an optional dependency
- docs(plugins,templates): clarification, fix typos and style
- fix(plugins): improved error handling and messages
🔐 Security fixes
The following editions fix security issues that were reported by dependabot from unmaintained or outdated dependencies:
- fix(deps): migrated from jimp to sharp
- fix(deps): node-chartist is now an optional dependency
- ⚠️ This dependency is still subject to CVE-2021-20066, but there are currently no replacement for this one which is why it now requires
metrics.npm.optional.chartist
permissions and is optional
- ⚠️ This dependency is still subject to CVE-2021-20066, but there are currently no replacement for this one which is why it now requires
💕 Sponsors
project maintained by @lowlighter
♥️ Become a sponsor