diff --git a/.gitignore b/.gitignore
index eee6db6c..24ee490f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,6 @@ package-lock.json
.vercel
# Local Configuration
-package.json
.DS_Store
# Environment
diff --git a/README.md b/README.md
index 22cb77f1..ec6f1c9c 100644
--- a/README.md
+++ b/README.md
@@ -103,7 +103,7 @@ The following are the locales that have labels translated in Streak Stats. The `
-
en
- Englisham
- አማርኛar
- العربيةca
- catalàceb
- Binisayada
- danskde
- Deutschel
- Ελληνικάes
- españolfil
- Filipinofr
- françaisgu
- ગુજરાતીhe
- עבריתhi
- हिन्दीhu
- magyarid
- Indonesiait
- italianoja
- 日本語jv
- Jawakn
- ಕನ್ನಡko
- 한국어mr
- मराठीms
- Melayumy
- မြန်မာne
- नेपालीnl
- Nederlandsno
- norskps
- پښتوpt_BR
- português (Brasil)ru
- русскийsa
- संस्कृत भाषाsd_PK
- سنڌي (پاڪستان)sr
- српскиsu
- Basa Sundath
- ไทยtr
- Türkçeuk
- українськаur_PK
- اردو (پاکستان)vi
- Tiếng Việtyo
- Èdè Yorùbázh_Hans
- 中文(简体)zh_Hant
- 中文(繁體)bg
- българскиbn
- বাংলাfa
- فارسیht
- Haitian Creolehy
- հայերենpl
- polskirw
- Kinyarwandasv
- svenskasw
- Kiswahilita
- தமிழ்
+en
- Englisham
- አማርኛar
- العربيةca
- catalàceb
- Binisayada
- danskde
- Deutschel
- Ελληνικάes
- españolfa
- فارسیfil
- Filipinofr
- françaisgu
- ગુજરાતીhe
- עבריתhi
- हिन्दीhu
- magyarid
- Indonesiait
- italianoja
- 日本語jv
- Jawakn
- ಕನ್ನಡko
- 한국어mr
- मराठीms
- Melayumy
- မြန်မာne
- नेपालीnl
- Nederlandsno
- norskpl
- polskips
- پښتوpt_BR
- português (Brasil)ru
- русскийsa
- संस्कृत भाषाsd_PK
- سنڌي (پاڪستان)sr
- српскиsu
- Basa Sundasw
- Kiswahilith
- ไทยtr
- Türkçeuk
- українськаur_PK
- اردو (پاکستان)vi
- Tiếng Việtyo
- Èdè Yorùbázh_Hans
- 中文(简体)zh_Hant
- 中文(繁體)bg
- българскиbn
- বাংলাht
- Haitian Creolehy
- հայերենrw
- Kinyarwandasv
- svenskata
- தமிழ்
@@ -146,7 +146,7 @@ The longest streak is the highest number of consecutive days on which you have m
The current streak is the number of consecutive days ending with the current day on which you have made at least one contribution. If you have made a contribution today, it will be counted towards the current streak, however, if you have not made a contribution today, the streak will only count days before today so that your streak will not be zero.
-> **Note**
+> [!NOTE]
> You may need to wait up to 24 hours for new contributions to show up ([Learn how contributions are counted](https://docs.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile))
## 📤 Deploying it on your own
@@ -163,12 +163,13 @@ The Inkscape dependency is required for PNG rendering, as well as Segoe UI font
Vercel is the recommended option for hosting the files since it is **free** and easy to set up. Watch the video below or expand the instructions to learn how to deploy to Vercel.
-> **Note** PNG mode is not supported since Inkscape will not be installed but the default SVG mode will work.
+> [!NOTE]
+> PNG mode is not supported since Inkscape will not be installed but the default SVG mode will work.
### 📺 [Click here for a video tutorial on how to self-host on Vercel](https://www.youtube.com/watch?v=maoXtlb8t44)
- Instructions for deploying to Vercel
+ Instructions for deploying to Vercel (Free)
### Step-by-step instructions for deploying to Vercel
@@ -190,6 +191,11 @@ Vercel is the recommended option for hosting the files since it is **free** and

+> ⚠️ **Note**
+> If you receive an error related to libssl or Node 20.x, you can fix this by opening your Vercel project settings and changing the Node.js version to 18.x.
+>
+> 
+
#### Option 2: Deploy to Vercel manually
1. Sign in to **Vercel** or create a new account at
@@ -207,7 +213,13 @@ Vercel is the recommended option for hosting the files since it is **free** and

-> **Note** To set up automatic Vercel deployments from GitHub, make sure to turn **off** "Include source files outside of the Root Directory" in the General settings and use `vercel` as the production branch in the Git settings.
+> ⚠️ **Note**
+> To set up automatic Vercel deployments from GitHub, make sure to turn **off** "Include source files outside of the Root Directory" in the General settings and use `vercel` as the production branch in the Git settings.
+
+> ⚠️ **Note**
+> If you receive an error related to libssl or Node 20.x, you can fix this by opening your Vercel project settings and changing the Node.js version to 18.x.
+>
+> 
@@ -216,7 +228,7 @@ Vercel is the recommended option for hosting the files since it is **free** and
Heroku is another great option for hosting the files. All features are supported on Heroku and it is where the default domain is hosted. Heroku is not free, however, and you will need to pay between \$5 and \$7 per month to keep the app running. Expand the instructions below to learn how to deploy to Heroku.
- Instructions for deploying to Heroku
+ Instructions for deploying to Heroku (Paid)
### Step-by-step instructions for deploying to Heroku
diff --git a/composer.json b/composer.json
index 3bc6aaa4..82a95b97 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,7 @@
"stats"
],
"license": "MIT",
- "version": "1.4.0",
+ "version": "1.5.0",
"homepage": "https://github.com/DenverCoder1/github-readme-streak-stats",
"autoload": {
"classmap": [
diff --git a/composer.lock b/composer.lock
index 75e613cf..8cf68beb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,28 +4,28 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "039785b866111f4c7a466f934645e12d",
+ "content-hash": "654199887393b4b015ee55d96c95000b",
"packages": [
{
"name": "graham-campbell/result-type",
- "version": "v1.1.2",
+ "version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862"
+ "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862",
- "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
+ "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.2"
+ "phpoption/phpoption": "^1.9.3"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"autoload": {
@@ -54,7 +54,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
},
"funding": [
{
@@ -66,20 +66,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T22:16:48+00:00"
+ "time": "2024-07-20T21:45:45+00:00"
},
{
"name": "phpoption/phpoption",
- "version": "1.9.2",
+ "version": "1.9.3",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820"
+ "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54",
+ "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54",
"shasum": ""
},
"require": {
@@ -87,13 +87,13 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
- "forward-command": true
+ "forward-command": false
},
"branch-alias": {
"dev-master": "1.9-dev"
@@ -129,7 +129,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.2"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.3"
},
"funding": [
{
@@ -141,20 +141,20 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T21:59:55+00:00"
+ "time": "2024-07-20T21:41:07+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
+ "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
+ "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
"shasum": ""
},
"require": {
@@ -204,7 +204,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
},
"funding": [
{
@@ -220,20 +220,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
+ "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
+ "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"shasum": ""
},
"require": {
@@ -284,7 +284,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
},
"funding": [
{
@@ -300,20 +300,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-06-19T12:30:46+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
+ "reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
+ "reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
"shasum": ""
},
"require": {
@@ -364,7 +364,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
},
"funding": [
{
@@ -380,27 +380,27 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.0",
+ "version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4"
+ "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
- "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2",
+ "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2",
"shasum": ""
},
"require": {
"ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.2",
+ "graham-campbell/result-type": "^1.1.3",
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.2",
+ "phpoption/phpoption": "^1.9.3",
"symfony/polyfill-ctype": "^1.24",
"symfony/polyfill-mbstring": "^1.24",
"symfony/polyfill-php80": "^1.24"
@@ -417,7 +417,7 @@
"extra": {
"bamarni-bin": {
"bin-links": true,
- "forward-command": true
+ "forward-command": false
},
"branch-alias": {
"dev-master": "5.6-dev"
@@ -452,7 +452,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1"
},
"funding": [
{
@@ -464,22 +464,22 @@
"type": "tidelift"
}
],
- "time": "2023-11-12T22:43:29+00:00"
+ "time": "2024-07-20T21:52:34+00:00"
}
],
"packages-dev": [
{
"name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -487,11 +487,12 @@
},
"conflict": {
"doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "doctrine/common": "<2.13.3 || >=3 <3.2.2"
},
"require-dev": {
"doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
@@ -517,7 +518,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -525,20 +526,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-08T13:26:56+00:00"
+ "time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.0.2",
+ "version": "v5.3.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
+ "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b",
+ "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b",
"shasum": ""
},
"require": {
@@ -549,7 +550,7 @@
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^9.0"
},
"bin": [
"bin/php-parse"
@@ -581,9 +582,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1"
},
- "time": "2024-03-05T20:51:40+00:00"
+ "time": "2024-10-08T18:51:32+00:00"
},
{
"name": "phar-io/manifest",
@@ -705,35 +706,35 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "11.0.3",
+ "version": "11.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92"
+ "reference": "f7f08030e8811582cc459871d28d6f5a1a4d35ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92",
- "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f7f08030e8811582cc459871d28d6f5a1a4d35ca",
+ "reference": "f7f08030e8811582cc459871d28d6f5a1a4d35ca",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.0",
+ "nikic/php-parser": "^5.3.1",
"php": ">=8.2",
- "phpunit/php-file-iterator": "^5.0",
- "phpunit/php-text-template": "^4.0",
- "sebastian/code-unit-reverse-lookup": "^4.0",
- "sebastian/complexity": "^4.0",
- "sebastian/environment": "^7.0",
- "sebastian/lines-of-code": "^3.0",
- "sebastian/version": "^5.0",
- "theseer/tokenizer": "^1.2.0"
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
+ "theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.4.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -742,7 +743,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "11.0-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -771,7 +772,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.7"
},
"funding": [
{
@@ -779,20 +780,20 @@
"type": "github"
}
],
- "time": "2024-03-12T15:35:40+00:00"
+ "time": "2024-10-09T06:21:38+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "5.0.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "99e95c94ad9500daca992354fa09d7b99abe2210"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210",
- "reference": "99e95c94ad9500daca992354fa09d7b99abe2210",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
@@ -832,7 +833,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -840,20 +841,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:05:04+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "5.0.0",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be",
- "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
@@ -896,7 +897,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -904,20 +905,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:05:50+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "4.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e",
- "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
@@ -956,7 +957,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -964,20 +965,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:06:56+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "7.0.0",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5",
- "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
@@ -1016,7 +1017,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"security": "https://github.com/sebastianbergmann/php-timer/security/policy",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -1024,20 +1025,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:08:01+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "11.1.3",
+ "version": "11.5.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "d475be032238173ca3b0a516f5cc291d174708ae"
+ "reference": "0569902506a6c0878930b87ea79ec3b50ea563f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d475be032238173ca3b0a516f5cc291d174708ae",
- "reference": "d475be032238173ca3b0a516f5cc291d174708ae",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0569902506a6c0878930b87ea79ec3b50ea563f7",
+ "reference": "0569902506a6c0878930b87ea79ec3b50ea563f7",
"shasum": ""
},
"require": {
@@ -1047,25 +1048,26 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
+ "myclabs/deep-copy": "^1.12.1",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
"php": ">=8.2",
- "phpunit/php-code-coverage": "^11.0",
- "phpunit/php-file-iterator": "^5.0",
- "phpunit/php-invoker": "^5.0",
- "phpunit/php-text-template": "^4.0",
- "phpunit/php-timer": "^7.0",
- "sebastian/cli-parser": "^3.0",
- "sebastian/code-unit": "^3.0",
- "sebastian/comparator": "^6.0",
- "sebastian/diff": "^6.0",
- "sebastian/environment": "^7.0",
- "sebastian/exporter": "^6.0",
- "sebastian/global-state": "^7.0",
- "sebastian/object-enumerator": "^6.0",
- "sebastian/type": "^5.0",
- "sebastian/version": "^5.0"
+ "phpunit/php-code-coverage": "^11.0.7",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.1",
+ "sebastian/comparator": "^6.2.1",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
+ "staabm/side-effects-detector": "^1.0.5"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files"
@@ -1076,7 +1078,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "11.1-dev"
+ "dev-main": "11.5-dev"
}
},
"autoload": {
@@ -1108,7 +1110,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.1.3"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.0"
},
"funding": [
{
@@ -1124,20 +1126,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-24T06:34:25+00:00"
+ "time": "2024-12-06T05:57:38+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "3.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a",
- "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
@@ -1173,7 +1175,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -1181,20 +1183,20 @@
"type": "github"
}
],
- "time": "2024-03-02T07:26:58+00:00"
+ "time": "2024-07-03T04:41:36+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "3.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "6634549cb8d702282a04a774e36a7477d2bd9015"
+ "reference": "6bb7d09d6623567178cf54126afa9c2310114268"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015",
- "reference": "6634549cb8d702282a04a774e36a7477d2bd9015",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6bb7d09d6623567178cf54126afa9c2310114268",
+ "reference": "6bb7d09d6623567178cf54126afa9c2310114268",
"shasum": ""
},
"require": {
@@ -1230,7 +1232,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
"security": "https://github.com/sebastianbergmann/code-unit/security/policy",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0"
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.1"
},
"funding": [
{
@@ -1238,20 +1240,20 @@
"type": "github"
}
],
- "time": "2024-02-02T05:50:41+00:00"
+ "time": "2024-07-03T04:44:28+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "4.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d"
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d",
- "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
"shasum": ""
},
"require": {
@@ -1286,7 +1288,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
"security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0"
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
},
"funding": [
{
@@ -1294,20 +1296,20 @@
"type": "github"
}
],
- "time": "2024-02-02T05:52:17+00:00"
+ "time": "2024-07-03T04:45:54+00:00"
},
{
"name": "sebastian/comparator",
- "version": "6.0.0",
+ "version": "6.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8"
+ "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8",
- "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/43d129d6a0f81c78bee378b46688293eb7ea3739",
+ "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739",
"shasum": ""
},
"require": {
@@ -1318,12 +1320,12 @@
"sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -1363,7 +1365,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.2.1"
},
"funding": [
{
@@ -1371,20 +1373,20 @@
"type": "github"
}
],
- "time": "2024-02-02T05:53:45+00:00"
+ "time": "2024-10-31T05:30:08+00:00"
},
{
"name": "sebastian/complexity",
- "version": "4.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "88a434ad86150e11a606ac4866b09130712671f0"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0",
- "reference": "88a434ad86150e11a606ac4866b09130712671f0",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
@@ -1421,7 +1423,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -1429,20 +1431,20 @@
"type": "github"
}
],
- "time": "2024-02-02T05:55:19+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "6.0.1",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ab83243ecc233de5655b76f577711de9f842e712"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712",
- "reference": "ab83243ecc233de5655b76f577711de9f842e712",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
@@ -1488,7 +1490,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -1496,20 +1498,20 @@
"type": "github"
}
],
- "time": "2024-03-02T07:30:33+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "7.1.0",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4eb3a442574d0e9d141aab209cd4aaf25701b09a",
- "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
@@ -1524,7 +1526,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.1-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -1552,7 +1554,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/7.1.0"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -1560,20 +1562,20 @@
"type": "github"
}
],
- "time": "2024-03-23T08:56:34+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "6.0.1",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f291e5a317c321c0381fa9ecc796fa2d21b186da",
- "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
@@ -1582,12 +1584,12 @@
"sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -1630,7 +1632,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/6.0.1"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -1638,20 +1640,20 @@
"type": "github"
}
],
- "time": "2024-03-02T07:28:20+00:00"
+ "time": "2024-12-05T09:17:50+00:00"
},
{
"name": "sebastian/global-state",
- "version": "7.0.1",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
- "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
@@ -1692,7 +1694,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -1700,20 +1702,20 @@
"type": "github"
}
],
- "time": "2024-03-02T07:32:10+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "3.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0",
- "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
@@ -1750,7 +1752,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -1758,20 +1760,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:00:36+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "6.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
- "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
@@ -1808,7 +1810,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
"security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -1816,20 +1818,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:01:29+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "4.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d",
- "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
@@ -1864,7 +1866,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
"security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -1872,20 +1874,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:02:18+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "6.0.0",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b75224967b5a466925c6d54e68edd0edf8dd4ed4",
- "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
@@ -1928,7 +1930,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.0"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -1936,32 +1938,32 @@
"type": "github"
}
],
- "time": "2024-02-02T06:08:48+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "5.0.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f",
- "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -1985,7 +1987,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/5.0.0"
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -1993,20 +1995,20 @@
"type": "github"
}
],
- "time": "2024-02-02T06:09:34+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "5.0.0",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001",
- "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
@@ -2039,7 +2041,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"security": "https://github.com/sebastianbergmann/version/security/policy",
- "source": "https://github.com/sebastianbergmann/version/tree/5.0.0"
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -2047,7 +2049,59 @@
"type": "github"
}
],
- "time": "2024-02-02T06:10:47+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
+ },
+ {
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.6",
+ "phpunit/phpunit": "^9.6.21",
+ "symfony/var-dumper": "^5.4.43",
+ "tomasvotruba/type-coverage": "1.0.0",
+ "tomasvotruba/unused-public": "1.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "lib/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A static analysis tool to detect side effects in PHP code",
+ "keywords": [
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2024-10-20T05:08:20+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/docs/themes.md b/docs/themes.md
index b7d8fc93..a5b03ffc 100644
--- a/docs/themes.md
+++ b/docs/themes.md
@@ -6,154 +6,162 @@ You can also try out and customize these themes on the [Demo Site](https://strea
Note: Theme names provided are case-insensitive and any use of underscores will be treated the same as hyphens.
-| Theme | Preview |
-| :---------------------------: | :-----------------------------------------------------------------------------------------------------------------------: |
-| `default` |  |
-| `dark` |  |
-| `highcontrast` |  |
-| `transparent` |  |
-| `radical` |  |
-| `merko` |  |
-| `gruvbox` |  |
-| `gruvbox-duo` |  |
-| `tokyonight` |  |
-| `tokyonight-duo` |  |
-| `onedark` |  |
-| `onedark-duo` |  |
-| `cobalt` |  |
-| `synthwave` |  |
-| `dracula` |  |
-| `prussian` |  |
-| `monokai` |  |
-| `vue` |  |
-| `vue-dark` |  |
-| `shades-of-purple` |  |
-| `nightowl` |  |
-| `buefy` |  |
-| `buefy-dark` |  |
-| `blue-green` |  |
-| `algolia` |  |
-| `great-gatsby` |  |
-| `darcula` |  |
-| `bear` |  |
-| `solarized-dark` |  |
-| `solarized-light` |  |
-| `chartreuse-dark` |  |
-| `nord` |  |
-| `gotham` |  |
-| `material-palenight` |  |
-| `graywhite` |  |
-| `vision-friendly-dark` |  |
-| `ayu-mirage` |  |
-| `midnight-purple` |  |
-| `calm` |  |
-| `flag-india` |  |
-| `omni` |  |
-| `react` |  |
-| `jolly` |  |
-| `maroongold` |  |
-| `yeblu` |  |
-| `blueberry` |  |
-| `blueberry-duo` |  |
-| `slateorange` |  |
-| `kacho-ga` |  |
-| `ads-juicy-fresh` |  |
-| `black-ice` |  |
-| `soft-green` |  |
-| `blood` |  |
-| `blood-dark` |  |
-| `green-nur` |  |
-| `neon-dark` |  |
-| `neon-palenight` |  |
-| `dark-smoky` |  |
-| `monokai-metallian` |  |
-| `city-lights` |  |
-| `blux` |  |
-| `earth` |  |
-| `deepblue` |  |
-| `holi-theme` |  |
-| `ayu-light` |  |
-| `javascript` |  |
-| `javascript-dark` |  |
-| `noctis-minimus` |  |
-| `github-dark` |  |
-| `github-dark-blue` |  |
-| `github-light` |  |
-| `elegant` |  |
-| `leafy` |  |
-| `navy-gear` |  |
-| `hacker` |  |
-| `garden` |  |
-| `github-green-purple` |  |
-| `icegray` |  |
-| `neon-blurange` |  |
-| `yellowdark` |  |
-| `java-dark` |  |
-| `android-dark` |  |
-| `deuteranopia-friendly-theme` |  |
-| `windows-dark` |  |
-| `git-dark` |  |
-| `python-dark` |  |
-| `sea` |  |
-| `sea-dark` |  |
-| `violet-dark` |  |
-| `horizon` |  |
-| `material` |  |
-| `modern-lilac` |  |
-| `modern-lilac2` |  |
-| `halloween` |  |
-| `violet-punch` |  |
-| `submarine-flowers` |  |
-| `rising-sun` |  |
-| `gruvbox-light` |  |
-| `outrun` |  |
-| `ocean-dark` |  |
-| `discord-old-blurple` |  |
-| `aura-dark` |  |
-| `panda` |  |
-| `cobalt2` |  |
-| `swift` |  |
-| `aura` |  |
-| `apprentice` |  |
-| `moltack` |  |
-| `codestackr` |  |
-| `rose-pine` |  |
-| `date-night` |  |
-| `one-dark-pro` |  |
-| `rose` |  |
-| `neon` |  |
-| `sunset-gradient` |  |
-| `ocean-gradient` |  |
-| `ambient-gradient` |  |
-| `catppuccin-latte` |  |
-| `catppuccin-frappe` |  |
-| `catppuccin-macchiato` |  |
-| `catppuccin-mocha` |  |
-| `burnt-neon` |  |
-| `humoris` |  |
-| `shadow-red` |  |
-| `shadow-green` |  |
-| `shadow-blue` |  |
-| `shadow-orange` |  |
-| `shadow-purple` |  |
-| `shadow-brown` |  |
-| `github-dark-dimmed` |  |
-| `blue-navy` |  |
-| `calm-pink` |  |
-| `whatsapp-light` |  |
-| `whatsapp-dark` |  |
-| `carbonfox` |  |
-| `dawnfox` |  |
-| `dayfox` |  |
-| `duskfox` |  |
-| `nightfox` |  |
-| `nordfox` |  |
-| `terafox` |  |
-| `iceberg` |  |
-| `whatsapp-light2` |  |
-| `whatsapp-dark2` |  |
-| `travelers-theme` |  |
-| `youtube-dark` |  |
+| Theme | Preview |
+| :---------------------------: | :------------------------------------------------------------------------------------------------------------------------: |
+| `default` |  |
+| `dark` |  |
+| `highcontrast` |  |
+| `transparent` |  |
+| `radical` |  |
+| `merko` |  |
+| `gruvbox` |  |
+| `gruvbox-duo` |  |
+| `tokyonight` |  |
+| `tokyonight-duo` |  |
+| `onedark` |  |
+| `onedark-duo` |  |
+| `cobalt` |  |
+| `synthwave` |  |
+| `dracula` |  |
+| `prussian` |  |
+| `monokai` |  |
+| `vue` |  |
+| `vue-dark` |  |
+| `shades-of-purple` |  |
+| `nightowl` |  |
+| `buefy` |  |
+| `buefy-dark` |  |
+| `blue-green` |  |
+| `algolia` |  |
+| `great-gatsby` |  |
+| `darcula` |  |
+| `bear` |  |
+| `solarized-dark` |  |
+| `solarized-light` |  |
+| `chartreuse-dark` |  |
+| `nord` |  |
+| `gotham` |  |
+| `material-palenight` |  |
+| `graywhite` |  |
+| `vision-friendly-dark` |  |
+| `ayu-mirage` |  |
+| `midnight-purple` |  |
+| `calm` |  |
+| `flag-india` |  |
+| `omni` |  |
+| `react` |  |
+| `jolly` |  |
+| `maroongold` |  |
+| `yeblu` |  |
+| `blueberry` |  |
+| `blueberry-duo` |  |
+| `slateorange` |  |
+| `kacho-ga` |  |
+| `ads-juicy-fresh` |  |
+| `black-ice` |  |
+| `soft-green` |  |
+| `blood` |  |
+| `blood-dark` |  |
+| `green-nur` |  |
+| `neon-dark` |  |
+| `neon-palenight` |  |
+| `dark-smoky` |  |
+| `monokai-metallian` |  |
+| `city-lights` |  |
+| `blux` |  |
+| `earth` |  |
+| `deepblue` |  |
+| `holi-theme` |  |
+| `ayu-light` |  |
+| `javascript` |  |
+| `javascript-dark` |  |
+| `noctis-minimus` |  |
+| `github-dark` |  |
+| `github-dark-blue` |  |
+| `github-light` |  |
+| `elegant` |  |
+| `leafy` |  |
+| `navy-gear` |  |
+| `hacker` |  |
+| `garden` |  |
+| `github-green-purple` |  |
+| `icegray` |  |
+| `neon-blurange` |  |
+| `yellowdark` |  |
+| `java-dark` |  |
+| `android-dark` |  |
+| `deuteranopia-friendly-theme` |  |
+| `windows-dark` |  |
+| `git-dark` |  |
+| `python-dark` |  |
+| `sea` |  |
+| `sea-dark` |  |
+| `violet-dark` |  |
+| `horizon` |  |
+| `material` |  |
+| `modern-lilac` |  |
+| `modern-lilac2` |  |
+| `halloween` |  |
+| `violet-punch` |  |
+| `submarine-flowers` |  |
+| `rising-sun` |  |
+| `gruvbox-light` |  |
+| `outrun` |  |
+| `ocean-dark` |  |
+| `discord-old-blurple` |  |
+| `aura-dark` |  |
+| `panda` |  |
+| `cobalt2` |  |
+| `swift` |  |
+| `aura` |  |
+| `apprentice` |  |
+| `moltack` |  |
+| `codestackr` |  |
+| `rose-pine` |  |
+| `date-night` |  |
+| `one-dark-pro` |  |
+| `rose` |  |
+| `neon` |  |
+| `sunset-gradient` |  |
+| `ocean-gradient` |  |
+| `ambient-gradient` |  |
+| `catppuccin-latte` |  |
+| `catppuccin-frappe` |  |
+| `catppuccin-macchiato` |  |
+| `catppuccin-mocha` |  |
+| `burnt-neon` |  |
+| `humoris` |  |
+| `shadow-red` |  |
+| `shadow-green` |  |
+| `shadow-blue` |  |
+| `shadow-orange` |  |
+| `shadow-purple` |  |
+| `shadow-brown` |  |
+| `github-dark-dimmed` |  |
+| `blue-navy` |  |
+| `calm-pink` |  |
+| `whatsapp-light` |  |
+| `whatsapp-dark` |  |
+| `carbonfox` |  |
+| `dawnfox` |  |
+| `dayfox` |  |
+| `duskfox` |  |
+| `nightfox` |  |
+| `nordfox` |  |
+| `terafox` |  |
+| `iceberg` |  |
+| `whatsapp-light2` |  |
+| `whatsapp-dark2` |  |
+| `travelers-theme` |  |
+| `youtube-dark` |  |
+| `meta-light` |  |
+| `meta-dark` |  |
+| `dark-minimalist` |  |
+| `telegram` |  |
+| `taiga` |  |
+| `telegram-gradient` |  |
+| `microsoft` |  |
+| `microsoft-dark` |  |
### Can't find the theme you like?
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..fb08e235
--- /dev/null
+++ b/package.json
@@ -0,0 +1,9 @@
+{
+ "engines": {
+ "node": "18.x"
+ },
+ "devDependencies": {
+ "@prettier/plugin-php": "^0.18.8",
+ "prettier": "^2.6.2"
+ }
+}
diff --git a/scripts/translation-progress.php b/scripts/translation-progress.php
index b8c343db..30289d27 100644
--- a/scripts/translation-progress.php
+++ b/scripts/translation-progress.php
@@ -78,7 +78,7 @@ function progressToBadges(array $progress): string
$table .= "";
}
$line_url = "https://github.com/DenverCoder1/github-readme-streak-stats/blob/main/src/translations.php#L{$data["line_number"]}";
- $table .= "{$data["locale"]}
- {$data["locale_name"]} ";
+ $table .= "{$data["locale"]}
- {$data["locale_name"]} ";
$i++;
if ($i % $per_row === 0) {
$table .= " ";
diff --git a/src/card.php b/src/card.php
index 3e4cf61d..256cb844 100644
--- a/src/card.php
+++ b/src/card.php
@@ -335,6 +335,29 @@ function getCardHeight(array $params): int
return max($minimumHeight, intval($params["card_height"] ?? $defaultHeight));
}
+/**
+ * Format number using locale and short number if requested
+ *
+ * @param float $num The number to format
+ * @param string $localeCode Locale code
+ * @param bool $useShortNumbers Whether to use short numbers
+ * @return string The formatted number
+ */
+function formatNumber(float $num, string $localeCode, bool $useShortNumbers): string
+{
+ $numFormatter = new NumberFormatter($localeCode, NumberFormatter::DECIMAL);
+ $suffix = "";
+ if ($useShortNumbers) {
+ $units = ["", "K", "M", "B", "T"];
+ for ($i = 0; $num >= 1000; $i++) {
+ $num /= 1000;
+ }
+ $suffix = $units[$i];
+ $num = round($num, 1);
+ }
+ return $numFormatter->format($num) . $suffix;
+}
+
/**
* Generate SVG output for a stats array
*
@@ -362,9 +385,6 @@ function generateCard(array $stats, array $params = null): string
// locale date formatter (used only if date_format is not specified)
$dateFormat = $params["date_format"] ?? ($localeTranslations["date_format"] ?? null);
- // number formatter
- $numFormatter = new NumberFormatter($localeCode, NumberFormatter::DECIMAL);
-
// read border_radius parameter, default to 4.5 if not set
$borderRadius = $params["border_radius"] ?? 4.5;
@@ -417,13 +437,15 @@ function generateCard(array $stats, array $params = null): string
19.5 + $heightOffset,
];
+ $useShortNumbers = ($params["short_numbers"] ?? "") === "true";
+
// total contributions
- $totalContributions = $numFormatter->format($stats["totalContributions"]);
+ $totalContributions = formatNumber($stats["totalContributions"], $localeCode, $useShortNumbers);
$firstContribution = formatDate($stats["firstContribution"], $dateFormat, $localeCode);
$totalContributionsRange = $firstContribution . " - " . $localeTranslations["Present"];
// current streak
- $currentStreak = $numFormatter->format($stats["currentStreak"]["length"]);
+ $currentStreak = formatNumber($stats["currentStreak"]["length"], $localeCode, $useShortNumbers);
$currentStreakStart = formatDate($stats["currentStreak"]["start"], $dateFormat, $localeCode);
$currentStreakEnd = formatDate($stats["currentStreak"]["end"], $dateFormat, $localeCode);
$currentStreakRange = $currentStreakStart;
@@ -432,7 +454,7 @@ function generateCard(array $stats, array $params = null): string
}
// longest streak
- $longestStreak = $numFormatter->format($stats["longestStreak"]["length"]);
+ $longestStreak = formatNumber($stats["longestStreak"]["length"], $localeCode, $useShortNumbers);
$longestStreakStart = formatDate($stats["longestStreak"]["start"], $dateFormat, $localeCode);
$longestStreakEnd = formatDate($stats["longestStreak"]["end"], $dateFormat, $localeCode);
$longestStreakRange = $longestStreakStart;
diff --git a/src/demo/index.php b/src/demo/index.php
index 3a749372..62f02c4e 100644
--- a/src/demo/index.php
+++ b/src/demo/index.php
@@ -46,7 +46,7 @@ function gtag() {
gtag('config', 'G-48CYVH0XEF');
GitHub Readme Streak Stats Demo
-
+
">
">
@@ -120,6 +120,12 @@ function gtag() {
+ Short Numbers
+
+ false
+ true
+
+
Date Format
default
@@ -279,4 +285,4 @@ function gtag() {