Releases: lowlighter/metrics
Version 3.34
📦 New features
- 👨💻 Lines of code changed
- Add
plugin_lines_delayoption to mitigate empty results on first query #1530- (Use this option to automatically perform a second request if you encounter zeroed-diffs values)
- Add
🧰 Fixes and documentation
chore: upgrade dependencies
docs(steam): correct plugin_steam_user example (#1413, @CCXXXI)
fix(community/template): quickstart
fix(plugins/achievements): update total data acquisition method (#1487, @TonyCrane)
fix(plugins/achievements): find pre-2007 activity (#1493, @LucasLarson)
fix(plugins/achievements): fix progress of rank A (#1430, @TonyCrane)
fix(app/utils): don't die on undefined file type buffer
fix(app/utils): pie graph when less than 3 values
fix(plugin/achievements): use graphql first for initial setup and fix regex
🪦 Deprecations
🐤 Latest tweetstweets has been deprecated as Twitter removed the ability to fetch tweets from their free API as part of their new pricing policy. This plugin will no longer maintained.
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.33
📦 New features
- 🕹️ Steam✨ new!
- Use
plugin_steam,plugin_steam_tokenandplugin_steam_userto display data about your Steam account and games ! (#1400) - Use
plugin_steam_sectionsto select which section should be displayed between yourplayerprofile,most-playedgames andrecently-playedgames - Use
plugin_steam_games_ignored,plugin_steam_games_limit,plugin_steam_recent_games_limitandplugin_steam_playtime_thresholdto control which games should be displayed - Use
plugin_steam_achievements_limitto control how many achievements should be displayed per game entry - Example: Recently played games
- Example: Profile and detailed game history
- Use
- 🗳️ Leetcode
- Use
plugin_leetcode_ignored_skillsto filter out skills or entire skills categories
- Use
- ✨ Stargazers
- 💡 Coding habits and activity
🎲 Community plugins
- 🧠 16personalities✨ new!
- Use
plugin_16personalitiesandplugin_16personalities_urlto display a 16personalities profile (#1402) - Use
plugin_16personalities_sectionsto select which section should be displayed between yourpersonality,profileandtraitsreport - Use
plugin_16personalities_scoresto control whether to display score for each trait -
- Use
- 🦑 Splatoon
- Upgrade s3si to v2
- Add icons from weapons, specials and stages from Fresh season
- 💹 Stock prices
🧰 Fixes and documentation
fix(app/metrics/utils): support base64 svg
chore(deps): bump minimatch from 6.0.4 to 6.1.6 (#1389, @RJid)
fix(ci): missing cache path and code formatter
fix(plugins/traffic): display scope errors
chore(deps): migrate from chartist to d3
🎉 Celebrating 10000 stars!
Thanks again for all of your feedbacks, support and contributions, and I hope you'll continue using Metrics in the future 😎 !
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.32
📦 New features
- 💝 GitHub sponsorships✨ new!
- Use
plugin_sponsorships,plugin_sponsorships_sectionsandplugin_sponsorships_sizeto display the amount you funded into open source software through GitHub sponsors ! (#1358) - Also display people and organization you're sponsoring or sponsored in the past !
-
- Use
- 🦑 Miscelleanous
- Add support for
--winterdebug flag to force winter mode on calendars (#1341)
- Add support for
🧰 Fixes and documentation
fix(plugins/stargazers): bad scale on worldmap when not enough values
docs: add an example for preventing GitHub from auto linking to the image (#1339, @xxchan)
fix(deps): remove dependency on d3-node since it is unmaintained (#1329)
fix(deps): switch from twemoji-parser to @twemoji/parser fork since main repo is unmaintained (#1355)
fix(plugins/lines): add support for organization history (#1356)
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.31
📦 New features
- 🦑 Miscelleanous
- Add new
debug_flagsdebug flags for puppeteer (#1317)
- Add new
- 🌐 Web instances
- If
insightsis used with missing extras features permissions, warnings will be displayed on resulting page
- If
🎲 Community plugins
- 📸 Website screenshot
- Add
plugin_screenshot_modeto choose betweenimageortextoutput (#1324)
- Add
🧰 Fixes and documentation
fix(app/metrics): SVGs broken on markdown templates (#1315)
fix(plugins/music): spotify playlist mode due to UI changes
fix(plugins/community/stock): undefined quoteType
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.30
📦 New features
- 🦑 Miscelleanous
- The action will throw an error when trying to use GitHub fine-grained personal access tokens as
tokenas it's not possible to use them to authenticate to GitHub GraphQL API yet- If fine-grained PATs can be used for authenticating to GraphQL API in the future, support for them will be considered
- The action will throw an error when trying to use GitHub fine-grained personal access tokens as
🎲 Community plugins
- 🦑 Splatoon ✨ new!
- ♟️ Chess
- fix: black pawn represented as emoji instead of unicode
- 📸 Website screenshot
🧰 Fixes and documentation
docs: improve community plugins
docs: improve references
fix(app/action): mishandled config_output (#1293, #1295)
fix(app/web): unsupported plugins display notice
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.29
📦 New features
- 💫 Star lists
- Add
plugin_starlists_languages_ignoredto ignore specified languages (#1224, @TonyCrane) - Add
plugin_starlists_languages_aliasesto alias specified languages with other names (#1224, @TonyCrane)
- Add
- 🈷️ Languages activity
- Refactor of
indepthmode for better maintainability, performances and accuracy (#1118)- See #1258 for more informations
- Add
plugin_languages_indepth_customto specify custom repositories, branches orgit rev-listexpressions (#1118)- External repositories outside of github.com are now supported too (#1118)
- Add
plugin_languages_analysis_timeout_repositoriesto limit analysis timeout on a per-repository basis (#1118) - Repository templates now support the recently used section (#1118)
- Refactor of
- 🦑 Miscelleanous
- Support advanced patterns for skipping repositories (#1260)
- See
🔕 Skipping repositories in pluginsfor more informations
- See
- Support advanced patterns for skipping repositories (#1260)
- 🌐 Web instances
- Add a button to copy markdown directly to clipboard (#1246, @sercanuste)
🧰 Fixes and documentation
fix(plugins/starlist): unbroken loop for star lists with a single page (#1224, @TonyCrane)
docs(plugins/core): fix output_action description (#1225, @tobealive)
fix(app/metrics): irrevelant warnings for embed function (#1244)
fix(templates/repositories): set repositoriesContributedTo to empty
fix(plugins/languages): EISDIR: illegal operation on a directory
chore(deps): make specialized deps optional (#1259)
fix(docs): example for github_api_graphql
fix(docs): license setup command clarification
fix(metrics/insights): bad GitHub Linguist link (#1277, @mastondzn)
fix(metrics/insights): link from GitHub Linguist to LinguistJS (#1282, @Nixinova)
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.28 — 🥳 2y of metrics!
📦 New features
- 🗳️ Leetcode ✨ new!
- Display your stats from your LeetCode account ! #1213
- Use
plugin_leetcode_userto link it to your username - Use
plugin_leetcode_sectionsto display number ofsolvedproblems, taggedskillsandrecentsubmissions- Use
plugin_leetcode_limit_skillsandplugin_leetcode_limit_recentto limit displayed content
- Use
-
- 📓 Featured repositories
- Add
plugin_repositories_forksto choose whether to display forked repositories instarred/randomrepositories sections
- Add
- 🎩 Notable contributions
- Add
plugin_notable_selfto choose whether to include own repositories or not
- Add
- 💡 Coding habits and activity
- Add
plugin_habits_skippedto support skipping repositories (this inherits fromrepositories_skipped)
- Add
- 🦑 Miscelleanous
embedfunction now displays warnings for possible misconfigurations
- 🌐 Web instances
- Passed options can be prefixed by
plugin.to disambiguate some options with name collision - Improved errors messages when a plugin or an option is disabled on a web instance
- Passed options can be prefixed by
🎲 Community plugins
- ♟️ Chess ✨ new!
- Showcase your last chess game with this plugin ! #1215
- Chessboard is animated and will replay the whole match !
- (Support currently limited to lichess.org as
plugin_chess_platform) -
- Showcase your last chess game with this plugin ! #1215
🧰 Fixes and documentation
- fix(app/web): oauth color for light mode
- fix(app/web): remove debug log
- fix(app/web): add disclaimer about using localstorage
- feat(ci): add check-spelling (@jsoref, #1189)
- fix(tests): faker deprecations
- fix(app/insights): display issues for small screen
- fix(app/web): clean session token when expired
- fix(plugins/tweets): handle non text/html attachments
🎉 Celebrating 2 years of metrics!
Thanks to all past contributors!
- @Nixinova
- @spenserblack
- @JayantGoel001
- @Milo123459
- @jayvdb
- @matievisthekat
- @bokub
- @Zenoo
- @DalpatRathore
- @cherryblossom000
- @aleen42
- @jsoref
- @ArdaGurcan
- @joe733
- @raftario
- @crazyuploader
- @MatteoGheza
- @s-takehana
- @TheNetAdmin
- @MeerBiene
- @PeterNjeim
- @rhld16
- @billpwchan
- @legoandmars
- @lhvy
- @kimlimjustin
- @qinyihao
- @Penguinlay
- @yutkat
- @Infiniticity
- @funkypenguin
- @RSickenberg
- @aw1cks
- @Lissy93
- @PeterDaveHello
- @renbaoshuo
- @L-Clem
- @RisingSunLight42
- @jopemachine
- @b3z
- @ferferga
- @0xflotus
Thanks again for your feedbacks and support, and I hope you'll continue using Metrics in the future 😎 !
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.27
📣 You can now use beta-metrics.lecoq.io to test upcoming releases of metrics.lecoq.io!
📣 You can now login through GitHub OAuth on metrics.lecoq.io to use your own read-only token (revokable anytime) and access more API intensive features that aren't enabled on the web instance by default!
📦 New features
- 💕 GitHub Sponsors
- 💡 Coding habits
- Add
plugin_habits_languages_thresholdto hide languages below a certain usage threshold (#1138)
- Add
- ✨ Stargazers
- (This plugin was renamed from "Stargazers over last weeks" to "Stargazers" in the documentation)
- Add
plugin_stargazers_worldmapto display a worldmap of stargazers's origins! (#1137)- Add
plugin_stargazers_chartsto toggle charts display - Add
plugin_stargazers_worldmap_tokento set Google Maps Geocoding API- (other Geocoding services may be supported at a later date #1162)
- Add
plugin_stargazers_worldmap_sampleto set how many stargazers should be sampled -
- Add
- 🌇 GitHub Skyline 3D calendar
- Add
plugin_skyline_settingsto support alternate skylines, like Github City (#1139)-
- (Interested in switching from GitHub Skyline to GitHub City ? See documentation examples !)
-
- Add
- 👨💻 Lines of code changed
- Add
plugin_lines_sectionsto choose whether to display a single line inbaseplugin, or displayrepositorieswith most lines added/removed, or a diffhistory - Add
plugin_lines_repositories_limitto limit displayed repositories forrepositoriessection - Add
plugin_lines_history_limitto limit the number of years displayed by diffhistorygraph -
- Add
- 🗂️ GitHub projects
- Add basic support for GitHub Projects (beta)
-
- 📓 Featured repositories
- Add
plugin_repositories_starredto display your most starred repositories #1179 - Add
plugin_repositories_randomto randomly display some of your repositories #1179 - Add
plugin_repositories_orderto choose how to displayfeatured,pinned,starredandrandomrepositories #1179 - Add
plugin_repositories_affiliationsto control which repositories are fetched byplugin_repositories_starredandplugin_repositories_random#1179
- Add
- 🦑 Miscelleanous
- Add
github_api_restandgithub_api_graphqlto allow support of GitHub enterprises server API endpoints
- Add
- 🌐 Web instances
- UI changes (#1171)
- Clicking in the header bar now redirect to web instance root rather than this repository
- Display more clearly deprecated plugins, unsupported options and overall plugin options
- Display remaining search requests
- Add support for signing in with GitHub OAuth (#1171)
- New permissions were added for each external API
metrics.api.music.anymetrics.api.google.pagespeedmetrics.api.twitter.tweetsmetrics.api.yahoo.finance
- New permission added for D3 support
metrics.npm.optional.d3
-
⚠️ 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
- UI changes (#1171)
🧰 Fixes and documentation
fix(app/web): lookbehind replace to support Safari for metrics insights
fix(app): allow missing setting 'includes' (#1156, @jayvdb)
fix(docs): expandable json default option value
fix(docs): all plugins now display a non-affiliation disclaimer in their documentation
fix(app/web): improved 404 error handling due to collision with :login and :login/:repository routes
fix(docs): lot of misspelling (#1180, @jsoref)
fix(plugins/wakatime): plugin_wakatime_days not correctly supported
🪦 Deprecations
💭 GitHub Community Support support has been deprecated since the platform has been decomissioned and migrated to GitHub Discussions
🎉 Celebrating 8000 stars!
Thanks a lot for support 🥳 !
Stay tuned for even more features and stats!
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.26
ℹ️ 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
Version 3.25
📦 New features
- 📆 Repositories
- Add
plugin_repositories_pinnedto display pinned repositories (#1100)
- Add
- ⏱️ Website performances
- Add
plugin_pagespeed_pwato display PWA (Progressive Web App) badge (#1101, @JayantGoel001)
- Add
- 🎟️ Follow-up of issues and pull requests
- Add
plugin_followup_archivedto toggle archived repositories issues and pull request count (#1101, @JayantGoel001)
- Add
- 💡 Coding habits
- Add
plugin_habits_languages_limitto limit number of displayed languages
- Add
- ✨ Metrics insights
- Results are now responsively displayed once a plugin is completed rather than waiting for complete metrics data (#1098)
- Updated configuration to include new data from
calendar,topics,stars,reactions,sponsorsandrepositoriesplugins (#1098) - Improved formatting from activity comments to support blockquotes, code blocks and additional references (#1098)
🧰 Fixes and documentation
- fix(deps): dynamically import
gifencoder - fix(plugins/topics): don't filter iconless topics when limit is disabled
- fix(plugins/posts): "dev.to" lowercase username (#1101, @JayantGoel001)
- fix(plugins/base): repositories count (#1101, @JayantGoel001)
- fix(plugins/pagespeed): improved performances (#1101, @JayantGoel001)
- fix(metrics/insights):
insightoutput always erroring (#1098) - fix(plugins/achievements): remove relative position which is resetting flexbox container position in Safari (#1111, @Penguinlay)
- fix(plugins/pagespeed): add placeholder for PWA (#1113, @JayantGoel001)
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter






