Skip to content

Releases: lowlighter/metrics

Version 3.34

13 Sep 02:39
Compare
Choose a tag to compare

πŸ“¦ 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)

🧰 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

28 Mar 07:50
Compare
Choose a tag to compare

πŸ“¦ New features

  • πŸ•ΉοΈ Steam✨ new!
    • Use plugin_steam, plugin_steam_token and plugin_steam_user to display data about your Steam account and games ! (#1400)
    • Use plugin_steam_sections to select which section should be displayed between your player profile, most-played games and recently-played games
    • Use plugin_steam_games_ignored, plugin_steam_games_limit, plugin_steam_recent_games_limit and plugin_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
  • πŸ—³οΈ Leetcode
    • Use plugin_leetcode_ignored_skills to filter out skills or entire skills categories
  • ✨ Stargazers
    • Use plugin_stargazers_days to select the displayed time range rather than being limited to 14 days
      • Set plugin_stargazers_days: 0 to cover entire account or repository history
    • Changed charts renderer from chartist to D3
      • πŸͺ¦ Deprecated plugin_stargazers_charts_type: chartist by plugin_stargazers_charts_type: graph
  • πŸ’‘ Coding habits and activity
    • Changed charts renderer from chartist to D3
      • πŸͺ¦ Deprecated plugin_habits_charts_type: chartist by plugin_habits_charts_type: graph

🎲 Community plugins

  • 🧠 16personalities✨ new!
    • Use plugin_16personalities and plugin_16personalities_url to display a 16personalities profile (#1402)
    • Use plugin_16personalities_sections to select which section should be displayed between your personality, profile and traits report
    • Use plugin_16personalities_scores to control whether to display score for each trait
  • πŸ¦‘ 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

18 Jan 10:28
Compare
Choose a tag to compare

πŸ“¦ New features

  • πŸ’ GitHub sponsorships✨ new!
    • Use plugin_sponsorships, plugin_sponsorships_sections and plugin_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 !
  • πŸ¦‘ Miscelleanous
    • Add support for --winter debug flag to force winter mode on calendars (#1341)

🧰 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

22 Dec 05:03
Compare
Choose a tag to compare

πŸ“¦ New features

  • πŸ¦‘ Miscelleanous
    • Add new debug_flags debug flags for puppeteer (#1317)
  • 🌐 Web instances
    • If insights is used with missing extras features permissions, warnings will be displayed on resulting page

🎲 Community plugins

  • πŸ“Έ Website screenshot
    • Add plugin_screenshot_mode to choose between image or text output (#1324)

🧰 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

13 Dec 07:34
Compare
Choose a tag to compare

πŸ“¦ 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

🎲 Community plugins

  • πŸ¦‘ Splatoon ✨ new!
    • Configure plugin_splatoon_token to display your Splatnet 3 data ! (#1287, #1303)
    • Enable plugin_splatoon_statink and set plugin_splatoon_statink_token for stat.ink integration
    • Display your player nameplate, last versus matches and last salmon-run shifts using plugin_splatoon_sections !
      • Use plugin_splatoon_versus_limit or plugin_splatoon_salmon_limit to configure the number of matches displayed
  • β™ŸοΈ Chess
    • fix: black pawn represented as emoji instead of unicode
  • πŸ“Έ Website screenshot
    • Add plugin_screenshot_viewport to configure screenshot viewport (#1288)
    • Add plugin_screenshot_wait to delay screenshot (#1288)
    • fix: wait for idle network and dom loaded

🧰 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

20 Nov 10:03
Compare
Choose a tag to compare

πŸ“¦ 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)
  • 🈷️ 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 or git 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)
  • πŸ¦‘ Miscelleanous
  • 🌐 Web instances

🧰 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!

08 Sep 21:45
Compare
Choose a tag to compare

πŸ“¦ 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 of solved problems, tagged skills and recent submissions
      • Use plugin_leetcode_limit_skills and plugin_leetcode_limit_recent to limit displayed content
  • πŸ““ Featured repositories
    • Add plugin_repositories_forks to choose whether to display forked repositories in starred/random repositories sections
  • 🎩 Notable contributions
    • Add plugin_notable_self to choose whether to include own repositories or not
  • πŸ’‘ Coding habits and activity
    • Add plugin_habits_skipped to support skipping repositories (this inherits from repositories_skipped)
  • πŸ¦‘ 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

🎲 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)

🧰 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!

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

15 Aug 02:08
Compare
Choose a tag to compare

πŸ“£ 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
    • Add plugin_sponsors_title to set a custom sponsors section title (#1128, @Lissy93)
  • πŸ’‘ Coding habits
    • Add plugin_habits_languages_threshold to hide languages below a certain usage threshold (#1138)
  • ✨ 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
  • πŸŒ‡ GitHub Skyline 3D calendar
  • πŸ‘¨β€πŸ’» Lines of code changed
    • Add plugin_lines_sections to choose whether to display a single line in base plugin, or display repositories with most lines added/removed, or a diff history
    • Add plugin_lines_repositories_limit to limit displayed repositories for repositories section
    • Add plugin_lines_history_limit to limit the number of years displayed by diff history graph
  • πŸ—‚οΈ GitHub projects
  • πŸ““ 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 display featured, pinned, starred and random repositories #1179
    • Add plugin_repositories_affiliations to control which repositories are fetched by plugin_repositories_starred and plugin_repositories_random #1179
  • πŸ¦‘ Miscelleanous
  • 🌐 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)
      • Signing in lets users use their own GitHub token rather than the configured shared token
        • Users can also customize which scopes they'd like to provide
      • Additional extras features permissions can be granted to logged users through conf.settings.extras.logged
    • 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 reconfigure extras.features with some of the permissions listed above to keep some plugins working

🧰 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

11 Jul 20:50
Compare
Choose a tag to compare

ℹ️ 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 with config.output
      • modes can be used to separately enable or disable embed and insights modes
      • control.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 download
          • metrics.setup.community.presets: Allow community presets usage
          • metrics.api.github.overuse: Allow GitHub API intensive requests
          • metrics.cpu.overuse: Allow CPU intensive requests
          • metrics.run.tempdir: Allow access to temporary directory (including I/O)
          • metrics.run.git: Allow to run git
          • metrics.run.licensed: Allow to run licensed
          • metrics.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 data
          • metrics.run.puppeteer.user.css: Allow to run CSS by user during puppeteer render
          • metrics.run.puppeteer.user.js: Allow to run JavaScript by user during puppeteer render
          • metrics.npm.optional.chartist: Allow use of chartist
          • metrics.npm.optional.gifencoder: Allow use of gifencoder
          • metrics.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 use extras.features with metrics.setup.community.presets
          • extras.js should now use extras.features with metrics.run.puppeteer.user.js
          • extras.css should now use extras.features with metrics.run.puppeteer.user.css
      • Settings display on startup has been improved

🧰 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

πŸ’• Sponsors

β™₯️ Become a sponsor

project maintained by @lowlighter

Version 3.25

01 Jul 18:54
Compare
Choose a tag to compare

πŸ“¦ New features

  • πŸ“† Repositories
    • Add plugin_repositories_pinned to display pinned repositories (#1100)
  • ⏱️ Website performances
  • 🎟️ Follow-up of issues and pull requests
    • Add plugin_followup_archived to toggle archived repositories issues and pull request count (#1101, @JayantGoel001)
  • πŸ’‘ Coding habits
    • Add plugin_habits_languages_limit to limit number of displayed languages
  • ✨ 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 and repositories 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