ℹ️ 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 embedis now accessible through/embed/- Action and markdown tabs can now be displayed without entering an username
✨ Metrics insightsis now accessible through/insights/- Backwards compatibility with previous endpoints has been kept
/:loginand/:login/:repositorywill still generate embed metrics/about/will redirect towards/insights/
-
- Add support for new options in
settings.jsonoutputscan be used to restrict which output formats can be used withconfig.outputmodescan be used to separately enable or disableembedandinsightsmodescontrol.tokencan be used to configure a token which can be used by external services to perform action on instance/.control/stopcan be used to stop instance (useful to redeploy or restart it)
- Add more granularity to
extras.featuresto 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 reconfigureextras.featureswith some of the permissions listed above to keep some plugins working - The following settings has been deprecated:
extras.presetsshould now useextras.featureswithmetrics.setup.community.presetsextras.jsshould now useextras.featureswithmetrics.run.puppeteer.user.jsextras.cssshould now useextras.featureswithmetrics.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
fakerto 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 requiresmetrics.npm.optional.chartistpermissions and is optional
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
