Skip to content

Releases: lowlighter/metrics

Version 3.14 — 🥳 1y of metrics!

01 Oct 22:27
Compare
Choose a tag to compare

📦 New features

  • ♐ Code snippet of the day ✨ new!
    • Display a random code snippet of code you've recently wrote so people can see what you're currently working on! (#526)
  • 💕 GitHub Sponsors ✨ new!
    • Display your GitHub Sponsors introduction and goal and share what you're doing for open-source! (#548)
  • 📅 Isometric commit calendar
    • Statistics are now based on your overall account lifetime (#525)
    • Added new highest commit count in a single day and some minor redesigns (#528)
  • 🎩 Notable contributions
    • Display an informational message when empty (#516)

🧰 Fixes

  • achievements: rename "Scripter" to "Gister" (#498)
  • achievements: handle leap years for account age (#501)
  • languages: skip merge commits from recent analysis (#517)
  • languages: ensure lang is defined before checking categories (#529)
  • isocalendar: use local max rather than all-time max for bars scaling (#532)
  • other: update Linguist to 2.0.0 (#518)

💪 Contributors

🎉 Celebrating 1 year of metrics!

I'm honestly quite surprised that this project got so much traction, but I'd like to thank you all for your support, and more particularly:

Metrics is now a fairly large projects and has grown a lot over last year with:

  • 36 plugins which covers a wide range of usages
  • 4 templates including community templates support along with markdown, PDF and JSON outputs support
  • 3 ways of consuming metrics, using Metrics embed through either web server or GitHub Actions, or using Metrics insights for a quick overview
  • Automated workflows for testing, building, releases and deployments

I've learnt a lot with GitHub ecosystem (its API, features, the container registry, etc.), architecture designs, open-source projects management, and other various stuff.

Thanks to all past year contributors!

Thanks again for your feedbacks and support, and I hope you'll continue using Metrics in the future 😎 !

♥️ Become a sponsor

Version 3.13

20 Aug 00:19
Compare
Choose a tag to compare

📦 New features

  • 💬 Discussions plugin
    • #469 Add new metrics about your upvoted discussions and comments
  • 🏆 Achievements
    • #473 Add plugin_achievements_display option to switch to a more compact display
    • #470 Add new achievements that will display how much you're participating and helping in GitHub discussions
  • 🈷️ Languages
    • #477 Add plugin_languages_categories and plugin_languages_recent_categories options to configure which languages categories should be displayed (supported categories are data, markup, programming and prose)
  • 📘 Repository template
    • #472 Add new metrics about user count if repository hosts a GitHub Action. This uses GitHub code search to find occurences of said action in user workflows

🧰 Fixes

  • c5af923 Community templates: Fix an issue which prevented the use of community template
  • #453 Discussion plugin: Sort discussions categories display
  • #458 GitHub Action: Remove unused dependencies
  • #465 Follow-up: Use display name instead of login
  • 5c72a3c Achivements plugin: improve wording of Inspirer achievement
  • a6be52f GitHub Action: Will now rebuild image if GitHub container registry is not available instead of failing
  • 45d86dd Metrics insights: Fix display issues
  • 4490de8 Discussions plugin: Fix display issue
  • cb741f0 Lines plugin: Ignore repositories when stats could not be fetched instead of failing
  • 2fbed5a Base plugin: Fix display issues with calendar (wrong order and last day always blank)
  • #479, #480 , #487 Documentation: Fix typos
  • #485 Dependencies: Move non-NodeJS script outside of package.json
  • #467 Languages plugin: All languages colors are now loaded when using indepth option even if language wasn't previously loaded through GitHub API
  • c70b649 Habits plugin: Fix an issue where events were filtered case-sensitive, causing issues with usernames with uppercase in it
  • c70b649 Languages plugin: Fix an issue where events were filtered case-sensitive, causing issues with usernames with uppercase in it
  • 5d43b98 Web instances: Plugins only intended for repositories templates are now hidden
  • c9a1ef7 Web instances: Fix an issue where base plugin options were also displayed in repositories plugin options
  • #490 Repositories plugin: Fix an issue where using this plugin could cause unattended side effects (especially with base, follow-up and languages plugins but not limited to)

💪 Contributors

💕 Sponsors

♥️ Become a sponsor

Thanks for your support 🎉 !

Version 3.12

02 Aug 16:08
Compare
Choose a tag to compare

⚠️ Upgrading to 3.12 is highly advised to fix issues that retro-actively impacts all prior versions of metrics because of external changes (no action needed if you are using a rolling branch like @latest, @main or @master).

In particular, the following issues have been fixed:

  • Action was always rebuilt (whether using a fork or not) introducing longer runs and possible unstabilities
  • indepth feature from language plugin was entirely broken following release of github/linguist 7.16

📦 New features

  • 💬 Discussions plugin ✨ new!
    • #430 Add new section about GitHub discussions stats! It can keep track on how many discussions you started and in which categories, along your comments and answers total count
  • 📓 Repositories plugin ✨ new!
    • #431 Display a list of chosen featured repositories that you are proud of using this new plugin!
  • 🏅 Repository contributors
    • #443 Display your repositories contributors per contribution categories!
  • 🏆 Achievements
    • #435 Surpass your limits with new achievement S rank! Collect these crimson badges to prove you're the very best!
    • #434 Add new "Deployer" achievements that count your CD/CI deployments on your repositories
  • 📘 Repository template
    • #433 Add deployments and environments metrics
  • 🌐 Web instances
    • b4ceb43 Add missing placeholder elements
    • #438 Add flags extras.features to enable unsafe and dangerous features on web instances
  • 🦑 Miscelleanous
    • 7b162bf Remove misplaced debug logs
    • #436 Migrate from github/linguist gem to NodeJS port nixinova/linguist for better stability

🧰 Fixes

  • #428 Support plugin: fix crash because of outdated selector
  • #429 All: normalize how licenses are displayed
  • #424 Languages plugin: fix indepth feature
  • #414 All: fix docker image not being pulled and being rebuilt each time
  • #440 Base: display all commits instead of only last year

💪 Contributors

💕 Sponsors

♥️ Become a sponsor

Thanks for your support 🎉 !

Version 3.11

23 Jul 15:29
Compare
Choose a tag to compare

📦 New features

  • ↔️ Introducing columns display size ✨ new!
    • #371 You can now use columns in config_display option for a 2-columns layout which will render as a single column on smaller devices
  • 🈷️ Most used languages
    • 5120f64 Estimation now display the last day that metrics was able to fetch from GitHub events, instead of the option value to avoid confusion
    • 94539fa Add plugin_languages_aliases to support custom languages display names
    • #356 Recently used languages now reproduce a "partial repository" from events fetched and retrieved the .gitattributes of your repository to take into account linguist overrides
    • #380 Indepth now display number of commits and files processed
      • c13582e Improvement in indepth algorithm to handle large git diff
  • 💡 Coding habits
    • afdab27 Header now display how many commits events were used to compute habits
    • #373 Add plugin_habits_trim to trim unused hours on daily chart
  • 🎭 Comment reactions
    • 7f08abb Add plugin_reactions_limit_issues to support custom number of issues and pull requests to fetch for reactions
      • plugin_reactions_limit now targets only comments from issues and pull requests
  • 🦑 Miscelleanous
    • aa4225f config_timezone now set the timezone of metrics action, meaning that all dates will be based on passed timezone (including data fetched from GitHub, like commits)
    • #364 Improve apt process in Dockerfile
    • #372 Issue icons were replaced to match GitHub new design
    • #390 Upgrade to node 16
    • 174f2a2 Add delay option which temporises jobs (can be used to avoid reaching abuse limit)
    • 78a7c97 Add repositories_batch which control how many repositories are fetched at once (can be useful for users with a really lot of activity)

🧰 Fixes

  • 37f686a ✨ Fix a fatal error which prevented insights from loading
  • 1a52951 🧱 Fix broken config_output: json
  • #379 🌐 Generated workflow configurations had some options which were invalid
  • 98e7f05 💡 Runtime errors are now displayed in output
  • #393 ⏰ Fix several Wakatime display issues
  • #354 🗃️ Use correct timezone in footer
  • #400 🌟 Unknown licenses are now displayed gracefully
  • 5a15dfd 👨‍💻📰 Make login case insensitive
  • #416 🈷️ Fix a case where undefiend file url made the plugin crash

💪 Contributors

💕 Sponsors

♥️ Become a sponsor

Version 3.10

31 May 12:34
Compare
Choose a tag to compare

📦 New features

  • ↔️ Introducing larger display size ✨ new!
    • #310 You can now choose between regular (default) or large renders through config_display option
    • #310 Plugins may render differently depending on size chosen
      • It is advised to keep regular size if you want metrics to be displayed well both on mobile and desktop (as on mobile it may be rescaled down when displayed)
  • 🈷️ Most used languages
    • #325 Add plugin_languages_indepth option to perform in-depth analysis of your languages statistics
    • #327 Add plugin_languages_sections and new "Recently used" section
      • Use plugin_languages_recent_load and plugin_languages_recent_days to customize how many events will be loaded and which time window should be used
    • #329 Add lines to plugin_languages_details to display an estimate of number of lines of code written (requires plugin_languages_indepth to be enabled)
  • 🎩 Notable contributions
    • #293 Contributions are now sorted by most starred
  • 📰 Recent activity
    • 2b9d8e8 Add plugin_activity_load to support a custom number of activity events to load
  • 🎟️ Follow-up of issues and pull requests
    • #310 Repository template now displays closed pull requests like classic template
  • 💡 Coding habits
    • fb745b4 Average characters per line of code is now displayed
    • #337 Texts improvements
    • dc271db Some changes in recent languages activity graph has been made to reflect languages plugin changes
  • 🧑‍🤝‍🧑 People plugin
    • d2d5762 Default value for plugin_people_limit has been from 28 to lowered 24
  • 🌐 Web instances
    • #299 Add copy button to action tab
  • 🦑 Miscelleanous
    • aabb21f You can now use @main branch instead of @master branch
    • 6b129ab Text "forks" was changed to "forkers" in repositories base section to avoid confusion
    • 6b37fe4 dependabot-preview[bot] is now ignored by default
    • #308 config_padding now accepts absolute values
      • Default value has been changed for better SVG heights, you may need to re-adjust this option if you were using it
    • #326 Use config timezone in all displayed times
    • #336 Timezone metadata has been moved next to generated timestamp for better readability

🧰 Fixes

  • 421a770 📰 Fix error when a push event has 0 commits
  • 75978e8 📰 Fix forked repositories where target repository wasn't displayed
  • #310 📰 Fix repository template display issues
  • #310 🏅 Fix an issue where unknown commits author were crashing the plugin
  • #310 📜 Fix an issue where licensed was returning an empty result which made the plugin crash
  • dca7f76 🗃️ Fix affiliations constraint where authenticated user wasn't the target user
  • #307 🗃️ Generated date now use defined timezone instead of GMT+0
  • d25b286 🧱 Fix config_padding which was not handling well percentage values and was actually useless
  • #347 🗨️ Fix an issue where comments count were marked as undefined
  • #346 ✨ Fix a clipping issue on mobile

👏 Achievements

Reached 4+ millions downloads, 3 000+ stargazers and 1 000+ commits!
Thanks for your support 🎉 !

💪 Contributors

💕 Sponsors

♥️ Become a sponsor

📮 Send feedback on GitHub discussions

Version 3.9

11 May 18:24
Compare
Choose a tag to compare

📦 New features

  • Metrics insights

    • #291 Add introduction, followup and habits sections
  • 📰 Recent activity

    • f9aa59b plugin_activity_limit is now able to load up to 1000 events instead of 100

🧰 Fixes

  • 2958530 ⏰ Fix 404 error when user was not explicitely specified by plugin_wakatime_user
  • 4ff4ef1 🏆 Remove debug logger
  • 348827c 📰 Fix text display for repository creation event
  • 348827c 📰 Published releases without name will display tag name instead
  • a06ba37 💡 Fix event loader which was always loading 100 events less than expected
  • 9ae1151 ✨ Fix links display for issue comments
  • 50b93a7 🎟️ User query will only execute if account type is set to user
  • 0759543🧱 Metrics won't fail if it cannot retrieve token scopes for metadata display

💪 Contributors

💕 Sponsors

Version 3.8

02 May 09:30
Compare
Choose a tag to compare

📦 New features

  • Metrics insights
    • #237 Improved markdown and code snippets rendering
    • #237 Empty comments are not displayed anymore
    • #262 GitHub urls for comments, issues and pull requests are now rendered with GitHub format
  • 🎩 Notable contributions
    • #240 Add support for plugin_notable_filter to filter contributions (based on GitHub search query filter)
    • #240 Add support for plugin_notable_repositories to also display repository name along with organization name
  • 📰 Recent activity
    • #237 Improved markdown and code snippets rendering
    • #242 Merge commits now display as a single commit
    • #244 Pushed commits are now display from most recent to oldest for more readability
  • 🗨️ Stackoverflow plugin
    • #237 Improved markdown and code snippets rendering
    • #237 Use plugin_stackoverflow_lines_snippet to configure how many lines should be displayed
  • 🎭 Comment reactions
    • #256 Add plugin_reactions_ignored to ignore reactions of user (defaults to github-actions[bot], dependabot[bot])
  • 🏅 Repository contributors
    • #256 dependabot[bot] user is now ignored by default
  • 📒 Markdown template
    • #263 SVG plugins can now directly be embed in a tempate without the need of creating separated jobs
      • Use <%- await embed({isocalendar:true}) %> to include an isocalendar for example
      • Rendered images are pushed to markdown_cache folder (defaults to .cache)
    • #270 This template can now be rendered as PDF file by using config_output: markdown-pdf
  • 🦑 Miscelleanous
    • #238 Add support for extras_css option to let users inject raw CSS without template edition
    • #272 filename extension is now automatically deduced based on config_output value
    • #273 config_output now defaults to "auto" which will use the prefered template output (e.g. svg for classic, repository and terminal templates and markdown for markdown)
    • #273 Template now define which account type and output formats are supported and will throw an error in case of incompatibility
    • #273 Community templates can now use a template.mjs fallback from any official templates rather than just the classic one

🧰 Fixes

  • #243 Fix No commits between error when a run resulted in no diff and tried to open a new pull request

💪 Contributors

💕 Sponsors

Version 3.7

16 Apr 21:28
Compare
Choose a tag to compare

✨ Introducing Metrics insights!

A web-tailored experience to see any user's metrics at a glance!
Use metrics.lecoq.io/about to share nice infographics with your friends or on social medias!
No configuration and login required!

Display rankings, highlights, commits calendar, used languages and recent activity with a single simple link using metrics.lecoq.io/about/your-github-username !

Don't hesitate to send feedback on GitHub discussions!

📦 New features

🧩 Plugins

  • 🎩 Notable contributions ✨ new!
    • #222 Show that you contributed to large-scale projects thanks to the notable plugin!
  • 📸 Website screenshot ✨ new!
    • #217 Use this plugin to display content from any website!
    • #217 Pass a CSS selector and an url and you can display random quotes, images or other stuff, like a random xkcd!
  • 🏆 Achievements
    • #230 Add organization account support!
    • #214 Ranking is now more accurate and base itself on github.com/search for total entries
    • #214 Current ranks are now always displayed unless minimal requirements are not reached and would result in unprecise results
    • #214 Add new Inspirationer achievement for users with highly forked repositories
    • #230 Add new Sponsor achievement for users who sponsors other projects or people
  • 🈷️ Most used languages
    • #228 Add support for plugin_languages_limit
  • 🗨️ GitHub Community Support ✨ new!

🖼️ Templates

  • 📒 Markdown template ✨ new!
    • #209 Add new markdown feature that can template a custom markdown file with metrics data!
    • #211 Add special markdown support for several plugins which includes hyperlinks and improved images rendering
      • Note: images below are rendered as PNG but are actually markdown texts
    • 📰 Recent activity
    • ✒️ Recent posts
    • 🗼 Rss feed
    • 🐤 Latest tweets
    • 📌 Starred topics

🌐 Web instances

  • #215 Disabled plugins can now be checked to still preview "placeholder"
  • #215 Actions and Markdown tabs are now available when you write an username instead of requiring a rendering
  • #215 Add missing placeholder texts
  • #215 Update Nightscout placeholder
  • #228 You can now press Enter key in user input field to generate metrics instead of clicking on button
  • #233 Web instances should now load faster, and have some visual improvement, including loading indicators
  • 11a7bed Timeouts errors from GitHub API will now be explicitely displayed

🦑 Miscelleanous

  • #212 Add support for gist in config_output option to let users upload their files to a gist instead of in their repositories
  • #227 token is now tested before rendering to early detect a possible invalid token
  • 4892d69 Base option repositories_affiliations now allow multiple affiliations constraints
    • Following #232, if you're the token owner, both affiliations and ownerAffiliations constraints will be set instead of only ownerAffiliations for more accurate metrics

🧰 Fixes

  • #211 Fix hashnode source posts offset
  • #211 Fix a case where tweets with a single attachment was stripped out
  • #218 Fix "merged" state in activity plugin
  • #219 Update faker API
  • #228 Fix locked achievements percentage display

🐛 Known issues

  • plugin_tweets_attachments option may cause some issues on classic template
    • If you encounter display issues with it you can try to disable it, or use markdown version instead

💕 Sponsors

💪 Contributors

👏 Achievements

Reached 2 millions downloads!
Metrics is around the 10kth most starred repository, and according to this tweet, it is the 2nd most starred Action on marketplace!
Thanks for your support 🎉 !

Version 3.6

02 Apr 17:06
Compare
Choose a tag to compare

📦 New features

  • 🗼 RSS feed plugin ✨ new!
    • #192 Add new plugin to display your own RSS feed!
  • 💹 Stock plugin ✨ new!
    • #196 Add plugin to display the stock market price of your company!
  • 🌇 GitHub Skyline 3D calendar
    • #198 Now use GIF instead of CSS animations hacks (breaks compatibility with some browsers but optimize performances)
    • #198 Use plugin_skyline_compatibility option to revert back to CSS animations hacks
  • 🎟️ Follow-up of issues and pull requests
    • e4c560b Added a title to this plugin
  • 🌐 Web instances
    • #191 Multiple requests are now merged in the same one instead of returning a 409 HTTP code
    • #193 Cache can now be set manually by users using cache value
  • 🦑 Miscelleanous
    • 18c7fa1 Minor templates improvements
    • 8f4034a Add debug.headless option to debug puppeteer processes
    • 576d7aa SVGs are now formatted after generation to make them more human-readable
    • 18c7fa1 CSS for labels were updated with colors that blend wells with both light and dark modes

🧰 Fixes

  • 13385ea Fix achievements percentage which was incorrect due to rescaling
  • 5f6db8a Achievements now use pre-computed colors instead of filter css properties because it was unsupported on Safari
  • 89182c6 Remaining requests are now displayed correctly on web instance
  • #200 Resolve overflow-x bug on the footer (web instance)
  • 1b844ae Fix web instance resize on already computed images (was breaking animations)
  • ec80d0d Spotify tracks in playlist mode was displaying twice artist name
  • addefee Refactor activity template to ensure text-overflow ellipsis
  • 190dd39 Tweets plugin won't die when includes object is empty

💪 Contributors

💕 Sponsors

Version 3.5

14 Mar 18:19
Compare
Choose a tag to compare

📦 New features

  • 🗨️ Stackoverflow plugin ✨ new!
    • #159 Add new stackoverflow plugin!
    • #159 Display various metrics about your stackoverflow account like your reputation, badges, questions, answers and comments
    • #159 Display your top answers and questions, along with your recently submitted answers and question
  • 🎭 Reactions plugin ✨ new!
    • #180 Display overall users reactions of your latest comments!
  • 🏆 Achievements plugin ✨ new!
    • #182 Display your achievements on GitHub!
    • #182 A few of them have actual ranking, and if you're in the top 100,000 you'll have an additional label beside!
    • #182 There are a few hidden achievements, will you be able to find them?
  • 🐤 Tweets plugin
    • #164 Add plugin_tweets_attachments option to display tweets attachments
  • ✒️ Recent posts plugin
    • #165 Add hashnode source
    • #165 Add plugin_posts_descriptions option to display posts intro/description
    • #165 Add plugin_posts_covers option to display cover images
  • 🌇 GitHub Skyline 3D calendar
    • b064ed1 Add plugin_skyline_quality option to tune skyline animation quality (⚠️ significantly increase file size, use with caution)
  • 🧑‍🤝‍🧑 People plugin
    • #166 Add plugin_people_sponsors_custom to let specify custom sponsors (intended for unsupported GitHub sponsors sources)
  • 📅 Isometric calendar plugin
    • 442b83e Current streak is now displayed only when it's non-zero
    • 442b83e Best streak is now displayed
  • 🦑 Miscelleanous
    • #158 Add config_gemoji option to render GitHub custom emojis like :octocat:
    • 8c16f54 Repository name for repository metrics can now be passed through repo option instead of query option
    • 8c16f54 committer_token now automatically defaults to ${{ github.token }} without the need of being set explicitly
    • #163 Migrated imgb64 to jimp for better optimization
    • 02ddae1 Add experimental_features option
    • 61e9bfc Add retries and retries_delay option to automatically retry failed rendering
    • 64fe0c8 @master images are now tagged with their version name
    • #175 when using lowlighter/metrics@master, images will now be pulled from GitHub container registry to save time and avoid rebuilding images
      • Set use_prebuilt_image to no to disable this feature
      • This options does not impact forks, where image will be rebuilt everytime to take into account eventual changes
    • #178 Add output_action option to configure output behaviour
      • It is now possible to open a pull request instead of committing directly rendered metrics
        • Generated pull requests can then be manually approved or auto-merged by the action
    • #178 Rendered metrics are now saved to /metrics_renders/${filename} which lets you perform other actions on it in your workflow
    • a2215a0 Add json type to config_output option which return all data gathered by metrics in a single JSON instead of rendering an image
    • c0f0363 Add committer_message option to use custom commit messages
      • If using commiter_token different from GITHUB_TOKEN, ensure you add [Skip GitHub Action] or handle correctly workflows skip to prevent infinite loop
  • 🚧 Disabled features
    • #172 optimize option has been disabled due to display issues
      • It is possible to re-enable this option with experimental feature flag --optimize

🧰 Fixes

  • 3eb0e30 Update played at text for music plugin
  • #156 Normalize dates in plugins
  • 8fe2220 Fix missing closing tag in tweets plugin
  • 9e9b066 Fix missing closing tag in nightscout plugin
  • 9e9b066 Error message for nightscout plugin is now displayed
  • e52cefe Fix some cases where puppeteer instances were stuck indefinitely resulting in never-ending workflow runs
  • 3e6c713 Fix lines plugin where it would fails on repositories with "null" authors

💪 Contributors

💕 Sponsors

👏 Achievements

Reached 1 million downloads, 2.5k+ stargazers and 100+ forks!
Thanks to everyone 🎉 !