Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 3394,
"has_wiki": false,
"homepage": "https://spatie.be/docs/laravel-health",
"languages": {
"CSS": 59,
"PHP": 215618,
"Blade": 7535,
"JavaScript": 254
},
"pushed_at": "2026-07-22T06:54:11Z",
"created_at": "2021-11-15T15:21:51Z",
"owner_type": "Organization",
"updated_at": "2026-07-19T09:25:54Z",
"description": "Check the health of your Laravel app",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "PHP",
"significant_languages": [
"PHP"
]
},
"owner": {
"blog": "https://spatie.be/open-source",
"name": "Spatie",
"type": "Organization",
"login": "spatie",
"company": null,
"location": "Antwerp, Belgium",
"followers": 3803,
"avatar_url": "https://avatars.githubusercontent.com/u/7535935?v=4",
"created_at": "2014-05-09T16:26:39Z",
"is_verified": null,
"public_repos": 524,
"account_age_days": 4456
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "1.40.0",
"kind": "minor",
"published_at": "2026-05-28T08:57:15Z"
},
{
"tag": "1.39.3",
"kind": "patch",
"published_at": "2026-05-13T20:26:10Z"
},
{
"tag": "1.39.2",
"kind": "patch",
"published_at": "2026-04-23T14:33:23Z"
},
{
"tag": "1.39.1",
"kind": "patch",
"published_at": "2026-03-17T20:58:49Z"
},
{
"tag": "1.39.0",
"kind": "minor",
"published_at": "2026-03-01T12:56:24Z"
},
{
"tag": "1.38.0",
"kind": "minor",
"published_at": "2026-02-22T18:45:17Z"
},
{
"tag": "1.37.0",
"kind": "minor",
"published_at": "2026-02-12T16:32:07Z"
},
{
"tag": "1.36.0",
"kind": "minor",
"published_at": "2026-02-09T15:38:49Z"
},
{
"tag": "1.35.0",
"kind": "minor",
"published_at": "2026-02-01T08:13:38Z"
},
{
"tag": "1.34.10",
"kind": "patch",
"published_at": "2025-12-22T10:06:49Z"
},
{
"tag": "1.34.9",
"kind": "patch",
"published_at": "2025-11-28T09:49:13Z"
},
{
"tag": "1.34.8",
"kind": "patch",
"published_at": "2025-10-10T08:08:42Z"
},
{
"tag": "1.34.7",
"kind": "patch",
"published_at": "2025-08-25T07:43:55Z"
},
{
"tag": "1.34.6",
"kind": "patch",
"published_at": "2025-08-18T08:51:16Z"
},
{
"tag": "1.34.5",
"kind": "patch",
"published_at": "2025-07-25T07:00:41Z"
},
{
"tag": "1.34.4",
"kind": "patch",
"published_at": "2025-07-22T08:07:03Z"
},
{
"tag": "1.34.3",
"kind": "patch",
"published_at": "2025-06-04T22:04:39Z"
},
{
"tag": "1.34.2",
"kind": "patch",
"published_at": "2025-05-20T08:31:20Z"
},
{
"tag": "1.34.1",
"kind": "patch",
"published_at": "2025-04-17T06:34:18Z"
},
{
"tag": "1.34.0",
"kind": "minor",
"published_at": "2025-04-01T13:22:18Z"
},
{
"tag": "1.33.0",
"kind": "minor",
"published_at": "2025-03-18T22:44:38Z"
},
{
"tag": "1.32.5",
"kind": "patch",
"published_at": "2025-03-08T12:16:40Z"
},
{
"tag": "1.32.4",
"kind": "patch",
"published_at": "2025-03-03T16:28:36Z"
},
{
"tag": "1.32.3",
"kind": "patch",
"published_at": "2025-02-24T07:32:27Z"
},
{
"tag": "1.32.2",
"kind": "patch",
"published_at": "2025-02-21T14:56:52Z"
},
{
"tag": "1.32.1",
"kind": "patch",
"published_at": "2025-02-14T13:12:33Z"
},
{
"tag": "1.32.0",
"kind": "minor",
"published_at": "2025-01-13T11:00:35Z"
},
{
"tag": "1.31.0",
"kind": "minor",
"published_at": "2024-12-09T14:18:54Z"
},
{
"tag": "1.30.1",
"kind": "patch",
"published_at": "2024-08-02T14:02:05Z"
},
{
"tag": "1.30.0",
"kind": "minor",
"published_at": "2024-07-26T13:40:55Z"
},
{
"tag": "1.29.4",
"kind": "patch",
"published_at": "2024-07-22T09:32:41Z"
},
{
"tag": "1.29.3",
"kind": "patch",
"published_at": "2024-07-15T12:05:29Z"
},
{
"tag": "1.29.2",
"kind": "patch",
"published_at": "2024-07-15T10:02:09Z"
},
{
"tag": "1.29.1",
"kind": "patch",
"published_at": "2024-06-27T07:12:01Z"
},
{
"tag": "1.29.0",
"kind": "minor",
"published_at": "2024-05-02T10:06:37Z"
},
{
"tag": "1.28.1",
"kind": "patch",
"published_at": "2024-04-19T10:07:41Z"
},
{
"tag": "1.28.0",
"kind": "minor",
"published_at": "2024-04-08T08:11:48Z"
},
{
"tag": "1.27.1",
"kind": "patch",
"published_at": "2024-04-05T09:11:09Z"
},
{
"tag": "1.27.0",
"kind": "minor",
"published_at": "2024-03-08T14:22:01Z"
},
{
"tag": "1.26.1",
"kind": "patch",
"published_at": "2024-02-12T08:35:20Z"
},
{
"tag": "1.26.0",
"kind": "minor",
"published_at": "2024-02-05T13:33:05Z"
},
{
"tag": "1.25.0",
"kind": "minor",
"published_at": "2024-02-03T10:09:00Z"
},
{
"tag": "1.24.1",
"kind": "patch",
"published_at": "2024-01-31T08:30:37Z"
},
{
"tag": "1.24.0",
"kind": "minor",
"published_at": "2024-01-23T13:06:33Z"
},
{
"tag": "1.23.10",
"kind": "patch",
"published_at": "2024-01-19T22:07:09Z"
},
{
"tag": "1.23.9",
"kind": "patch",
"published_at": "2024-01-07T22:54:55Z"
},
{
"tag": "1.23.8",
"kind": "patch",
"published_at": "2023-12-05T17:32:43Z"
},
{
"tag": "1.23.7",
"kind": "patch",
"published_at": "2023-11-27T11:42:00Z"
},
{
"tag": "1.23.6",
"kind": "patch",
"published_at": "2023-11-08T08:35:44Z"
},
{
"tag": "1.23.5",
"kind": "patch",
"published_at": "2023-11-03T13:07:38Z"
},
{
"tag": "1.23.4",
"kind": "patch",
"published_at": "2023-09-14T19:30:55Z"
},
{
"tag": "1.23.2",
"kind": "patch",
"published_at": "2023-09-11T16:55:32Z"
},
{
"tag": "1.23.1",
"kind": "patch",
"published_at": "2023-09-05T12:52:12Z"
},
{
"tag": "1.23.0",
"kind": "minor",
"published_at": "2023-07-21T03:33:00Z"
},
{
"tag": "1.22.7",
"kind": "patch",
"published_at": "2023-06-28T07:12:00Z"
},
{
"tag": "1.22.6",
"kind": "patch",
"published_at": "2023-06-06T17:51:08Z"
},
{
"tag": "1.22.5",
"kind": "patch",
"published_at": "2023-03-29T07:39:42Z"
},
{
"tag": "1.22.4",
"kind": "patch",
"published_at": "2023-03-21T20:58:08Z"
},
{
"tag": "1.22.3",
"kind": "patch",
"published_at": "2023-02-28T17:05:53Z"
},
{
"tag": "1.22.2",
"kind": "patch",
"published_at": "2023-02-15T19:01:49Z"
},
{
"tag": "1.22.1",
"kind": "patch",
"published_at": "2023-02-05T15:27:05Z"
},
{
"tag": "1.22.0",
"kind": "minor",
"published_at": "2023-02-02T15:52:28Z"
},
{
"tag": "1.21.0",
"kind": "minor",
"published_at": "2023-02-02T12:57:50Z"
},
{
"tag": "1.20.1",
"kind": "patch",
"published_at": "2023-02-02T12:50:37Z"
},
{
"tag": "1.20.0",
"kind": "minor",
"published_at": "2023-02-01T21:16:20Z"
},
{
"tag": "1.19.0",
"kind": "minor",
"published_at": "2023-01-25T12:03:30Z"
},
{
"tag": "1.18.3",
"kind": "patch",
"published_at": "2023-01-25T09:20:35Z"
},
{
"tag": "1.18.2",
"kind": "patch",
"published_at": "2023-01-24T23:09:38Z"
},
{
"tag": "1.18.1",
"kind": "patch",
"published_at": "2023-01-06T21:06:33Z"
},
{
"tag": "1.18.0",
"kind": "minor",
"published_at": "2022-12-28T16:09:13Z"
},
{
"tag": "1.17.0",
"kind": "minor",
"published_at": "2022-12-14T09:56:01Z"
},
{
"tag": "1.16.3",
"kind": "patch",
"published_at": "2022-12-02T21:31:14Z"
},
{
"tag": "1.16.2",
"kind": "patch",
"published_at": "2022-11-28T09:35:57Z"
},
{
"tag": "1.16.1",
"kind": "patch",
"published_at": "2022-11-17T21:47:11Z"
},
{
"tag": "1.16.0",
"kind": "minor",
"published_at": "2022-11-17T13:57:47Z"
},
{
"tag": "1.15.2",
"kind": "patch",
"published_at": "2022-10-21T06:55:18Z"
},
{
"tag": "1.15.1",
"kind": "patch",
"published_at": "2022-10-17T07:16:45Z"
},
{
"tag": "1.15.0",
"kind": "minor",
"published_at": "2022-10-07T21:08:18Z"
},
{
"tag": "1.14.6",
"kind": "patch",
"published_at": "2022-09-22T13:37:44Z"
},
{
"tag": "1.14.5",
"kind": "patch",
"published_at": "2022-09-13T15:20:38Z"
},
{
"tag": "1.14.4",
"kind": "patch",
"published_at": "2022-09-09T18:36:21Z"
},
{
"tag": "1.14.3",
"kind": "patch",
"published_at": "2022-09-08T19:29:46Z"
},
{
"tag": "1.14.2",
"kind": "patch",
"published_at": "2022-08-31T07:05:17Z"
},
{
"tag": "1.14.1",
"kind": "patch",
"published_at": "2022-08-24T22:17:57Z"
},
{
"tag": "1.14.0",
"kind": "minor",
"published_at": "2022-08-16T07:12:22Z"
},
{
"tag": "1.13.0",
"kind": "minor",
"published_at": "2022-08-09T19:50:21Z"
},
{
"tag": "1.12.3",
"kind": "patch",
"published_at": "2022-08-03T22:51:39Z"
},
{
"tag": "1.12.2",
"kind": "patch",
"published_at": "2022-08-03T20:41:39Z"
},
{
"tag": "1.12.1",
"kind": "patch",
"published_at": "2022-07-29T07:28:34Z"
},
{
"tag": "1.12.0",
"kind": "minor",
"published_at": "2022-07-15T12:29:27Z"
},
{
"tag": "1.11.1",
"kind": "patch",
"published_at": "2022-06-30T09:46:37Z"
},
{
"tag": "1.11.0",
"kind": "minor",
"published_at": "2022-06-30T08:24:29Z"
},
{
"tag": "1.10.1",
"kind": "patch",
"published_at": "2022-06-29T22:21:02Z"
},
{
"tag": "1.10.0",
"kind": "minor",
"published_at": "2022-06-28T07:21:29Z"
},
{
"tag": "1.9.2",
"kind": "patch",
"published_at": "2022-05-11T12:56:07Z"
},
{
"tag": "1.9.1",
"kind": "patch",
"published_at": "2022-05-03T11:35:38Z"
},
{
"tag": "1.9.0",
"kind": "minor",
"published_at": "2022-04-18T16:02:16Z"
},
{
"tag": "1.8.8",
"kind": "patch",
"published_at": "2022-03-14T07:21:23Z"
},
{
"tag": "1.8.7",
"kind": "patch",
"published_at": "2022-03-09T13:45:34Z"
},
{
"tag": "1.8.6",
"kind": "patch",
"published_at": "2022-03-08T11:32:12Z"
}
],
"recent_commits": [
{
"oid": "fd75a3662a82c3fe542a048cda5a0eab8dec7e93",
"body": "…ig (#317)",
"is_bot": false,
"headline": "fix: use path instead of file_name for JsonFileHealthResultStore conf…",
"author_name": "Clément Baconnier",
"author_login": "cbaconnier",
"committed_at": "2026-06-16T13:05:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be9418d6fae7a5b9423cd0469cc531ced7f5f45a",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-05-28T08:57:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fa735589c04fd99970b434fc22dddbdc716a264",
"body": null,
"is_bot": false,
"headline": "Fix styling",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-05-28T08:55:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a43cc5a63ffda107a451c3bf59bad2eaf8acd510",
"body": "Symfony's ObjectNormalizer discovers properties in a different order on\nPHP 8.2-8.4 vs 8.5 (trait properties move position), so a single YAML\nsnapshot cannot satisfy both. The three explicit assertions above the\nsnapshot already verify the meaningful behavior: run condition count,\nthe bool surviving, and the closure being restored to a Closure.",
"is_bot": false,
"headline": "Drop brittle object snapshot in QueueCheck unserialize test",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-05-28T08:54:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2d6fb15593be3f00f7362cc30a2ef03f433995b",
"body": "Updated health notifications configuration to use environment variables.",
"is_bot": false,
"headline": "Use env variables for health notifications settings (#316)",
"author_name": "Seb Kay",
"author_login": "SebKay",
"committed_at": "2026-05-28T08:40:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e50046201280e1550f6b59995d4815bb326b0a81",
"body": "… in tests (#315)",
"is_bot": false,
"headline": "Move `spatie/temporary-directory` to `require-dev` as it is only used…",
"author_name": "Dylan Bridgman",
"author_login": "dylanbr",
"committed_at": "2026-05-21T10:25:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10afddceacaf19cb3cba39edc09addf826250ff7",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-05-13T20:26:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88a0c13e9a64ad10509b2d274b7c99ca5d8b24ca",
"body": "…es (#314)",
"is_bot": false,
"headline": "Upgrade glob, minimatch, and brace-expansion to address security issu…",
"author_name": "rebecca-canyon",
"author_login": "rebecca-canyon",
"committed_at": "2026-05-12T07:24:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9d9066ac037dcb350ef983d7ebd524fd47d9bcc",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-04-23T14:39:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "290900c6fbe4f5cd2a4c0ead2e39f22b7a52f532",
"body": "After #305 moved `cacheStoreName` into the `HasFailedAfter` trait, its\nposition in the ObjectNormalizer's output shifted to between `queues`\nand `name`. The snapshot was updated with the old ordering.",
"is_bot": false,
"headline": "Fix QueueCheck unserialize snapshot ordering",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-04-23T14:36:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c82b285abd960f0213d2855be9db1118c775c1e9",
"body": "…(#311)\n\nThe `health` alias on the Health singleton caused Laravel's middleware\npipeline to resolve a route's `->middleware('health')` string to the\nHealth service via the container, producing a confusing\n\"Object of type Spatie\\Health\\Health is not callable\" error instead\nof the expected \"middleware not found\" exception. The facade now uses\nthe Health class as its accessor.\n\nFixes #310",
"is_bot": false,
"headline": "Remove 'health' container alias to prevent middleware name collision …",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-04-23T14:31:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "261be232a9ee04e678cf72e1f028d07f98a9eeba",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-03-17T20:59:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5636f946a2d2be61b692714e6586caec27e6715e",
"body": null,
"is_bot": false,
"headline": "Fix styling",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-03-17T20:59:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2dd80bd9d3e02639ba40b788aabca5977d3208f",
"body": null,
"is_bot": false,
"headline": "Round diffInMinutes float in failure messages (#309)",
"author_name": "Mattias Geniar",
"author_login": "mattiasgeniar",
"committed_at": "2026-03-17T20:58:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef13e7249adee21e42d71b05f93c61ecf49326df",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-03-01T12:56:10Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c822bd530c973703f0fd5da776d1d53fce655396",
"body": "Remove laravel/slack-notification-channel from require-dev to fix L13 CI builds",
"is_bot": false,
"headline": "Remove laravel/slack-notification-channel from require-dev (#308)",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-03-01T12:54:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52dff2101e304e3c256fbd4051f492b227464fba",
"body": "Add timeoutMs() method to PingCheck for sub-second timeout control",
"is_bot": false,
"headline": "Add timeoutMs method to PingCheck (#307)",
"author_name": "Fatih Aytekin",
"author_login": "faytekin",
"committed_at": "2026-03-01T12:50:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7db2778df15c0baa0474815a55d7c7b68afb428",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-02-22T18:46:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c7cc3cc9d96eec33f090c5bc0894f128a5386e4",
"body": "Laravel 13.x Compatibility",
"is_bot": false,
"headline": "Merge pull request #306 from laravel-shift/l13-compatibility",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-22T18:44:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45035da8fb06db54561b5bcba6423c7d4d2c07c2",
"body": null,
"is_bot": false,
"headline": "Update GitHub Actions for Laravel 13",
"author_name": "Shift",
"author_login": "laravel-shift",
"committed_at": "2026-02-22T17:19:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d82542452570d7165c3d26221fc782f917cf2bcd",
"body": null,
"is_bot": false,
"headline": "Bump dependencies for Laravel 13",
"author_name": "Shift",
"author_login": "laravel-shift",
"committed_at": "2026-02-22T17:19:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3bb062c87239f4d0e94e41bb3943950ce77f7e0",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-02-12T16:32:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d3a68ae2f855d3997a85deb819898a4b7720d49",
"body": "Add failAfterMinutes support to QueueCheck, consistent with HorizonCheck and PingCheck",
"is_bot": false,
"headline": "Add `failAfterMinutes` support to QueueCheck (#305)",
"author_name": "Stefan Schramm",
"author_login": "stefket",
"committed_at": "2026-02-12T16:31:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce40dee8b0d22947bce7fe3f5046c77a4cfebd98",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-02-09T15:39:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2a84e886cb38ab0a53f136e4554c64e0480e634",
"body": "Extract `failAfterMinutes` logic into reusable `HasFailedAfter` trait / add support to HorizonCheck",
"is_bot": false,
"headline": "Merge pull request #303 from onlime/extract-failed-after-trait",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-09T15:38:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a6ca84d8f967e8ee37a2d2b631d7f3f5330e76c",
"body": "Fix snapshot tests broken by phpunit-snapshot-assertions 5.3.1",
"is_bot": false,
"headline": "Merge pull request #304 from spatie/fix/snapshot-test-compatibility",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-09T09:02:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5bece771e7f5bc897a12a176848a41c17d172c0",
"body": "pest-plugin-snapshots 2.3.0 fixes compatibility with\nphpunit-snapshot-assertions 5.3.1.\n\nAlso updates the QueueCheckTest snapshot to match the current serialized\noutput after the shouldRun property was added in #301.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix snapshot tests by requiring pest-plugin-snapshots ^2.3",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-09T08:42:28Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c078b0c0abaae73de6a8d253f97f8edf1c3bd52b",
"body": null,
"is_bot": false,
"headline": "Add `failAfterMinutes` support to HorizonCheck",
"author_name": "Philip Iezzi",
"author_login": "onlime",
"committed_at": "2026-02-01T21:16:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6773c12853ad49886f381e5e4e81d768bfe8ce9",
"body": null,
"is_bot": false,
"headline": "Extract `failAfterMinutes` logic into reusable HasFailedAfter trait",
"author_name": "Philip Iezzi",
"author_login": "onlime",
"committed_at": "2026-02-01T21:15:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6542bb84d9bbfc621fcc18eaf2259ee2523fb7fc",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:13:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40c1b0688a8fa4a4fde13f883982e6b3a9d00a8c",
"body": null,
"is_bot": false,
"headline": "Fix styling",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:13:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a17421b655ada85d97c5d9f073f90981f51da4a",
"body": "Add `failAfterMinutes` support to PingCheck",
"is_bot": false,
"headline": "Merge pull request #300 from faustoFF/ping-check-fail-after-minutes",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:12:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72fd9b5b83d5738e2f83b7415aa809eba02d9fb2",
"body": null,
"is_bot": false,
"headline": "Update QueueCheckTest snapshot",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:11:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7adc2f377038712197a6bacaa0bd339420d71d3",
"body": null,
"is_bot": false,
"headline": "Add failAfterMinutes support to PingCheck",
"author_name": "faustoFF",
"author_login": "faustoFF",
"committed_at": "2026-02-01T08:10:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e81dd2ec10d5cf24f1f3639cc9359ea1c8d0f2ff",
"body": "Add `only_on_failure` option for notifications",
"is_bot": false,
"headline": "Merge pull request #301 from faustoFF/notifications-only-failed",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:10:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6c1451e755d1cb01962cb68fabf1efd53b41a87",
"body": null,
"is_bot": false,
"headline": "Update QueueCheckTest snapshot",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2026-02-01T08:08:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cc874ef257770a747e544cc5ccbafced4aae02e",
"body": null,
"is_bot": false,
"headline": "Add `only_on_failure` option for notifications",
"author_name": "faustoFF",
"author_login": "faustoFF",
"committed_at": "2026-02-01T08:07:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4981b984c382a261de826dc08b3a58fb34731d12",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-12-22T10:07:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db30de065dd4d41132b9262f2685ffd28f9af8b2",
"body": "Adding the $updated_at property to the PHPDoc of HealthCheckResultHistoryItem",
"is_bot": false,
"headline": "Merge pull request #299 from ruuddeenen/main",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-12-22T10:06:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "311e787f2388992266cf00edde17f76ee42cbe0b",
"body": "Update HealthCheckResultHistoryItem.php",
"is_bot": false,
"headline": "Merge pull request #1 from ruuddeenen/ruuddeenen-patch-1",
"author_name": "Ruud Deenen",
"author_login": "ruuddeenen",
"committed_at": "2025-12-18T16:34:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59ac5b08cb596981b57990412291eddb676a30da",
"body": null,
"is_bot": false,
"headline": "Update HealthCheckResultHistoryItem.php",
"author_name": "Ruud Deenen",
"author_login": "ruuddeenen",
"committed_at": "2025-12-18T16:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "867fa7f421aec71bfe1715e61d583f02ebcd79da",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-11-28T09:49:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc2963c97d04cae7ce9abeeb085de50d84eabe92",
"body": null,
"is_bot": false,
"headline": "wip",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-28T09:47:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8862700f3f30b3f99029237f9180913e1dcc4741",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of github.com:spatie/laravel-health",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-28T09:45:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07bd0c557bf367a98698c24b39138e30d560decd",
"body": null,
"is_bot": false,
"headline": "wip",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-28T09:45:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c128a2ceb724207320e92406f3ae167ac46f281a",
"body": "Added Symfony 8 support to all symfony/* packages.",
"is_bot": false,
"headline": "Merge pull request #297 from thecaliskan/symfony-upgrade",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-28T09:43:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bef755ab9106179bf43134cca5c96b6a74c9fe45",
"body": "add memory usage and domain health check 3rd party packages",
"is_bot": false,
"headline": "Merge pull request #295 from ziming/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-26T09:47:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cad168b57d1318591698239efea005dc10059b07",
"body": "Remove grammatically incorrect comma in registering-your-first-check.md",
"is_bot": false,
"headline": "Merge pull request #296 from rossalexander/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-11-25T21:18:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b140dac4d17c1ae78171e1d0c147b95f05b3319",
"body": null,
"is_bot": false,
"headline": "Added Symfony 8 support to all symfony/* packages.",
"author_name": "Emre Çalışkan",
"author_login": "thecaliskan",
"committed_at": "2025-11-22T14:44:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aaf091b839474633d30107cd488d775b63fb52e9",
"body": "in future may add more domain related health checks but as of now there is only domain expiry check for my package",
"is_bot": false,
"headline": "add the word expiry to domain health check",
"author_name": "ziming",
"author_login": "ziming",
"committed_at": "2025-11-21T13:42:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91aa6852644ec2db450139419a8cef5834df993d",
"body": null,
"is_bot": false,
"headline": "Remove grammatically incorrect comma in registering-your-first-check.md",
"author_name": "Ross Alexander",
"author_login": "rossalexander",
"committed_at": "2025-11-21T13:42:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d658217d024b1e20cca291bc1b2162e31ac582a2",
"body": null,
"is_bot": false,
"headline": "add memory usage and domain health check 3rd party packages",
"author_name": "ziming",
"author_login": "ziming",
"committed_at": "2025-11-21T13:26:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df683b2bb7f7353b41d7e8c583e8d2cd88ae1320",
"body": "Update queue.md to Reflect Laravel 11+ Syntax",
"is_bot": false,
"headline": "Merge pull request #293 from mnurullahsaglam/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-27T21:48:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67f65ebeb73c25512b31cdc4ae3896e4975c70bd",
"body": "Laravel 11 removed app/Console/Kernel.php, so the Spatie Health package scheduling example was updated to include instructions for both Laravel 10 and prior versions, as well as Laravel 11 and newer versions.",
"is_bot": false,
"headline": "Update queue.md to Reflect Laravel 11+ Syntax",
"author_name": "Mehmet Nurullah Sağlam",
"author_login": "mnurullahsaglam",
"committed_at": "2025-10-27T14:02:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e984d2a8f97febeb573f2ce10701ffac322bb22",
"body": "…ift-issue\n\nfix: prevent time drift causing health checks to be skipped",
"is_bot": false,
"headline": "Merge pull request #289 from saeedhosseiinii/fix/health-check-time-dr…",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-13T14:18:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4defa2ed875f49b1fd5853df9e05a68ef3082369",
"body": null,
"is_bot": false,
"headline": "Update RunHealthChecksCommand.php",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-13T14:17:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3674c251ba6a51b83710509eddd7f8f4beb68214",
"body": null,
"is_bot": false,
"headline": "Fix styling",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-10-13T06:53:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fea4633402334e8a7010c4439e6338b7d98d9cd",
"body": "Update health.php",
"is_bot": false,
"headline": "Merge pull request #292 from Erulezz/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-13T06:53:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3f48f137ae9f7f8a9b9887e1cfe0d4598bc2d08",
"body": null,
"is_bot": false,
"headline": "Update health.php",
"author_name": "Eric Horstmanshof",
"author_login": "Erulezz",
"committed_at": "2025-10-12T13:37:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b71658c5affc5f54667f53881d3fe7ad7455b774",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-10-10T08:08:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc0e85ee8e26767ab39420d78cfd31e4aa2d281d",
"body": "Allow immutable dates for BackupsCheck",
"is_bot": false,
"headline": "Merge pull request #291 from yoeriboven/carbon-immutable",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-10T08:08:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ee77e37494b04691ff2f8b370a3fa20d76e29c0",
"body": null,
"is_bot": false,
"headline": "wip",
"author_name": "Yoeri Boven",
"author_login": "yoeriboven",
"committed_at": "2025-10-09T16:28:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86f310bd25c6dd93e89052f0d96a329bd667a174",
"body": null,
"is_bot": false,
"headline": "Merge branch 'spatie:main' into fix/health-check-time-drift-issue",
"author_name": "Saeed Hosseini",
"author_login": "saeedhosseiinii",
"committed_at": "2025-10-08T09:19:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c052de0394eaa0dec07fb4fee26c5f4d5849283",
"body": "…int-casting\n\nfix: Remove int casting in QueueCheck for Carbon 3 compatibility",
"is_bot": false,
"headline": "Merge pull request #290 from saeedhosseiinii/fix/queue-check-carbon3-…",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-10-08T09:06:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "040014156564c18178b5a01b7a1b53be699fae48",
"body": "… on their run status",
"is_bot": false,
"headline": "refactor: streamline health check execution by splitting checks based…",
"author_name": "Saeed Hosseini",
"author_login": "saeedhosseiinii",
"committed_at": "2025-10-08T08:59:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06d87c6d8af989fe6badc16d96c0ba1c0f80bc11",
"body": null,
"is_bot": false,
"headline": "fix: prevent time drift causing health checks to be skipped",
"author_name": "Saeed Hosseini",
"author_login": "saeedhosseiinii",
"committed_at": "2025-10-08T08:59:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebef782ddb30961cc57ec43f9fce6d5c8cd27436",
"body": null,
"is_bot": false,
"headline": "fix: Remove int casting in QueueCheck for Carbon 3 compatibility",
"author_name": "Saeed Hosseini",
"author_login": "saeedhosseiinii",
"committed_at": "2025-10-08T08:55:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcf983c3c42db227a1516b350da37c238b88a3e5",
"body": "Update issue template",
"is_bot": false,
"headline": "Merge pull request #287 from spatie/fix-issue-template",
"author_name": "Alex Vanderbist",
"author_login": "AlexVanderbist",
"committed_at": "2025-09-15T09:24:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ffa7ec05afd577709fa5c7ce68869154db5050a",
"body": null,
"is_bot": false,
"headline": "Update issue template",
"author_name": "Alex Vanderbist",
"author_login": "AlexVanderbist",
"committed_at": "2025-09-08T07:01:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b65ce6d82305c48d5e21133ec8c200837f4d2f4f",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-08-25T07:44:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f62a63975e285086a8ef91864484948b7887a819",
"body": "Round diffInMinutes on Carbon 3",
"is_bot": false,
"headline": "Merge pull request #285 from trippo/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-08-25T07:43:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce18fc55a54c693be89af7fb52a104890c0f3a4e",
"body": null,
"is_bot": false,
"headline": "Round diffInMinutes on Carbon 3",
"author_name": "Alberto Peripolli",
"author_login": "trippo",
"committed_at": "2025-08-20T09:50:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c79223b06e97b737e38cb53f0c9218ccf18874f3",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-08-18T08:51:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da949c364611e0f2ce5cf9723f7786c60485b66d",
"body": null,
"is_bot": false,
"headline": "wip",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-08-18T08:47:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "815e888bc56ee8f72021819367d9c8a154310a72",
"body": "Improvement: DRY DB connection related stuff on checks",
"is_bot": false,
"headline": "Merge pull request #284 from glioympas/dry_db_related_connection_stuff",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-08-18T08:44:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f5eaca78573be89fc814a5c020412092485bba2",
"body": null,
"is_bot": false,
"headline": "Improvement: DRY db connection related stuff",
"author_name": "George Lioumpas",
"author_login": "glioympas",
"committed_at": "2025-08-08T08:04:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78548d4a9eb9c749ecda272acc9c692290c919dd",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-07-25T07:00:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8487a3a43551f3d24e73546362f93da2684a0a3a",
"body": "rename: fix Meilisearch name",
"is_bot": false,
"headline": "Merge pull request #282 from ralphjsmit/rjs/rename-meilisearch",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-07-25T07:00:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d63ab4e880f574c90e4e94d0ffda533a076f9296",
"body": null,
"is_bot": false,
"headline": "WIP",
"author_name": "Ralph J. Smit",
"author_login": "ralphjsmit",
"committed_at": "2025-07-23T18:59:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6488958d24b3a6a1c7bbb670d3457facad6ca1d3",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-07-22T08:07:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac04fb0b82b4c89ab88c18897f9eda4e559d624b",
"body": "Fix method name typo",
"is_bot": false,
"headline": "Merge pull request #281 from shdehnavi/fix/method-name-typo",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-07-22T08:06:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03521e1a435d73ece548f741316d192c5b70517d",
"body": null,
"is_bot": false,
"headline": "Fix method name typo",
"author_name": "Hamid Dehnavi",
"author_login": "shdehnavi",
"committed_at": "2025-07-19T22:33:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7b16a824bfbb0609d8418191b8a77d5132f3775",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Jimi Robaer",
"author_login": "jimirobaer",
"committed_at": "2025-06-05T11:24:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ee54fa950b064c2c4c7cc96313260e12067d538",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-06-04T22:04:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d421bc223c7a8c872ad944706d98a74b1056f761",
"body": "Fix symfony console 7.3 deprecations on command classes",
"is_bot": false,
"headline": "Merge pull request #280 from faytekin/fix-command-desc",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-06-04T22:04:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "866dcf07d1580bfa170bc0f1e88f4aef0bc05972",
"body": null,
"is_bot": false,
"headline": "Fix symfony deprecations",
"author_name": "Fatih Aytekin",
"author_login": "faytekin",
"committed_at": "2025-06-04T21:45:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b29edb28fea176d8062332f8c09770404664a315",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-05-20T08:31:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7d9d6e0807a9de46f544c76d54badc19af36ddc",
"body": "Czech translation",
"is_bot": false,
"headline": "Merge pull request #277 from hamrak/main",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-05-20T08:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "166b99ba82f13ba3fa8a8cafaf8ac6540937c8e3",
"body": null,
"is_bot": false,
"headline": "Czech translation",
"author_name": "Ján Hamrák",
"author_login": "hamrak",
"committed_at": "2025-05-20T06:14:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f76600abe891f4972b2271d5a0478480c9857e0",
"body": "Cleaned up stub and orphan hey.zip",
"is_bot": false,
"headline": "Merge pull request #274 from lasselehtinen/main",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-05-15T07:00:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "477bf5d3c05c1b3ab80eaf25ada9b16214833ee5",
"body": null,
"is_bot": false,
"headline": "Cleaned up stub and orphan hey.zip",
"author_name": "Lasse Lehtinen",
"author_login": null,
"committed_at": "2025-05-14T09:47:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8979f0f37da7be01e1e97abf3e810ca2b990207b",
"body": "Update backups.md",
"is_bot": false,
"headline": "Merge pull request #273 from marventhieme/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-05-12T14:12:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "95114f23a704abc888a769f2e52741d13b3448f5",
"body": "Removed commas",
"is_bot": false,
"headline": "Update backups.md",
"author_name": "Marven Thieme",
"author_login": "marventhieme",
"committed_at": "2025-05-12T12:58:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d71b81dcc928e131a8259c2639cfdb2621fc927",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Jimi Robaer",
"author_login": "jimirobaer",
"committed_at": "2025-04-22T07:41:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e4aea4aac18944196ca64566de09c1b983b0466",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-04-17T06:34:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de65163fa9f799fae5df1811e5649b01dfd46fec",
"body": null,
"is_bot": false,
"headline": "Fix styling",
"author_name": "freekmurze",
"author_login": "freekmurze",
"committed_at": "2025-04-17T06:34:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "283d7d5dffeeff6452c9a182f466c327fec6db3b",
"body": "Add configuration option for treating skipped checks as failures",
"is_bot": false,
"headline": "Merge pull request #272 from joaquinwojcik/main",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-04-17T06:34:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3390787a99ab301753c68f07fdd3bee89c59c0b1",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Jimi Robaer",
"author_login": "jimirobaer",
"committed_at": "2025-04-16T14:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b16761ad4cdb29f53244978b1722023517d71e02",
"body": null,
"is_bot": false,
"headline": "Allow to configure if skipped checks should be considered as failure",
"author_name": "Joaquin Wojcik",
"author_login": "joaquinwojcik",
"committed_at": "2025-04-15T02:19:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd90c3794ee2f14e6932273cf65c0d42345fa84a",
"body": "Update prune docs according to current laravel documentation",
"is_bot": false,
"headline": "Merge pull request #271 from amacado/patch-1",
"author_name": "Freek Van der Herten",
"author_login": "freekmurze",
"committed_at": "2025-04-14T12:27:45Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 79,
"latest_release_at": "2026-05-28T08:57:15Z",
"latest_release_tag": "1.40.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 24,
"days_since_latest_release": 54,
"mean_days_between_releases": 17.4
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "spatie/laravel-health",
"exists": true,
"license": "MIT",
"keywords": [
"laravel",
"spatie",
"laravel-health"
],
"ecosystem": "packagist",
"matches_repo": true,
"registry_url": "https://packagist.org/packages/spatie/laravel-health",
"is_deprecated": false,
"latest_version": "1.40.0",
"repository_url": "https://github.com/spatie/laravel-health",
"versions_count": 154,
"total_downloads": 12455474,
"dependents_count": 93,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 682631,
"first_published_at": null,
"latest_published_at": "2026-05-28T08:55:40Z",
"latest_version_yanked": null,
"days_since_latest_publish": 54
}
]
},
"popularity": {
"forks": 178,
"stars": 879,
"watchers": 3,
"fork_history": {
"days": [
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-25",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-07",
"count": 2
},
{
"date": "2021-12-10",
"count": 1
},
{
"date": "2021-12-13",
"count": 4
},
{
"date": "2021-12-14",
"count": 3
},
{
"date": "2021-12-15",
"count": 2
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2021-12-27",
"count": 2
},
{
"date": "2022-01-09",
"count": 1
},
{
"date": "2022-01-11",
"count": 3
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-15",
"count": 1
},
{
"date": "2022-01-18",
"count": 1
},
{
"date": "2022-01-19",
"count": 1
},
{
"date": "2022-01-20",
"count": 1
},
{
"date": "2022-01-21",
"count": 1
},
{
"date": "2022-02-03",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-02-09",
"count": 2
},
{
"date": "2022-02-12",
"count": 2
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-04-04",
"count": 2
},
{
"date": "2022-05-03",
"count": 1
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-06-26",
"count": 1
},
{
"date": "2022-06-28",
"count": 1
},
{
"date": "2022-06-29",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-19",
"count": 1
},
{
"date": "2022-09-08",
"count": 2
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-22",
"count": 1
},
{
"date": "2022-10-03",
"count": 1
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-11",
"count": 1
},
{
"date": "2022-10-15",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-24",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-12-13",
"count": 2
},
{
"date": "2022-12-16",
"count": 1
},
{
"date": "2022-12-29",
"count": 1
},
{
"date": "2022-12-30",
"count": 2
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-01-07",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-01-25",
"count": 1
},
{
"date": "2023-01-31",
"count": 1
},
{
"date": "2023-02-02",
"count": 1
},
{
"date": "2023-02-05",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-16",
"count": 1
},
{
"date": "2023-02-27",
"count": 2
},
{
"date": "2023-03-08",
"count": 1
},
{
"date": "2023-03-12",
"count": 1
},
{
"date": "2023-03-27",
"count": 1
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-05-03",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-10",
"count": 1
},
{
"date": "2023-08-19",
"count": 1
},
{
"date": "2023-08-26",
"count": 1
},
{
"date": "2023-08-31",
"count": 1
},
{
"date": "2023-09-06",
"count": 1
},
{
"date": "2023-10-06",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-21",
"count": 1
},
{
"date": "2023-10-23",
"count": 1
},
{
"date": "2023-11-23",
"count": 1
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2023-12-15",
"count": 1
},
{
"date": "2024-01-08",
"count": 2
},
{
"date": "2024-01-10",
"count": 1
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-30",
"count": 1
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-18",
"count": 1
},
{
"date": "2024-04-05",
"count": 1
},
{
"date": "2024-04-08",
"count": 1
},
{
"date": "2024-04-26",
"count": 1
},
{
"date": "2024-05-13",
"count": 3
},
{
"date": "2024-05-15",
"count": 1
},
{
"date": "2024-05-16",
"count": 1
},
{
"date": "2024-06-09",
"count": 1
},
{
"date": "2024-06-26",
"count": 1
},
{
"date": "2024-07-03",
"count": 1
},
{
"date": "2024-07-10",
"count": 1
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-07-24",
"count": 1
},
{
"date": "2024-09-06",
"count": 1
},
{
"date": "2024-09-08",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-10-10",
"count": 1
},
{
"date": "2024-11-07",
"count": 1
},
{
"date": "2024-11-28",
"count": 1
},
{
"date": "2024-11-30",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2025-01-12",
"count": 1
},
{
"date": "2025-01-21",
"count": 1
},
{
"date": "2025-02-12",
"count": 1
},
{
"date": "2025-02-22",
"count": 1
},
{
"date": "2025-03-03",
"count": 1
},
{
"date": "2025-03-05",
"count": 1
},
{
"date": "2025-03-08",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-04-17",
"count": 1
},
{
"date": "2025-05-12",
"count": 1
},
{
"date": "2025-05-14",
"count": 1
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-07-23",
"count": 1
},
{
"date": "2025-08-08",
"count": 1
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-10-06",
"count": 1
},
{
"date": "2025-10-27",
"count": 1
},
{
"date": "2025-11-21",
"count": 2
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2025-11-30",
"count": 1
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2026-02-12",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-12",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-28",
"count": 1
},
{
"date": "2026-06-29",
"count": 1
}
],
"complete": true,
"collected": 177,
"total_forks": 178
},
"star_history": {
"days": [
{
"date": "2021-11-15",
"count": 4
},
{
"date": "2021-11-16",
"count": 16
},
{
"date": "2021-11-17",
"count": 4
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-20",
"count": 1
},
{
"date": "2021-11-22",
"count": 5
},
{
"date": "2021-11-24",
"count": 2
},
{
"date": "2021-11-25",
"count": 2
},
{
"date": "2021-11-26",
"count": 12
},
{
"date": "2021-11-27",
"count": 4
},
{
"date": "2021-11-28",
"count": 3
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-11-30",
"count": 3
},
{
"date": "2021-12-01",
"count": 16
},
{
"date": "2021-12-02",
"count": 13
},
{
"date": "2021-12-03",
"count": 2
},
{
"date": "2021-12-04",
"count": 5
},
{
"date": "2021-12-05",
"count": 1
},
{
"date": "2021-12-06",
"count": 4
},
{
"date": "2021-12-07",
"count": 5
},
{
"date": "2021-12-08",
"count": 2
},
{
"date": "2021-12-09",
"count": 2
},
{
"date": "2021-12-13",
"count": 18
},
{
"date": "2021-12-14",
"count": 24
},
{
"date": "2021-12-15",
"count": 12
},
{
"date": "2021-12-16",
"count": 15
},
{
"date": "2021-12-17",
"count": 4
},
{
"date": "2021-12-18",
"count": 3
},
{
"date": "2021-12-19",
"count": 2
},
{
"date": "2021-12-20",
"count": 3
},
{
"date": "2021-12-21",
"count": 10
},
{
"date": "2021-12-22",
"count": 17
},
{
"date": "2021-12-23",
"count": 12
},
{
"date": "2021-12-24",
"count": 5
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2021-12-26",
"count": 8
},
{
"date": "2021-12-27",
"count": 10
},
{
"date": "2021-12-28",
"count": 9
},
{
"date": "2021-12-29",
"count": 11
},
{
"date": "2021-12-30",
"count": 7
},
{
"date": "2022-01-01",
"count": 1
},
{
"date": "2022-01-02",
"count": 1
},
{
"date": "2022-01-03",
"count": 1
},
{
"date": "2022-01-04",
"count": 3
},
{
"date": "2022-01-05",
"count": 3
},
{
"date": "2022-01-08",
"count": 1
},
{
"date": "2022-01-09",
"count": 17
},
{
"date": "2022-01-10",
"count": 11
},
{
"date": "2022-01-11",
"count": 4
},
{
"date": "2022-01-12",
"count": 2
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-15",
"count": 2
},
{
"date": "2022-01-16",
"count": 1
},
{
"date": "2022-01-17",
"count": 1
},
{
"date": "2022-01-18",
"count": 2
},
{
"date": "2022-01-19",
"count": 1
},
{
"date": "2022-01-21",
"count": 1
},
{
"date": "2022-01-22",
"count": 1
},
{
"date": "2022-01-23",
"count": 1
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-01-26",
"count": 4
},
{
"date": "2022-01-27",
"count": 1
},
{
"date": "2022-01-28",
"count": 3
},
{
"date": "2022-01-30",
"count": 3
},
{
"date": "2022-02-01",
"count": 3
},
{
"date": "2022-02-03",
"count": 2
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-02-09",
"count": 1
},
{
"date": "2022-02-10",
"count": 1
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-13",
"count": 2
},
{
"date": "2022-02-14",
"count": 1
},
{
"date": "2022-02-15",
"count": 2
},
{
"date": "2022-02-16",
"count": 1
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-02-23",
"count": 2
},
{
"date": "2022-02-24",
"count": 2
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-05",
"count": 1
},
{
"date": "2022-03-07",
"count": 1
},
{
"date": "2022-03-08",
"count": 2
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-12",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-04-05",
"count": 2
},
{
"date": "2022-04-07",
"count": 1
},
{
"date": "2022-04-11",
"count": 1
},
{
"date": "2022-04-12",
"count": 1
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-18",
"count": 3
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-02",
"count": 1
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-08",
"count": 1
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-05-23",
"count": 1
},
{
"date": "2022-05-28",
"count": 1
},
{
"date": "2022-06-01",
"count": 2
},
{
"date": "2022-06-03",
"count": 1
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-06-28",
"count": 3
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-05",
"count": 2
},
{
"date": "2022-07-07",
"count": 2
},
{
"date": "2022-07-10",
"count": 2
},
{
"date": "2022-07-12",
"count": 2
},
{
"date": "2022-07-14",
"count": 2
},
{
"date": "2022-07-15",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-17",
"count": 2
},
{
"date": "2022-07-18",
"count": 4
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-07-21",
"count": 1
},
{
"date": "2022-07-29",
"count": 1
},
{
"date": "2022-08-02",
"count": 1
},
{
"date": "2022-08-03",
"count": 2
},
{
"date": "2022-08-04",
"count": 1
},
{
"date": "2022-08-07",
"count": 2
},
{
"date": "2022-08-10",
"count": 2
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-15",
"count": 1
},
{
"date": "2022-08-17",
"count": 2
},
{
"date": "2022-08-18",
"count": 1
},
{
"date": "2022-08-19",
"count": 1
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-08-29",
"count": 1
},
{
"date": "2022-08-30",
"count": 3
},
{
"date": "2022-08-31",
"count": 3
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-06",
"count": 1
},
{
"date": "2022-09-08",
"count": 1
},
{
"date": "2022-09-10",
"count": 3
},
{
"date": "2022-09-16",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-10-06",
"count": 2
},
{
"date": "2022-10-12",
"count": 1
},
{
"date": "2022-10-17",
"count": 1
},
{
"date": "2022-10-18",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-20",
"count": 2
},
{
"date": "2022-10-21",
"count": 2
},
{
"date": "2022-10-22",
"count": 1
},
{
"date": "2022-10-25",
"count": 1
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-08",
"count": 1
},
{
"date": "2022-11-10",
"count": 1
},
{
"date": "2022-11-17",
"count": 2
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-12-01",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 2
},
{
"date": "2022-12-27",
"count": 1
},
{
"date": "2022-12-29",
"count": 2
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-07",
"count": 3
},
{
"date": "2023-01-09",
"count": 2
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-11",
"count": 1
},
{
"date": "2023-01-13",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-01-21",
"count": 1
},
{
"date": "2023-01-22",
"count": 2
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-01-25",
"count": 2
},
{
"date": "2023-01-26",
"count": 2
},
{
"date": "2023-01-28",
"count": 2
},
{
"date": "2023-02-01",
"count": 1
},
{
"date": "2023-02-02",
"count": 2
},
{
"date": "2023-02-03",
"count": 2
},
{
"date": "2023-02-05",
"count": 1
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-11",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-02-23",
"count": 1
},
{
"date": "2023-02-24",
"count": 2
},
{
"date": "2023-02-28",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-12",
"count": 1
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-28",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-08",
"count": 1
},
{
"date": "2023-04-12",
"count": 3
},
{
"date": "2023-04-18",
"count": 1
},
{
"date": "2023-04-22",
"count": 1
},
{
"date": "2023-05-01",
"count": 1
},
{
"date": "2023-05-03",
"count": 1
},
{
"date": "2023-05-04",
"count": 1
},
{
"date": "2023-05-06",
"count": 1
},
{
"date": "2023-05-10",
"count": 1
},
{
"date": "2023-05-12",
"count": 1
},
{
"date": "2023-05-15",
"count": 1
},
{
"date": "2023-05-24",
"count": 2
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-05-28",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-02",
"count": 1
},
{
"date": "2023-06-10",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-21",
"count": 1
},
{
"date": "2023-06-24",
"count": 1
},
{
"date": "2023-06-27",
"count": 2
},
{
"date": "2023-06-29",
"count": 1
},
{
"date": "2023-06-30",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-08",
"count": 1
},
{
"date": "2023-07-13",
"count": 1
},
{
"date": "2023-07-17",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-08-01",
"count": 1
},
{
"date": "2023-08-03",
"count": 1
},
{
"date": "2023-08-08",
"count": 1
},
{
"date": "2023-08-18",
"count": 1
},
{
"date": "2023-08-19",
"count": 1
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-08-31",
"count": 2
},
{
"date": "2023-09-07",
"count": 3
},
{
"date": "2023-09-08",
"count": 1
},
{
"date": "2023-09-10",
"count": 1
},
{
"date": "2023-09-12",
"count": 2
},
{
"date": "2023-09-17",
"count": 1
},
{
"date": "2023-09-18",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-09-20",
"count": 2
},
{
"date": "2023-09-21",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-09-28",
"count": 1
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-14",
"count": 1
},
{
"date": "2023-10-15",
"count": 1
},
{
"date": "2023-10-19",
"count": 1
},
{
"date": "2023-10-22",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-25",
"count": 1
},
{
"date": "2023-10-27",
"count": 1
},
{
"date": "2023-10-30",
"count": 1
},
{
"date": "2023-11-04",
"count": 2
},
{
"date": "2023-11-05",
"count": 2
},
{
"date": "2023-11-16",
"count": 1
},
{
"date": "2023-11-23",
"count": 2
},
{
"date": "2023-11-24",
"count": 2
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-11-28",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-06",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2024-01-01",
"count": 1
},
{
"date": "2024-01-15",
"count": 2
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-22",
"count": 2
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-01-27",
"count": 1
},
{
"date": "2024-01-30",
"count": 1
},
{
"date": "2024-02-01",
"count": 1
},
{
"date": "2024-02-04",
"count": 1
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-19",
"count": 1
},
{
"date": "2024-03-03",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-23",
"count": 1
},
{
"date": "2024-03-30",
"count": 1
},
{
"date": "2024-04-02",
"count": 1
},
{
"date": "2024-04-05",
"count": 2
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-04-13",
"count": 1
},
{
"date": "2024-04-14",
"count": 1
},
{
"date": "2024-04-17",
"count": 1
},
{
"date": "2024-04-20",
"count": 2
},
{
"date": "2024-04-25",
"count": 1
},
{
"date": "2024-05-01",
"count": 1
},
{
"date": "2024-05-02",
"count": 1
},
{
"date": "2024-05-06",
"count": 2
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-09",
"count": 1
},
{
"date": "2024-05-14",
"count": 2
},
{
"date": "2024-05-19",
"count": 1
},
{
"date": "2024-05-24",
"count": 1
},
{
"date": "2024-05-25",
"count": 1
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-13",
"count": 2
},
{
"date": "2024-06-14",
"count": 2
},
{
"date": "2024-06-17",
"count": 1
},
{
"date": "2024-06-18",
"count": 1
},
{
"date": "2024-06-20",
"count": 2
},
{
"date": "2024-06-23",
"count": 1
},
{
"date": "2024-06-27",
"count": 2
},
{
"date": "2024-06-29",
"count": 1
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-03",
"count": 1
},
{
"date": "2024-07-08",
"count": 1
},
{
"date": "2024-07-10",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-07-19",
"count": 1
},
{
"date": "2024-07-23",
"count": 1
},
{
"date": "2024-07-25",
"count": 1
},
{
"date": "2024-07-28",
"count": 2
},
{
"date": "2024-07-29",
"count": 1
},
{
"date": "2024-07-31",
"count": 1
},
{
"date": "2024-08-02",
"count": 1
},
{
"date": "2024-08-06",
"count": 1
},
{
"date": "2024-08-07",
"count": 1
},
{
"date": "2024-08-10",
"count": 1
},
{
"date": "2024-08-13",
"count": 1
},
{
"date": "2024-08-14",
"count": 2
},
{
"date": "2024-08-15",
"count": 1
},
{
"date": "2024-08-17",
"count": 1
},
{
"date": "2024-08-18",
"count": 1
},
{
"date": "2024-08-20",
"count": 1
},
{
"date": "2024-08-21",
"count": 1
},
{
"date": "2024-08-22",
"count": 1
},
{
"date": "2024-08-28",
"count": 1
},
{
"date": "2024-08-30",
"count": 1
},
{
"date": "2024-09-02",
"count": 1
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-09-08",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-11",
"count": 1
},
{
"date": "2024-09-20",
"count": 2
},
{
"date": "2024-09-28",
"count": 1
},
{
"date": "2024-09-30",
"count": 1
},
{
"date": "2024-10-02",
"count": 1
},
{
"date": "2024-10-03",
"count": 1
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-10-24",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-11-04",
"count": 1
},
{
"date": "2024-11-08",
"count": 1
},
{
"date": "2024-11-12",
"count": 1
},
{
"date": "2024-11-13",
"count": 1
},
{
"date": "2024-11-15",
"count": 1
},
{
"date": "2024-11-19",
"count": 1
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-11-22",
"count": 1
},
{
"date": "2024-11-28",
"count": 1
},
{
"date": "2024-12-01",
"count": 1
},
{
"date": "2024-12-02",
"count": 1
},
{
"date": "2024-12-12",
"count": 1
},
{
"date": "2024-12-18",
"count": 1
},
{
"date": "2024-12-20",
"count": 2
},
{
"date": "2024-12-30",
"count": 1
},
{
"date": "2025-01-13",
"count": 1
},
{
"date": "2025-01-18",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-01-22",
"count": 2
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-01-28",
"count": 2
},
{
"date": "2025-02-06",
"count": 1
},
{
"date": "2025-02-12",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-19",
"count": 1
},
{
"date": "2025-02-25",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-02-27",
"count": 1
},
{
"date": "2025-03-04",
"count": 1
},
{
"date": "2025-03-08",
"count": 1
},
{
"date": "2025-03-10",
"count": 2
},
{
"date": "2025-03-16",
"count": 1
},
{
"date": "2025-03-17",
"count": 1
},
{
"date": "2025-03-18",
"count": 1
},
{
"date": "2025-03-20",
"count": 1
},
{
"date": "2025-03-21",
"count": 1
},
{
"date": "2025-03-24",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-04-06",
"count": 1
},
{
"date": "2025-04-16",
"count": 3
},
{
"date": "2025-04-17",
"count": 1
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2025-04-27",
"count": 2
},
{
"date": "2025-04-28",
"count": 2
},
{
"date": "2025-05-01",
"count": 1
},
{
"date": "2025-05-03",
"count": 1
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-10",
"count": 1
},
{
"date": "2025-05-20",
"count": 4
},
{
"date": "2025-05-25",
"count": 1
},
{
"date": "2025-05-26",
"count": 1
},
{
"date": "2025-06-07",
"count": 1
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-06-26",
"count": 2
},
{
"date": "2025-07-05",
"count": 1
},
{
"date": "2025-07-12",
"count": 1
},
{
"date": "2025-07-13",
"count": 1
},
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-07-20",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-07-30",
"count": 2
},
{
"date": "2025-08-02",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-08-11",
"count": 2
},
{
"date": "2025-08-14",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-08-22",
"count": 1
},
{
"date": "2025-08-26",
"count": 2
},
{
"date": "2025-08-30",
"count": 1
},
{
"date": "2025-09-01",
"count": 1
},
{
"date": "2025-09-03",
"count": 1
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-11",
"count": 1
},
{
"date": "2025-09-18",
"count": 1
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-09-25",
"count": 3
},
{
"date": "2025-09-30",
"count": 1
},
{
"date": "2025-10-06",
"count": 1
},
{
"date": "2025-10-13",
"count": 1
},
{
"date": "2025-10-20",
"count": 2
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-10-28",
"count": 1
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-21",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-11-28",
"count": 1
},
{
"date": "2025-12-05",
"count": 1
},
{
"date": "2025-12-07",
"count": 2
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2025-12-14",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-05",
"count": 1
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-18",
"count": 2
},
{
"date": "2026-01-22",
"count": 1
},
{
"date": "2026-01-24",
"count": 1
},
{
"date": "2026-02-01",
"count": 1
},
{
"date": "2026-02-02",
"count": 2
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-03-06",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-12",
"count": 1
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-04-06",
"count": 1
},
{
"date": "2026-04-14",
"count": 1
},
{
"date": "2026-04-18",
"count": 1
},
{
"date": "2026-04-23",
"count": 1
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-04-27",
"count": 2
},
{
"date": "2026-05-02",
"count": 1
},
{
"date": "2026-05-10",
"count": 1
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-16",
"count": 1
},
{
"date": "2026-05-17",
"count": 2
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-28",
"count": 1
},
{
"date": "2026-05-30",
"count": 2
},
{
"date": "2026-06-04",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-07-02",
"count": 1
},
{
"date": "2026-07-10",
"count": 1
},
{
"date": "2026-07-19",
"count": 1
}
],
"complete": true,
"collected": 879,
"total_stars": 879
},
"open_issues_and_prs": 3
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 10602,
"source_files_sampled": 146,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"composer.json",
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3v7f-55p6-f55p",
"GHSA-c2c7-rcm5-vvqj"
],
"fixed_version": "4.0.4",
"advisory_count": 2,
"oldest_advisory_days": 118
},
{
"name": "postcss",
"direct": false,
"version": "8.5.3",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.1,
"advisory_ids": [
"GHSA-qx2v-qp2m-jg93"
],
"fixed_version": "8.5.10",
"advisory_count": 1,
"oldest_advisory_days": 88
},
{
"name": "yaml",
"direct": false,
"version": "2.7.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 4.3,
"advisory_ids": [
"GHSA-48c2-rrv3-qjmp"
],
"fixed_version": "2.8.3",
"advisory_count": 1,
"oldest_advisory_days": 118
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 2,
"moderate": 2
},
"advisory_count": 5,
"affected_count": 4,
"assessed_count": 108,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 28,
"direct_affected_count": 0
},
"ecosystems": [
"npm",
"packagist"
],
"dependencies": [
{
"name": "dragonmantank/cron-expression",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^3.3.1"
},
{
"name": "guzzlehttp/guzzle",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^6.5|^7.4.5|^7.2"
},
{
"name": "illuminate/console",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^11.0|^12.0|^13.0"
},
{
"name": "illuminate/contracts",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^11.0|^12.0|^13.0"
},
{
"name": "illuminate/database",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^11.0|^12.0|^13.0"
},
{
"name": "illuminate/notifications",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^11.0|^12.0|^13.0"
},
{
"name": "illuminate/support",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^11.0|^12.0|^13.0"
},
{
"name": "laravel/serializable-closure",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^1.3|^2.0"
},
{
"name": "nunomaduro/termwind",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^1.0|^2.0"
},
{
"name": "spatie/enum",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^3.13"
},
{
"name": "spatie/laravel-package-tools",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^1.12.1"
},
{
"name": "spatie/regex",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^3.1.1|^3.1"
},
{
"name": "symfony/process",
"manifest": "composer.json",
"ecosystem": "packagist",
"version_constraint": "^5.4|^6.0|^7.0|^8.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "dragonmantank/cron-expression",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "guzzlehttp/guzzle",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "illuminate/console",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "illuminate/contracts",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "illuminate/database",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "illuminate/notifications",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "illuminate/support",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "laravel/serializable-closure",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "nunomaduro/termwind",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/enum",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/laravel-package-tools",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/regex",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "symfony/process",
"direct": true,
"version": null,
"ecosystem": "packagist"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.8",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/set-array",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.25",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.19.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.8",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.3",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.10",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width-cjs",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi-cjs",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.17",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi-cjs",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "laravel/horizon",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "nunomaduro/collision",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "orchestra/testbench",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "pestphp/pest",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "pestphp/pest-plugin-laravel",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "php",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpstan/extension-installer",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpstan/phpstan-deprecation-rules",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpstan/phpstan-phpunit",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "phpunit/phpunit",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/laravel-ray",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/pest-plugin-snapshots",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/pest-plugin-test-time",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/temporary-directory",
"direct": false,
"version": null,
"ecosystem": "packagist"
},
{
"name": "spatie/test-time",
"direct": false,
"version": null,
"ecosystem": "packagist"
}
],
"collected": true,
"truncated": false,
"total_count": 136,
"direct_count": 13,
"indirect_count": 123
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 185,
"open_issues": 1,
"closed_ratio": 0.929,
"closed_issues": 13,
"closed_unmerged_prs": 42
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "freekmurze",
"commits": 757,
"avatar_url": "https://avatars.githubusercontent.com/u/483853?v=4"
},
{
"type": "User",
"login": "jackwh",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/627533?v=4"
},
{
"type": "User",
"login": "pelmered",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/680058?v=4"
},
{
"type": "User",
"login": "kudashevs",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/15892462?v=4"
},
{
"type": "User",
"login": "ahinkle",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/17038330?v=4"
},
{
"type": "User",
"login": "ralphjsmit",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/59207045?v=4"
},
{
"type": "User",
"login": "abenerd",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/7523903?v=4"
},
{
"type": "User",
"login": "mateusjatenee",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/10816999?v=4"
},
{
"type": "User",
"login": "Nicholasbell03",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/104824661?v=4"
},
{
"type": "User",
"login": "oprypkhantc",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/54406427?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.73
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"pint.yml",
"run-tests.yml",
"update-changelog.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": true,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"yarn.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 5,
"reason": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 3,
"reason": "Found 9/25 approved changesets -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 17 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "11 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": null,
"reason": "no dependencies found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 5,
"reason": "5 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "fd75a3662a82c3fe542a048cda5a0eab8dec7e93",
"ran_at": "2026-07-22T06:56:26Z",
"aggregate_score": 3.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-06-16T13:06:10Z",
"oldest_open_prs": [
{
"number": 318,
"created_at": "2026-07-06T22:25:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 320,
"created_at": "2026-07-22T06:54:20Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-06-16T13:05:36Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 319,
"created_at": "2026-07-20T15:37:25Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/spatie/laravel-health",
"host": "github.com",
"name": "laravel-health",
"owner": "spatie"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"security": 51,
"vitality": 88,
"community": 74,
"governance": 71,
"engineering": 70
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 88,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"commits_last_year": 79,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 24
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "24/52 weeks with commits",
"points": 16.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 24
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "79 commits in the last year",
"points": 17.1,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 79
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "11 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "1.40.0",
"releases_from_tags": false,
"days_since_latest_release": 54,
"mean_days_between_releases": 17.4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 54 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 54
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~17.4 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 17.4
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 35,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 35 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 35
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 74,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"forks": 178,
"stars": 879,
"watchers": 3,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "879 stars",
"points": 47.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 879
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "178 forks",
"points": 18.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 178
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "3 watchers",
"points": 1.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 3
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"packages": [
"spatie/laravel-health"
],
"dependents": 93,
"ecosystems": "packagist",
"total_downloads": 12455474,
"monthly_downloads": 682631
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "682,631 downloads/month across packagist",
"points": 77.8,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 682631,
"ecosystems": "packagist"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "93 packages depend on it",
"points": 13.2,
"status": "partial",
"details": [
{
"code": "registry_dependents",
"params": {
"count": 93
}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 71,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 100,
"top_contributor_share": 0.73
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 73% of commits",
"points": 6.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 73
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 17 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"merged_prs": 185,
"open_issues": 1,
"closed_issues": 13,
"issue_closed_ratio": 0.929,
"closed_unmerged_prs": 42
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "93% of issues closed",
"points": 43.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 93
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "185/227 decided PRs merged",
"points": 31.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 185,
"decided": 227
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 9/25 approved changesets -- score normalized to 3",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 3803,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "spatie",
"public_repos": 524,
"account_age_days": 4456
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "3,803 followers of spatie",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 3803,
"login": "spatie"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "524 public repos, account ~12 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 524
}
},
{
"code": "account_age_years",
"params": {
"years": 12
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"spatie/laravel-health"
],
"ecosystems": "packagist",
"any_deprecated": false,
"min_days_since_publish": 54
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on packagist",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "packagist"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 54 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 54
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "154 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 154
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 70,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
"points": 10,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://spatie.be/docs/laravel-health",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://spatie.be/docs/laravel-health",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 51,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 39,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 13,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 5,
"scorecard_aggregate": 3.9
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
"points": 1.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 9/25 approved changesets -- score normalized to 3",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 17 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "11 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "5 existing vulnerabilities detected",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 108 resolved dependencies against OSV; 28 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 108
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 28
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 5,
"affected_packages": 4,
"assessed_packages": 108,
"unassessed_packages": 28,
"affected_by_severity": "high 2, moderate 2",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 108,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 12
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 36,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 22,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.41,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "41 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 21.9,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 41,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 40,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"yarn.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.02,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "2 of the last 100 commits agent-authored or agent-credited",
"points": 4,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "PHP",
"largest_source_bytes": 10602,
"source_files_sampled": 146,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "PHP without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "PHP"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/146 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 146,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-22T06:56:50.497410Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/spatie/laravel-health.svg",
"full_name": "spatie/laravel-health",
"license_state": "standard",
"license_spdx": "MIT"
}