All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Translation to Czech (
locale: cs
) in #259 (@Sarthak027) - Translation to Greek (
locale: el
) in #260 (@Debasmita54)
- Bump cicirello/pyaction from 4.29.0 to 4.32.0
- An action input,
commit-message
, to enable customizing the commit message
- Bump cicirello/pyaction from 4.27.0 to 4.29.0
- Eliminated adjustment for watching own repositories from the "Watched By" stat for consistency with other stats that don't make such an adjustment such as the star count.
- Bump cicirello/pyaction from 4.25.0 to 4.27.0
- Translation to Armenian (
locale: hy
) in #240 (@JairTorres1003).
- Bump cicirello/pyaction from 4.24.0 to 4.25.0 (which includes bumping Python to 3.12).
- Bump Python to 3.12 in CI/CD workflows when running unit tests (@cicirello).
- Translation to Tagalog (
locale: tl
) in #227 (@digracesion). - Translation to Swedish (
locale: sv
) in #230 (@Viveksati5143). - Translation to Persian (
locale: fa
) in #232 (@AshkanArabim). - Translation to Malayalam (
locale: ml
) in #235 (@Sarthak027). - Translation to Finnish (
locale: fi
) in #236 (@Sadeedpv).
- Bump cicirello/pyaction from 4.22.0 to 4.24.0
- Updated the quickstart / sample workflows to the latest version of actions/checkout.
- Resolved issue with failing to commit and push, a bug introduced in v1.20.3.
- Refactored everything locale related to extract definitions of locales from Python dictionaries into JSON files to make it easier to contribute additional language translations.
- Get repository owner (user for stats image) from GitHub Actions environment variables #210 (fixes issue related to update to GitHub CLI #209 determining owner of repository).
- Bump cicirello/pyaction from 4.14.0 to 4.22.0
- Better match background for GitHub-inspired themes, using GitHub's canvas.default instead of canvas.inset.
- Improved Russian Translation in #203, contributed by @mrtnvgr.
- Bump cicirello/pyaction from 4.12.0 to 4.14.0
- Translation to Odia (
locale: or
) in #186, contributed by @Prasanta-Hembram.
- Some users may be using the action on a self-hosted runner not yet updated to a version supporting the
new GitHub Actions
GITHUB_OUTPUT
env file. This patch adds backwards compatibility for that case by falling back to the deprecatedset-output
ifGITHUB_OUTPUT
doesn't exist. #190 (@cicirello).
- Bump cicirello/pyaction from 4.11.0 to 4.12.0, including upgrading Python within the Docker container to 3.11.
- Bump Python to 3.11 in CI/CD workflows.
- Translation to Santali (
locale: sat
) in #178, contributed by @Prasanta-Hembram. - Translation to Serbian (
locale: sr
) in #182, contributed by @keen003.
- Replaced use of GitHub Action's deprecated
set-output
with the new$GITHUB_OUTPUT
env file, in #184 (@cicirello).
- Bump cicirello/pyaction from 4.10.0 to 4.11.0
- Translation to Hungarian (
locale: hu
) in #172, contributed by @jpacsai.
- Bump cicirello/pyaction from 4.9.0 to 4.10.0
- Increased internationalization with the addition of new locales:
- Dutch (
locale: nl
) in #166, contributed by @lovelacecoding. - Norwegian (
locale: no
) in #167, contributed by @rubjo. - Romanian (
locale: ro
) in #164, contributed by @donheshanthaka. - Thai (
locale: th
) in #165, contributed by @Slowlife01 and updated by @thititongumpun.
- Dutch (
- Bump cicirello/pyaction from 4.8.1 to 4.9.0.
- Corrected minor error in language chart radius calculation that was causing too small margin around chart for users with long names.
- New themes, including
- halloween - A dark theme for use around Halloween
- halloween-light - A light theme for use around Halloween
- batty - A light theme for use around Halloween
- Additional icon options for the icon in top corners, including:
- pumpkin
- bat
- Bump cicirello/pyaction from 4.7.1 to 4.8.1, including upgrading Python within the Docker container to 3.10.7
- Decreased the size of icon in top corners for better visual appearance.
- Icons in upper corners surrounding the title, with the following features:
- Theme-defined icons, initially the GitHub Octocat from Octicons for current built-in themes.
- Input
top-icon
to enable overriding, such as disabling the icons, or setting a different one. - For now,
top-icon
is limited to the GitHub Octocat or nothing (additional options planned).
- Bump cicirello/pyaction from 4.4.0 to 4.7.1
- Centered title.
- Bumped base docker image cicirello/pyaction from 4.3.1 to 4.4.0.
- Minor label edit.
- New themes added to correspond to all of GitHub's themes, including:
- dark-high-contrast
- light-high-contrast
- dark-colorblind
- light-colorblind
- dark-tritanopia
- light-tritanopia
- Bumped base Docker image cicirello/pyaction from 4.2.0 to 4.3.1.
- Fixed margin calculation when most starred, most forked, or featured repo has long name.
- Adjusted existing themes (dark, light, dark-dimmed) based on newer versions of corresponding GitHub themes.
- Switched to specific release of base Docker image to avoid accidental breaking changes in base Docker image.
- Total count of repositories (other than own) contributed to will now show as a blank spot on the SVG. Previously reported values were highly inaccurate, and cannot be computed accurately at the present time due to unavailability of necessary data from the GitHub GraphQL API.
- Suppressed Python's pycache on imports (fixes Issue #107).
- Refactored text length calculation.
- Increased internationalization support with the addition of new locales:
- Ukrainian (
locale: uk
) via PR#102.
- Ukrainian (
- Added missing
lang
andxml:lang
attributes to the opening svg tag to report the language of the content of the SVG to provide better support for visually impaired users who use a screen reader.
- Increased internationalization support with the addition of new locales:
- Increased internationalization support with the addition of new locales:
- Korean (
locale: ko
) via PR#93.
- Korean (
- The total column for the number of repositories (owned by someone else) that the user has contributed to, at the present time, cannot be computed exactly due to limitations in the GitHub API. The relevant queries seem to exclude older contribTo data. To account for this, that value is now listed as a lower bound (e.g., instead of a number like 7, it is listed as ≥7). This is the only stat affected by this.
- Increased internationalization support with the addition of new locales:
- Minor refactoring to improve code maintainability
- Improved visual consistency of fonts across browsers
- German locale: German translations of title template, headings, labels,
etc for locale code
de
.
- Improved precision of fonts if the SVG is scaled.
- Minor adjustment to margins.
- The width of the SVG is now set based on the content, including
factoring in the effects of different locales where headings, and
labels may be longer. Note that the
image-width
input can still be used to set a larger width. The action will now use the larger of the user-defined value ofimage-width
, or the width necessary to accommodate the content.
- Italian locale: Italian translations of title template, headings, labels,
etc for locale code
it
.
- Added missing UTF-8 encoding when writing the SVG to fix issue with characters needed for some language translations.
- Fixed exception in case when user stores the SVG at root of repo.
- User adjustable width, via a new action input
image-width
.
- Revised SVG generation to eliminate unnecessary SVG tags surrounding icon paths and language chart. This is a non-functional change. The SVG tags referred to here are not incorrect, but they are not needed. By changing SVG generation to not insert them, DOM size is decreased (possibly decreasing rendering time), and file size is decreased, possibly speeding up download time.
- A new action input,
featured-repository
, that enables the user of the action to (optionally) specify a repository to feature in the General Stats and Info section of the SVG. For example, perhaps they have a repository that they feel is a better representative of their work than their most starred and most forked repositories. - An option to animate the language distribution chart, a continuous rotation of the
pie chart. This feature is disabled by default. It is controlled by a pair of new inputs:
animated-language-chart
andlanguage-animation-speed
.
- Corrected bug in edge case when user only owns forks, which had been causing the action to fail with an exception.
- Most starred repo added to General Stats and Info section of SVG.
- Most forked repo added to General Stats and Info section of SVG.
- "General User Stats" section renamed to "General Stats and Info" to better reflect the addition of Most Starred and Most Forked.
- The ability to exclude specific repositories from the language
distribution chart, controlled by a new action input
language-repository-exclusions
, which is a list of repositories to exclude from the language stats.
- Revised the Quickstart workflows to include pushing the workflow file to the events that runs the workflow to make it even easier for a user to get started.
- The year user joined GitHub is now in General User Stats section of card.
- New action input,
category-order
, which allows user to customize the order of the categories of stats.
- Minified SVG during generation (removed unnecessary characters like new lines, and a couple empty text tags). This doesn't change the contents or appearance of the SVG.
- Fixed minor bug in handling of failOnError input.
- Language Distribution section added to the card:
- Languages section of the stats card that summarizes the distribution of languages for the public repositories owned by the user. This is intended to be the equivalent of the languages graph that GitHub generates for each individual repository, except for the combination of all of the user's repositories. The distribution is visualized, however, with a pie chart, rather than the simple line chart.
- The language distribution calculation features a user customizable number of languages to display. Any extra languages beyond what the user specifies are summarized into a single "Other" item (much like the "Other" that appears in GitHub's language graphs in a repository for low percentage languages).
- By default, the language distribution auto-calibrates the number of languages based on the percentages. Specifically, all languages that individually account for less than one percent are combined into an "Other" item.
- Text and title colors in built-in themes (light, dark, and dark-dimmed) changed slightly for accessibility (changed to ensure text and background have contrast ratio of at least 4.5, and title and background have contrast ratio of at least 4.5). Test cases will enforce this criteria on any themes that may be contributed in the future (but not on a user's own custom colors).
- Increased width of image slightly for better visual appearance of data portion with label portion (e.g., right half with data is same width as left half with labels).
- Changed default title template to better reflect content of the stats card.
- Corrected all-time count of repositories contributed to that are owned by others.
- Changed the author of commits to the github-actions bot to avoid artificially inflating the user of the action's commit count.
- This is the initial release. The user-statistician is a GitHub Action that generates a detailed visual summary of your activity on GitHub in the form of an SVG, suitable to display on your GitHub Profile README. It runs entirely on GitHub, and is designed to run on a schedule, pushing an updated user stats SVG to your profile repo.