Releases: lowlighter/metrics
Version 3.34
📦 New features
- 👨💻 Lines of code changed
- Add
plugin_lines_delay
option 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_token
andplugin_steam_user
to display data about your Steam account and games ! (#1400) - Use
plugin_steam_sections
to select which section should be displayed between yourplayer
profile,most-played
games andrecently-played
games - Use
plugin_steam_games_ignored
,plugin_steam_games_limit
,plugin_steam_recent_games_limit
andplugin_steam_playtime_threshold
to control which games should be displayed - Use
plugin_steam_achievements_limit
to 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_skills
to filter out skills or entire skills categories
- Use
- ✨ Stargazers
- 💡 Coding habits and activity
🎲 Community plugins
- 🧠 16personalities✨ new!
- Use
plugin_16personalities
andplugin_16personalities_url
to display a 16personalities profile (#1402) - Use
plugin_16personalities_sections
to select which section should be displayed between yourpersonality
,profile
andtraits
report - Use
plugin_16personalities_scores
to 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_sections
andplugin_sponsorships_size
to 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
--winter
debug 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_flags
debug flags for puppeteer (#1317)
- Add new
- 🌐 Web instances
- If
insights
is used with missing extras features permissions, warnings will be displayed on resulting page
- If
🎲 Community plugins
- 📸 Website screenshot
- Add
plugin_screenshot_mode
to choose betweenimage
ortext
output (#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
token
as 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_ignored
to ignore specified languages (#1224, @TonyCrane) - Add
plugin_starlists_languages_aliases
to alias specified languages with other names (#1224, @TonyCrane)
- Add
- 🈷️ Languages activity
- Refactor of
indepth
mode for better maintainability, performances and accuracy (#1118)- See #1258 for more informations
- Add
plugin_languages_indepth_custom
to specify custom repositories, branches orgit rev-list
expressions (#1118)- External repositories outside of github.com are now supported too (#1118)
- Add
plugin_languages_analysis_timeout_repositories
to 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 plugins
for 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_user
to link it to your username - Use
plugin_leetcode_sections
to display number ofsolved
problems, taggedskills
andrecent
submissions- Use
plugin_leetcode_limit_skills
andplugin_leetcode_limit_recent
to limit displayed content
- Use
- 📓 Featured repositories
- Add
plugin_repositories_forks
to choose whether to display forked repositories instarred
/random
repositories sections
- Add
- 🎩 Notable contributions
- Add
plugin_notable_self
to choose whether to include own repositories or not
- Add
- 💡 Coding habits and activity
- Add
plugin_habits_skipped
to support skipping repositories (this inherits fromrepositories_skipped
)
- Add
- 🦑 Miscelleanous
embed
function 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_threshold
to 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_worldmap
to display a worldmap of stargazers's origins! (#1137)- Add
plugin_stargazers_charts
to toggle charts display - Add
plugin_stargazers_worldmap_token
to set Google Maps Geocoding API- (other Geocoding services may be supported at a later date #1162)
- Add
plugin_stargazers_worldmap_sample
to set how many stargazers should be sampled
- Add
- 🌇 GitHub Skyline 3D calendar
- Add
plugin_skyline_settings
to 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_sections
to choose whether to display a single line inbase
plugin, or displayrepositories
with most lines added/removed, or a diffhistory
- Add
plugin_lines_repositories_limit
to limit displayed repositories forrepositories
section - Add
plugin_lines_history_limit
to limit the number of years displayed by diffhistory
graph
- Add
- 🗂️ GitHub projects
- Add basic support for GitHub Projects (beta)
- 📓 Featured repositories
- Add
plugin_repositories_starred
to display your most starred repositories #1179 - Add
plugin_repositories_random
to randomly display some of your repositories #1179 - Add
plugin_repositories_order
to choose how to displayfeatured
,pinned
,starred
andrandom
repositories #1179 - Add
plugin_repositories_affiliations
to control which repositories are fetched byplugin_repositories_starred
andplugin_repositories_random
#1179
- Add
- 🦑 Miscelleanous
- Add
github_api_rest
andgithub_api_graphql
to 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.any
metrics.api.google.pagespeed
metrics.api.twitter.tweets
metrics.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.features
with 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 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 reconfigureextras.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 requiresmetrics.npm.optional.chartist
permissions and is optional
💕 Sponsors
♥️ Become a sponsor
project maintained by @lowlighter
Version 3.25
📦 New features
- 📆 Repositories
- Add
plugin_repositories_pinned
to display pinned repositories (#1100)
- Add
- ⏱️ Website performances
- Add
plugin_pagespeed_pwa
to display PWA (Progressive Web App) badge (#1101, @JayantGoel001)
- Add
- 🎟️ Follow-up of issues and pull requests
- Add
plugin_followup_archived
to toggle archived repositories issues and pull request count (#1101, @JayantGoel001)
- Add
- 💡 Coding habits
- Add
plugin_habits_languages_limit
to 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
,sponsors
andrepositories
plugins (#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):
insight
output 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