原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"dns-server",
"go",
"cncf",
"coredns",
"plugin",
"service-discovery"
],
"is_fork": false,
"size_kb": 104479,
"has_wiki": false,
"homepage": "https://coredns.io",
"languages": {
"Go": 2434381,
"Makefile": 1731,
"Dockerfile": 619
},
"pushed_at": "2026-07-24T22:10:04Z",
"created_at": "2016-03-18T20:56:45Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T03:15:05Z",
"description": "CoreDNS is a DNS server that chains plugins",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "master",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://coredns.io/",
"name": "CoreDNS",
"type": "Organization",
"login": "coredns",
"company": null,
"location": null,
"followers": 278,
"avatar_url": "https://avatars.githubusercontent.com/u/21110084?v=4",
"created_at": "2016-08-18T18:43:09Z",
"is_verified": null,
"public_repos": 36,
"account_age_days": 3629
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.14.6",
"kind": "patch",
"published_at": "2026-07-10T05:51:46Z"
},
{
"tag": "v1.14.5",
"kind": "patch",
"published_at": "2026-07-10T00:35:45Z"
},
{
"tag": "v1.14.4",
"kind": "patch",
"published_at": "2026-06-09T07:23:24Z"
},
{
"tag": "v1.14.3",
"kind": "patch",
"published_at": "2026-04-22T12:43:18Z"
},
{
"tag": "v1.14.2",
"kind": "patch",
"published_at": "2026-03-06T06:34:58Z"
},
{
"tag": "v1.14.1",
"kind": "patch",
"published_at": "2026-01-16T05:35:34Z"
},
{
"tag": "v1.14.0",
"kind": "minor",
"published_at": "2026-01-08T01:10:06Z"
},
{
"tag": "v1.13.2",
"kind": "patch",
"published_at": "2025-12-10T03:15:05Z"
},
{
"tag": "v1.13.1",
"kind": "patch",
"published_at": "2025-10-08T20:47:23Z"
},
{
"tag": "v1.13.0",
"kind": "minor",
"published_at": "2025-10-06T07:03:18Z"
},
{
"tag": "v1.12.4",
"kind": "patch",
"published_at": "2025-09-09T00:12:27Z"
},
{
"tag": "v1.12.3",
"kind": "patch",
"published_at": "2025-08-05T17:24:51Z"
},
{
"tag": "v1.12.2",
"kind": "patch",
"published_at": "2025-06-06T11:42:00Z"
},
{
"tag": "v1.12.1",
"kind": "patch",
"published_at": "2025-03-31T20:26:21Z"
},
{
"tag": "v1.12.0",
"kind": "minor",
"published_at": "2024-11-21T19:41:27Z"
},
{
"tag": "v1.11.4",
"kind": "patch",
"published_at": "2024-11-13T03:07:13Z"
},
{
"tag": "v1.11.3",
"kind": "patch",
"published_at": "2024-07-29T17:29:13Z"
},
{
"tag": "v1.11.1",
"kind": "patch",
"published_at": "2023-08-15T20:00:30Z"
},
{
"tag": "v1.11.0",
"kind": "minor",
"published_at": "2023-08-08T14:15:16Z"
},
{
"tag": "v1.10.1",
"kind": "patch",
"published_at": "2023-02-06T18:30:04Z"
},
{
"tag": "v1.10.0",
"kind": "minor",
"published_at": "2022-09-19T12:48:39Z"
},
{
"tag": "v1.9.4",
"kind": "patch",
"published_at": "2022-09-08T17:51:20Z"
},
{
"tag": "v1.9.3",
"kind": "patch",
"published_at": "2022-05-27T15:44:59Z"
},
{
"tag": "v1.9.2",
"kind": "patch",
"published_at": "2022-05-10T15:52:31Z"
},
{
"tag": "v1.9.1",
"kind": "patch",
"published_at": "2022-03-11T18:27:27Z"
},
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2022-02-09T19:30:26Z"
},
{
"tag": "v1.8.7",
"kind": "patch",
"published_at": "2022-01-14T14:13:58Z"
},
{
"tag": "v1.8.6",
"kind": "patch",
"published_at": "2021-10-07T12:43:12Z"
},
{
"tag": "v1.8.5",
"kind": "patch",
"published_at": "2021-09-21T14:57:08Z"
},
{
"tag": "v1.8.4",
"kind": "patch",
"published_at": "2021-05-28T10:35:15Z"
},
{
"tag": "v1.8.3",
"kind": "patch",
"published_at": "2021-02-24T13:59:30Z"
},
{
"tag": "v1.8.2",
"kind": "patch",
"published_at": "2021-02-24T12:26:31Z"
},
{
"tag": "v1.8.1",
"kind": "patch",
"published_at": "2021-01-21T08:39:17Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2020-10-22T08:59:20Z"
},
{
"tag": "v1.7.1",
"kind": "patch",
"published_at": "2020-09-21T15:23:26Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2020-06-18T00:52:22Z"
},
{
"tag": "v1.6.9",
"kind": "patch",
"published_at": "2020-03-24T15:36:42Z"
},
{
"tag": "v1.6.8",
"kind": "patch",
"published_at": "2020-03-24T14:56:26Z"
},
{
"tag": "v1.6.7",
"kind": "patch",
"published_at": "2020-01-28T19:16:55Z"
},
{
"tag": "v1.6.6",
"kind": "patch",
"published_at": "2019-12-12T15:50:22Z"
},
{
"tag": "v1.6.5",
"kind": "patch",
"published_at": "2019-11-05T13:59:36Z"
},
{
"tag": "v1.6.4",
"kind": "patch",
"published_at": "2019-09-27T13:52:20Z"
},
{
"tag": "v1.6.3",
"kind": "patch",
"published_at": "2019-08-31T09:15:37Z"
},
{
"tag": "v1.6.2",
"kind": "patch",
"published_at": "2019-08-14T08:34:30Z"
},
{
"tag": "v1.6.1",
"kind": "patch",
"published_at": "2019-08-01T13:57:28Z"
},
{
"tag": "v1.6.0",
"kind": "minor",
"published_at": "2019-07-28T20:24:12Z"
},
{
"tag": "v1.5.2",
"kind": "patch",
"published_at": "2019-07-03T18:56:56Z"
},
{
"tag": "v1.5.1",
"kind": "patch",
"published_at": "2019-06-26T11:56:32Z"
},
{
"tag": "v1.5.0",
"kind": "minor",
"published_at": "2019-04-07T12:15:42Z"
},
{
"tag": "v1.4.0",
"kind": "minor",
"published_at": "2019-03-03T10:45:32Z"
},
{
"tag": "v1.3.1",
"kind": "patch",
"published_at": "2019-01-13T14:53:39Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2018-12-15T15:54:03Z"
},
{
"tag": "v1.2.6",
"kind": "patch",
"published_at": "2018-11-04T18:10:19Z"
},
{
"tag": "v1.2.5",
"kind": "patch",
"published_at": "2018-10-24T20:12:01Z"
},
{
"tag": "v1.2.4",
"kind": "patch",
"published_at": "2018-10-17T21:56:29Z"
},
{
"tag": "v1.2.3",
"kind": "patch",
"published_at": "2018-10-16T06:40:16Z"
},
{
"tag": "v1.2.2",
"kind": "patch",
"published_at": "2018-08-29T06:55:24Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2018-08-27T19:14:14Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2018-07-11T09:01:08Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2018-06-19T16:59:42Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2018-05-24T07:05:04Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2018-04-23T12:51:59Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2018-03-25T16:27:54Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2018-03-13T14:52:11Z"
},
{
"tag": "v1.0.6",
"kind": "patch",
"published_at": "2018-02-22T09:14:14Z"
},
{
"tag": "v1.0.5",
"kind": "patch",
"published_at": "2018-01-25T20:42:14Z"
},
{
"tag": "v1.0.4",
"kind": "patch",
"published_at": "2018-01-18T13:53:31Z"
},
{
"tag": "v1.0.3",
"kind": "patch",
"published_at": "2018-01-10T19:51:37Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2017-12-31T09:19:34Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2017-12-11T16:53:52Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2017-12-01T23:40:26Z"
},
{
"tag": "v0.9.10",
"kind": "patch",
"published_at": "2017-11-03T20:37:33Z"
},
{
"tag": "v0.9.9",
"kind": "patch",
"published_at": "2017-10-18T10:25:10Z"
},
{
"tag": "v011",
"kind": "other",
"published_at": "2017-09-10T18:31:27Z"
},
{
"tag": "v010",
"kind": "other",
"published_at": "2017-07-25T15:18:14Z"
},
{
"tag": "v009",
"kind": "other",
"published_at": "2017-07-17T14:53:21Z"
},
{
"tag": "v008",
"kind": "other",
"published_at": "2017-06-14T21:49:01Z"
},
{
"tag": "v007",
"kind": "other",
"published_at": "2017-05-03T18:45:41Z"
},
{
"tag": "v006",
"kind": "other",
"published_at": "2017-02-22T21:24:21Z"
},
{
"tag": "v005",
"kind": "other",
"published_at": "2017-02-09T18:49:33Z"
},
{
"tag": "v004",
"kind": "other",
"published_at": "2017-01-01T10:46:25Z"
},
{
"tag": "v003",
"kind": "other",
"published_at": "2016-11-11T16:42:36Z"
},
{
"tag": "v002",
"kind": "other",
"published_at": "2016-10-19T19:51:53Z"
},
{
"tag": "v001",
"kind": "other",
"published_at": "2016-09-18T13:37:04Z"
}
],
"recent_commits": [
{
"oid": "989bf4a9fd9af1a6d017ba5caee8d1bb3b48b999",
"body": "* plugin/file: resolve each additional section target only once\n\nadditionalProcessing walked the answer and appended each target's address records without keeping track of the targets it had already resolved. An answer holding several records that point at one target, two MX records differing only i\n[…]\nthe lookup tests. No test logic is changed.\n\nAddresses review feedback.\n\nSigned-off-by: baltasarblanco <baltablanco9008@gmail.com>\n\n---------\n\nSigned-off-by: baltasarblanco <baltablanco9008@gmail.com>",
"is_bot": false,
"headline": "plugin/file: resolve each additional section target only once (#8286)",
"author_name": "Baltasar Blanco",
"author_login": "baltasarblanco",
"committed_at": "2026-07-24T22:10:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "73d1eacf87267350fc549bfab010a67813bd5498",
"body": "…ution (#8233)",
"is_bot": false,
"headline": "plugin/forward: Add http(2) host/authority header and TO server resol…",
"author_name": "llucas",
"author_login": "ccie57654",
"committed_at": "2026-07-23T02:07:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56f7c09311dce3d2bc141cf0b549071daafd186e",
"body": null,
"is_bot": false,
"headline": "fix(rewrite): preserve original request during rewrites (#8235)",
"author_name": "liucongran",
"author_login": "crliu3227",
"committed_at": "2026-07-23T02:06:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55949d626bb63ca8846fc97bba79076c2ec3ce44",
"body": null,
"is_bot": false,
"headline": "core/dnsserver: normalize server block zones (#8320)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-23T02:04:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cf446a2b572517fd867ab9bf7c7346b035576ae",
"body": null,
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 (#8334)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:22:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b707b548ba28ffe0f15323c807dc322a79420cc9",
"body": null,
"is_bot": true,
"headline": "build(deps): bump sigs.k8s.io/mcs-api from 0.5.1 to 0.5.2 (#8331)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:21:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d27043faeefa45b05df287306c926ea9295bf2fd",
"body": "…(#8328)",
"is_bot": true,
"headline": "build(deps): bump github.com/prometheus/common from 0.69.0 to 0.70.0 …",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:20:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9dde873ea9c4d3d35b881faf44ed0dbb5e3d593",
"body": "Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.287.1 to 0.288.0.\n- [Release notes](https://github.com/googleapis/google-api-go-client/releases)\n- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)\n- [Commits](https://github.\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump google.golang.org/api from 0.287.1 to 0.288.0 (#8330)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T19:08:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6407da1d3a5a4ec42db8ce25fac84d35ae7ac75d",
"body": "…0 (#8325)\n\nBumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) from 0.14.0 to 0.15.0.\n- [Release notes](https://github.com/pires/go-proxyproto/releases)\n- [Commits](https://github.com/pires/go-proxyproto/compare/v0.14.0...v0.15.0)\n\n---\nupdated-dependencies:\n- dependency-n\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/pires/go-proxyproto from 0.14.0 to 0.15.…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T17:20:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "908c417901e6b2d0096ab8be0407bc927660dbd0",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.32.28 to 1.32.30.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.28...config/v1.32.30)\n\n---\nupdated-dependencies:\n- depende\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/config (#8324)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T17:12:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0a5a142f251396400ec45ba1e8728e16efcb2707",
"body": "Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.0 to 1.82.1.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.82.0...v1.82.1)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n dependency-version: 1.82.1\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 (#8336)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T17:10:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2cfeeaecc9f79c70405106bfa850f803fe7c874",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2) from 1.19.27 to 1.19.29.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/credentials/v1.19.27...credentials/v1.19.29)\n\n---\nupdated-dependen\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/credentials (#8326)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T16:02:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "899eac64d5850de280826e5acf1fd45dbf7338dc",
"body": "… (#8327)",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T14:07:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5055bba5f5455a71f6dc8762dd3c0cebaeab4680",
"body": "…332)",
"is_bot": true,
"headline": "build(deps): bump softprops/action-gh-release from 3.0.1 to 3.0.2 (#8…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T14:07:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "658fef8ffba399799533a52f86589c81dedd91ac",
"body": null,
"is_bot": true,
"headline": "build(deps): bump actions/stale from 10.3.0 to 10.4.0 (#8333)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T14:06:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db7dac269b8951339947fab0f3e73e00067369cf",
"body": null,
"is_bot": true,
"headline": "build(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#8323)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T14:06:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "243191c774abf799abdce80be84ebf7bc59119dd",
"body": null,
"is_bot": true,
"headline": "build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 (#8329)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T14:06:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0a8eb8a46cbf07483a9dcef4bdea198823bb986",
"body": "* Add max conn limit to https3\n\nThis PR adds max conn limit to https3, similiar to https\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* Add Test to cover change\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* Address review feedback\n\nSigned-off-by: Yong Tang <yong.tang.githu\n[…]\nto <ville@vesilehto.fi>\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\nCo-authored-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "Add max conn limit to https3 (#8187)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-21T22:52:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "989a188d13593632742c2fe6161c6c0f0d351d1a",
"body": "…ont block valid ones later (#8287)\n\n* plugin/plugin: Fix UDP forwarding so a malformed upstream datagram wont block valid ones later\n\nThis PR fixes UDP forwarding so a malformed upstream datagram\ndoes not prevent CoreDNS from accepting a subsequent valid response\nbefore the existing read deadline.\n\n[…]\nts\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* Cover branch\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/forward: Fix UDP forwarding so a malformed upstream datagram w…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-21T22:21:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d1a6ab0eb93e715bcb6efe46d658a1a275c555fe",
"body": "The warning added in #8216 passed the skipped file where the kept file\nbelongs and vice versa, so it logged \"using <skipped> instead of <kept>\"\n— the reverse of what Walk actually does. Swap the arguments (and use\ncleanPath for both) so the message names the file that is being used.\nStrengthen TestWalkWarnsForDuplicateOrigin to assert the direction; it\nonly checked that both names appeared, so the inversion passed before.\n\nSigned-off-by: maximilize <3752128+maximilize@users.noreply.github.com>",
"is_bot": false,
"headline": "plugin/auto: fix inverted arguments in duplicate-origin warning (#8317)",
"author_name": "maximilize",
"author_login": "maximilize",
"committed_at": "2026-07-21T09:55:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0410236577754fd30355bf723f8740d782fe5bda",
"body": "Make mtime reload tests tolerate slow scheduling and coarse filesystem\ntimestamp resolution. This keeps immediate rewrites observable and\navoids checking zone contents before the reload completes.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "test(file): stabilize mtime reload (#8318)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-20T21:54:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98bdb44f4dff0435ad947daedcbe955805781b5c",
"body": null,
"is_bot": false,
"headline": "plugin/hosts: make unsupported type fallthrough opt-in (#8282)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-20T02:59:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "201d86a09812b9a8af2d5cdc95959139fb9bc9be",
"body": "* core: Add connection-level concurrency limiting to DNS-over-QUIC\n\nThis PR adds max connections to prevent unbounded connection goroutine growth\nfor DoQ\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* Add test to cover change\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "core: Add connection-level concurrency limiting to DNS-over-QUIC (#8213)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-19T10:52:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "077774e0cdbeb09ee2ea67b9aa733004fbc3f134",
"body": "Plugin package tests previously ran only on Linux, so Windows-\nspecific failures were never caught. Run them in CI and make the\naffected tests portable across platforms.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "ci: run plugin tests on Windows (#8314)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-19T10:52:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96ec17d5c6657e7355612dbf8bb81ea05bc83e09",
"body": "…n failures (#8313)\n\nThis PR fixes the forward plugin incorrectly retrying deterministic\nlocal DNS message serialization failures as if they were upstream transport errors.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/forward: Fix incorrect retry of local DNS message serializatio…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-19T10:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57f73b4a4340ffce38e7b4ca36fe6f0d8ed1dd60",
"body": "Ensure DoH, DoH3, DoQ, and DNS-over-gRPC continue to reject RFC 2136\nUPDATE requests before dispatch. This guards the common request\nacceptance policy across every affected transport.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-19T03:36:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1fe47bc3a6dc00f7f3360530d681b3ae08e9ac9",
"body": "Directory permission checks can be bypassed by privileged users and may\nbehave differently on filesystems with nonstandard permission semantics.\n\nMake the bad-path case deterministic so TLS keylog tests remain portable\nacross supported environments.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "test(tls): make keylog path test portable (#8311)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-19T03:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1f4d0cb90a537de99abf50a3aa0bc6584b9d7de",
"body": "…l records (#8285)\n\nSigned-off-by: ncesam <rybushkin09@bk.ru>",
"is_bot": false,
"headline": "plugin/rewrite: normalize exact cname rewrite targets and preserve al…",
"author_name": "Ncesam",
"author_login": "Ncesam",
"committed_at": "2026-07-16T01:06:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99b683aa41a647a46f60ce3c2c922631d830868c",
"body": "* plugin/transfer: collect all notify errors instead of shadowing\n\nSigned-off-by: ncesam <rybushkin09@bk.ru>\n\n* plugin/transfer: add regression test for notify multiple failures\n\nSigned-off-by: ncesam <rybushkin09@bk.ru>\n\n---------\n\nSigned-off-by: ncesam <rybushkin09@bk.ru>",
"is_bot": false,
"headline": "plugin/transfer: collect all notify errors instead of shadowing (#8283)",
"author_name": "Ncesam",
"author_login": "Ncesam",
"committed_at": "2026-07-16T01:05:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "530b0a5ff2ad68cc0421f10dd93568945cc671c9",
"body": "DoH, DoQ, and DNS-over-gRPC unpack messages without the acceptance\nchecks used by UDP and TCP. An unauthenticated request with a large\nQDCOUNT can therefore force excessive allocations while names are\ndecoded and exhaust server memory.\n\nEnforce the same request policy across all server transports.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-16T00:54:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5e54040ffab9a5c12c6de27b66f59f62b385195",
"body": "Bumps the go-etcd-io group with 2 updates: [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) and [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd).\n\n\nUpdates `go.etcd.io/etcd/api/v3` from 3.6.12 to 3.6.13\n- [Release notes](https://github.com/etcd-io/etcd/releases)\n- [Commits](http\n[…]\n version-update:semver-patch\n dependency-group: go-etcd-io\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump the go-etcd-io group with 2 updates (#8292)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T20:03:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a1aef3a70fc19388d725754efd4e174baed37207",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.32.26 to 1.32.28.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.26...config/v1.32.28)\n\n---\nupdated-dependencies:\n- depende\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/config (#8294)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T20:02:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "04280acbf437d0606ea9f7c47ae3610b0219b403",
"body": null,
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/credentials (#8299)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T19:15:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fe5801bf191a2a9897e423055ac2aad95e5873c",
"body": "Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.280.0 to 0.287.1.\n- [Release notes](https://github.com/googleapis/google-api-go-client/releases)\n- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)\n- [Commits](https://github.\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump google.golang.org/api from 0.280.0 to 0.287.1 (#8295)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:30:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "621eb4d05bdb12f55a8782a750d4ca58f26357d7",
"body": "… (#8301)\n\nBumps [github.com/aws/aws-sdk-go-v2/service/secretsmanager](https://github.com/aws/aws-sdk-go-v2) from 1.42.4 to 1.43.0.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/amp/v1.42.4...service/s3/v1.43.0)\n\n---\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:29:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "751e0c25e7001cd7989a2008fc98df1eff462c07",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2) from 1.18.29 to 1.18.30.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.29...config/v1.18.30)\n\n---\nupdated-dependencies:\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds (#8303)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:29:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "92f677c89ca6b375fa1529ebdfab2a462f894af8",
"body": "…0 (#8304)\n\nBumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) from 0.13.0 to 0.14.0.\n- [Release notes](https://github.com/pires/go-proxyproto/releases)\n- [Commits](https://github.com/pires/go-proxyproto/compare/v0.13.0...v0.14.0)\n\n---\nupdated-dependencies:\n- dependency-n\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/pires/go-proxyproto from 0.13.0 to 0.14.…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:29:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ccc7745f2e1a44f7b62fa34467c0e7555a780d60",
"body": "Bumps [sigs.k8s.io/mcs-api](https://github.com/kubernetes-sigs/mcs-api) from 0.5.0 to 0.5.1.\n- [Release notes](https://github.com/kubernetes-sigs/mcs-api/releases)\n- [Changelog](https://github.com/kubernetes-sigs/mcs-api/blob/master/RELEASE.md)\n- [Commits](https://github.com/kubernetes-sigs/mcs-api/\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump sigs.k8s.io/mcs-api from 0.5.0 to 0.5.1 (#8308)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:28:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f76b78c8a90689730cd9f589db7abfec8a860f76",
"body": "…(#8305)\n\nBumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.42.0 to 1.42.1.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.42.0...v1.42.1)\n\n---\nupdated-dependencies:\n- dependency-name: githu\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.42.0 to 1.42.1 …",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:02:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9d831348f91ffe0401c6de2aa984f52b86b61552",
"body": "Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.2.0 to 8.3.2.\n- [Release notes](https://github.com/astral-sh/setup-uv/releases)\n- [Commits](https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...11f9893b081a58869d3b5fccaea48c9e9e46f990)\n\n---\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.2 (#8297)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:02:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "36e802a6df9651e9b45011c23567c0f84e1b25a7",
"body": "Bumps [docker/login-action](https://github.com/docker/login-action) from 4.2.0 to 4.4.0.\n- [Release notes](https://github.com/docker/login-action/releases)\n- [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...af1e73f918a031802d376d3c8bbc3fe56130a9b0)\n\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump docker/login-action from 4.2.0 to 4.4.0 (#8298)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:02:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c6191e2bf1216e7dbc0b717a8f6b9f437c7f0da5",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) from 1.63.4 to 1.64.0.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.63.4...service/s3/v1.64.0)\n\n---\nupdated-dependenc\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 (#8307)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T14:01:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2bff8bb74ec6d5f04decefd337f94134db47a124",
"body": "Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.36.2 to 4.37.0.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-act\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/upload-sarif (#8296)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T13:54:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f4e55c166ef9d3be525944a122388e051720b4b4",
"body": "…(#8300)\n\nBumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.36.2 to 4.37.0.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeq\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/analyze from 4.36.2 to 4.37.0 …",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T13:54:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "035b553840c721c30b057e607bcbd0411364c98c",
"body": "…0 (#8293)\n\nBumps [github/codeql-action/autobuild](https://github.com/github/codeql-action) from 4.36.2 to 4.37.0.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/c\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/autobuild from 4.36.2 to 4.37.…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T13:53:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6829a7308f960889bd7b922c10dd3299b244af12",
"body": "…302)\n\nBumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.36.2 to 4.37.0.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-acti\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github/codeql-action/init from 4.36.2 to 4.37.0 (#8…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T13:52:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "18a58b9e898ccd95c3f8ee72a37b95b3d1e3e928",
"body": "This fix prevents CoreDNS `autopath` from bypassing `acl` checks\nwhen it rewrites an allowed query into a name within an ACL-protected zone.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/acl: Fix autopath from bypassing acl checks (#8290)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-15T05:36:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ba14119d03c2e07f104072e960393223f392b55",
"body": "…289)\n\nThis PR fixes plugin ordering so ACL checks run before cache lookups,\npreventing blocked clients from receiving cached DNS answers populated by allowed clients\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/acl: Fix blocked clients from receiving cached DNS answers (#8…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-15T05:26:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7cd99da01392d2890f4dea34e62048585502366b",
"body": "Signed-off-by: houyuwushang <liuluoqianqiu@outlook.com>",
"is_bot": false,
"headline": "plugin/secondary: reset catalog members on ID change (#8281)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-15T01:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5131b8f9444bfb8c9689d15d77a68bcaf521ba3e",
"body": "…when no allow list is present. (#8278)\n\n* plugin/proxyproto: Apply an explicitly configured default policy even when no allow list is present.\n\nThis PR fix the issue where explicitly configured default reject policy\nis ignoreed when no allo list is present\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* golint fix\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/proxyproto: Apply an explicitly configured default policy even…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-14T00:34:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e16e829181f2f843c08649312ae7257bbc7c3713",
"body": "…tead of the configured CA (#8279)\n\nThis PR fixes issue in forward plugin where default TLS instead of\nconfigured CA was used.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/forward: Fix issue in DoH health checks used a default TLS ins…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-14T00:34:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ebf66a74e9911e18f708cca6d47de2931990a21",
"body": "* plugin/forward: Fix incorrect failover counter reset\n\nThis PR fixes the isseue where resetting the failover counter caused\nretry the same upstreams until timeout instead of stopping after one pass.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* golint fix\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/forward: Fix incorrect failover counter reset (#8277)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-14T00:34:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5053d50ad49b74b755c4eca88e8766f277fa3d8",
"body": "This PR fixes panic with zero-valued SOA refresh\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/file: Fix panic on zero-valued SOA refresh (#8276)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-14T00:33:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38e26f25c459cf36bd954a181ff79efebd2f5e87",
"body": "…l (#8223)\n\nA query for a name that sits below a closer empty non-terminal was wrongly\nanswered with a shallower wildcard record instead of NXDOMAIN. Per RFC 4592\n2.2.1 a wildcard is the source of synthesis only when the wildcard owner's\nparent is the closest encloser of the queried name; if an empt\n[…]\nal still applies.\n\nSigned-off-by: Omkhar Arasaratnam <omkhar@linkedin.com>\nCo-authored-by: Omkhar Arasaratnam <omkhar@linkedin.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "plugin/file: do not expand wildcard across a closer empty non-termina…",
"author_name": "Omkhar Arasaratnam",
"author_login": "omkhar",
"committed_at": "2026-07-11T10:03:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "af1e34ebc8509f5c188c902c94caf3b133f3b686",
"body": "Several tests slept a fixed duration then took a single snapshot of an\nasync result, racing whatever they waited on:\n- forward health tests waited 20ms for the health-check goroutine to bump\n an atomic counter,\n- the auto plugin tests (dns + metrics) waited 50-110ms for a file-watch\n reload to be \n[…]\n's own handler) so they pass as soon as the\nawaited state is reached and no longer flake when it is slower than the\nfixed wait. Test-only.\n\nSigned-off-by: Nikolaus Schuetz <nikolauspschuetz@gmail.com>",
"is_bot": false,
"headline": "test: poll instead of fixed sleeps across several tests (#8275)",
"author_name": "Nikolaus Schuetz",
"author_login": "nikolauspschuetz",
"committed_at": "2026-07-10T22:20:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6ec70a060368263b35eff292660f76c22aac5e59",
"body": "Signed-off-by: houyuwushang <liuluoqianqiu@outlook.com>",
"is_bot": false,
"headline": "request/cache: bind responses and entries to QCLASS (#8272)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-10T22:18:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d42f0e8f55f4bf36b5bb29577506d1be7e462bf",
"body": "This PR enforce docker-build test so that every PR will check to make\nsure the docker build (which reliesd on if base image, binary, etc\nare still correct), is actually available and working.\n\nNote previously, we only check a dry run of docker push, but not actually\nbuild the docker image (as binary\n[…]\non github).\nThis PR fetch local binary build instead as there maynot be the same in different\nrelease versions of binary.\n\nThis is related 8228\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Enforce doker build test (#8271)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T07:24:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "39a48acf6b0f7360a09aceea4624a56b2150d92c",
"body": "Since mips64le does not have a distroless image anymore, have to change the base\nimage.\n\nThis is part of 8228. However, since it only involved container image and\nnot rebuild binary, shoud be ok with existing one.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Change base image for mips64le (#8270)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T06:54:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "424d125775cd70fa90dfc80bf0e52cc9a9aeb574",
"body": "This PR update release note of 1.14.6, part of 8228\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Update release note of 1.14.6 (#8269)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T05:04:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "568a4ec6975a95196991284d06d4f5cf2589401b",
"body": "THis PR populating errors from all Makefile, so any PR test can\nbe fully checked correctly. See #8265 for releated issue\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Populating errors from all Makefile (#8268)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T05:04:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7660f4c541181f2ea3e9cf8cb2d527dc84fcc69f",
"body": "This PR bumps version to 1.14.6, part of 8228\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Bump version to 1.14.6 (#8267)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T04:32:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "886bb85849edf08883cd0d19c107edbb8e7b1e04",
"body": "* Test: populating build test failure\n\nThe current build test won't populating the failure caused issue undetected:\n\nSee https://github.com/coredns/coredns/issues/8228#issuecomment-4931425842\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n* Pupulate error from Makefile\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>\n\n---------\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Test: populating build test failure (#8265)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-10T04:12:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99bad66253c1a98971f142441364c41a03449a80",
"body": "dd-trace-go versions >=2.9.0 do not compile without warnings\non non-64-bit architectures. Downgrade to v2.8.2 until upstream\nfixes the issue.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "chore(deps): downgrade dd-trace-go to v2.8.2 (#8266)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-10T03:50:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cab9853cd80e5a996489a23de17c97cc7ecc944",
"body": "Signed-off-by: immanuwell <pchpr.00@list.ru>",
"is_bot": false,
"headline": "fix(auto): keep first matching zone file for duplicate origins (#8216)",
"author_name": "Immanuel Tikhonov",
"author_login": "immanuwell",
"committed_at": "2026-07-10T00:43:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e01c0ad7c4502ec1a60a010d7b97206483a0ecb",
"body": "Signed-off-by: houyuwushang <liuluoqianqiu@outlook.com>",
"is_bot": false,
"headline": "plugin/secondary: serve catalog member zones (#8230)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-10T00:42:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4990abfa32261c3acf10aa375122b0c7d4c61cb",
"body": "* fix(dnssec): avoid caching empty signing results (#7996)\n\nSigned-off-by: Filippo <filippo.ferrazini@gmail.com>\n\n* save only\n\nSigned-off-by: Filippo <filippo.ferrazini@gmail.com>\n\n* do #8008\n\nSigned-off-by: Filippo <filippo.ferrazini@gmail.com>\n\n* Fix Address used if tcp\n\nSigned-off-by: Filippo <fi\n[…]\n<ville@vesilehto.fi>\nCo-authored-by: Yong Tang <yong.tang.github@outlook.com>\nCo-authored-by: Umut Polat <52835619+umut-polat@users.noreply.github.com>\nCo-authored-by: Cedric Wang <wangzongqi@msn.com>",
"is_bot": false,
"headline": "feat(forward): add source_address directive (#8011)",
"author_name": "Filippo125",
"author_login": "Filippo125",
"committed_at": "2026-07-10T00:38:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "adba3b3703408ffe80bc03a7be0f6ea9c2372399",
"body": "This PR Update Release Note for 1.14.5 (See 8228)\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Update Release Note 1.14.5 (#8264)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-09T23:49:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "540e2f325f6ca5526df3cce44e03819bcbca20d3",
"body": "…sful (#8215)",
"is_bot": false,
"headline": "plugin/tsig: don't echo client's TSIG.Error if verification is succes…",
"author_name": "Ilya Kulakov",
"author_login": "Kentzo",
"committed_at": "2026-07-09T22:04:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ebe4da2b0274b0d4a4e4a35502e2202a9f9939b",
"body": null,
"is_bot": false,
"headline": "docs(timeouts): document DoQ read timeout (#8263)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-09T22:01:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d13ab20af7170ae156595728e25de3e036dfa8b",
"body": null,
"is_bot": false,
"headline": "chore: update release notes for 1.14.5 (#8262)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-09T22:01:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "974d693e6fe8280ae0f4bb758b9f018feec5a47f",
"body": "…h error (#8260)\n\nlistener.Dnstap holds clientsMu.RLock() while iterating connected sink\nclients. In the flush-error branch it called removeClient(c) synchronously,\nbut removeClient takes clientsMu.Lock(). A sync.RWMutex is not reentrant, so\nthe goroutine blocks forever waiting to acquire the write \n[…]\nthe same in the flush-error branch and drop the early return so the\nbroadcast still reaches the remaining clients.\n\nAssisted-by: Claude Opus 4.8\n\nSigned-off-by: Pavel Lazureykis <pavel@lazureykis.dev>",
"is_bot": false,
"headline": "plugin/dnstap: fix self-deadlock in listener broadcast on client flus…",
"author_name": "Pavel Lazureykis",
"author_login": "lazureykis",
"committed_at": "2026-07-09T17:43:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9fac0b6e9e48b6e284bdf384e4cf203836c082e7",
"body": "…8231)\n\nserveQUICStream acquires a worker from streamProcessPool and then calls\nreadDOQMessage with no read deadline. A client that opens a QUIC stream\nbut never (or only slowly) sends its DoQ query blocks that worker\nindefinitely. With enough such streams this starves the worker pool and\nstalls DoQ\n[…]\n is still served.\n\nSigned-off-by: Omkhar Arasaratnam <omkhar@linkedin.com>\nCo-authored-by: Omkhar Arasaratnam <omkhar@linkedin.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "core/dnsserver: bound DoQ stream read with the server read timeout (#…",
"author_name": "Omkhar Arasaratnam",
"author_login": "omkhar",
"committed_at": "2026-07-09T17:37:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ab318db7b4a3a19273852ed627f54888198c8efb",
"body": "… DNS record (#8207)\n\nThis PR fixes panic in CoreDNS transfer plugin caused by empty DNS record.\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "plugin/transfer: Fix panic in CoreDNS transfer plugin caused by empty…",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-09T17:21:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d106be341ae5b13d46712d0202dbfa7ff424753",
"body": "… (#8257)\n\n* core/dnsserver: add Config.UDPDecorateWriterFunc for external plugins\n\nAllow external plugins to install a dns.DecorateWriter (an existing\nmiekg/dns Server field CoreDNS never sets) on plain-UDP servers, e.g.\nfor per-socket write disciplines or overload protection; UDP is the\nonly trans\n[…]\nnext to ProxyProtoConnPolicy, the existing field\nresolved the same way at the same point.\n\nSigned-off-by: Ryan Brewster <rpb@anthropic.com>\n\n---------\n\nSigned-off-by: Ryan Brewster <rpb@anthropic.com>",
"is_bot": false,
"headline": "core/dnsserver: add Config.UDPDecorateWriterFunc for external plugins…",
"author_name": "rpb-ant",
"author_login": "rpb-ant",
"committed_at": "2026-07-09T17:15:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7df9238255c13b5972bcfc7b4f318b26c1906691",
"body": "…ds (#8256)",
"is_bot": false,
"headline": "plugin/kubernetes: fix AXFR panic when nsAddrs returns multiple recor…",
"author_name": "Pavel Lazureykis",
"author_login": "lazureykis",
"committed_at": "2026-07-09T08:45:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bf5de8e9297446f68178f566481b9fa188e8545",
"body": "LookupStaticHostV4/V6 dereferenced h.hmap and h.inline as call arguments,\nwhich are evaluated before lookupStaticHostFamily takes the read lock. The\nreload path (readHosts) swaps h.hmap under h.Lock() on every reload, so the\nfield read raced the swap for every A/AAAA lookup. This was introduced when\n[…]\n under h.Lock(), and readHosts runs from both\nthe OnStartup handler and the reload ticker goroutine.\n\nBoth races are confirmed by go test -race.\n\nSigned-off-by: Pavel Lazureykis <pavel@lazureykis.dev>",
"is_bot": false,
"headline": "plugin/hosts: fix data race between lookups and reload (#8253)",
"author_name": "Pavel Lazureykis",
"author_login": "lazureykis",
"committed_at": "2026-07-09T04:44:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ea99084dec7b9270bfda1895a82c4f02efa77700",
"body": "This PR updates release note 1.14.5, part of 8228\n\nSigned-off-by: Yong Tang <yong.tang.github@outlook.com>",
"is_bot": false,
"headline": "Update Release Note 1.14.5 (#8258)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-09T04:40:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "534f668ac98c6e68f87ed46f2ba49924a96dc411",
"body": "The DoH (HTTP/2) and DoH3 (HTTP/3) handlers wrote the raw parse error\nreturned by doh.RequestToMsgWire directly into the HTTP 400 response\nbody via http.Error(w, err.Error(), ...).\n\nWhen the request body read fails mid-stream (for example the server's\nReadTimeout firing on a slow client, or a connec\n[…]\nsed for the 404 and 500 cases in the same handlers.\nAdd tests asserting the response body no longer contains the raw read\nerror or an internal address.\n\nSigned-off-by: zongqi-wang <wangzongqi@msn.com>",
"is_bot": false,
"headline": "core/dnsserver: sanitize DoH/DoH3 request parse errors (#8254)",
"author_name": "Cedric Wang",
"author_login": "zongqi-wang",
"committed_at": "2026-07-09T01:07:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "658b2df2e993783b5ceb9427fd7e26902abf8b2b",
"body": "…0 (#8243)\n\nBumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) from 0.12.0 to 0.13.0.\n- [Release notes](https://github.com/pires/go-proxyproto/releases)\n- [Commits](https://github.com/pires/go-proxyproto/compare/v0.12.0...v0.13.0)\n\n---\nupdated-dependencies:\n- dependency-n\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/pires/go-proxyproto from 0.12.0 to 0.13.…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T17:51:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9ded9a70c1aee96c6c2f91c6577ef8f3ed85ac47",
"body": "Bumps [github.com/aws/aws-sdk-go-v2/service/route53](https://github.com/aws/aws-sdk-go-v2) from 1.63.3 to 1.63.4.\n- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)\n- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.63.3...service/ecs/v1.63.4)\n\n---\nupdated-dependenc\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/route53 (#8242)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T17:51:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "04b532fb65ab02e7ad5ed4d3c637a1238048fc16",
"body": "Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.81.1 to 1.82.0.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.1...v1.82.0)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n dependency-\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "build(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.0 (#8244)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T17:50:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ca27d5d07341d35a657216ef14789e6c6b18a708",
"body": null,
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/config (#8251)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T15:08:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9766801215321cd6b468c311919f77d1410dd2c0",
"body": "… (#8245)",
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/service/secretsmanager…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T15:08:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a267ab2093700323a8ef6beb8a104a3629d05436",
"body": null,
"is_bot": true,
"headline": "build(deps): bump github.com/prometheus/exporter-toolkit (#8250)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T14:44:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56f36fa5feecd0b75452030c1bc6fd77a19df78c",
"body": null,
"is_bot": true,
"headline": "build(deps): bump github.com/aws/aws-sdk-go-v2/credentials (#8246)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T14:43:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4d480f5abc8a9c51cac1be582452c27fdb29bd6",
"body": null,
"is_bot": true,
"headline": "build(deps): bump golang.org/x/sys from 0.46.0 to 0.47.0 (#8247)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T14:42:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "034de584b9c3ad796f10950078bfac0033b8f759",
"body": "….1 (#8248)",
"is_bot": true,
"headline": "build(deps): bump github.com/DataDog/dd-trace-go/v2 from 2.9.0 to 2.9…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T14:41:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b376a785ae774f613f4127fb77afabf083fa504b",
"body": "…#8241)",
"is_bot": true,
"headline": "build(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-08T14:31:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19ce0e173a0ee60fd1b2ccbce96a45361dfb3683",
"body": null,
"is_bot": false,
"headline": "plugin/dnstap: close the previous connection before reconnecting (#8224)",
"author_name": "Omkhar Arasaratnam",
"author_login": "omkhar",
"committed_at": "2026-07-08T12:58:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1a0d2f287faf5fc25672268841c815074c6773a",
"body": "…` (#8240)",
"is_bot": false,
"headline": "plugin/erratic: apply default truncate amount of 2 for bare `truncate…",
"author_name": "SEONGHYUN HONG",
"author_login": "s3onghyun",
"committed_at": "2026-07-08T12:37:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e81066b3e4aca00625ce9e7cbf3eb84fa1879d0e",
"body": null,
"is_bot": false,
"headline": "Bump version to 1.14.5 (#8238)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-08T03:02:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2428ea65e204c0160df8d99e548778f20d90221c",
"body": null,
"is_bot": false,
"headline": "Bump go version to 1.26.5 (#8237)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-08T03:01:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84849690a40e68c9d8f312cc595aab7bd00e1b05",
"body": null,
"is_bot": false,
"headline": "Test: Fix flaky health test (#8239)",
"author_name": "Yong Tang",
"author_login": "yongtang",
"committed_at": "2026-07-08T03:00:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6662dd58eab8e32c58174051215555b496b55836",
"body": "Signed-off-by: houyuwushang <liuluoqianqiu@outlook.com>",
"is_bot": false,
"headline": "plugin/pkg/response: classify nxdomain without soa as denial (#8199)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-06T05:48:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31559f43e8d566a1b52b4eee420987b5e7b27452",
"body": "…s (#8226)",
"is_bot": false,
"headline": "plugin/file: return SOA in authority for negative CNAME target answer…",
"author_name": "Saleh",
"author_login": "larrasket",
"committed_at": "2026-07-05T07:39:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea19f815a6d59be4e8a9448375a83a1c94196b14",
"body": null,
"is_bot": false,
"headline": "plugin/forward: make per-upstream read timeout configurable (#8205)",
"author_name": "Aaron Mark",
"author_login": "amarkdotdev",
"committed_at": "2026-07-05T00:07:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97e3a71afb418763e9ae5b851e88090b88ba1fc8",
"body": null,
"is_bot": false,
"headline": "plugin/secondary: parse catalog zones after transfer (#8209)",
"author_name": "houyuwushang",
"author_login": "houyuwushang",
"committed_at": "2026-07-05T00:06:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9226f8a3aa2b8396083ecfb7697afa461c44df4b",
"body": null,
"is_bot": false,
"headline": "plugin/pkg/dnsutil: guard Join against an empty label slice (#8225)",
"author_name": "Omkhar Arasaratnam",
"author_login": "omkhar",
"committed_at": "2026-07-05T00:02:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7abc21bc49709bf09f17944f5713c6317356710d",
"body": "* plugin/file: run additional processing for wildcard answers\n\nThe wildcard branch of Zone.Lookup returned a nil additional section, so a\nwildcard-synthesized MX/SRV/SVCB/HTTPS answer with an in-bailiwick target\ndid not include the target's A/AAAA glue. The non-wildcard path already\ndoes this, so ca\n[…]\n additional test into wildcard_test.go\n\nRequested in review: keep the wildcard tests in one file.\n\nSigned-off-by: Salih Muhammed <root@lr0.org>\n\n---------\n\nSigned-off-by: Salih Muhammed <root@lr0.org>",
"is_bot": false,
"headline": "plugin/file: run additional processing for wildcard answers (#8222)",
"author_name": "Saleh",
"author_login": "larrasket",
"committed_at": "2026-07-04T23:07:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bc4343b083d1d27621ba8360db971b859460d543",
"body": "Remove fixed TLS 1.2 cipher suite list and maximum TLS version so\ncrypto/tls can use its maintained defaults. Keep TLS 1.2 as the\nminimum supported version.\n\nDocument the shared TLS default behavior for plugins that expose TLS\nconfiguration and add coverage to ensure CoreDNS leaves Go-managed\nTLS fields unset.\n\nSigned-off-by: Ville Vesilehto <ville@vesilehto.fi>",
"is_bot": false,
"headline": "fix(tls): use Go TLS defaults (#8227)",
"author_name": "Ville Vesilehto",
"author_login": "thevilledev",
"committed_at": "2026-07-04T23:03:02Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 84,
"commits_last_year": 704,
"latest_release_at": "2026-07-10T05:51:46Z",
"latest_release_tag": "v1.14.6",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 52,
"days_since_latest_release": 17,
"mean_days_between_releases": 30.8
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/coredns/coredns",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/coredns/coredns",
"is_deprecated": false,
"latest_version": "v1.14.6",
"repository_url": "https://github.com/coredns/coredns",
"versions_count": 74,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-10T05:04:35Z",
"latest_version_yanked": null,
"days_since_latest_publish": 17
}
]
},
"popularity": {
"forks": 2497,
"stars": 14201,
"watchers": 221,
"fork_history": {
"days": [
{
"date": "2022-05-19",
"count": 1
},
{
"date": "2022-05-20",
"count": 1
},
{
"date": "2022-05-21",
"count": 1
},
{
"date": "2022-05-22",
"count": 1
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-05-27",
"count": 2
},
{
"date": "2022-05-31",
"count": 1
},
{
"date": "2022-06-01",
"count": 2
},
{
"date": "2022-06-02",
"count": 2
},
{
"date": "2022-06-05",
"count": 1
},
{
"date": "2022-06-06",
"count": 2
},
{
"date": "2022-06-07",
"count": 2
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-10",
"count": 2
},
{
"date": "2022-06-11",
"count": 1
},
{
"date": "2022-06-12",
"count": 1
},
{
"date": "2022-06-13",
"count": 2
},
{
"date": "2022-06-14",
"count": 2
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-06-19",
"count": 2
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-22",
"count": 3
},
{
"date": "2022-06-23",
"count": 4
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-06-28",
"count": 1
},
{
"date": "2022-06-29",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-01",
"count": 1
},
{
"date": "2022-07-02",
"count": 2
},
{
"date": "2022-07-04",
"count": 2
},
{
"date": "2022-07-06",
"count": 2
},
{
"date": "2022-07-07",
"count": 2
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-07-11",
"count": 2
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-07-15",
"count": 3
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-19",
"count": 2
},
{
"date": "2022-07-21",
"count": 1
},
{
"date": "2022-07-22",
"count": 2
},
{
"date": "2022-07-26",
"count": 1
},
{
"date": "2022-07-27",
"count": 1
},
{
"date": "2022-07-28",
"count": 2
},
{
"date": "2022-07-29",
"count": 2
},
{
"date": "2022-08-01",
"count": 1
},
{
"date": "2022-08-02",
"count": 2
},
{
"date": "2022-08-03",
"count": 2
},
{
"date": "2022-08-04",
"count": 1
},
{
"date": "2022-08-05",
"count": 1
},
{
"date": "2022-08-06",
"count": 1
},
{
"date": "2022-08-08",
"count": 1
},
{
"date": "2022-08-09",
"count": 2
},
{
"date": "2022-08-10",
"count": 1
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-16",
"count": 2
},
{
"date": "2022-08-17",
"count": 2
},
{
"date": "2022-08-18",
"count": 4
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-08-23",
"count": 2
},
{
"date": "2022-08-25",
"count": 1
},
{
"date": "2022-08-26",
"count": 1
},
{
"date": "2022-08-27",
"count": 1
},
{
"date": "2022-08-30",
"count": 1
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-09-01",
"count": 2
},
{
"date": "2022-09-05",
"count": 1
},
{
"date": "2022-09-06",
"count": 2
},
{
"date": "2022-09-07",
"count": 3
},
{
"date": "2022-09-08",
"count": 1
},
{
"date": "2022-09-10",
"count": 1
},
{
"date": "2022-09-11",
"count": 3
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-14",
"count": 1
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-20",
"count": 1
},
{
"date": "2022-09-21",
"count": 1
},
{
"date": "2022-09-22",
"count": 1
},
{
"date": "2022-09-23",
"count": 1
},
{
"date": "2022-09-25",
"count": 2
},
{
"date": "2022-09-26",
"count": 2
},
{
"date": "2022-09-27",
"count": 2
},
{
"date": "2022-10-02",
"count": 1
},
{
"date": "2022-10-03",
"count": 1
},
{
"date": "2022-10-04",
"count": 2
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-12",
"count": 1
},
{
"date": "2022-10-14",
"count": 1
},
{
"date": "2022-10-17",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-24",
"count": 2
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-03",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-09",
"count": 1
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-12",
"count": 1
},
{
"date": "2022-11-13",
"count": 1
},
{
"date": "2022-11-14",
"count": 1
},
{
"date": "2022-11-15",
"count": 2
},
{
"date": "2022-11-16",
"count": 2
},
{
"date": "2022-11-17",
"count": 3
},
{
"date": "2022-11-18",
"count": 1
},
{
"date": "2022-11-20",
"count": 1
},
{
"date": "2022-11-21",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-23",
"count": 2
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-11-26",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-11-30",
"count": 3
},
{
"date": "2022-12-02",
"count": 1
},
{
"date": "2022-12-05",
"count": 1
},
{
"date": "2022-12-06",
"count": 2
},
{
"date": "2022-12-08",
"count": 1
},
{
"date": "2022-12-10",
"count": 1
},
{
"date": "2022-12-13",
"count": 1
},
{
"date": "2022-12-22",
"count": 1
},
{
"date": "2022-12-24",
"count": 1
},
{
"date": "2022-12-26",
"count": 2
},
{
"date": "2022-12-27",
"count": 1
},
{
"date": "2022-12-29",
"count": 1
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2022-12-31",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-05",
"count": 2
},
{
"date": "2023-01-06",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-01-11",
"count": 1
},
{
"date": "2023-01-13",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-01-22",
"count": 1
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-01-25",
"count": 1
},
{
"date": "2023-01-28",
"count": 1
},
{
"date": "2023-01-30",
"count": 1
},
{
"date": "2023-02-01",
"count": 2
},
{
"date": "2023-02-02",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-04",
"count": 2
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-09",
"count": 1
},
{
"date": "2023-02-11",
"count": 1
},
{
"date": "2023-02-12",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-17",
"count": 1
},
{
"date": "2023-02-20",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-02-25",
"count": 2
},
{
"date": "2023-02-26",
"count": 1
},
{
"date": "2023-02-27",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-06",
"count": 2
},
{
"date": "2023-03-07",
"count": 1
},
{
"date": "2023-03-08",
"count": 1
},
{
"date": "2023-03-10",
"count": 2
},
{
"date": "2023-03-13",
"count": 2
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-03-18",
"count": 1
},
{
"date": "2023-03-19",
"count": 1
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2023-03-21",
"count": 1
},
{
"date": "2023-03-23",
"count": 2
},
{
"date": "2023-03-24",
"count": 2
},
{
"date": "2023-03-28",
"count": 1
},
{
"date": "2023-03-29",
"count": 2
},
{
"date": "2023-03-30",
"count": 2
},
{
"date": "2023-04-01",
"count": 1
},
{
"date": "2023-04-02",
"count": 1
},
{
"date": "2023-04-03",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-05",
"count": 2
},
{
"date": "2023-04-06",
"count": 2
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-09",
"count": 1
},
{
"date": "2023-04-10",
"count": 1
},
{
"date": "2023-04-11",
"count": 3
},
{
"date": "2023-04-12",
"count": 1
},
{
"date": "2023-04-14",
"count": 1
},
{
"date": "2023-04-15",
"count": 1
},
{
"date": "2023-04-18",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-21",
"count": 1
},
{
"date": "2023-04-24",
"count": 1
},
{
"date": "2023-04-25",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-04-27",
"count": 3
},
{
"date": "2023-04-29",
"count": 1
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-03",
"count": 1
},
{
"date": "2023-05-04",
"count": 2
},
{
"date": "2023-05-05",
"count": 2
},
{
"date": "2023-05-06",
"count": 1
},
{
"date": "2023-05-08",
"count": 1
},
{
"date": "2023-05-10",
"count": 2
},
{
"date": "2023-05-11",
"count": 1
},
{
"date": "2023-05-12",
"count": 1
},
{
"date": "2023-05-15",
"count": 2
},
{
"date": "2023-05-17",
"count": 1
},
{
"date": "2023-05-22",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-05-27",
"count": 1
},
{
"date": "2023-05-28",
"count": 1
},
{
"date": "2023-05-30",
"count": 2
},
{
"date": "2023-05-31",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-07",
"count": 1
},
{
"date": "2023-06-09",
"count": 1
},
{
"date": "2023-06-13",
"count": 1
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-15",
"count": 1
},
{
"date": "2023-06-16",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-06-19",
"count": 2
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-21",
"count": 3
},
{
"date": "2023-06-25",
"count": 3
},
{
"date": "2023-06-26",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-06-29",
"count": 1
},
{
"date": "2023-06-30",
"count": 1
},
{
"date": "2023-07-03",
"count": 1
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-12",
"count": 2
},
{
"date": "2023-07-14",
"count": 1
},
{
"date": "2023-07-15",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-07-21",
"count": 1
},
{
"date": "2023-07-25",
"count": 1
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2023-08-01",
"count": 2
},
{
"date": "2023-08-06",
"count": 2
},
{
"date": "2023-08-07",
"count": 2
},
{
"date": "2023-08-09",
"count": 1
},
{
"date": "2023-08-10",
"count": 2
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-15",
"count": 1
},
{
"date": "2023-08-22",
"count": 1
},
{
"date": "2023-08-25",
"count": 1
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-09-01",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-15",
"count": 2
},
{
"date": "2023-09-20",
"count": 2
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2023-09-25",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-10-01",
"count": 1
},
{
"date": "2023-10-02",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-09",
"count": 2
},
{
"date": "2023-10-12",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 2
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2023-11-05",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-13",
"count": 2
},
{
"date": "2023-11-14",
"count": 2
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-11-20",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-12-01",
"count": 2
},
{
"date": "2023-12-03",
"count": 2
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-06",
"count": 4
},
{
"date": "2023-12-09",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2023-12-19",
"count": 2
},
{
"date": "2023-12-21",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-08",
"count": 1
},
{
"date": "2024-01-09",
"count": 2
},
{
"date": "2024-01-11",
"count": 1
},
{
"date": "2024-01-17",
"count": 1
},
{
"date": "2024-01-18",
"count": 2
},
{
"date": "2024-01-19",
"count": 1
},
{
"date": "2024-01-20",
"count": 1
},
{
"date": "2024-01-22",
"count": 1
},
{
"date": "2024-01-25",
"count": 2
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-01-27",
"count": 1
},
{
"date": "2024-01-29",
"count": 2
},
{
"date": "2024-02-01",
"count": 1
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-02-06",
"count": 2
},
{
"date": "2024-02-07",
"count": 1
},
{
"date": "2024-02-08",
"count": 1
},
{
"date": "2024-02-12",
"count": 1
},
{
"date": "2024-02-14",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-19",
"count": 1
},
{
"date": "2024-02-21",
"count": 1
},
{
"date": "2024-02-26",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-01",
"count": 1
},
{
"date": "2024-03-03",
"count": 1
},
{
"date": "2024-03-05",
"count": 2
},
{
"date": "2024-03-06",
"count": 1
},
{
"date": "2024-03-08",
"count": 1
},
{
"date": "2024-03-09",
"count": 1
},
{
"date": "2024-03-10",
"count": 2
},
{
"date": "2024-03-11",
"count": 2
},
{
"date": "2024-03-13",
"count": 1
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-20",
"count": 2
},
{
"date": "2024-03-21",
"count": 2
},
{
"date": "2024-03-23",
"count": 2
},
{
"date": "2024-03-24",
"count": 2
},
{
"date": "2024-03-25",
"count": 1
},
{
"date": "2024-03-26",
"count": 2
},
{
"date": "2024-03-31",
"count": 2
},
{
"date": "2024-04-02",
"count": 1
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-08",
"count": 1
},
{
"date": "2024-04-09",
"count": 2
},
{
"date": "2024-04-10",
"count": 1
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-17",
"count": 2
},
{
"date": "2024-04-19",
"count": 1
},
{
"date": "2024-04-24",
"count": 2
},
{
"date": "2024-04-26",
"count": 1
},
{
"date": "2024-04-27",
"count": 1
},
{
"date": "2024-04-28",
"count": 3
},
{
"date": "2024-04-29",
"count": 1
},
{
"date": "2024-05-04",
"count": 1
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-09",
"count": 1
},
{
"date": "2024-05-13",
"count": 1
},
{
"date": "2024-05-14",
"count": 2
},
{
"date": "2024-05-20",
"count": 2
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-22",
"count": 2
},
{
"date": "2024-05-27",
"count": 1
},
{
"date": "2024-05-28",
"count": 1
},
{
"date": "2024-05-29",
"count": 1
},
{
"date": "2024-05-31",
"count": 1
},
{
"date": "2024-06-03",
"count": 1
},
{
"date": "2024-06-05",
"count": 1
},
{
"date": "2024-06-08",
"count": 2
},
{
"date": "2024-06-10",
"count": 3
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-06-13",
"count": 1
},
{
"date": "2024-06-14",
"count": 1
},
{
"date": "2024-06-18",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-20",
"count": 3
},
{
"date": "2024-06-21",
"count": 1
},
{
"date": "2024-06-24",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-06-28",
"count": 2
},
{
"date": "2024-06-29",
"count": 2
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-03",
"count": 1
},
{
"date": "2024-07-04",
"count": 1
},
{
"date": "2024-07-06",
"count": 1
},
{
"date": "2024-07-07",
"count": 1
},
{
"date": "2024-07-09",
"count": 2
},
{
"date": "2024-07-13",
"count": 1
},
{
"date": "2024-07-17",
"count": 2
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-07-19",
"count": 2
},
{
"date": "2024-07-21",
"count": 2
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-23",
"count": 2
},
{
"date": "2024-07-24",
"count": 2
},
{
"date": "2024-07-25",
"count": 1
},
{
"date": "2024-07-28",
"count": 1
},
{
"date": "2024-07-29",
"count": 2
},
{
"date": "2024-08-01",
"count": 1
},
{
"date": "2024-08-02",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-06",
"count": 2
},
{
"date": "2024-08-14",
"count": 1
},
{
"date": "2024-08-16",
"count": 2
},
{
"date": "2024-08-17",
"count": 1
},
{
"date": "2024-08-19",
"count": 1
},
{
"date": "2024-08-28",
"count": 2
},
{
"date": "2024-09-03",
"count": 3
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-09-05",
"count": 2
},
{
"date": "2024-09-06",
"count": 1
},
{
"date": "2024-09-10",
"count": 1
},
{
"date": "2024-09-11",
"count": 2
},
{
"date": "2024-09-12",
"count": 1
},
{
"date": "2024-09-15",
"count": 1
},
{
"date": "2024-09-17",
"count": 3
},
{
"date": "2024-09-24",
"count": 1
},
{
"date": "2024-09-26",
"count": 1
},
{
"date": "2024-09-27",
"count": 2
},
{
"date": "2024-09-28",
"count": 1
},
{
"date": "2024-10-01",
"count": 1
},
{
"date": "2024-10-02",
"count": 2
},
{
"date": "2024-10-07",
"count": 1
},
{
"date": "2024-10-09",
"count": 1
},
{
"date": "2024-10-10",
"count": 1
},
{
"date": "2024-10-18",
"count": 1
},
{
"date": "2024-10-19",
"count": 1
},
{
"date": "2024-10-20",
"count": 1
},
{
"date": "2024-10-22",
"count": 1
},
{
"date": "2024-10-24",
"count": 2
},
{
"date": "2024-10-26",
"count": 1
},
{
"date": "2024-10-29",
"count": 2
},
{
"date": "2024-11-01",
"count": 2
},
{
"date": "2024-11-03",
"count": 1
},
{
"date": "2024-11-04",
"count": 1
},
{
"date": "2024-11-05",
"count": 1
},
{
"date": "2024-11-06",
"count": 1
},
{
"date": "2024-11-09",
"count": 1
},
{
"date": "2024-11-14",
"count": 1
},
{
"date": "2024-11-15",
"count": 1
},
{
"date": "2024-11-21",
"count": 1
},
{
"date": "2024-11-25",
"count": 2
},
{
"date": "2024-11-26",
"count": 1
},
{
"date": "2024-11-28",
"count": 2
},
{
"date": "2024-11-29",
"count": 2
},
{
"date": "2024-11-30",
"count": 1
},
{
"date": "2024-12-02",
"count": 2
},
{
"date": "2024-12-03",
"count": 2
},
{
"date": "2024-12-04",
"count": 1
},
{
"date": "2024-12-05",
"count": 1
},
{
"date": "2024-12-09",
"count": 1
},
{
"date": "2024-12-13",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2024-12-19",
"count": 1
},
{
"date": "2024-12-23",
"count": 2
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2024-12-25",
"count": 1
},
{
"date": "2024-12-27",
"count": 3
},
{
"date": "2024-12-29",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-10",
"count": 1
},
{
"date": "2025-01-14",
"count": 1
},
{
"date": "2025-01-15",
"count": 2
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-01-29",
"count": 2
},
{
"date": "2025-01-30",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-02",
"count": 1
},
{
"date": "2025-02-03",
"count": 2
},
{
"date": "2025-02-05",
"count": 1
},
{
"date": "2025-02-09",
"count": 1
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-15",
"count": 3
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-17",
"count": 2
},
{
"date": "2025-02-20",
"count": 2
},
{
"date": "2025-02-22",
"count": 1
},
{
"date": "2025-02-24",
"count": 3
},
{
"date": "2025-02-28",
"count": 1
},
{
"date": "2025-03-03",
"count": 1
},
{
"date": "2025-03-04",
"count": 3
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-03-12",
"count": 2
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-15",
"count": 1
},
{
"date": "2025-03-19",
"count": 1
},
{
"date": "2025-03-23",
"count": 1
},
{
"date": "2025-03-25",
"count": 2
},
{
"date": "2025-03-28",
"count": 1
},
{
"date": "2025-03-30",
"count": 1
},
{
"date": "2025-04-07",
"count": 1
},
{
"date": "2025-04-08",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-12",
"count": 2
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-04-19",
"count": 1
},
{
"date": "2025-04-23",
"count": 2
},
{
"date": "2025-04-24",
"count": 1
},
{
"date": "2025-04-25",
"count": 1
},
{
"date": "2025-04-26",
"count": 2
},
{
"date": "2025-04-27",
"count": 1
},
{
"date": "2025-05-01",
"count": 1
},
{
"date": "2025-05-02",
"count": 1
},
{
"date": "2025-05-05",
"count": 1
},
{
"date": "2025-05-06",
"count": 2
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-10",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-05-14",
"count": 2
},
{
"date": "2025-05-15",
"count": 3
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-19",
"count": 1
},
{
"date": "2025-05-22",
"count": 1
},
{
"date": "2025-05-26",
"count": 1
},
{
"date": "2025-05-27",
"count": 1
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-05-31",
"count": 2
},
{
"date": "2025-06-01",
"count": 1
},
{
"date": "2025-06-04",
"count": 1
},
{
"date": "2025-06-05",
"count": 3
},
{
"date": "2025-06-06",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-13",
"count": 2
},
{
"date": "2025-06-14",
"count": 1
},
{
"date": "2025-06-15",
"count": 1
},
{
"date": "2025-06-16",
"count": 2
},
{
"date": "2025-06-17",
"count": 2
},
{
"date": "2025-06-18",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-06-26",
"count": 2
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-06-29",
"count": 1
},
{
"date": "2025-06-30",
"count": 2
},
{
"date": "2025-07-01",
"count": 3
},
{
"date": "2025-07-05",
"count": 1
},
{
"date": "2025-07-09",
"count": 2
},
{
"date": "2025-07-11",
"count": 1
},
{
"date": "2025-07-13",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-16",
"count": 1
},
{
"date": "2025-07-20",
"count": 4
},
{
"date": "2025-07-21",
"count": 2
},
{
"date": "2025-07-22",
"count": 2
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-25",
"count": 2
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-08-01",
"count": 1
},
{
"date": "2025-08-02",
"count": 1
},
{
"date": "2025-08-04",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-08-09",
"count": 1
},
{
"date": "2025-08-11",
"count": 2
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-13",
"count": 2
},
{
"date": "2025-08-16",
"count": 1
},
{
"date": "2025-08-18",
"count": 1
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-08-20",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-08-23",
"count": 1
},
{
"date": "2025-08-27",
"count": 1
},
{
"date": "2025-08-28",
"count": 1
},
{
"date": "2025-08-31",
"count": 3
},
{
"date": "2025-09-02",
"count": 2
},
{
"date": "2025-09-05",
"count": 1
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-10",
"count": 1
},
{
"date": "2025-09-11",
"count": 2
},
{
"date": "2025-09-13",
"count": 1
},
{
"date": "2025-09-16",
"count": 1
},
{
"date": "2025-09-17",
"count": 3
},
{
"date": "2025-09-18",
"count": 2
},
{
"date": "2025-09-19",
"count": 3
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-09-25",
"count": 1
},
{
"date": "2025-09-27",
"count": 3
},
{
"date": "2025-09-30",
"count": 1
},
{
"date": "2025-10-02",
"count": 2
},
{
"date": "2025-10-07",
"count": 1
},
{
"date": "2025-10-09",
"count": 1
},
{
"date": "2025-10-10",
"count": 3
},
{
"date": "2025-10-11",
"count": 3
},
{
"date": "2025-10-15",
"count": 1
},
{
"date": "2025-10-16",
"count": 2
},
{
"date": "2025-10-17",
"count": 2
},
{
"date": "2025-10-18",
"count": 1
},
{
"date": "2025-10-20",
"count": 1
},
{
"date": "2025-10-22",
"count": 1
},
{
"date": "2025-10-23",
"count": 2
},
{
"date": "2025-10-24",
"count": 1
},
{
"date": "2025-10-25",
"count": 1
},
{
"date": "2025-10-30",
"count": 2
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-05",
"count": 1
},
{
"date": "2025-11-09",
"count": 1
},
{
"date": "2025-11-10",
"count": 2
},
{
"date": "2025-11-12",
"count": 2
},
{
"date": "2025-11-13",
"count": 3
},
{
"date": "2025-11-14",
"count": 2
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-16",
"count": 1
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-18",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-11-27",
"count": 2
},
{
"date": "2025-11-28",
"count": 3
},
{
"date": "2025-11-29",
"count": 1
},
{
"date": "2025-12-04",
"count": 2
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-08",
"count": 1
},
{
"date": "2025-12-14",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-16",
"count": 2
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2025-12-19",
"count": 1
},
{
"date": "2025-12-20",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-27",
"count": 1
},
{
"date": "2025-12-29",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-09",
"count": 2
},
{
"date": "2026-01-10",
"count": 3
},
{
"date": "2026-01-11",
"count": 2
},
{
"date": "2026-01-12",
"count": 2
},
{
"date": "2026-01-13",
"count": 2
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-18",
"count": 1
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-30",
"count": 1
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-07",
"count": 1
},
{
"date": "2026-02-08",
"count": 1
},
{
"date": "2026-02-09",
"count": 1
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-12",
"count": 1
},
{
"date": "2026-02-13",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-02-24",
"count": 1
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-02-27",
"count": 1
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-03-03",
"count": 1
},
{
"date": "2026-03-04",
"count": 1
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-07",
"count": 2
},
{
"date": "2026-03-12",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-15",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-20",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-31",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-06",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-04-10",
"count": 1
},
{
"date": "2026-04-11",
"count": 4
},
{
"date": "2026-04-12",
"count": 1
},
{
"date": "2026-04-15",
"count": 1
},
{
"date": "2026-04-16",
"count": 1
},
{
"date": "2026-04-17",
"count": 1
},
{
"date": "2026-04-19",
"count": 1
},
{
"date": "2026-04-21",
"count": 3
},
{
"date": "2026-04-22",
"count": 2
},
{
"date": "2026-04-24",
"count": 2
},
{
"date": "2026-04-26",
"count": 2
},
{
"date": "2026-04-28",
"count": 2
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-05-02",
"count": 2
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-06",
"count": 2
},
{
"date": "2026-05-09",
"count": 1
},
{
"date": "2026-05-11",
"count": 4
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-05-27",
"count": 1
},
{
"date": "2026-05-28",
"count": 1
},
{
"date": "2026-05-30",
"count": 3
},
{
"date": "2026-06-04",
"count": 3
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-07",
"count": 1
},
{
"date": "2026-06-08",
"count": 3
},
{
"date": "2026-06-09",
"count": 1
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-14",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-06-16",
"count": 1
},
{
"date": "2026-06-17",
"count": 1
},
{
"date": "2026-06-18",
"count": 2
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-21",
"count": 3
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-23",
"count": 2
},
{
"date": "2026-06-26",
"count": 2
},
{
"date": "2026-06-27",
"count": 2
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-06-29",
"count": 1
},
{
"date": "2026-06-30",
"count": 2
},
{
"date": "2026-07-05",
"count": 2
},
{
"date": "2026-07-06",
"count": 1
},
{
"date": "2026-07-07",
"count": 1
},
{
"date": "2026-07-08",
"count": 2
},
{
"date": "2026-07-10",
"count": 1
},
{
"date": "2026-07-12",
"count": 1
},
{
"date": "2026-07-13",
"count": 1
},
{
"date": "2026-07-15",
"count": 2
},
{
"date": "2026-07-19",
"count": 2
},
{
"date": "2026-07-20",
"count": 3
},
{
"date": "2026-07-22",
"count": 1
},
{
"date": "2026-07-23",
"count": 1
},
{
"date": "2026-07-24",
"count": 2
},
{
"date": "2026-07-25",
"count": 1
},
{
"date": "2026-07-27",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_forks": 2497
},
"star_history": null,
"open_issues_and_prs": 301
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile",
"pb/Makefile"
],
"api_schema_files": [
"pb/dns.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 41038,
"source_files_sampled": 689,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 19
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.43.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5158"
],
"fixed_version": "1.44.0",
"advisory_count": 1,
"oldest_advisory_days": 2
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"unknown": 2
},
"advisory_count": 2,
"affected_count": 2,
"assessed_count": 200,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/Azure/azure-sdk-for-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v68.0.0+incompatible"
},
{
"name": "github.com/Azure/go-autorest/autorest",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.11.30"
},
{
"name": "github.com/Azure/go-autorest/autorest/azure/auth",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.13"
},
{
"name": "github.com/DataDog/dd-trace-go/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.8.2"
},
{
"name": "github.com/apparentlymart/go-cidr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.1"
},
{
"name": "github.com/aws/aws-sdk-go-v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.42.1"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.32.30"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.19.29"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.30"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/route53",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.64.1"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/secretsmanager",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.43.1"
},
{
"name": "github.com/coredns/caddy",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.4-0.20250930002214-15135a999495"
},
{
"name": "github.com/dnstap/golang-dnstap",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.0"
},
{
"name": "github.com/expr-lang/expr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.17.8"
},
{
"name": "github.com/farsightsec/golang-framestream",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.0"
},
{
"name": "github.com/go-logr/logr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.3"
},
{
"name": "github.com/grpc-ecosystem/grpc-opentracing",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20180507213350-8e809c8a8645"
},
{
"name": "github.com/hashicorp/nomad/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250909143645-a3b86c697f38"
},
{
"name": "github.com/infobloxopen/go-trees",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20200715205103-96a057b8dfb9"
},
{
"name": "github.com/miekg/dns",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.72"
},
{
"name": "github.com/opentracing/opentracing-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.0"
},
{
"name": "github.com/openzipkin-contrib/zipkin-go-opentracing",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.0"
},
{
"name": "github.com/openzipkin/zipkin-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.3"
},
{
"name": "github.com/oschwald/geoip2-golang/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.0"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.2"
},
{
"name": "github.com/prometheus/client_model",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/prometheus/common",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.70.0"
},
{
"name": "github.com/quic-go/quic-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.60.0"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "go.etcd.io/etcd/api/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.6.13"
},
{
"name": "go.etcd.io/etcd/client/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.6.13"
},
{
"name": "go.uber.org/automaxprocs",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.54.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "google.golang.org/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.288.0"
},
{
"name": "google.golang.org/grpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.82.1"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.11"
},
{
"name": "k8s.io/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.35.4"
},
{
"name": "k8s.io/apimachinery",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.35.4"
},
{
"name": "k8s.io/client-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.35.4"
},
{
"name": "k8s.io/klog/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.140.0"
},
{
"name": "sigs.k8s.io/mcs-api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.2"
},
{
"name": "github.com/hashicorp/golang-lru/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.7"
},
{
"name": "github.com/pires/go-proxyproto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.0"
},
{
"name": "github.com/prometheus/exporter-toolkit",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.17.1"
},
{
"name": "golang.org/x/net",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.57.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/apparentlymart/go-cidr",
"direct": true,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2",
"direct": true,
"version": "v1.42.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"direct": true,
"version": "v1.32.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"direct": true,
"version": "v1.19.29",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"direct": true,
"version": "v1.18.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/route53",
"direct": true,
"version": "v1.64.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/secretsmanager",
"direct": true,
"version": "v1.43.1",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go",
"direct": true,
"version": "v68.0.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest",
"direct": true,
"version": "v0.11.30",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/azure/auth",
"direct": true,
"version": "v0.5.13",
"ecosystem": "go"
},
{
"name": "github.com/coredns/caddy",
"direct": true,
"version": "v1.1.4-0.20250930002214-15135a999495",
"ecosystem": "go"
},
{
"name": "github.com/datadog/dd-trace-go/v2",
"direct": true,
"version": "v2.8.2",
"ecosystem": "go"
},
{
"name": "github.com/dnstap/golang-dnstap",
"direct": true,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/expr-lang/expr",
"direct": true,
"version": "v1.17.8",
"ecosystem": "go"
},
{
"name": "github.com/farsightsec/golang-framestream",
"direct": true,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": true,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-opentracing",
"direct": true,
"version": "v0.0.0-20180507213350-8e809c8a8645",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/golang-lru/v2",
"direct": true,
"version": "v2.0.7",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/nomad/api",
"direct": true,
"version": "v0.0.0-20250909143645-a3b86c697f38",
"ecosystem": "go"
},
{
"name": "github.com/infobloxopen/go-trees",
"direct": true,
"version": "v0.0.0-20200715205103-96a057b8dfb9",
"ecosystem": "go"
},
{
"name": "github.com/miekg/dns",
"direct": true,
"version": "v1.1.72",
"ecosystem": "go"
},
{
"name": "github.com/opentracing/opentracing-go",
"direct": true,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/openzipkin-contrib/zipkin-go-opentracing",
"direct": true,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/openzipkin/zipkin-go",
"direct": true,
"version": "v0.4.3",
"ecosystem": "go"
},
{
"name": "github.com/oschwald/geoip2-golang/v2",
"direct": true,
"version": "v2.2.0",
"ecosystem": "go"
},
{
"name": "github.com/pires/go-proxyproto",
"direct": true,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.23.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": true,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": true,
"version": "v0.70.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/exporter-toolkit",
"direct": true,
"version": "v0.17.1",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/quic-go",
"direct": true,
"version": "v0.60.0",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "go.etcd.io/etcd/api/v3",
"direct": true,
"version": "v3.6.13",
"ecosystem": "go"
},
{
"name": "go.etcd.io/etcd/client/v3",
"direct": true,
"version": "v3.6.13",
"ecosystem": "go"
},
{
"name": "go.uber.org/automaxprocs",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": true,
"version": "v0.57.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/api",
"direct": true,
"version": "v0.288.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "v1.82.1",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "k8s.io/api",
"direct": true,
"version": "v0.35.4",
"ecosystem": "go"
},
{
"name": "k8s.io/apimachinery",
"direct": true,
"version": "v0.35.4",
"ecosystem": "go"
},
{
"name": "k8s.io/client-go",
"direct": true,
"version": "v0.35.4",
"ecosystem": "go"
},
{
"name": "k8s.io/klog/v2",
"direct": true,
"version": "v2.140.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/mcs-api",
"direct": true,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth/oauth2adapt",
"direct": false,
"version": "v0.2.8",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/compute/metadata",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/configsources",
"direct": false,
"version": "v1.4.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2",
"direct": false,
"version": "v2.7.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/v4a",
"direct": false,
"version": "v1.4.31",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding",
"direct": false,
"version": "v1.13.13",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url",
"direct": false,
"version": "v1.13.30",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/signin",
"direct": false,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sso",
"direct": false,
"version": "v1.32.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ssooidc",
"direct": false,
"version": "v1.37.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sts",
"direct": false,
"version": "v1.44.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/smithy-go",
"direct": false,
"version": "v1.27.3",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest",
"direct": false,
"version": "v14.2.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/adal",
"direct": false,
"version": "v0.9.22",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/azure/cli",
"direct": false,
"version": "v0.4.6",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/date",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/autorest/to",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/logger",
"direct": false,
"version": "v0.2.1",
"ecosystem": "go"
},
{
"name": "github.com/azure/go-autorest/tracing",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cihub/seelog",
"direct": false,
"version": "v0.0.0-20170130134532-f561c5e57575",
"ecosystem": "go"
},
{
"name": "github.com/coreos/go-semver",
"direct": false,
"version": "v0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/coreos/go-systemd/v22",
"direct": false,
"version": "v22.7.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/comp/core/tagger/origindetection",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/obfuscate",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/opentelemetry-mapping-go/otlp/attributes",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/proto",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/remoteconfig/state",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/template",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/trace",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/trace/log",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/trace/otel",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/trace/stats",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/trace/traceutil",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/util/log",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/util/scrubber",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-agent/pkg/version",
"direct": false,
"version": "v0.77.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/datadog-go/v5",
"direct": false,
"version": "v5.8.3",
"ecosystem": "go"
},
{
"name": "github.com/datadog/go-libddwaf/v4",
"direct": false,
"version": "v4.9.0",
"ecosystem": "go"
},
{
"name": "github.com/datadog/go-runtime-metrics-internal",
"direct": false,
"version": "v0.0.4-0.20260217080614-b0f4edc38a6d",
"ecosystem": "go"
},
{
"name": "github.com/datadog/go-sqllexer",
"direct": false,
"version": "v0.1.13",
"ecosystem": "go"
},
{
"name": "github.com/datadog/go-tuf",
"direct": false,
"version": "v1.1.1-0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/datadog/sketches-go",
"direct": false,
"version": "v1.4.8",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/dimchansky/utfbom",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/dustin/go-humanize",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/ebitengine/purego",
"direct": false,
"version": "v0.10.0",
"ecosystem": "go"
},
{
"name": "github.com/emicklei/go-restful/v3",
"direct": false,
"version": "v3.12.2",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/flynn/go-shlex",
"direct": false,
"version": "v0.0.0-20150515145356-3f9db97f8568",
"ecosystem": "go"
},
{
"name": "github.com/fxamacker/cbor/v2",
"direct": false,
"version": "v2.9.0",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-ole/go-ole",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonpointer",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonreference",
"direct": false,
"version": "v0.20.2",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag",
"direct": false,
"version": "v0.23.0",
"ecosystem": "go"
},
{
"name": "github.com/gogo/protobuf",
"direct": false,
"version": "v1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v4",
"direct": false,
"version": "v4.5.2",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"direct": false,
"version": "v5.3.1",
"ecosystem": "go"
},
{
"name": "github.com/golang/protobuf",
"direct": false,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/google/gnostic-models",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/s2a-go",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/enterprise-certificate-proxy",
"direct": false,
"version": "v0.3.17",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/gax-go/v2",
"direct": false,
"version": "v2.22.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.4-0.20250319132907-e064f32e3674",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.27.4",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/cronexpr",
"direct": false,
"version": "v1.1.3",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/errwrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-cleanhttp",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-multierror",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-rootcerts",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-version",
"direct": false,
"version": "v1.8.0",
"ecosystem": "go"
},
{
"name": "github.com/josharian/intern",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jpillora/backoff",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": false,
"version": "v1.18.6",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/linkdata/deadlock",
"direct": false,
"version": "v0.5.5",
"ecosystem": "go"
},
{
"name": "github.com/lufia/plan9stats",
"direct": false,
"version": "v0.0.0-20260216142805-b3301c5f2a88",
"ecosystem": "go"
},
{
"name": "github.com/mailru/easyjson",
"direct": false,
"version": "v0.7.7",
"ecosystem": "go"
},
{
"name": "github.com/mdlayher/socket",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/mdlayher/vsock",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/minio/simdjson-go",
"direct": false,
"version": "v0.4.5",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-homedir",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/mapstructure",
"direct": false,
"version": "v1.5.1-0.20231216201459-8508981c8b6c",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/concurrent",
"direct": false,
"version": "v0.0.0-20180306012644-bacd9c7ef1dd",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/reflect2",
"direct": false,
"version": "v1.0.3-0.20250322232337-35a7c28c31ee",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/mwitkow/go-conntrack",
"direct": false,
"version": "v0.0.0-20190716064945-2f068394615f",
"ecosystem": "go"
},
{
"name": "github.com/opentracing-contrib/go-observer",
"direct": false,
"version": "v0.0.0-20170622124052-a52f23424492",
"ecosystem": "go"
},
{
"name": "github.com/oschwald/maxminddb-golang/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/outcaste-io/ristretto",
"direct": false,
"version": "v0.2.3",
"ecosystem": "go"
},
{
"name": "github.com/petermattis/goid",
"direct": false,
"version": "v0.0.0-20260226131333-17d1149c6ac6",
"ecosystem": "go"
},
{
"name": "github.com/philhofer/fwd",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/planetscale/vtprotobuf",
"direct": false,
"version": "v0.6.1-0.20240319094008-0393e58bdf10",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/power-devops/perfstat",
"direct": false,
"version": "v0.0.0-20240221224432-82ca36839d55",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "github.com/puzpuzpuz/xsync/v3",
"direct": false,
"version": "v3.5.1",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/qpack",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/secure-systems-lab/go-securesystemslib",
"direct": false,
"version": "v0.10.0",
"ecosystem": "go"
},
{
"name": "github.com/shirou/gopsutil/v4",
"direct": false,
"version": "v4.26.2",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "github.com/tinylib/msgp",
"direct": false,
"version": "v1.6.3",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/go-sysconf",
"direct": false,
"version": "v0.3.16",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/numcpus",
"direct": false,
"version": "v0.11.0",
"ecosystem": "go"
},
{
"name": "github.com/trailofbits/go-mutexasserts",
"direct": false,
"version": "v0.0.0-20250514102930-c1f3d2e37561",
"ecosystem": "go"
},
{
"name": "github.com/x448/float16",
"direct": false,
"version": "v0.8.4",
"ecosystem": "go"
},
{
"name": "github.com/yusufpapurcu/wmi",
"direct": false,
"version": "v1.2.4",
"ecosystem": "go"
},
{
"name": "go.etcd.io/etcd/client/pkg/v3",
"direct": false,
"version": "v3.6.13",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/collector/component",
"direct": false,
"version": "v1.51.1-0.20260205185216-81bc641f26c0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/collector/featuregate",
"direct": false,
"version": "v1.51.1-0.20260205185216-81bc641f26c0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/collector/pdata",
"direct": false,
"version": "v1.51.1-0.20260205185216-81bc641f26c0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/collector/pdata/pprofile",
"direct": false,
"version": "v0.145.1-0.20260205185216-81bc641f26c0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.67.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/atomic",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/zap",
"direct": false,
"version": "v1.27.1",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v2",
"direct": false,
"version": "v2.4.4",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v3",
"direct": false,
"version": "v3.0.4",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20260209203927-2842357ff358",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": false,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.22.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": false,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": false,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/xerrors",
"direct": false,
"version": "v0.0.0-20240903120638-7835f813f4da",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260414002931-afd174a4e478",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260630182238-925bb5da69e7",
"ecosystem": "go"
},
{
"name": "gopkg.in/evanphx/json-patch.v4",
"direct": false,
"version": "v4.13.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/inf.v0",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "gopkg.in/ini.v1",
"direct": false,
"version": "v1.67.1",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "k8s.io/kube-openapi",
"direct": false,
"version": "v0.0.0-20250910181357-589584f1c912",
"ecosystem": "go"
},
{
"name": "k8s.io/utils",
"direct": false,
"version": "v0.0.0-20251002143259-bc988d571ff4",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/json",
"direct": false,
"version": "v0.0.0-20250730193827-2d320260d730",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/randfill",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/structured-merge-diff/v6",
"direct": false,
"version": "v6.3.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/yaml",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 200,
"direct_count": 46,
"indirect_count": 154
}
},
"maintainership": {
"issues": {
"open_prs": 67,
"merged_prs": 4448,
"open_issues": 234,
"closed_ratio": 0.907,
"closed_issues": 2287,
"closed_unmerged_prs": 1085
},
"bus_factor": 2,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "miekg",
"commits": 1306,
"avatar_url": "https://avatars.githubusercontent.com/u/353371?v=4"
},
{
"type": "User",
"login": "yongtang",
"commits": 334,
"avatar_url": "https://avatars.githubusercontent.com/u/6932348?v=4"
},
{
"type": "User",
"login": "chrisohaver",
"commits": 313,
"avatar_url": "https://avatars.githubusercontent.com/u/14335541?v=4"
},
{
"type": "User",
"login": "thevilledev",
"commits": 152,
"avatar_url": "https://avatars.githubusercontent.com/u/3088277?v=4"
},
{
"type": "User",
"login": "johnbelamaric",
"commits": 66,
"avatar_url": "https://avatars.githubusercontent.com/u/9468083?v=4"
},
{
"type": "User",
"login": "cricketliu",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/21182578?v=4"
},
{
"type": "User",
"login": "SuperQ",
"commits": 31,
"avatar_url": "https://avatars.githubusercontent.com/u/1320667?v=4"
},
{
"type": "User",
"login": "rdrozhdzh",
"commits": 25,
"avatar_url": "https://avatars.githubusercontent.com/u/30860269?v=4"
},
{
"type": "User",
"login": "grobie",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/3432?v=4"
},
{
"type": "User",
"login": "mrichmon",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/708759?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.49
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"cifuzz.yml",
"codeql-analysis.yml",
"depsreview.yml",
"docker.yml",
"go.test.yml",
"golangci-lint.yml",
"make.doc.yml",
"release.yml",
"scorecards.yml",
"stale.yml",
"verify-make-gen.yml",
"yamllint.yml"
],
"has_docs_dir": false,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "27 out of 27 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 5,
"reason": "badge detected: Passing",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 8,
"reason": "Found 15/18 approved changesets -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 40 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 10,
"reason": "project is 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": "30 commit(s) and 6 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": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 7,
"reason": "dependency not pinned by hash detected -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 8,
"reason": "2 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "989bf4a9fd9af1a6d017ba5caee8d1bb3b48b999",
"ran_at": "2026-07-27T06:05:06Z",
"aggregate_score": 8.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-27T02:16:16Z",
"oldest_open_prs": [
{
"number": 5608,
"created_at": "2022-09-11T09:29:27Z",
"last_comment_at": "2024-06-09T08:13:12Z",
"last_comment_author": "mariuskimmina"
},
{
"number": 5854,
"created_at": "2023-01-14T12:40:40Z",
"last_comment_at": "2023-01-19T09:26:00Z",
"last_comment_author": "davidhadas"
},
{
"number": 6244,
"created_at": "2023-08-07T19:00:36Z",
"last_comment_at": "2023-08-20T11:21:14Z",
"last_comment_author": "cbarbian-sap"
},
{
"number": 6245,
"created_at": "2023-08-08T04:46:01Z",
"last_comment_at": "2024-08-03T01:00:01Z",
"last_comment_author": "qm3ster"
},
{
"number": 6319,
"created_at": "2023-09-15T02:51:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6320,
"created_at": "2023-09-15T09:59:24Z",
"last_comment_at": "2024-11-28T20:28:10Z",
"last_comment_author": "polarathene"
},
{
"number": 6416,
"created_at": "2023-11-27T04:12:54Z",
"last_comment_at": "2024-10-06T19:02:16Z",
"last_comment_author": "chrisohaver"
},
{
"number": 6459,
"created_at": "2024-01-11T09:50:10Z",
"last_comment_at": "2024-03-13T14:37:36Z",
"last_comment_author": "chrisohaver"
},
{
"number": 6511,
"created_at": "2024-02-21T19:10:13Z",
"last_comment_at": "2024-03-07T19:36:08Z",
"last_comment_author": "codecov"
},
{
"number": 6551,
"created_at": "2024-03-13T22:07:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6765,
"created_at": "2024-06-28T09:16:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6774,
"created_at": "2024-07-07T14:24:16Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6783,
"created_at": "2024-07-09T06:15:26Z",
"last_comment_at": "2024-07-09T10:37:02Z",
"last_comment_author": "chrisohaver"
},
{
"number": 6804,
"created_at": "2024-07-31T19:04:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6807,
"created_at": "2024-08-01T19:55:09Z",
"last_comment_at": "2026-03-26T19:30:21Z",
"last_comment_author": "thevilledev"
},
{
"number": 6862,
"created_at": "2024-09-03T17:29:09Z",
"last_comment_at": "2024-09-09T20:57:01Z",
"last_comment_author": "panic-kbutton"
},
{
"number": 6864,
"created_at": "2024-09-07T07:02:14Z",
"last_comment_at": "2025-06-29T14:53:58Z",
"last_comment_author": "vijaytdh"
},
{
"number": 6873,
"created_at": "2024-09-11T11:10:11Z",
"last_comment_at": "2025-02-07T07:21:33Z",
"last_comment_author": "zhangguanzhang"
},
{
"number": 6874,
"created_at": "2024-09-14T10:20:16Z",
"last_comment_at": "2024-09-30T15:14:42Z",
"last_comment_author": "codecov"
},
{
"number": 6881,
"created_at": "2024-09-18T10:36:34Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-24T22:10:04Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 3460,
"created_at": "2019-11-18T04:17:12Z",
"last_comment_at": "2026-07-17T08:49:01Z",
"last_comment_author": "houyuwushang"
},
{
"number": 4256,
"created_at": "2020-11-04T04:53:01Z",
"last_comment_at": "2022-06-20T02:06:17Z",
"last_comment_author": "harry1064"
},
{
"number": 4290,
"created_at": "2020-11-14T18:07:33Z",
"last_comment_at": "2022-02-02T01:47:27Z",
"last_comment_author": "github-actions"
},
{
"number": 4309,
"created_at": "2020-11-24T19:52:22Z",
"last_comment_at": "2022-07-22T04:01:17Z",
"last_comment_author": "chrisohaver"
},
{
"number": 4382,
"created_at": "2021-01-11T17:42:45Z",
"last_comment_at": "2021-12-01T19:24:55Z",
"last_comment_author": "chrisohaver"
},
{
"number": 4601,
"created_at": "2021-05-04T17:59:39Z",
"last_comment_at": "2022-01-30T01:47:02Z",
"last_comment_author": "github-actions"
},
{
"number": 4701,
"created_at": "2021-06-17T03:08:57Z",
"last_comment_at": "2022-05-08T04:33:41Z",
"last_comment_author": "dilyevsky"
},
{
"number": 4748,
"created_at": "2021-07-12T17:51:45Z",
"last_comment_at": "2022-02-25T19:45:24Z",
"last_comment_author": "chrisohaver"
},
{
"number": 4830,
"created_at": "2021-08-27T10:35:58Z",
"last_comment_at": "2025-11-17T15:55:45Z",
"last_comment_author": "wenxuan70"
},
{
"number": 4899,
"created_at": "2021-09-29T12:17:52Z",
"last_comment_at": "2022-01-28T01:47:10Z",
"last_comment_author": "github-actions"
},
{
"number": 5004,
"created_at": "2021-11-23T19:38:17Z",
"last_comment_at": "2022-01-27T01:47:21Z",
"last_comment_author": "github-actions"
},
{
"number": 5069,
"created_at": "2022-01-03T20:21:05Z",
"last_comment_at": "2023-08-18T11:11:23Z",
"last_comment_author": "frittentheke"
},
{
"number": 5152,
"created_at": "2022-02-02T10:58:14Z",
"last_comment_at": "2024-07-29T09:26:41Z",
"last_comment_author": "zengyuxing007"
},
{
"number": 5313,
"created_at": "2022-04-11T08:14:51Z",
"last_comment_at": "2022-04-13T14:13:01Z",
"last_comment_author": "chrisohaver"
},
{
"number": 5478,
"created_at": "2022-07-01T07:33:59Z",
"last_comment_at": "2022-07-02T14:27:25Z",
"last_comment_author": "chrisohaver"
},
{
"number": 5500,
"created_at": "2022-07-11T11:43:32Z",
"last_comment_at": "2026-07-18T14:14:29Z",
"last_comment_author": "houyuwushang"
},
{
"number": 5539,
"created_at": "2022-07-27T15:24:49Z",
"last_comment_at": "2023-05-22T14:32:19Z",
"last_comment_author": "arkhamHack"
},
{
"number": 5541,
"created_at": "2022-07-28T14:16:38Z",
"last_comment_at": "2022-08-02T07:32:01Z",
"last_comment_author": "zvlb"
},
{
"number": 5544,
"created_at": "2022-07-29T18:59:04Z",
"last_comment_at": "2026-01-07T23:48:54Z",
"last_comment_author": "polarathene"
},
{
"number": 5583,
"created_at": "2022-08-24T14:27:21Z",
"last_comment_at": "2023-05-15T12:40:47Z",
"last_comment_author": "antonio-pedro99"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/coredns/coredns",
"host": "github.com",
"name": "coredns",
"owner": "coredns"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"security": 87,
"vitality": 96,
"community": 95,
"governance": 77,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 96,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"commits_last_year": 704,
"human_commit_share": 0.61,
"days_since_last_push": 2,
"active_weeks_last_year": 52
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "52/52 weeks with commits",
"points": 36,
"status": "met",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 52
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "704 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 704
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 6 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": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 84,
"latest_release_tag": "v1.14.6",
"releases_from_tags": false,
"days_since_latest_release": 17,
"mean_days_between_releases": 30.8
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "84 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 84
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 17 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 17
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~30.8 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 30.8
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": 2,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 2 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 2
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 95,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"forks": 2497,
"stars": 14201,
"watchers": 221,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "14,201 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 14201
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "2,497 forks",
"points": 25,
"status": "met",
"details": [
{
"code": "forks",
"params": {
"count": 2497
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "221 watchers",
"points": 13,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 221
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"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": 13.5,
"status": "met",
"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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 77,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 98,
"top_contributor_share": 0.49
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 49% of commits",
"points": 11.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 49
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "98 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 98
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 40 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"merged_prs": 4448,
"open_issues": 234,
"closed_issues": 2287,
"issue_closed_ratio": 0.907,
"closed_unmerged_prs": 1085
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "91% of issues closed",
"points": 42.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 91
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "4448/5533 decided PRs merged",
"points": 30.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 4448,
"decided": 5533
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 15/18 approved changesets -- score normalized to 8",
"points": 12,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"followers": 278,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "coredns",
"public_repos": 36,
"account_age_days": 3629
},
"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": "278 followers of coredns",
"points": 17.6,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 278,
"login": "coredns"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "36 public repos, account ~9 yr old",
"points": 23.4,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 36
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/coredns/coredns"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 17
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 17 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 17
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "74 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 74
}
}
],
"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": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "12 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 12
}
}
],
"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": ".golangci.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "27 out of 27 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [
"dns-server",
"go",
"cncf",
"coredns",
"plugin",
"service-discovery"
],
"has_wiki": false,
"homepage": "https://coredns.io",
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://coredns.io",
"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": "6 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 6
}
}
],
"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": "excellent",
"name": "Security",
"value": 87,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "excellent",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 86,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 8.6
},
"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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "27 out of 27 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "badge detected: Passing",
"points": 1.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 15/18 approved changesets -- score normalized to 8",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 40 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is fuzzed",
"points": 5,
"status": "met",
"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": "30 commit(s) and 6 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 detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 3.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "2 existing vulnerabilities detected",
"points": 6,
"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. Remaining weights renormalized. Matched 200 resolved dependencies against OSV. 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"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 200
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 89,
"inputs": {
"source": "osv",
"advisories": 2,
"affected_packages": 2,
"assessed_packages": 200,
"unassessed_packages": 0,
"affected_by_severity": "unknown 2",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: golang.org/x/crypto v0.54.0 (unknown)",
"points": 26.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "golang.org/x/crypto v0.54.0 (unknown)"
}
}
],
"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 has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"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": 200,
"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": 8
},
"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": "moderate",
"name": "AI Readiness",
"value": 69,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.902,
"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": "55 of 61 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 55,
"sampled": 61
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile",
"pb/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.02,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.39
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, pb/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, pb/Makefile"
}
}
],
"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": ".golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, 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": "39 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 39,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 7",
"points": 7,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 41038,
"source_files_sampled": 689,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/689 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 689,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [],
"has_mcp_signal": false,
"api_schema_files": [
"pb/dns.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "pb/dns.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "pb/dns.proto"
}
}
],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-27T06:05:37.779943Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/coredns/coredns.svg",
"full_name": "coredns/coredns",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}