Звіт у форматі JSON машиночитний
{
"data": {
"icon": {
"bytes": 3616,
"width": 106,
"height": 106,
"rejected": [
{
"url": "https://uutils.org/favicon.ico",
"reason": "HTTP 404",
"source_type": "homepage"
}
],
"collected": true,
"media_type": "image/svg+xml",
"source_url": "https://raw.githubusercontent.com/uutils/coreutils/main/docs/src/logo.svg",
"source_type": "readme",
"content_hash": "342c3909ea23364dccb32d3b46a42057a3d8c194d1d3c6f51c27f0ed1d718fdb",
"candidates_considered": 2
},
"repo": {
"topics": [
"rust",
"coreutils",
"gnu-coreutils",
"busybox",
"cross-platform",
"command-line-tool"
],
"is_fork": false,
"size_kb": 43036,
"has_wiki": true,
"homepage": "https://uutils.org",
"languages": {
"Nix": 2033,
"Rust": 7936147,
"Shell": 107538,
"Fluent": 452021,
"Python": 63815,
"Nushell": 4584,
"Makefile": 10653,
"Batchfile": 6836,
"Dockerfile": 818
},
"pushed_at": "2026-08-05T20:54:45Z",
"created_at": "2013-08-02T16:22:56Z",
"owner_type": "Organization",
"updated_at": "2026-08-05T20:36:36Z",
"description": "Cross-platform Rust rewrite of the GNU coreutils",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Rust",
"significant_languages": [
"Rust"
]
},
"owner": {
"blog": "https://uutils.org",
"name": "Uutils",
"type": "Organization",
"login": "uutils",
"company": null,
"location": "France",
"followers": 962,
"avatar_url": "https://avatars.githubusercontent.com/u/5148717?v=4",
"created_at": "2013-08-02T15:35:30Z",
"is_verified": null,
"public_repos": 29,
"account_age_days": 4751
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "0.9.0",
"kind": "minor",
"published_at": "2026-05-30T14:43:48Z"
},
{
"tag": "0.8.0",
"kind": "minor",
"published_at": "2026-04-06T20:48:18Z"
},
{
"tag": "0.7.0",
"kind": "minor",
"published_at": "2026-03-08T21:40:46Z"
},
{
"tag": "0.6.0",
"kind": "minor",
"published_at": "2026-02-02T22:21:13Z"
},
{
"tag": "latest-commit",
"kind": "other",
"published_at": "2026-01-17T10:58:34Z"
},
{
"tag": "0.5.0",
"kind": "minor",
"published_at": "2025-12-14T09:54:40Z"
},
{
"tag": "0.4.0",
"kind": "minor",
"published_at": "2025-11-09T23:07:25Z"
},
{
"tag": "0.3.0",
"kind": "minor",
"published_at": "2025-10-24T22:45:39Z"
},
{
"tag": "0.2.2",
"kind": "patch",
"published_at": "2025-09-09T20:31:26Z"
},
{
"tag": "0.2.0",
"kind": "minor",
"published_at": "2025-09-06T13:06:54Z"
},
{
"tag": "0.1.0",
"kind": "minor",
"published_at": "2025-05-24T22:00:55Z"
},
{
"tag": "0.0.30",
"kind": "patch",
"published_at": "2025-03-08T13:54:44Z"
},
{
"tag": "0.0.29",
"kind": "patch",
"published_at": "2025-01-18T21:35:34Z"
},
{
"tag": "0.0.28",
"kind": "patch",
"published_at": "2024-11-16T19:37:15Z"
},
{
"tag": "0.0.27",
"kind": "patch",
"published_at": "2024-06-23T17:12:21Z"
},
{
"tag": "0.0.26",
"kind": "patch",
"published_at": "2024-04-26T21:47:48Z"
},
{
"tag": "0.0.25",
"kind": "patch",
"published_at": "2024-03-23T20:56:02Z"
},
{
"tag": "0.0.24",
"kind": "patch",
"published_at": "2024-01-25T22:49:24Z"
},
{
"tag": "0.0.23",
"kind": "patch",
"published_at": "2023-11-14T12:36:32Z"
},
{
"tag": "0.0.22",
"kind": "patch",
"published_at": "2023-10-15T16:38:31Z"
},
{
"tag": "0.0.21",
"kind": "patch",
"published_at": "2023-09-03T16:12:44Z"
},
{
"tag": "0.0.20",
"kind": "patch",
"published_at": "2023-07-14T16:35:47Z"
},
{
"tag": "0.0.19",
"kind": "patch",
"published_at": "2023-06-04T16:21:59Z"
},
{
"tag": "0.0.18",
"kind": "patch",
"published_at": "2023-04-02T19:43:54Z"
},
{
"tag": "0.0.17",
"kind": "patch",
"published_at": "2023-01-21T11:41:45Z"
},
{
"tag": "0.0.16",
"kind": "patch",
"published_at": "2022-10-12T09:47:51Z"
},
{
"tag": "0.0.15",
"kind": "patch",
"published_at": "2022-08-20T14:19:32Z"
},
{
"tag": "0.0.14",
"kind": "patch",
"published_at": "2022-05-22T18:40:07Z"
},
{
"tag": "0.0.13",
"kind": "patch",
"published_at": "2022-04-02T12:16:39Z"
},
{
"tag": "0.0.12",
"kind": "patch",
"published_at": "2022-01-19T14:53:45Z"
},
{
"tag": "0.0.9",
"kind": "patch",
"published_at": "2022-01-18T11:33:14Z"
},
{
"tag": "0.0.8",
"kind": "patch",
"published_at": "2021-10-23T23:16:37Z"
},
{
"tag": "0.0.7",
"kind": "patch",
"published_at": "2021-07-11T16:00:01Z"
},
{
"tag": "0.0.6",
"kind": "patch",
"published_at": "2021-04-03T15:28:51Z"
},
{
"tag": "0.0.5",
"kind": "patch",
"published_at": "2021-04-03T10:15:18Z"
},
{
"tag": "0.0.4",
"kind": "patch",
"published_at": "2021-03-07T11:37:40Z"
},
{
"tag": "0.0.3",
"kind": "patch",
"published_at": "2021-02-02T12:29:44Z"
},
{
"tag": "0.0.2",
"kind": "patch",
"published_at": "2021-01-11T14:23:36Z"
},
{
"tag": "0.0.1.1",
"kind": "other",
"published_at": "2020-05-31T22:26:51Z"
},
{
"tag": "0.0.1",
"kind": "patch",
"published_at": "2020-04-14T00:15:05Z"
}
],
"recent_commits": [
{
"oid": "28b6856d7b215bf844b4223589cb54ade84f5223",
"body": null,
"is_bot": false,
"headline": "cut: use then_some instead of then",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ab8da775e7915d82fa79502d5539a878d96c9ec",
"body": null,
"is_bot": false,
"headline": "cut: rename function & vars",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd7d89640d26b11df1630851fbb732ef6ca6b865",
"body": null,
"is_bot": false,
"headline": "cut: simplify match",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "813dc15faa7310ce7ee0fb094e1587b27483832f",
"body": null,
"is_bot": false,
"headline": "cut: move code to new get_selected_mode_arg fn",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfbfccb1adda52316bca063ea242a791cb2e35da",
"body": null,
"is_bot": false,
"headline": "cut: return early if invalid arg combinations",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bbb13d40f8dd8e139e648bf8243c95d7894039a",
"body": null,
"is_bot": false,
"headline": "cut: return early if incorrect number of mode args",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-05T20:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21d4e9635b07a04f262cd8a5386f2987bca6cfef",
"body": null,
"is_bot": true,
"headline": "chore(deps): update rust crate similar to v3.1.2",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-08-04T15:06:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7906a06c3b9155de03da049dd1ad30bce9b7c78",
"body": null,
"is_bot": false,
"headline": "cp: simplify loop by while let",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-04T13:57:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b214ccdc850d1f65093411281c1a8ff8bd6aad6",
"body": null,
"is_bot": false,
"headline": "paste: simplify 2 loop by while",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-04T12:11:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61cac11c3beefe69b2f3e7acb5c90520c161f614",
"body": null,
"is_bot": false,
"headline": "od: remove enum var not used at production",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-04T11:36:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0e62f41faf1a71d56721b1867535f831853e312",
"body": null,
"is_bot": false,
"headline": "du: Refactor loop into while let",
"author_name": "Dorian Péron",
"author_login": "RenjiSann",
"committed_at": "2026-08-04T11:22:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb0806a02a215ca5593cff8dae24f373908a2dbe",
"body": null,
"is_bot": false,
"headline": "error: clarify UUsageError documentation",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-04T09:49:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46cf6db3d9e2a4733a734137247eace0cf1842a0",
"body": "A bare suffix with no digits at all (e.g. head -c kiB) must still\nparse as 1 of that unit. Only a suffix that remains after stripping\nleading zeros (e.g. 0K) means zero.\n\nCloses #13703",
"is_bot": false,
"headline": "head/tail: fix bare suffix regression from zero count change",
"author_name": "MeGaurav4",
"author_login": "MeGaurav4",
"committed_at": "2026-08-04T09:23:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64723bb78ba14316781a4af1048a85d5513ef29e",
"body": "0K, 00K and similar inputs were being parsed as 1KiB because the\nleading zeros were stripped before suffix interpretation, leaving a\nbare suffix that parse_size treats as 1 unit. The leading zeros mean\nthe value is zero, so a bare suffix must still produce 0.\n\nGNU coreutils prints nothing for head -c 0K and tail -c 0K.\n\nCloses #13703",
"is_bot": false,
"headline": "head/tail: parse zero byte counts with size suffix as 0",
"author_name": "MeGaurav4",
"author_login": "MeGaurav4",
"committed_at": "2026-08-04T09:23:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67c5e6111a23425a8d94192f6c8fac26cae7eca9",
"body": "… (#13637)\n\n* chmod: report the real error when a target's metadata is inaccessible\n\nchmod used Path::exists() to decide whether a target exists, but exists() returns false on any metadata error, so a file whose parent directory lacks search permission was reported as \"No such file or directory\" ins\n[…]\n a permission error, matching GNU. Fixes #9789.\n\n* tests/chmod: use digit separators in octal mode literal\n\nSatisfy clippy::unreadable_literal (0o100644 -> 0o100_644) so the\nStyle and Lint job passes.",
"is_bot": false,
"headline": "chmod: report the real error when a target's metadata is inaccessible…",
"author_name": "0xfandom",
"author_login": "0xfandom",
"committed_at": "2026-08-04T08:45:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8d68f13d05079056f20db80be57a30fa80165dd8",
"body": null,
"is_bot": false,
"headline": "cp: remove feat_acl & exacl (dupe of copy_acls)",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-04T08:18:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04c4f77262c5b99367413a1d789b803effb06056",
"body": null,
"is_bot": false,
"headline": "od: remove Box from enum CurrentReader",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-04T08:04:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5a0db8bc1abcbb84fbd6c66593d61f10f543c77",
"body": null,
"is_bot": false,
"headline": "cksum: locale-aware escape file name",
"author_name": "Dorian Péron",
"author_login": "RenjiSann",
"committed_at": "2026-08-04T07:54:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d49785eb653c904ec642f6b1197ab93f12294b99",
"body": null,
"is_bot": false,
"headline": "uucore: use workspace for direct dependencies",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-04T07:13:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f14cb60c5022497ecec8523ce8041cc56ed9d0e",
"body": null,
"is_bot": false,
"headline": "uucore: sort dependencies that are no longer pinned",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-04T07:13:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d48201bbfa132a6153068f1ac3244e5ec95092c",
"body": "The character path walked the line one character at a time through the\nencoding decoder and looked the locale encoding up per character, which\ndominated the per-line cost on mixed ASCII and multi-byte text.\n\nTake runs of ASCII bytes a machine word at a time. They are single-byte\ncharacters in every \n[…]\ndecoded to be counted.\n\nTests cover advance directly -- character counting for -c, byte counting\nfor -b -n, and the word boundary crossings -- plus a cut -c case over\nmixed ASCII and multi-byte lines.",
"is_bot": false,
"headline": "cut: speed up the multibyte character path",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-04T06:44:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "676d8feab29dac8f87c27918a310b8bee4c9406f",
"body": "wasmtime's argument marshaling requires valid UTF-8, so a raw non-UTF-8\nbyte delimiter can't be passed through to the WASI binary the way it\ncan natively on Linux.",
"is_bot": false,
"headline": "cut: skip WASI-incompatible non-UTF-8 delimiter test under wasi_runner",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-04T06:44:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f305791c6bced12cf0bc99a524f6184cdf98f91e",
"body": null,
"is_bot": false,
"headline": "cut: support multibyte characters in non-UTF-8 locales",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-04T06:44:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89bdbb86627670afb6794f762bed5bd94372f331",
"body": null,
"is_bot": false,
"headline": "cp: fix 2 clippy expections",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-03T20:50:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe9420b8f07b1e6fee7462663221392f985d356e",
"body": "integers() parsed both operands with i128, so an operand needing more\ndigits than that range holds was rejected as an invalid integer with exit\ncode 2. GNU compares integers of arbitrary width and returns 0 or 1\ninstead of erroring.\n\nParse each operand into a sign and its decimal digits and compare \n[…]\ns\n(-eq, -ne, -lt, -le, -gt, -ge) without adding a dependency, and leaves the\nset of accepted operands unchanged.\n\nFixes #12874\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>",
"is_bot": false,
"headline": "test: compare integers of any width",
"author_name": "dhruv-15-03",
"author_login": "dhruv-15-03",
"committed_at": "2026-08-03T20:40:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "42840d011c026a6dc7db2ecfd31ec342a96ab735",
"body": null,
"is_bot": false,
"headline": "cut: add a benchmark for a range inside long multibyte lines (#13732)",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-03T20:29:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0cb02453f314bdd3addda6f321f7e03adceb56b",
"body": null,
"is_bot": false,
"headline": "rm: use translate macro for two error messages (#13730)",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-03T16:17:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e95dfe06d35f45c1b9639459f5a4adc816b6fc0",
"body": "…unt (#13701)\n\n* test(tail): experiment: increase byte count to avoid pipe buffer race\n\nTry 10,000,000 bytes instead of 100,000 to ensure the pipe always\nfills up and the write fails immediately when stdout is closed.\nThis is an experiment to see if it fixes #13569.",
"is_bot": false,
"headline": "tail(test): Attempt to fix flaky tail pipe test by increasing byte co…",
"author_name": "✿ Fleur de Blue",
"author_login": "Xylphy",
"committed_at": "2026-08-03T14:31:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5adeefd508e53a0f629038edfa90a3228b4a2376",
"body": null,
"is_bot": false,
"headline": "date: use %Od instead of %Ol in test",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-08-03T14:30:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79fcc9e8f4ecb245dc4c1f967f63d70c953ebda5",
"body": null,
"is_bot": false,
"headline": "benchmarks: prepare args outside benchmark",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-03T14:29:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24a70a070a9bdc7eb21835c63941407211745a20",
"body": null,
"is_bot": false,
"headline": "rm: report a verbose write failure once without aborting the removal",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-03T14:22:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f9d6aa299238cdaabf50709c0c8d519ce9ff1e9",
"body": "remove a duplicate `syn` v2 dependency for the `encoding` feature of `uucore`:\n\n```console\n$ cargo tree --target all -p uucore --features encoding --invert syn@2\nwarning: nothing to print.\n```",
"is_bot": false,
"headline": "chore(deps): update rust crate data-encoding-macro to v0.1.21",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-03T13:13:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c64a4c0dd414aaa0791c3645d31cd99a73f26696",
"body": "…m a trailing slash. Fixes #13151",
"is_bot": false,
"headline": "realpath: don't require read permission on a directory just to confir…",
"author_name": "Chaganti-Reddy",
"author_login": "Chaganti-Reddy",
"committed_at": "2026-08-03T12:45:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c477de75dfd0a6ac24e3e5ad4883198df10f1e87",
"body": "GNU join replaces output fields that are empty as well as fields that are\nmissing from the input, which is how POSIX describes -e (\"replace empty\noutput fields\"). uutils only substituted when the requested field index ran\npast the end of the line, so a field that was present but zero length was\nprin\n[…]\nthe same as a missing one. The filler defaults to the empty string, so\noutput is unchanged when -e is not given.\n\nFixes #12770\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>",
"is_bot": false,
"headline": "join: apply the -e filler to empty output fields",
"author_name": "dhruv-15-03",
"author_login": "dhruv-15-03",
"committed_at": "2026-08-03T11:29:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a73055191b6d8f144c96bd487c90ae270f30c7a3",
"body": "* date: strip the O strftime modifier in the C locale\n\n* date: only strip O when it modifies a specifier",
"is_bot": false,
"headline": "date: strip the O strftime modifier in the C locale (#13702)",
"author_name": "Igor Giamoniano",
"author_login": "igorgbr",
"committed_at": "2026-08-03T08:26:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb8b2b80c0f883c376076c4e40543e49577911f1",
"body": null,
"is_bot": false,
"headline": "uucore: document strip_errno with an example",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-03T08:25:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e05f379eb41984b441cae0f5c053f84240fdfea4",
"body": null,
"is_bot": false,
"headline": "prepare release 0.10.0",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-03T07:36:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37b1d11d0f56b48f912ad6336a28c98601dd95a1",
"body": "…nership\n\nWhen rename(2) returns EXDEV, mv copies the file and then re-applies the\nsource mode, including setuid and setgid. The chown back to the original\nowner is best-effort and silently ignored, so an unprivileged user moving a\nroot-owned setuid file across a filesystem boundary ended up owning \n[…]\n -> 755, f2755 -> 755\n\nWhen ownership is preserved the bits survive, matching GNU. The directory\nrecursion path already matched GNU and is unchanged.\n\nReported by zerodaybugs via GHSA-6c4j-6pgg-xgg8.",
"is_bot": false,
"headline": "mv: strip setuid/setgid when the cross-device copy cannot preserve ow…",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-03T06:25:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b13ee7a8319f439cb9a1ba550e98de665f9c4bb1",
"body": null,
"is_bot": false,
"headline": "ptx: simplify match",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-02T13:10:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d4a1197fed11b4f4c32fe0caa0f2d9665dca65c",
"body": "The same-file detection and the two-path handling in mv issued several\nstat calls whose result was already available, and assert_not_same_file\nformatted the quoted target path used in error messages even when the\nmove succeeded. Reuse a single symlink_metadata lookup per path, only\nbuild the error string when an error is reported, and make the hardlink\ncomparison helpers in uucore look up the target first so they can return\nearly when it does not exist.",
"is_bot": false,
"headline": "mv: avoid redundant metadata lookups and eager error strings",
"author_name": "CodSpeed Bot",
"author_login": "codspeedbot",
"committed_at": "2026-08-02T12:50:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8aaedee2e909f3f38a5d665ae2953bcb752cb390",
"body": "Should make test tests/mv/mv-exchange.sh pass",
"is_bot": false,
"headline": "mv: add --exchange to atomically swap two paths",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T12:50:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb619934c4edb56a1b836c4f2537bd19bf69a351",
"body": null,
"is_bot": false,
"headline": "test_install.rs: strip myself instead of strip_source_file",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-02T12:41:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3a4074f9d2a41a9617341712c39ec101001fd7b",
"body": null,
"is_bot": false,
"headline": "deps: update cfg_aliases dependency to use workspace configuration",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-02T12:10:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "670aeef5dcd79850a3cb6b14ae136db4a77eefa9",
"body": "Reorder the cargo manifest so that the `[lints]` section is emitted after the `[\ndependencies]` and `[features]` sections.\n\nThis ordering better matches the structure commonly seen in Rust projects.\n\nNo functional changes; this is purely a reordering of manifest sections.",
"is_bot": false,
"headline": "cargo: move lints section after dependencies and features",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-02T12:04:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09507121a566aec8bc72bebe0bcaa1a6d0f95f45",
"body": null,
"is_bot": false,
"headline": "od: restore skip-past-end handling for seekable special files",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T09:01:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2a9e49fa28c790a01c3b0e8e097855dfbc49935",
"body": "The test replaced the watched file with a symlink via remove()\nfollowed by symlink_file(), letting the poller observe a transient\n\"file missing\" state and report \"has become inaccessible\" instead of\n\"replaced with an untailable symbolic link\". It also asserted the\nprocess was alive 500ms after spawn\n[…]\n.\n\nWait for the initial content to appear in stdout before swapping, and\nperform the swap as an atomic rename over a freshly created symlink\nso the intermediate missing-file state is never observable.",
"is_bot": false,
"headline": "tests(tail): fix race in untailable-symlink test",
"author_name": "Eduardo Rodrigues",
"author_login": "eduardomourar",
"committed_at": "2026-08-02T09:00:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6bf2f6c109b80a344ccbcb5c6e7a2e36ed74a1ce",
"body": "--skip-chdir is only permitted when NEWROOT resolves to '/'. The guard\ncanonicalized NEWROOT to check that, then chroot(2) was called on the original\nspelling. A NEWROOT symlink repointed between the two would pass the guard and\nstill land the process elsewhere, with the working directory left outsi\n[…]\n path)\nproduce byte-identical output and exit codes to GNU 9.11.130 before and after,\nand the error text still quotes './lnroot' rather than '/'.\n\nReported by the Cantina audit as GHSA-h57h-p7mr-8j5f.",
"is_bot": false,
"headline": "chroot: chroot the path that --skip-chdir validated",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T08:49:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "59779677c374c34801bac0ae4ce17960d23b78a9",
"body": null,
"is_bot": false,
"headline": "groups: simplify by .map_err",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-02T08:20:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a189cc5ebbd85cd12cf26b08f2cfe12f2dfeb312",
"body": null,
"is_bot": false,
"headline": "tail: remove an unwrap()",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-02T08:20:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c016d36de6cb115d10eedf9225662892c14330f5",
"body": null,
"is_bot": false,
"headline": "run rustfmt",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T08:19:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70c272483823fed98d9cae273b6b191d2dab5796",
"body": null,
"is_bot": false,
"headline": "od: fix clippy",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-02T08:19:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a9d37e9475ccf241896e986c61000fac3ac5b1f",
"body": "/dev/null isn't backed by a real seekable device in the WASI sandbox via\nwasmtime, so the skip-past-end behavior this test checks doesn't apply\nthere -- matches the existing convention for other WASI-incompatible\ntests in this file.",
"is_bot": false,
"headline": "od: skip WASI-incompatible seekable-device test under wasi_runner",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T07:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d46a8ce96ad577860fba9bc6ba52110f19264e8",
"body": null,
"is_bot": false,
"headline": "od: reuse shared skip helpers (read_and_discard, sane_blksize)",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T07:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "959c2e50757a4f330e4151f4430eaef1a79b3a18",
"body": null,
"is_bot": false,
"headline": "dd: use uucore::io::read_and_discard",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T07:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d6f91e9a24ddfbb230e48534f18ade555f684b9",
"body": null,
"is_bot": false,
"headline": "uucore: add io::read_and_discard helper",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T07:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9e34e3e07d1900d858833f8733f9b6ef9fb703a",
"body": null,
"is_bot": false,
"headline": "od: skip past end of seekable inputs without error",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-08-02T07:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c8a3c7f366ee77341b95489c00c9ce0ce53e085",
"body": null,
"is_bot": false,
"headline": "lib.rs: simplify fn read_yes",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-01T12:35:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12eb3f465bec42bbb8eb720b8bd31a32cdbb2ad3",
"body": null,
"is_bot": false,
"headline": "tac: simplify .filter",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-01T12:15:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e58f2e5785971f1a475c324bec17fbfa06eb31b",
"body": null,
"is_bot": false,
"headline": "date: dedup boundary check for bytes",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-01T12:14:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bad46761f7ec4dde96111842d6cd91cc64c9e960",
"body": null,
"is_bot": false,
"headline": "ls: simplify match by .filter",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-01T12:14:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66e0d60c814e929349ab0d43149f993481715d94",
"body": null,
"is_bot": true,
"headline": "chore(deps): update rust crate time to v0.3.55",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-08-01T10:50:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86b5562c452886117cec58dc6bcab642a22792f6",
"body": null,
"is_bot": false,
"headline": "enable clippy::match_same_arms globally",
"author_name": "oech3",
"author_login": "oech3",
"committed_at": "2026-08-01T07:39:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f258a3fcc7140cf9c4b18c4397125576c40ff413",
"body": "```log\nerror[E043]: cannot find `termios` in `rustix`\n --> src/uu/who/src/platform/unix.rs:189:13\n |\n189 | rustix::termios::ttyname(std::io::stdin(), Vec::with_capacity(16))\n | ^^^^^^^ could not find `termios` in `rustix`\n |\nnote: found an item that was configured out\n -\n[…]\nind the `termios` feature\n300 | #[cfg_attr(docsrs, doc(cfg(feature = \"termios\")))]\n301 | pub mod termios;\n | ^^^^^^^\n\nFor more information about this error, try `rustc --explain E0433`.\n```",
"is_bot": false,
"headline": "fix(who): add missing rustix feature",
"author_name": "xtqqczze",
"author_login": "xtqqczze",
"committed_at": "2026-08-01T05:34:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "efc945fa74e5ae6129ce331c3c80d0d8f1577e26",
"body": null,
"is_bot": true,
"headline": "chore(deps): update rust crate clap to v4.6.5",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-08-01T05:07:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d99a177a1cc9e15028d545e19306e46fa97d91e3",
"body": "Same treatment as mknod: install the creation context first so the kernel\napplies the label as part of mkdir/mknod, as GNU does.",
"is_bot": false,
"headline": "mkdir, mkfifo: label at creation instead of relabelling after",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T22:07:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cd860806789ffcc5469aa53dd93c918f0530f13",
"body": null,
"is_bot": false,
"headline": "mv: drop unused import in the cross-device symlink test",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T20:01:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9684011207d58aa51718ca1ce88475a51992bbf0",
"body": "The EXDEV directory fallback removes the destination, then recreates it with\ncreate_dir_all. create_dir_all treats an existing symlink-to-directory as\nsuccess, so anything planted at the path in the gap redirects the entire moved\ntree through the link, outside the destination.\n\nMeasured with a tight\n[…]\neared is refused with EEXIST rather than followed. Normal\ncross-device moves are unaffected: dest-absent, into-existing-dir, and -T onto\nan existing empty dir all still behave as before and match GNU.",
"is_bot": false,
"headline": "mv: fail closed when recreating a cross-device directory destination",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T20:01:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8e51f7573096abce577c286efd99cd342c2a2a50",
"body": "LD_PRELOAD is colon-separated with no escaping, so a path containing ':' gets\nsplit by the loader and its leading component loaded as a library. That path\ncomes from $TMPDIR, so the component is attacker-chosen whenever TMPDIR crosses\na privilege boundary (e.g. sudoers env_keep preserving TMPDIR whi\n[…]\nrectory named `payload.so:x` as TMPDIR, an attacker .so\nruns in the child before main(). GNU is unaffected: it uses a fixed path.\n\nFail with exit 125 instead of preloading a library we did not select.",
"is_bot": false,
"headline": "stdbuf: refuse a libstdbuf path that cannot be represented in LD_PRELOAD",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T20:01:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a0ad9172dd36df4530d406283246750714b1219c",
"body": "Android denies hard links on the filesystem backing the test directory, so\nat.hard_link panics with EPERM before the test reaches the assertion. The mv\nanalogue, test_mv_backup_simple_guard_allows_hardlink_source, already carries\nthe same guard.",
"is_bot": false,
"headline": "tests: skip the hard link backup cases on Android",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T19:59:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "125712fc9537637bef591ab5790dd11401589563",
"body": "cp, mv and install each decided for themselves which backup modes the\n\"might destroy source\" guard applies to, and spelled it three different\nways. mv got it wrong: it checked only BackupMode::Simple, so\n--backup=existing destroyed the source. Which modes are dangerous is not\nthe caller's business.\n\n[…]\n130) over the same\n60-combination matrix (cp/mv/install x simple/existing/numbered/none x\nplain, hard link, alternate spelling, numbered-backup-present, custom\nsuffix), 0 divergences before and after.",
"is_bot": false,
"headline": "backup_control: own the mode gate instead of leaving it to each caller",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T19:59:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc78eeb3dea7dd537599222a41ec2de1f2f14a97",
"body": "The \"backing up X might destroy source\" check only ran for\n`--backup=simple`, but `--backup=existing` falls back to a simple backup\nwhen no numbered backup is present and can destroy the source in exactly\nthe same way: `mv --backup=existing a~ a` renamed `a` over `a~` and left\nboth empty. GNU gates \n[…]\ngainst GNU master (9.11.130) for simple/existing/numbered/none,\nincluding the case where a numbered backup already exists: GNU still\nrefuses there, because its check uses the simple suffix regardless.",
"is_bot": false,
"headline": "mv: apply the backup guard to every mode but numbered",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T19:59:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "deb9fe1363da450f96216ebce6a3028f44ceb3d4",
"body": "The \"backing up X might destroy source\" check compared the source against\nthe computed backup path by inode only. That refuses `cp --backup=simple\nother a` when `other` is a hard link to `a~`, even though the backup\nrename lands on the name `a~` and cannot touch `other`. GNU copies it.\n\nGNU's `sourc\n[…]\nr reuse an existing name and are excluded, as in GNU.\n\nVerified against GNU master (9.11.130) over simple/existing/numbered/none\nand the hard-link, symlink, alternate-spelling and absent-backup cases.",
"is_bot": false,
"headline": "cp: match GNU's backup guard instead of comparing inodes alone",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T19:59:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0246a57ed490a758ec07589a2dff2465b39c7fc4",
"body": "`install --backup=simple a~ a` renames `a` over `a~` before reading the\nsource, so both files end up empty and the source content is gone. GNU\nrefuses this (`source_is_dst_backup` in copy.c); install had no guard at\nall, while cp and mv both did.\n\nReuse `uucore::backup_control::source_is_target_back\n[…]\n gated.\n\nVerified against GNU master (9.11.130) across simple/existing/numbered/\nnone and a custom --suffix: messages, exit codes and resulting file\ncontents are byte-identical modulo the binary name.",
"is_bot": false,
"headline": "install: refuse a backup that would destroy the source",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T19:59:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc2dfd664e3e736f3bbe46e5f8a3610b19901f84",
"body": null,
"is_bot": false,
"headline": "sort: make return value of loop explicit",
"author_name": "Daniel Hofstetter",
"author_login": "cakebaker",
"committed_at": "2026-07-31T16:03:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5716c84579cb7bfc9f781ba74c5089ae2bc76cc4",
"body": null,
"is_bot": false,
"headline": "ln: include destination in symbolic link failure message",
"author_name": "MeGaurav4",
"author_login": "MeGaurav4",
"committed_at": "2026-07-31T14:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "280e2930d76ff05536af71b08e0308588d9abedc",
"body": "* rm: do not panic when verbose output write fails\n\nThe verbose helpers printed with println!, which panics when the stdout write fails (e.g. rm -v a > /dev/full). Write through a helper that reports the io error as a diagnostic and exit status 1 instead.\n\nFixes #10551.\n\nSigned-off-by: Alex Chen <l4\n[…]\nerbose write error check\n\nBorrow the result for the error message and return result.is_err().\n\nSigned-off-by: Alex Chen <l46983284@gmail.com>\n\n---------\n\nSigned-off-by: Alex Chen <l46983284@gmail.com>",
"is_bot": false,
"headline": "rm: do not panic when verbose output write fails (#13659)",
"author_name": "Alex Chen",
"author_login": "l46983284-cpu",
"committed_at": "2026-07-31T13:10:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e0fef2a19ae5fcebfba8f97e224f2264b44e74a5",
"body": "Previously, when all checksum lines were improperly formatted, the\n\"no properly formatted checksum lines found\" error was silently\nsuppressed when --status was active. RFC-4634 and GNU coreutils both\nemit this diagnostic regardless of --status; only per-file\nOK/FAILED lines are suppressed.\n\nRemove the over_status() guard around log_no_properly_formatted\nso the error is always printed. Add a regression test for md5sum.",
"is_bot": false,
"headline": "fix(hashsum): always report malformed input with --status (fixes #12867)",
"author_name": "Kanishk Sachan",
"author_login": "koopatroopa787",
"committed_at": "2026-07-31T09:47:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bab361a07d9b653f2a9714dec07b12c9001c7f6a",
"body": "`check` returns as soon as it finds a disorder, which dropped the chunk\nreceiver while the reader thread was still sending. The reader unwraps that\nsend, so it panicked with `SendError`. Under `panic = \"abort\"` in the release\nprofile that aborts the whole process instead of exiting 1, and since the\n\n[…]\nout\nrecycled buffers, then drain the loaded channel. The reader can only hold the\ntwo outstanding recycled chunks, so this reads at most two extra chunks and is\nguaranteed to terminate.\n\nFixes #11201.",
"is_bot": false,
"headline": "sort: do not panic when --check stops at the first disorder",
"author_name": "Marc Gravell",
"author_login": "mgravell",
"committed_at": "2026-07-31T09:27:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "473e10a9f000f09a8bb26e2e1f3f3d57088dd84f",
"body": "numeric_uid_gid was gated behind #[cfg(unix)], but display_uname and\ndisplay_group have non-unix fallbacks that print placeholder owner/\ngroup names (\"somebody\"/\"somegroup\"); those fallbacks now check the\nflag too and print \"0\" instead, matching --numeric-uid-gid's intent\non platforms without real uid/gid values (including WASI, which was\notherwise left in an inconsistent cfg state where the field existed\nwithout being usable everywhere it was read).",
"is_bot": false,
"headline": "ls: support numeric-uid-gid on non-unix platforms",
"author_name": "Eduardo Rodrigues",
"author_login": "eduardomourar",
"committed_at": "2026-07-31T09:20:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abd2d53e2e9ae5f2ad84a78926a298b5c35a357a",
"body": "test_realpath_dangling asserted the resolved dangling-symlink target\nvia a relative path string built from the test's own scratch dir\ninstead of an absolute, OS-normalized path, which is not guaranteed\nto match realpath's actual output on all platforms; assert against\nroot_dir_resolved()+path_concat\n[…]\nrd-link support in this test harness).\n\nIn test_format_precision_too_large_on_zero, replace\n.fails().code_is(2) with the equivalent .fails_with_code(2) helper\nalready used elsewhere in the test suite.",
"is_bot": false,
"headline": "test: fix platform assumptions in du and realpath tests",
"author_name": "Eduardo Rodrigues",
"author_login": "eduardomourar",
"committed_at": "2026-07-31T09:19:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a247c079e5806a1637652b5c2f2ab2af08ab9d2f",
"body": "Adds uucore::selinux::FsCreateContext, an RAII guard around setfscreatecon,\nso the kernel applies the context as part of mknod, as GNU does.",
"is_bot": false,
"headline": "mknod: label the node at creation instead of relabelling it after",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T09:18:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a014036d5fd9af8b5c0aaa94c0547565a7d9fc25",
"body": "`write_all_to` returned the write error immediately, which dropped the chunk\nreceivers while the reader thread was still sending. The reader unwraps that\nsend, so it panicked with `SendError`. Under `panic = \"abort\"` in the release\nprofile that aborts the whole process instead of reporting the write\n[…]\nng to. The drain polls every channel in turn rather than draining them one\nat a time, because the reader can be blocked on any one of them and waiting on a\ndifferent one would deadlock.\n\nFixes #13653.",
"is_bot": false,
"headline": "sort: do not panic when a write fails during a merge",
"author_name": "Marc Gravell",
"author_login": "mgravell",
"committed_at": "2026-07-31T09:13:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e035f2a274d943fd6a656b97f210fa3401a4c5ba",
"body": "…13666)\n\nSeveral tests were gated behind #[cfg(target_os = \"linux\")] even\nthough they only exercise generic POSIX/Unix behavior (trailing-slash\nhandling, non-UTF-8 argv, hard/soft link traversal, /dev/zero reads,\ndirectory-exists errors, TMPDIR fallback, and pre-1970 timestamps via\nrustix). Widen the gate to #[cfg(unix)] so they also run on macOS and\nBSD; verified passing locally on macOS.",
"is_bot": false,
"headline": "tests: widen several linux-only tests to run on all unix platforms (#…",
"author_name": "Eduardo de Moura Rodrigues",
"author_login": "eduardomourar",
"committed_at": "2026-07-31T08:22:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e379e5d677a7c9bdcc2aaf8f940eb6bdccc4023c",
"body": "for more information, see https://pre-commit.ci",
"is_bot": true,
"headline": "[pre-commit.ci] auto fixes from pre-commit.com hooks",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-07-31T06:22:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e89f93c6b6d25035e53b68a3e54de98205633c0f",
"body": "The inode-only check over-refused a symlink source and a hard link under\nanother name, both of which GNU allows.",
"is_bot": false,
"headline": "mv: match GNU's backup guard (basename gate + inode compare)",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:22:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c56aeb862d655e60d3c5975609b3bfafad86ded7",
"body": "source_is_target_backup appended the suffix to the destination and compared the\nresult to the source as raw strings, so the guard only fired when both operands\nhappened to be spelled the same way. \"a~\" != \"./a\" + \"~\"",
"is_bot": false,
"headline": "mv: compare file identity in the --backup=simple safety guard",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:22:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c87ab04fee8e52d989fb2625568a3eeda1b1f55",
"body": "…ails\n\nset_ownership_and_permissions applied the mode -- including setuid/setgid --\nand only then attempted the chown, with no rollback on failure. A failed\nownership change therefore left the destination as a setuid file owned by the\ninstalling user. install -d had the same ordering.\n\nReproducible \n[…]\nieter bug -- chown(2) clears setuid/setgid, so\nchmod-then-chown silently dropped those bits from successfully installed files.\n\nThe mode is still applied in full when no ownership change is requested.",
"is_bot": false,
"headline": "install: finalize ownership before mode, and skip the mode if chown f…",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:12:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e05072e26ff7ddc2c68ddf06447e2fc0a73da63d",
"body": null,
"is_bot": false,
"headline": "Update spell-checker ignore list in test_cp.rs",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:11:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1cddcc6c948e7b8a60b500fd068c2ffd13f25e8",
"body": "copy_direntry tested the destination with exists(), which resolves symlinks, so\na destination entry that was itself a symlink to a directory looked like an\nexisting directory and was descended into, writing the source subtree through\nthe link and out of the destination tree. GNU refuses this.\n\nTreat a symlink at the destination as the non-directory it is. A symlinked\ndirectory named as the target itself stays allowed.",
"is_bot": false,
"headline": "cp: do not descend into a destination subdirectory that is a symlink",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:11:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d61b77e10b07edfaa0ba9031497883f9edcad54f",
"body": "openat anchors the directory, not the final component, so open_file_at\n(O_CREAT|O_WRONLY|O_TRUNC) still followed a symlink planted at `name` and\ntruncated its target -- despite the caller documenting the fd-based path as\nthe one that \"prevents symlink race conditions\".\n\ninstall's copy_file_safe call\n[…]\n\nexactly the window an attacker races; the path-based copy_file is stricter\nhere because create_new(true) implies O_EXCL.\n\nTruncate-an-existing-file semantics are unchanged; only symlinks are refused.",
"is_bot": false,
"headline": "uucore: add O_NOFOLLOW to DirFd::open_file_at",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:09:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a203c654cda5a0afdcf68a6cf2cccf6d9366dc42",
"body": "--preserve-root was only enforced for the paths named on the command line\n(the operand loop in Chmoder::chmod). With -R -L, a symlink encountered\n*inside* the tree that resolves to / was followed, and the recursion walked\ninto the real root, defeating the failsafe.\n\nReproduced in a sandboxed root: a\n[…]\nthe\nsubtree, continue, and exit 1 -- rather than aborting the whole run.\n\nchown/chgrp already did this in 5c2c38c31; chmod was the outlier. PR #10033\nfixed only the operand-level \"resolves to /\" case.",
"is_bot": false,
"headline": "chmod: re-check --preserve-root during the recursive descent",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:08:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e791b1dd8b737007a5f576ad7f6f21e2e181c8d",
"body": "GNU treats a wide blank such as U+3000 (any character for which iswblank is\ntrue) as a convertible blank: a run of them that reaches a tab stop is absorbed\ninto a tab, but a run that does not is left as-is. Recognize the Unicode blank\nset in next_char_info, advance the column by the blank's display \n[…]\nab straddle one).\n\nExpose the decoded char from uucore::char_width via char_info_at so unexpand\nreuses the shared UTF-8 decoding instead of duplicating it.\n\nShould make test tests/unexpand/mb.sh pass.",
"is_bot": false,
"headline": "unexpand: convert multibyte blanks to tabs",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:03:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3a41f6a59af7870c3bc01d4a153be40cfef2566",
"body": "The fast path that batches leading spaces/tabs was gated on --no-utf8, so\nthe default (UTF-8) mode fell back to the per-byte loop, which the display-width\nfix made measurably slower on ASCII input. Leading whitespace is ASCII and\nindependent of UTF-8 mode, so run the fast path there too, and add the missing\nlastcol == 0 guard so it does not apply when multiple tab stops cap conversion.",
"is_bot": false,
"headline": "unexpand: apply leading-whitespace fast path in UTF-8 mode",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:03:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c068a53f657b2f192c92b6e09c8582aaca5e9450",
"body": "…lper\n\nThe UTF-8 sequence length was derived from char::from(b).len_utf8(), which uses\nthe leading byte's value as a codepoint rather than decoding the length from its\nbit pattern. That is only correct for 2-byte characters; 3- and 4-byte ones were\nsplit into single bytes and each counted as one col\n[…]\nh with unicode-width.\n\nexpand and unexpand needed identical logic, so it lives in a new\nuucore::char_width helper (char_width_at) instead of being duplicated.\n\nShould make test tests/expand/mb.sh pass",
"is_bot": false,
"headline": "expand/unexpand: fix multibyte display width via shared char_width he…",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-31T06:03:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "91f6543cad721aba0bf17806e803e84a116f8603",
"body": null,
"is_bot": false,
"headline": "ci: skip cspell on pre-commit.ci",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T21:15:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0db55f67a3d9b3b40b931a4ae6963e933f7227b1",
"body": "Now that cspell runs locally via pre-commit, Style/spelling only annotates\nunknown words rather than blocking the merge.\n\nAlso fix the pre_commit job, which ran \"pre-commit run\" without --all-files\nand so matched zero files on a fresh checkout. Skip the hooks already covered\nby the Style/format and Style/lint jobs, and drop the npm install of cspell\nnow that the hook provides its own.",
"is_bot": false,
"headline": "ci: report spelling as a warning instead of failing the build",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T20:58:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77753bc060cdfb82d79647b4dd95cd9cf68686fd",
"body": "The local hook was language: system and exited 0 with a \"cspell not found,\nskipping spell check\" message when cspell was absent from PATH, which\npre-commit reported as \"Passed\". In practice nobody had cspell installed, so\nspelling was only ever checked in CI.\n\nUse the upstream cspell-cli hook instead: it is language: node, so pre-commit\ninstalls cspell itself and cannot silently skip. Pin language_version since\ncspell v10 requires node >= 22.18.",
"is_bot": false,
"headline": "ci: make the cspell pre-commit hook actually run",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T20:58:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c6bbc9fba449b3beec974d365d749cb2505a427",
"body": "…173)",
"is_bot": false,
"headline": "head: check directory on open fd, not via path is_dir() (#11972) (#12…",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T20:53:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94498738c326d9421c2688af2cf6b497e0732c42",
"body": "…2685)\n\nThe max_before_size assert compared against before.len() (byte length)\nwhile max_before_size is measured in chars, panicking on multibyte input\nlike 'éé word'. The tail-chunk budget (max_tail_size) had the same\nbyte/char mismatch, shrinking the tail too much and dropping a word that\nfits. Use char counts in both places, matching the after chunk.\n\nFixes #10893",
"is_bot": false,
"headline": "ptx: use char counts for before-chunk sizing in get_output_chunks (#1…",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T20:52:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "859994f0793560f3545a446b7b1f69bb8708e9cb",
"body": "* install: dedup id resolution and make root test robust\n\n* Reorganize documentation for behavior function\n\nMoved documentation for the behavior function to a new location.",
"is_bot": false,
"headline": "install: dedup id resolution and make root test robust (#12680)",
"author_name": "Sylvestre Ledru",
"author_login": "sylvestre",
"committed_at": "2026-07-30T20:52:19Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 40,
"commits_last_year": 3898,
"latest_release_at": "2026-05-30T14:43:48Z",
"latest_release_tag": "0.9.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 52,
"days_since_latest_release": 67,
"mean_days_between_releases": 29.6
},
"artifacts": {
"collected": true,
"structure": [
"tree.cargo_lib",
"tree.cargo_main",
"tree.dockerfile"
],
"declarations": [
{
"name": "coreutils",
"path": "Cargo.toml",
"tokens": [
"cargo.bin",
"cargo.workspace"
],
"ecosystem": "crates"
}
]
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [
"codecov.io",
"shields.io"
],
"total": 4,
"header": 4,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": true,
"health_percentage": 75,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "coreutils",
"exists": true,
"license": "MIT",
"keywords": [
"cli",
"coreutils",
"cross-platform",
"utility",
"uutils",
"command-line-utilities"
],
"ecosystem": "crates",
"categories": [
"command-line-utilities"
],
"matches_repo": true,
"registry_url": "https://crates.io/crates/coreutils",
"declared_type": null,
"is_deprecated": false,
"latest_version": "0.9.0",
"repository_url": "https://github.com/uutils/coreutils",
"versions_count": 39,
"total_downloads": 84299,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 1036,
"first_published_at": "2019-09-28T00:17:32.619933Z",
"latest_published_at": "2026-05-30T21:54:59.279563Z",
"latest_version_yanked": false,
"days_since_latest_publish": 66
}
]
},
"popularity": {
"forks": 1976,
"stars": 23859,
"watchers": 188,
"fork_history": {
"days": [
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-07-28",
"count": 1
},
{
"date": "2023-07-30",
"count": 1
},
{
"date": "2023-08-01",
"count": 1
},
{
"date": "2023-08-09",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-16",
"count": 1
},
{
"date": "2023-08-18",
"count": 1
},
{
"date": "2023-08-21",
"count": 2
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-08-31",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-09-05",
"count": 2
},
{
"date": "2023-09-06",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-14",
"count": 1
},
{
"date": "2023-09-23",
"count": 1
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-10-04",
"count": 2
},
{
"date": "2023-10-05",
"count": 1
},
{
"date": "2023-10-06",
"count": 1
},
{
"date": "2023-10-09",
"count": 1
},
{
"date": "2023-10-10",
"count": 2
},
{
"date": "2023-10-12",
"count": 1
},
{
"date": "2023-10-15",
"count": 2
},
{
"date": "2023-10-17",
"count": 4
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-19",
"count": 1
},
{
"date": "2023-10-22",
"count": 1
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-10-27",
"count": 2
},
{
"date": "2023-10-28",
"count": 1
},
{
"date": "2023-10-29",
"count": 1
},
{
"date": "2023-10-30",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2023-11-04",
"count": 2
},
{
"date": "2023-11-05",
"count": 1
},
{
"date": "2023-11-07",
"count": 1
},
{
"date": "2023-11-11",
"count": 2
},
{
"date": "2023-11-13",
"count": 1
},
{
"date": "2023-11-14",
"count": 1
},
{
"date": "2023-11-15",
"count": 1
},
{
"date": "2023-11-17",
"count": 2
},
{
"date": "2023-11-19",
"count": 2
},
{
"date": "2023-11-20",
"count": 2
},
{
"date": "2023-11-22",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-11-25",
"count": 2
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-11-28",
"count": 1
},
{
"date": "2023-11-29",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-11",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-15",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2023-12-18",
"count": 1
},
{
"date": "2023-12-19",
"count": 1
},
{
"date": "2023-12-20",
"count": 2
},
{
"date": "2023-12-22",
"count": 1
},
{
"date": "2023-12-23",
"count": 2
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2023-12-25",
"count": 2
},
{
"date": "2023-12-26",
"count": 1
},
{
"date": "2023-12-28",
"count": 1
},
{
"date": "2024-01-01",
"count": 1
},
{
"date": "2024-01-03",
"count": 4
},
{
"date": "2024-01-04",
"count": 1
},
{
"date": "2024-01-05",
"count": 3
},
{
"date": "2024-01-06",
"count": 1
},
{
"date": "2024-01-07",
"count": 1
},
{
"date": "2024-01-11",
"count": 1
},
{
"date": "2024-01-18",
"count": 2
},
{
"date": "2024-01-21",
"count": 1
},
{
"date": "2024-01-27",
"count": 2
},
{
"date": "2024-01-28",
"count": 2
},
{
"date": "2024-01-29",
"count": 2
},
{
"date": "2024-01-30",
"count": 2
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-02-05",
"count": 2
},
{
"date": "2024-02-06",
"count": 2
},
{
"date": "2024-02-08",
"count": 2
},
{
"date": "2024-02-09",
"count": 1
},
{
"date": "2024-02-11",
"count": 1
},
{
"date": "2024-02-14",
"count": 2
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-19",
"count": 1
},
{
"date": "2024-02-25",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-01",
"count": 2
},
{
"date": "2024-03-02",
"count": 1
},
{
"date": "2024-03-06",
"count": 1
},
{
"date": "2024-03-09",
"count": 1
},
{
"date": "2024-03-11",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-03-14",
"count": 1
},
{
"date": "2024-03-17",
"count": 1
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-03-21",
"count": 1
},
{
"date": "2024-03-22",
"count": 1
},
{
"date": "2024-03-25",
"count": 1
},
{
"date": "2024-03-26",
"count": 3
},
{
"date": "2024-03-30",
"count": 1
},
{
"date": "2024-04-01",
"count": 2
},
{
"date": "2024-04-04",
"count": 1
},
{
"date": "2024-04-06",
"count": 1
},
{
"date": "2024-04-07",
"count": 2
},
{
"date": "2024-04-10",
"count": 2
},
{
"date": "2024-04-11",
"count": 3
},
{
"date": "2024-04-14",
"count": 1
},
{
"date": "2024-04-17",
"count": 1
},
{
"date": "2024-04-18",
"count": 1
},
{
"date": "2024-04-21",
"count": 1
},
{
"date": "2024-04-22",
"count": 1
},
{
"date": "2024-04-23",
"count": 3
},
{
"date": "2024-04-24",
"count": 1
},
{
"date": "2024-04-27",
"count": 1
},
{
"date": "2024-04-29",
"count": 2
},
{
"date": "2024-05-02",
"count": 2
},
{
"date": "2024-05-03",
"count": 1
},
{
"date": "2024-05-04",
"count": 1
},
{
"date": "2024-05-05",
"count": 1
},
{
"date": "2024-05-07",
"count": 3
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-15",
"count": 1
},
{
"date": "2024-05-19",
"count": 1
},
{
"date": "2024-05-23",
"count": 1
},
{
"date": "2024-05-25",
"count": 1
},
{
"date": "2024-05-28",
"count": 2
},
{
"date": "2024-06-02",
"count": 1
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-06-07",
"count": 2
},
{
"date": "2024-06-08",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-15",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-22",
"count": 1
},
{
"date": "2024-06-23",
"count": 1
},
{
"date": "2024-06-25",
"count": 2
},
{
"date": "2024-06-26",
"count": 1
},
{
"date": "2024-06-28",
"count": 2
},
{
"date": "2024-06-30",
"count": 2
},
{
"date": "2024-07-18",
"count": 2
},
{
"date": "2024-07-20",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-23",
"count": 2
},
{
"date": "2024-07-24",
"count": 1
},
{
"date": "2024-07-25",
"count": 1
},
{
"date": "2024-07-27",
"count": 1
},
{
"date": "2024-08-01",
"count": 1
},
{
"date": "2024-08-02",
"count": 2
},
{
"date": "2024-08-03",
"count": 1
},
{
"date": "2024-08-07",
"count": 1
},
{
"date": "2024-08-14",
"count": 1
},
{
"date": "2024-08-21",
"count": 1
},
{
"date": "2024-08-23",
"count": 2
},
{
"date": "2024-08-24",
"count": 2
},
{
"date": "2024-08-25",
"count": 1
},
{
"date": "2024-08-30",
"count": 2
},
{
"date": "2024-08-31",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-16",
"count": 1
},
{
"date": "2024-09-17",
"count": 2
},
{
"date": "2024-09-18",
"count": 1
},
{
"date": "2024-09-19",
"count": 1
},
{
"date": "2024-09-21",
"count": 1
},
{
"date": "2024-09-25",
"count": 1
},
{
"date": "2024-09-26",
"count": 1
},
{
"date": "2024-09-27",
"count": 1
},
{
"date": "2024-10-01",
"count": 1
},
{
"date": "2024-10-07",
"count": 1
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2024-10-21",
"count": 1
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-11-03",
"count": 1
},
{
"date": "2024-11-13",
"count": 2
},
{
"date": "2024-11-14",
"count": 1
},
{
"date": "2024-11-16",
"count": 2
},
{
"date": "2024-11-17",
"count": 1
},
{
"date": "2024-11-18",
"count": 1
},
{
"date": "2024-11-21",
"count": 2
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2024-11-28",
"count": 1
},
{
"date": "2024-12-01",
"count": 1
},
{
"date": "2024-12-02",
"count": 2
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-04",
"count": 1
},
{
"date": "2024-12-06",
"count": 1
},
{
"date": "2024-12-07",
"count": 1
},
{
"date": "2024-12-08",
"count": 1
},
{
"date": "2024-12-10",
"count": 1
},
{
"date": "2024-12-23",
"count": 2
},
{
"date": "2024-12-25",
"count": 1
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2024-12-29",
"count": 2
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-01",
"count": 1
},
{
"date": "2025-01-02",
"count": 1
},
{
"date": "2025-01-03",
"count": 1
},
{
"date": "2025-01-05",
"count": 2
},
{
"date": "2025-01-08",
"count": 1
},
{
"date": "2025-01-10",
"count": 1
},
{
"date": "2025-01-14",
"count": 1
},
{
"date": "2025-01-19",
"count": 1
},
{
"date": "2025-01-20",
"count": 2
},
{
"date": "2025-01-21",
"count": 3
},
{
"date": "2025-01-24",
"count": 1
},
{
"date": "2025-01-25",
"count": 1
},
{
"date": "2025-02-02",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-07",
"count": 1
},
{
"date": "2025-02-09",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-14",
"count": 1
},
{
"date": "2025-02-15",
"count": 1
},
{
"date": "2025-02-18",
"count": 2
},
{
"date": "2025-02-20",
"count": 1
},
{
"date": "2025-02-22",
"count": 2
},
{
"date": "2025-02-23",
"count": 2
},
{
"date": "2025-02-24",
"count": 2
},
{
"date": "2025-02-25",
"count": 2
},
{
"date": "2025-02-26",
"count": 3
},
{
"date": "2025-02-27",
"count": 1
},
{
"date": "2025-03-02",
"count": 1
},
{
"date": "2025-03-03",
"count": 1
},
{
"date": "2025-03-07",
"count": 2
},
{
"date": "2025-03-08",
"count": 1
},
{
"date": "2025-03-09",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-11",
"count": 3
},
{
"date": "2025-03-12",
"count": 2
},
{
"date": "2025-03-13",
"count": 3
},
{
"date": "2025-03-14",
"count": 2
},
{
"date": "2025-03-15",
"count": 6
},
{
"date": "2025-03-16",
"count": 7
},
{
"date": "2025-03-17",
"count": 1
},
{
"date": "2025-03-18",
"count": 3
},
{
"date": "2025-03-19",
"count": 5
},
{
"date": "2025-03-20",
"count": 7
},
{
"date": "2025-03-21",
"count": 3
},
{
"date": "2025-03-23",
"count": 6
},
{
"date": "2025-03-24",
"count": 3
},
{
"date": "2025-03-25",
"count": 3
},
{
"date": "2025-03-26",
"count": 6
},
{
"date": "2025-03-27",
"count": 3
},
{
"date": "2025-03-28",
"count": 2
},
{
"date": "2025-03-29",
"count": 3
},
{
"date": "2025-03-30",
"count": 2
},
{
"date": "2025-04-01",
"count": 2
},
{
"date": "2025-04-03",
"count": 1
},
{
"date": "2025-04-04",
"count": 2
},
{
"date": "2025-04-05",
"count": 1
},
{
"date": "2025-04-06",
"count": 4
},
{
"date": "2025-04-08",
"count": 2
},
{
"date": "2025-04-10",
"count": 2
},
{
"date": "2025-04-11",
"count": 3
},
{
"date": "2025-04-12",
"count": 1
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-17",
"count": 2
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-04-19",
"count": 1
},
{
"date": "2025-04-20",
"count": 2
},
{
"date": "2025-04-22",
"count": 3
},
{
"date": "2025-04-23",
"count": 2
},
{
"date": "2025-04-25",
"count": 4
},
{
"date": "2025-04-26",
"count": 1
},
{
"date": "2025-04-29",
"count": 1
},
{
"date": "2025-04-30",
"count": 1
},
{
"date": "2025-05-04",
"count": 1
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-07",
"count": 1
},
{
"date": "2025-05-09",
"count": 3
},
{
"date": "2025-05-10",
"count": 2
},
{
"date": "2025-05-12",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-19",
"count": 1
},
{
"date": "2025-05-24",
"count": 2
},
{
"date": "2025-05-25",
"count": 3
},
{
"date": "2025-05-26",
"count": 4
},
{
"date": "2025-05-27",
"count": 1
},
{
"date": "2025-05-28",
"count": 2
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-02",
"count": 1
},
{
"date": "2025-06-03",
"count": 2
},
{
"date": "2025-06-04",
"count": 4
},
{
"date": "2025-06-06",
"count": 2
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-06-09",
"count": 2
},
{
"date": "2025-06-10",
"count": 3
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-13",
"count": 1
},
{
"date": "2025-06-16",
"count": 1
},
{
"date": "2025-06-17",
"count": 1
},
{
"date": "2025-06-18",
"count": 3
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-06-26",
"count": 2
},
{
"date": "2025-06-27",
"count": 3
},
{
"date": "2025-06-29",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-03",
"count": 1
},
{
"date": "2025-07-11",
"count": 1
},
{
"date": "2025-07-14",
"count": 3
},
{
"date": "2025-07-16",
"count": 2
},
{
"date": "2025-07-20",
"count": 1
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-07-30",
"count": 1
},
{
"date": "2025-08-02",
"count": 1
},
{
"date": "2025-08-04",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-11",
"count": 1
},
{
"date": "2025-08-13",
"count": 1
},
{
"date": "2025-08-17",
"count": 1
},
{
"date": "2025-08-22",
"count": 1
},
{
"date": "2025-08-26",
"count": 1
},
{
"date": "2025-08-27",
"count": 2
},
{
"date": "2025-08-28",
"count": 2
},
{
"date": "2025-08-29",
"count": 1
},
{
"date": "2025-08-30",
"count": 1
},
{
"date": "2025-08-31",
"count": 1
},
{
"date": "2025-09-03",
"count": 1
},
{
"date": "2025-09-06",
"count": 2
},
{
"date": "2025-09-07",
"count": 3
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-09",
"count": 4
},
{
"date": "2025-09-10",
"count": 4
},
{
"date": "2025-09-11",
"count": 1
},
{
"date": "2025-09-12",
"count": 1
},
{
"date": "2025-09-13",
"count": 3
},
{
"date": "2025-09-14",
"count": 2
},
{
"date": "2025-09-16",
"count": 1
},
{
"date": "2025-09-17",
"count": 5
},
{
"date": "2025-09-18",
"count": 1
},
{
"date": "2025-09-20",
"count": 2
},
{
"date": "2025-09-21",
"count": 6
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-09-24",
"count": 4
},
{
"date": "2025-09-25",
"count": 3
},
{
"date": "2025-09-26",
"count": 1
},
{
"date": "2025-09-27",
"count": 1
},
{
"date": "2025-09-28",
"count": 2
},
{
"date": "2025-09-29",
"count": 2
},
{
"date": "2025-09-30",
"count": 2
},
{
"date": "2025-10-01",
"count": 1
},
{
"date": "2025-10-02",
"count": 1
},
{
"date": "2025-10-03",
"count": 1
},
{
"date": "2025-10-04",
"count": 2
},
{
"date": "2025-10-06",
"count": 2
},
{
"date": "2025-10-07",
"count": 2
},
{
"date": "2025-10-08",
"count": 1
},
{
"date": "2025-10-10",
"count": 2
},
{
"date": "2025-10-11",
"count": 2
},
{
"date": "2025-10-12",
"count": 1
},
{
"date": "2025-10-13",
"count": 2
},
{
"date": "2025-10-16",
"count": 3
},
{
"date": "2025-10-17",
"count": 1
},
{
"date": "2025-10-19",
"count": 1
},
{
"date": "2025-10-20",
"count": 1
},
{
"date": "2025-10-21",
"count": 2
},
{
"date": "2025-10-24",
"count": 2
},
{
"date": "2025-10-25",
"count": 1
},
{
"date": "2025-10-26",
"count": 1
},
{
"date": "2025-10-27",
"count": 1
},
{
"date": "2025-10-28",
"count": 3
},
{
"date": "2025-10-29",
"count": 1
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-01",
"count": 1
},
{
"date": "2025-11-02",
"count": 1
},
{
"date": "2025-11-03",
"count": 3
},
{
"date": "2025-11-05",
"count": 3
},
{
"date": "2025-11-06",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-11-08",
"count": 2
},
{
"date": "2025-11-09",
"count": 1
},
{
"date": "2025-11-10",
"count": 1
},
{
"date": "2025-11-12",
"count": 2
},
{
"date": "2025-11-14",
"count": 2
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-16",
"count": 2
},
{
"date": "2025-11-17",
"count": 2
},
{
"date": "2025-11-18",
"count": 1
},
{
"date": "2025-11-19",
"count": 3
},
{
"date": "2025-11-21",
"count": 1
},
{
"date": "2025-11-25",
"count": 2
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-11-29",
"count": 1
},
{
"date": "2025-11-30",
"count": 2
},
{
"date": "2025-12-02",
"count": 1
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-06",
"count": 2
},
{
"date": "2025-12-10",
"count": 2
},
{
"date": "2025-12-12",
"count": 1
},
{
"date": "2025-12-14",
"count": 2
},
{
"date": "2025-12-15",
"count": 6
},
{
"date": "2025-12-16",
"count": 2
},
{
"date": "2025-12-19",
"count": 3
},
{
"date": "2025-12-20",
"count": 3
},
{
"date": "2025-12-22",
"count": 4
},
{
"date": "2025-12-23",
"count": 2
},
{
"date": "2025-12-25",
"count": 1
},
{
"date": "2025-12-26",
"count": 2
},
{
"date": "2025-12-27",
"count": 1
},
{
"date": "2025-12-29",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2025-12-31",
"count": 4
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-02",
"count": 3
},
{
"date": "2026-01-03",
"count": 4
},
{
"date": "2026-01-04",
"count": 3
},
{
"date": "2026-01-05",
"count": 4
},
{
"date": "2026-01-06",
"count": 3
},
{
"date": "2026-01-07",
"count": 1
},
{
"date": "2026-01-08",
"count": 2
},
{
"date": "2026-01-10",
"count": 2
},
{
"date": "2026-01-11",
"count": 3
},
{
"date": "2026-01-12",
"count": 1
},
{
"date": "2026-01-13",
"count": 2
},
{
"date": "2026-01-14",
"count": 5
},
{
"date": "2026-01-17",
"count": 3
},
{
"date": "2026-01-18",
"count": 2
},
{
"date": "2026-01-19",
"count": 3
},
{
"date": "2026-01-21",
"count": 2
},
{
"date": "2026-01-22",
"count": 2
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-01-24",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-27",
"count": 2
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-01-31",
"count": 1
},
{
"date": "2026-02-01",
"count": 2
},
{
"date": "2026-02-02",
"count": 5
},
{
"date": "2026-02-03",
"count": 3
},
{
"date": "2026-02-04",
"count": 4
},
{
"date": "2026-02-05",
"count": 3
},
{
"date": "2026-02-07",
"count": 2
},
{
"date": "2026-02-08",
"count": 4
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-12",
"count": 2
},
{
"date": "2026-02-13",
"count": 3
},
{
"date": "2026-02-14",
"count": 2
},
{
"date": "2026-02-16",
"count": 2
},
{
"date": "2026-02-18",
"count": 3
},
{
"date": "2026-02-19",
"count": 2
},
{
"date": "2026-02-20",
"count": 2
},
{
"date": "2026-02-24",
"count": 2
},
{
"date": "2026-02-25",
"count": 2
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-02-28",
"count": 3
},
{
"date": "2026-03-02",
"count": 1
},
{
"date": "2026-03-05",
"count": 2
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-10",
"count": 3
},
{
"date": "2026-03-12",
"count": 2
},
{
"date": "2026-03-13",
"count": 2
},
{
"date": "2026-03-14",
"count": 2
},
{
"date": "2026-03-15",
"count": 1
},
{
"date": "2026-03-16",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-18",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-03-20",
"count": 2
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-24",
"count": 2
},
{
"date": "2026-03-25",
"count": 2
},
{
"date": "2026-03-26",
"count": 1
},
{
"date": "2026-03-27",
"count": 1
},
{
"date": "2026-03-29",
"count": 3
},
{
"date": "2026-03-31",
"count": 1
},
{
"date": "2026-04-01",
"count": 2
},
{
"date": "2026-04-04",
"count": 1
},
{
"date": "2026-04-06",
"count": 6
},
{
"date": "2026-04-07",
"count": 3
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-09",
"count": 2
},
{
"date": "2026-04-10",
"count": 2
},
{
"date": "2026-04-12",
"count": 1
},
{
"date": "2026-04-15",
"count": 1
},
{
"date": "2026-04-17",
"count": 1
},
{
"date": "2026-04-18",
"count": 1
},
{
"date": "2026-04-19",
"count": 1
},
{
"date": "2026-04-21",
"count": 2
},
{
"date": "2026-04-22",
"count": 1
},
{
"date": "2026-04-23",
"count": 2
},
{
"date": "2026-04-24",
"count": 2
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-04-26",
"count": 1
},
{
"date": "2026-04-27",
"count": 2
},
{
"date": "2026-04-28",
"count": 4
},
{
"date": "2026-04-29",
"count": 2
},
{
"date": "2026-04-30",
"count": 2
},
{
"date": "2026-05-04",
"count": 2
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-08",
"count": 2
},
{
"date": "2026-05-09",
"count": 3
},
{
"date": "2026-05-11",
"count": 3
},
{
"date": "2026-05-12",
"count": 1
},
{
"date": "2026-05-14",
"count": 2
},
{
"date": "2026-05-15",
"count": 4
},
{
"date": "2026-05-16",
"count": 3
},
{
"date": "2026-05-18",
"count": 2
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-05-22",
"count": 2
},
{
"date": "2026-05-23",
"count": 1
},
{
"date": "2026-05-24",
"count": 3
},
{
"date": "2026-05-26",
"count": 2
},
{
"date": "2026-05-27",
"count": 1
},
{
"date": "2026-05-28",
"count": 2
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-05-31",
"count": 2
},
{
"date": "2026-06-01",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-03",
"count": 2
},
{
"date": "2026-06-04",
"count": 6
},
{
"date": "2026-06-05",
"count": 4
},
{
"date": "2026-06-06",
"count": 4
},
{
"date": "2026-06-07",
"count": 4
},
{
"date": "2026-06-08",
"count": 4
},
{
"date": "2026-06-09",
"count": 3
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-13",
"count": 1
},
{
"date": "2026-06-14",
"count": 5
},
{
"date": "2026-06-15",
"count": 2
},
{
"date": "2026-06-16",
"count": 3
},
{
"date": "2026-06-18",
"count": 3
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-21",
"count": 2
},
{
"date": "2026-06-22",
"count": 2
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-25",
"count": 2
},
{
"date": "2026-06-26",
"count": 1
},
{
"date": "2026-06-27",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-07-01",
"count": 2
},
{
"date": "2026-07-02",
"count": 1
},
{
"date": "2026-07-03",
"count": 1
},
{
"date": "2026-07-04",
"count": 3
},
{
"date": "2026-07-05",
"count": 2
},
{
"date": "2026-07-07",
"count": 4
},
{
"date": "2026-07-08",
"count": 1
},
{
"date": "2026-07-09",
"count": 2
},
{
"date": "2026-07-10",
"count": 2
},
{
"date": "2026-07-12",
"count": 1
},
{
"date": "2026-07-13",
"count": 1
},
{
"date": "2026-07-14",
"count": 4
},
{
"date": "2026-07-15",
"count": 1
},
{
"date": "2026-07-16",
"count": 2
},
{
"date": "2026-07-17",
"count": 2
},
{
"date": "2026-07-18",
"count": 2
},
{
"date": "2026-07-20",
"count": 2
},
{
"date": "2026-07-21",
"count": 2
},
{
"date": "2026-07-22",
"count": 2
},
{
"date": "2026-07-24",
"count": 1
},
{
"date": "2026-07-25",
"count": 2
},
{
"date": "2026-07-27",
"count": 1
},
{
"date": "2026-07-28",
"count": 2
},
{
"date": "2026-07-29",
"count": 2
},
{
"date": "2026-07-30",
"count": 4
},
{
"date": "2026-07-31",
"count": 2
},
{
"date": "2026-08-01",
"count": 2
},
{
"date": "2026-08-02",
"count": 2
},
{
"date": "2026-08-04",
"count": 2
},
{
"date": "2026-08-05",
"count": 2
}
],
"complete": false,
"collected": 1000,
"total_forks": 1976
},
"star_history": null,
"open_issues_and_prs": 1144
},
"ai_readiness": {
"has_nix": true,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"GNUmakefile",
"Makefile",
"docs/Makefile"
],
"api_schema_files": [],
"has_devcontainer": true,
"typecheck_configs": [],
"toolchain_manifests": [
"Cargo.toml",
"fuzz/Cargo.toml",
"fuzz/uufuzz/Cargo.toml",
"src/uu/arch/Cargo.toml",
"src/uu/b2sum/Cargo.toml",
"src/uu/base32/Cargo.toml",
"src/uu/base64/Cargo.toml",
"src/uu/basename/Cargo.toml",
"src/uu/basenc/Cargo.toml",
"src/uu/cat/Cargo.toml",
"src/uu/chcon/Cargo.toml",
"src/uu/checksum_common/Cargo.toml",
"src/uu/chgrp/Cargo.toml",
"src/uu/chmod/Cargo.toml",
"src/uu/chown/Cargo.toml",
"src/uu/chroot/Cargo.toml",
"src/uu/cksum/Cargo.toml",
"src/uu/comm/Cargo.toml",
"src/uu/cp/Cargo.toml",
"src/uu/csplit/Cargo.toml",
"src/uu/cut/Cargo.toml",
"src/uu/date/Cargo.toml",
"src/uu/dd/Cargo.toml",
"src/uu/df/Cargo.toml",
"src/uu/dir/Cargo.toml",
"src/uu/dircolors/Cargo.toml",
"src/uu/dirname/Cargo.toml",
"src/uu/du/Cargo.toml",
"src/uu/echo/Cargo.toml",
"src/uu/env/Cargo.toml",
"src/uu/expand/Cargo.toml",
"src/uu/expr/Cargo.toml",
"src/uu/factor/Cargo.toml",
"src/uu/false/Cargo.toml",
"src/uu/fmt/Cargo.toml",
"src/uu/fold/Cargo.toml",
"src/uu/groups/Cargo.toml",
"src/uu/head/Cargo.toml",
"src/uu/hostid/Cargo.toml",
"src/uu/hostname/Cargo.toml",
"src/uu/id/Cargo.toml",
"src/uu/install/Cargo.toml",
"src/uu/join/Cargo.toml",
"src/uu/kill/Cargo.toml",
"src/uu/link/Cargo.toml",
"src/uu/ln/Cargo.toml",
"src/uu/logname/Cargo.toml",
"src/uu/ls/Cargo.toml",
"src/uu/md5sum/Cargo.toml",
"src/uu/mkdir/Cargo.toml",
"src/uu/mkfifo/Cargo.toml",
"src/uu/mknod/Cargo.toml",
"src/uu/mktemp/Cargo.toml",
"src/uu/more/Cargo.toml",
"src/uu/mv/Cargo.toml",
"src/uu/nice/Cargo.toml",
"src/uu/nl/Cargo.toml",
"src/uu/nohup/Cargo.toml",
"src/uu/nproc/Cargo.toml",
"src/uu/numfmt/Cargo.toml",
"src/uu/od/Cargo.toml",
"src/uu/paste/Cargo.toml",
"src/uu/pathchk/Cargo.toml",
"src/uu/pinky/Cargo.toml",
"src/uu/pr/Cargo.toml",
"src/uu/printenv/Cargo.toml",
"src/uu/printf/Cargo.toml",
"src/uu/ptx/Cargo.toml",
"src/uu/pwd/Cargo.toml",
"src/uu/readlink/Cargo.toml",
"src/uu/realpath/Cargo.toml",
"src/uu/rm/Cargo.toml",
"src/uu/rmdir/Cargo.toml",
"src/uu/runcon/Cargo.toml",
"src/uu/seq/Cargo.toml",
"src/uu/sha1sum/Cargo.toml",
"src/uu/sha224sum/Cargo.toml",
"src/uu/sha256sum/Cargo.toml",
"src/uu/sha384sum/Cargo.toml",
"src/uu/sha512sum/Cargo.toml",
"src/uu/shred/Cargo.toml",
"src/uu/shuf/Cargo.toml",
"src/uu/sleep/Cargo.toml",
"src/uu/sort/Cargo.toml",
"src/uu/split/Cargo.toml",
"src/uu/stat/Cargo.toml",
"src/uu/stdbuf/Cargo.toml",
"src/uu/stdbuf/src/libstdbuf/Cargo.toml",
"src/uu/stty/Cargo.toml",
"src/uu/sum/Cargo.toml",
"src/uu/sync/Cargo.toml",
"src/uu/tac/Cargo.toml",
"src/uu/tail/Cargo.toml",
"src/uu/tee/Cargo.toml",
"src/uu/test/Cargo.toml",
"src/uu/timeout/Cargo.toml",
"src/uu/touch/Cargo.toml",
"src/uu/tr/Cargo.toml",
"src/uu/true/Cargo.toml",
"src/uu/truncate/Cargo.toml",
"src/uu/tsort/Cargo.toml",
"src/uu/tty/Cargo.toml",
"src/uu/uname/Cargo.toml",
"src/uu/unexpand/Cargo.toml",
"src/uu/uniq/Cargo.toml",
"src/uu/unlink/Cargo.toml",
"src/uu/uptime/Cargo.toml",
"src/uu/users/Cargo.toml",
"src/uu/vdir/Cargo.toml",
"src/uu/wc/Cargo.toml",
"src/uu/who/Cargo.toml",
"src/uu/whoami/Cargo.toml",
"src/uu/yes/Cargo.toml",
"src/uucore/Cargo.toml",
"src/uucore_procs/Cargo.toml",
"tests/uutests/Cargo.toml"
],
"largest_source_bytes": 265380,
"source_files_sampled": 643,
"oversized_source_files": 16,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Cargo.toml",
"fuzz/Cargo.toml"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "anyhow",
"direct": false,
"version": "1.0.102",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0190"
],
"fixed_version": "1.0.103",
"advisory_count": 1,
"oldest_advisory_days": 41
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0204"
],
"fixed_version": "0.9.20",
"advisory_count": 1,
"oldest_advisory_days": 30
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"unknown": 2
},
"advisory_count": 2,
"affected_count": 2,
"assessed_count": 454,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 9,
"direct_affected_count": 0
},
"ecosystems": [
"crates"
],
"dependencies": [
{
"name": "clap",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "clap_complete",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "clap_mangen",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "fluent-syntax",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "itertools",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "jiff",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "phf",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "regex",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "textwrap",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uucore",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "zip",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uu_test",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "arch",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "base32",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "base64",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "basename",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "basenc",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "cat",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "chcon",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "chgrp",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "chmod",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "chown",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "chroot",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "cksum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "b2sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "md5sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sha1sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sha224sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sha256sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sha384sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sha512sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "comm",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "cp",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "csplit",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "cut",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "date",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "dd",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "df",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "dir",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "dircolors",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "dirname",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "du",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "echo",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "env",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "expand",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "expr",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "factor",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "false",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "fmt",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "fold",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "groups",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "head",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "hostid",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "hostname",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "id",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "install",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "join",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "kill",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "link",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "ln",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "ls",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "logname",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "mkdir",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "mkfifo",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "mknod",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "mktemp",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "more",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "mv",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "nice",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "nl",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "nohup",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "nproc",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "numfmt",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "od",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "paste",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "pathchk",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "pinky",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "pr",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "printenv",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "printf",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "ptx",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "pwd",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "readlink",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "realpath",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "rm",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "rmdir",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "runcon",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "seq",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "shred",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "shuf",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sleep",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sort",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "split",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "stat",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "stdbuf",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "stty",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sum",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "sync",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tac",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tail",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tee",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "timeout",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "touch",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tr",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "true",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "truncate",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tsort",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "tty",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "uname",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "unexpand",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "uniq",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "unlink",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "uptime",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "users",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "vdir",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "wc",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "who",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "whoami",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
},
{
"name": "yes",
"manifest": "Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "clap",
"direct": true,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": "4.6.5",
"ecosystem": "crates"
},
{
"name": "clap_complete",
"direct": true,
"version": "4.6.8",
"ecosystem": "crates"
},
{
"name": "clap_mangen",
"direct": true,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "fluent-syntax",
"direct": true,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "hostname",
"direct": true,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": true,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": true,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": true,
"version": "0.15.0",
"ecosystem": "crates"
},
{
"name": "jiff",
"direct": true,
"version": "0.2.24",
"ecosystem": "crates"
},
{
"name": "jiff",
"direct": true,
"version": "0.2.35",
"ecosystem": "crates"
},
{
"name": "phf",
"direct": true,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "regex",
"direct": true,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "textwrap",
"direct": true,
"version": "0.16.2",
"ecosystem": "crates"
},
{
"name": "uucore",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "zip",
"direct": true,
"version": "8.6.0",
"ecosystem": "crates"
},
{
"name": "adler2",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "aho-corasick",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "allocator-api2",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "android_system_properties",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "ansi-width",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "anstream",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle",
"direct": false,
"version": "1.0.14",
"ecosystem": "crates"
},
{
"name": "anstyle-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle-query",
"direct": false,
"version": "1.1.5",
"ecosystem": "crates"
},
{
"name": "anstyle-wincon",
"direct": false,
"version": "3.0.11",
"ecosystem": "crates"
},
{
"name": "anyhow",
"direct": false,
"version": "1.0.102",
"ecosystem": "crates"
},
{
"name": "approx",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "arbitrary",
"direct": false,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "arrayref",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "arrayvec",
"direct": false,
"version": "0.7.6",
"ecosystem": "crates"
},
{
"name": "autocfg",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "base64-simd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bigdecimal",
"direct": false,
"version": "0.4.10",
"ecosystem": "crates"
},
{
"name": "binary-heap-plus",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "bindgen",
"direct": false,
"version": "0.72.1",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "1.3.2",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "2.11.1",
"ecosystem": "crates"
},
{
"name": "bitvec",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "blake2b_simd",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "blake3",
"direct": false,
"version": "1.8.5",
"ecosystem": "crates"
},
{
"name": "block-buffer",
"direct": false,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "block2",
"direct": false,
"version": "0.6.2",
"ecosystem": "crates"
},
{
"name": "bstr",
"direct": false,
"version": "1.12.1",
"ecosystem": "crates"
},
{
"name": "bstr",
"direct": false,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "bumpalo",
"direct": false,
"version": "3.20.2",
"ecosystem": "crates"
},
{
"name": "bytecount",
"direct": false,
"version": "0.6.9",
"ecosystem": "crates"
},
{
"name": "byteorder",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "calendrical_calculations",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.59",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.62",
"ecosystem": "crates"
},
{
"name": "cexpr",
"direct": false,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "cfg-if",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "cfg_aliases",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "cfg_aliases",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "chacha20",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "chrono",
"direct": false,
"version": "0.4.44",
"ecosystem": "crates"
},
{
"name": "clang-sys",
"direct": false,
"version": "1.8.1",
"ecosystem": "crates"
},
{
"name": "clap_builder",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "clap_builder",
"direct": false,
"version": "4.6.5",
"ecosystem": "crates"
},
{
"name": "clap_lex",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "codspeed",
"direct": false,
"version": "5.0.1",
"ecosystem": "crates"
},
{
"name": "codspeed-divan-compat",
"direct": false,
"version": "5.0.1",
"ecosystem": "crates"
},
{
"name": "codspeed-divan-compat-macros",
"direct": false,
"version": "5.0.1",
"ecosystem": "crates"
},
{
"name": "codspeed-divan-compat-walltime",
"direct": false,
"version": "5.0.1",
"ecosystem": "crates"
},
{
"name": "colorchoice",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "colored",
"direct": false,
"version": "3.1.1",
"ecosystem": "crates"
},
{
"name": "compare",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "condtype",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "console",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "console",
"direct": false,
"version": "0.16.4",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "const-random",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "const-random-macro",
"direct": false,
"version": "0.1.16",
"ecosystem": "crates"
},
{
"name": "constant_time_eq",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "core-foundation-sys",
"direct": false,
"version": "0.8.7",
"ecosystem": "crates"
},
{
"name": "core_maths",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "crc",
"direct": false,
"version": "3.3.0",
"ecosystem": "crates"
},
{
"name": "crc-catalog",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "crc-fast",
"direct": false,
"version": "1.9.0",
"ecosystem": "crates"
},
{
"name": "crc32fast",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "crossbeam-deque",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"ecosystem": "crates"
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.20",
"ecosystem": "crates"
},
{
"name": "crossbeam-utils",
"direct": false,
"version": "0.8.21",
"ecosystem": "crates"
},
{
"name": "crossterm",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "crossterm_winapi",
"direct": false,
"version": "0.9.1",
"ecosystem": "crates"
},
{
"name": "crunchy",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "ctor",
"direct": false,
"version": "1.0.12",
"ecosystem": "crates"
},
{
"name": "ctrlc",
"direct": false,
"version": "3.5.2",
"ecosystem": "crates"
},
{
"name": "data-encoding",
"direct": false,
"version": "2.11.1",
"ecosystem": "crates"
},
{
"name": "data-encoding-macro",
"direct": false,
"version": "0.1.21",
"ecosystem": "crates"
},
{
"name": "data-encoding-macro-internal",
"direct": false,
"version": "0.1.19",
"ecosystem": "crates"
},
{
"name": "defmt",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "defmt-macros",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "defmt-parser",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "deranged",
"direct": false,
"version": "0.5.8",
"ecosystem": "crates"
},
{
"name": "diff",
"direct": false,
"version": "0.1.13",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.10.7",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "dispatch2",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "displaydoc",
"direct": false,
"version": "0.2.7",
"ecosystem": "crates"
},
{
"name": "divan-macros",
"direct": false,
"version": "0.1.17",
"ecosystem": "crates"
},
{
"name": "dlv-list",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "dns-lookup",
"direct": false,
"version": "3.0.1",
"ecosystem": "crates"
},
{
"name": "document-features",
"direct": false,
"version": "0.2.12",
"ecosystem": "crates"
},
{
"name": "dunce",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "either",
"direct": false,
"version": "1.15.0",
"ecosystem": "crates"
},
{
"name": "encode_unicode",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "equivalent",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "errno",
"direct": false,
"version": "0.3.14",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": false,
"version": "2.4.1",
"ecosystem": "crates"
},
{
"name": "file_diff",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "filedescriptor",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "filetime",
"direct": false,
"version": "0.2.29",
"ecosystem": "crates"
},
{
"name": "find-msvc-tools",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "fixed_decimal",
"direct": false,
"version": "0.7.2",
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": false,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "fluent",
"direct": false,
"version": "0.17.0",
"ecosystem": "crates"
},
{
"name": "fluent-bundle",
"direct": false,
"version": "0.16.0",
"ecosystem": "crates"
},
{
"name": "fluent-langneg",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "foldhash",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "foldhash",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "foreign-types",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "foreign-types-shared",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "fs_extra",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "fsevent-sys",
"direct": false,
"version": "4.1.0",
"ecosystem": "crates"
},
{
"name": "fts-sys",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "funty",
"direct": false,
"version": "2.0.0",
"ecosystem": "crates"
},
{
"name": "futures-core",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-macro",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-task",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-timer",
"direct": false,
"version": "3.0.3",
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "gcd",
"direct": false,
"version": "2.3.0",
"ecosystem": "crates"
},
{
"name": "generic-array",
"direct": false,
"version": "0.14.7",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "glob",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "glob",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "half",
"direct": false,
"version": "2.7.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.14.5",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.15.5",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.16.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "heck",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "hex",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "hex-literal",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "hybrid-array",
"direct": false,
"version": "0.4.10",
"ecosystem": "crates"
},
{
"name": "hybrid-array",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "iana-time-zone",
"direct": false,
"version": "0.1.65",
"ecosystem": "crates"
},
{
"name": "iana-time-zone-haiku",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "icu_calendar",
"direct": false,
"version": "2.2.1",
"ecosystem": "crates"
},
{
"name": "icu_calendar_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_collator",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_collator",
"direct": false,
"version": "2.2.1",
"ecosystem": "crates"
},
{
"name": "icu_collator_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_collections",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_datetime",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_datetime_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_decimal",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_decimal_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_core",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_pattern",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "icu_plurals",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_plurals_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_provider",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_time",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_time_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "id-arena",
"direct": false,
"version": "2.3.0",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.13.1",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.14.0",
"ecosystem": "crates"
},
{
"name": "indicatif",
"direct": false,
"version": "0.18.6",
"ecosystem": "crates"
},
{
"name": "inotify",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "inotify-sys",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "intl-memoizer",
"direct": false,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "intl_pluralrules",
"direct": false,
"version": "7.0.2",
"ecosystem": "crates"
},
{
"name": "is_terminal_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "itoa",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "jiff-core",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "jiff-icu",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "jiff-static",
"direct": false,
"version": "0.2.24",
"ecosystem": "crates"
},
{
"name": "jiff-static",
"direct": false,
"version": "0.2.35",
"ecosystem": "crates"
},
{
"name": "jiff-tzdb",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "jiff-tzdb-platform",
"direct": false,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "jobserver",
"direct": false,
"version": "0.1.35",
"ecosystem": "crates"
},
{
"name": "js-sys",
"direct": false,
"version": "0.3.94",
"ecosystem": "crates"
},
{
"name": "js-sys",
"direct": false,
"version": "0.3.98",
"ecosystem": "crates"
},
{
"name": "keccak",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "kqueue",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "kqueue-sys",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "leb128fmt",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.186",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.189",
"ecosystem": "crates"
},
{
"name": "libfuzzer-sys",
"direct": false,
"version": "0.4.13",
"ecosystem": "crates"
},
{
"name": "libloading",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "libm",
"direct": false,
"version": "0.2.16",
"ecosystem": "crates"
},
{
"name": "link-section",
"direct": false,
"version": "0.19.2",
"ecosystem": "crates"
},
{
"name": "linktime-proc-macro",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "linux-raw-sys",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "litemap",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "litrs",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "lock_api",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "log",
"direct": false,
"version": "0.4.29",
"ecosystem": "crates"
},
{
"name": "lru",
"direct": false,
"version": "0.16.3",
"ecosystem": "crates"
},
{
"name": "lscolors",
"direct": false,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "md-5",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.0",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.3",
"ecosystem": "crates"
},
{
"name": "memmap2",
"direct": false,
"version": "0.9.11",
"ecosystem": "crates"
},
{
"name": "memoffset",
"direct": false,
"version": "0.9.1",
"ecosystem": "crates"
},
{
"name": "minimal-lexical",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "miniz_oxide",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "mio",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "nix",
"direct": false,
"version": "0.31.3",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "7.1.3",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "8.0.0",
"ecosystem": "crates"
},
{
"name": "notify",
"direct": false,
"version": "8.2.0",
"ecosystem": "crates"
},
{
"name": "notify-types",
"direct": false,
"version": "2.1.0",
"ecosystem": "crates"
},
{
"name": "nu-ansi-term",
"direct": false,
"version": "0.50.3",
"ecosystem": "crates"
},
{
"name": "num-bigint",
"direct": false,
"version": "0.4.8",
"ecosystem": "crates"
},
{
"name": "num-conv",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "num-integer",
"direct": false,
"version": "0.1.46",
"ecosystem": "crates"
},
{
"name": "num-modular",
"direct": false,
"version": "0.6.1",
"ecosystem": "crates"
},
{
"name": "num-prime",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "num-traits",
"direct": false,
"version": "0.2.19",
"ecosystem": "crates"
},
{
"name": "num_threads",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "objc2",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "objc2-encode",
"direct": false,
"version": "4.1.0",
"ecosystem": "crates"
},
{
"name": "once_cell",
"direct": false,
"version": "1.21.4",
"ecosystem": "crates"
},
{
"name": "once_cell_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "onig",
"direct": false,
"version": "6.5.3",
"ecosystem": "crates"
},
{
"name": "onig_sys",
"direct": false,
"version": "69.9.3",
"ecosystem": "crates"
},
{
"name": "openssl",
"direct": false,
"version": "0.10.81",
"ecosystem": "crates"
},
{
"name": "openssl-macros",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "openssl-src",
"direct": false,
"version": "300.5.5+3.5.5",
"ecosystem": "crates"
},
{
"name": "openssl-sys",
"direct": false,
"version": "0.9.117",
"ecosystem": "crates"
},
{
"name": "ordered-multimap",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "os_display",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "outref",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "parking_lot",
"direct": false,
"version": "0.12.5",
"ecosystem": "crates"
},
{
"name": "parking_lot_core",
"direct": false,
"version": "0.9.12",
"ecosystem": "crates"
},
{
"name": "parse_datetime",
"direct": false,
"version": "0.15.0",
"ecosystem": "crates"
},
{
"name": "phf_codegen",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "phf_generator",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "phf_shared",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "pin-project-lite",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "pkg-config",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "pkg-config",
"direct": false,
"version": "0.3.33",
"ecosystem": "crates"
},
{
"name": "platform-info",
"direct": false,
"version": "2.1.0",
"ecosystem": "crates"
},
{
"name": "portable-atomic",
"direct": false,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "portable-atomic-util",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "portable-atomic-util",
"direct": false,
"version": "0.2.7",
"ecosystem": "crates"
},
{
"name": "potential_utf",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "powerfmt",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "ppv-lite86",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "pretty_assertions",
"direct": false,
"version": "1.4.1",
"ecosystem": "crates"
},
{
"name": "prettyplease",
"direct": false,
"version": "0.2.37",
"ecosystem": "crates"
},
{
"name": "proc-macro-crate",
"direct": false,
"version": "3.5.0",
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": "1.0.106",
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": "1.0.107",
"ecosystem": "crates"
},
{
"name": "procfs",
"direct": false,
"version": "0.18.0",
"ecosystem": "crates"
},
{
"name": "procfs-core",
"direct": false,
"version": "0.18.0",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.45",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.47",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "radium",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "rayon",
"direct": false,
"version": "1.12.0",
"ecosystem": "crates"
},
{
"name": "rayon-core",
"direct": false,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "redox_syscall",
"direct": false,
"version": "0.5.18",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.16",
"ecosystem": "crates"
},
{
"name": "regex-lite",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "regex-syntax",
"direct": false,
"version": "0.8.11",
"ecosystem": "crates"
},
{
"name": "relative-path",
"direct": false,
"version": "1.9.3",
"ecosystem": "crates"
},
{
"name": "rlimit",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "roff",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "rstest",
"direct": false,
"version": "0.26.1",
"ecosystem": "crates"
},
{
"name": "rstest_macros",
"direct": false,
"version": "0.26.1",
"ecosystem": "crates"
},
{
"name": "rstest_reuse",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rust-ini",
"direct": false,
"version": "0.21.3",
"ecosystem": "crates"
},
{
"name": "rustc-hash",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "rustc-hash",
"direct": false,
"version": "2.1.3",
"ecosystem": "crates"
},
{
"name": "rustc_version",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "rustversion",
"direct": false,
"version": "1.0.22",
"ecosystem": "crates"
},
{
"name": "same-file",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "scopeguard",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "self_cell",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "self_cell",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "selinux",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "selinux-sys",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "semver",
"direct": false,
"version": "1.0.28",
"ecosystem": "crates"
},
{
"name": "serde",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_core",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_derive",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": false,
"version": "1.0.149",
"ecosystem": "crates"
},
{
"name": "sha1",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "sha3",
"direct": false,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "shake",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "shlex",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "signal-hook",
"direct": false,
"version": "0.3.18",
"ecosystem": "crates"
},
{
"name": "signal-hook-mio",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "signal-hook-registry",
"direct": false,
"version": "1.4.8",
"ecosystem": "crates"
},
{
"name": "simd-adler32",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "similar",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "similar",
"direct": false,
"version": "3.1.2",
"ecosystem": "crates"
},
{
"name": "siphasher",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "slab",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "sm3",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "smallvec",
"direct": false,
"version": "1.15.1",
"ecosystem": "crates"
},
{
"name": "smawk",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "socket2",
"direct": false,
"version": "0.6.5",
"ecosystem": "crates"
},
{
"name": "spin",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "spin",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "sponge-cursor",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "stable_deref_trait",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "statrs",
"direct": false,
"version": "0.18.0",
"ecosystem": "crates"
},
{
"name": "string-interner",
"direct": false,
"version": "0.20.0",
"ecosystem": "crates"
},
{
"name": "strsim",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "2.0.117",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "3.0.2",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "3.0.3",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.13.2",
"ecosystem": "crates"
},
{
"name": "tap",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": "3.27.0",
"ecosystem": "crates"
},
{
"name": "terminal_size",
"direct": false,
"version": "0.4.4",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": "2.0.19",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "2.0.19",
"ecosystem": "crates"
},
{
"name": "time",
"direct": false,
"version": "0.3.55",
"ecosystem": "crates"
},
{
"name": "time-core",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "time-macros",
"direct": false,
"version": "0.2.32",
"ecosystem": "crates"
},
{
"name": "tiny-keccak",
"direct": false,
"version": "2.0.2",
"ecosystem": "crates"
},
{
"name": "tinystr",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "toml_datetime",
"direct": false,
"version": "1.1.1+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_edit",
"direct": false,
"version": "0.25.11+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_parser",
"direct": false,
"version": "1.1.2+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "type-map",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "typed-path",
"direct": false,
"version": "0.12.3",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.19.0",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.20.0",
"ecosystem": "crates"
},
{
"name": "unic-langid",
"direct": false,
"version": "0.9.6",
"ecosystem": "crates"
},
{
"name": "unic-langid-impl",
"direct": false,
"version": "0.9.6",
"ecosystem": "crates"
},
{
"name": "unicode-ident",
"direct": false,
"version": "1.0.24",
"ecosystem": "crates"
},
{
"name": "unicode-linebreak",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "unicode-width",
"direct": false,
"version": "0.1.14",
"ecosystem": "crates"
},
{
"name": "unicode-width",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "unicode-xid",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "unindent",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "unit-prefix",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "utf16_iter",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "utf8_iter",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "utf8parse",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "utmp-classic",
"direct": false,
"version": "0.1.6",
"ecosystem": "crates"
},
{
"name": "utmp-classic-raw",
"direct": false,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "uu_stdbuf_libstdbuf",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "uutils_term_grid",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "vcpkg",
"direct": false,
"version": "0.2.15",
"ecosystem": "crates"
},
{
"name": "version_check",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "vsimd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "walkdir",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.11.1+wasi-snapshot-preview1",
"ecosystem": "crates"
},
{
"name": "wasip2",
"direct": false,
"version": "1.0.3+wasi-0.2.9",
"ecosystem": "crates"
},
{
"name": "wasip3",
"direct": false,
"version": "0.4.0+wasi-0.3.0-rc-2026-01-06",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen",
"direct": false,
"version": "0.2.117",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen",
"direct": false,
"version": "0.2.121",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro",
"direct": false,
"version": "0.2.117",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro",
"direct": false,
"version": "0.2.121",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro-support",
"direct": false,
"version": "0.2.117",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro-support",
"direct": false,
"version": "0.2.121",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-shared",
"direct": false,
"version": "0.2.117",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-shared",
"direct": false,
"version": "0.2.121",
"ecosystem": "crates"
},
{
"name": "wasm-encoder",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wasm-metadata",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wasmparser",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "web-time",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "wild",
"direct": false,
"version": "2.2.1",
"ecosystem": "crates"
},
{
"name": "winapi",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "winapi-i686-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "winapi-util",
"direct": false,
"version": "0.1.11",
"ecosystem": "crates"
},
{
"name": "winapi-x86_64-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "windows-core",
"direct": false,
"version": "0.62.2",
"ecosystem": "crates"
},
{
"name": "windows-implement",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-interface",
"direct": false,
"version": "0.59.3",
"ecosystem": "crates"
},
{
"name": "windows-link",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "windows-result",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "windows-strings",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.59.0",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.61.2",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.53.5",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "winnow",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "winnow",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.57.1",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-core",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-rust",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-rust-macro",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-component",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wit-parser",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "write16",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "writeable",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "wyz",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "xattr",
"direct": false,
"version": "1.6.1",
"ecosystem": "crates"
},
{
"name": "yansi",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "yoke",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "yoke-derive",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "z85",
"direct": false,
"version": "3.0.7",
"ecosystem": "crates"
},
{
"name": "zerocopy",
"direct": false,
"version": "0.7.35",
"ecosystem": "crates"
},
{
"name": "zerocopy",
"direct": false,
"version": "0.8.55",
"ecosystem": "crates"
},
{
"name": "zerocopy-derive",
"direct": false,
"version": "0.7.35",
"ecosystem": "crates"
},
{
"name": "zerocopy-derive",
"direct": false,
"version": "0.8.55",
"ecosystem": "crates"
},
{
"name": "zerofrom",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "zerofrom",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "zerofrom-derive",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "zerotrie",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "zerovec",
"direct": false,
"version": "0.11.6",
"ecosystem": "crates"
},
{
"name": "zerovec-derive",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "zlib-rs",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "zmij",
"direct": false,
"version": "1.0.23",
"ecosystem": "crates"
},
{
"name": "zopfli",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
}
],
"collected": true,
"truncated": false,
"total_count": 463,
"direct_count": 16,
"indirect_count": 447
}
},
"maintainership": {
"issues": {
"open_prs": 385,
"merged_prs": 8198,
"open_issues": 759,
"closed_ratio": 0.782,
"closed_issues": 2724,
"closed_unmerged_prs": 1527
},
"bus_factor": 3,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "sylvestre",
"commits": 4854,
"avatar_url": "https://avatars.githubusercontent.com/u/733326?v=4"
},
{
"type": "User",
"login": "cakebaker",
"commits": 2759,
"avatar_url": "https://avatars.githubusercontent.com/u/26196?v=4"
},
{
"type": "User",
"login": "tertsdiepraam",
"commits": 1051,
"avatar_url": "https://avatars.githubusercontent.com/u/11643477?v=4"
},
{
"type": "User",
"login": "oech3",
"commits": 712,
"avatar_url": "https://avatars.githubusercontent.com/u/79379754?v=4"
},
{
"type": "User",
"login": "rivy",
"commits": 709,
"avatar_url": "https://avatars.githubusercontent.com/u/80132?v=4"
},
{
"type": "User",
"login": "Arcterus",
"commits": 639,
"avatar_url": "https://avatars.githubusercontent.com/u/829813?v=4"
},
{
"type": "User",
"login": "jfinkels",
"commits": 421,
"avatar_url": "https://avatars.githubusercontent.com/u/121755?v=4"
},
{
"type": "User",
"login": "ebfe",
"commits": 340,
"avatar_url": "https://avatars.githubusercontent.com/u/685065?v=4"
},
{
"type": "User",
"login": "RenjiSann",
"commits": 289,
"avatar_url": "https://avatars.githubusercontent.com/u/72708393?v=4"
},
{
"type": "User",
"login": "jhscheer",
"commits": 258,
"avatar_url": "https://avatars.githubusercontent.com/u/3693220?v=4"
}
],
"contributors_sampled": 98,
"top_contributor_share": 0.296
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"CICD.yml",
"CheckScripts.yml",
"FixPR.yml",
"GnuComment.yml",
"GnuTests.yml",
"SizeComment.yml",
"android.yml",
"audit.yml",
"benchmarks.yml",
"check-toml.yml",
"code-quality.yml",
"devcontainer.yml",
"documentation.yml",
"freebsd.yml",
"fuzzing.yml",
"l10n.yml",
"make.yml",
"manpage-lint.yml",
"openbsd.yml",
"wasi.yml",
"wsl2.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"Cargo.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 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": "21 out of 21 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": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 9,
"reason": "Found 18/20 approved changesets -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 31 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 1 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 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": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"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": "28b6856d7b215bf844b4223589cb54ade84f5223",
"ran_at": "2026-08-05T21:10:19Z",
"aggregate_score": 6.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 47,
"decided_7d": 53,
"merged_30d": 49,
"authors_30d": 14,
"decided_30d": 55,
"sample_size": 60,
"window_days": 30,
"sample_exhausted": true,
"authors_probed_30d": 12,
"newcomer_merged_30d": 4,
"bot_prs_excluded_30d": 5,
"newcomer_authors_30d": 4,
"newcomer_decided_30d": 5
},
"ci_last_run_at": "2026-08-05T20:56:45Z",
"oldest_open_prs": [
{
"number": 8276,
"created_at": "2025-06-27T06:06:00Z",
"last_comment_at": "2025-12-05T21:15:33Z",
"last_comment_author": "sylvestre"
},
{
"number": 8426,
"created_at": "2025-08-03T05:53:24Z",
"last_comment_at": "2026-06-29T14:24:50Z",
"last_comment_author": "HackingRepo"
},
{
"number": 8741,
"created_at": "2025-09-25T00:23:05Z",
"last_comment_at": "2025-12-29T13:26:50Z",
"last_comment_author": "sylvestre"
},
{
"number": 9005,
"created_at": "2025-10-25T03:37:02Z",
"last_comment_at": "2025-12-15T11:44:46Z",
"last_comment_author": "matttbe"
},
{
"number": 9021,
"created_at": "2025-10-25T17:25:50Z",
"last_comment_at": "2026-04-11T20:50:52Z",
"last_comment_author": "github-actions"
},
{
"number": 9086,
"created_at": "2025-10-30T01:26:01Z",
"last_comment_at": "2025-12-26T00:57:31Z",
"last_comment_author": "github-actions"
},
{
"number": 9090,
"created_at": "2025-10-30T12:07:55Z",
"last_comment_at": "2026-02-17T09:28:36Z",
"last_comment_author": "github-actions"
},
{
"number": 9092,
"created_at": "2025-10-30T13:19:37Z",
"last_comment_at": "2025-11-08T14:35:17Z",
"last_comment_author": "bakanovskii"
},
{
"number": 9093,
"created_at": "2025-10-30T13:46:48Z",
"last_comment_at": "2026-02-19T08:24:59Z",
"last_comment_author": "github-actions"
},
{
"number": 9104,
"created_at": "2025-11-01T04:52:23Z",
"last_comment_at": "2026-05-28T06:00:23Z",
"last_comment_author": "oech3"
},
{
"number": 9115,
"created_at": "2025-11-01T18:24:40Z",
"last_comment_at": "2026-07-14T04:13:43Z",
"last_comment_author": "github-actions"
},
{
"number": 9125,
"created_at": "2025-11-03T06:28:30Z",
"last_comment_at": "2026-01-05T10:26:58Z",
"last_comment_author": "andreacorbellini"
},
{
"number": 9149,
"created_at": "2025-11-05T15:01:41Z",
"last_comment_at": "2026-01-19T09:29:41Z",
"last_comment_author": "jefft"
},
{
"number": 9150,
"created_at": "2025-11-05T16:07:29Z",
"last_comment_at": "2026-02-18T03:03:16Z",
"last_comment_author": "github-actions"
},
{
"number": 9173,
"created_at": "2025-11-07T12:08:55Z",
"last_comment_at": "2026-01-18T17:52:46Z",
"last_comment_author": "sylvestre"
},
{
"number": 9174,
"created_at": "2025-11-07T12:12:05Z",
"last_comment_at": "2026-07-17T21:34:06Z",
"last_comment_author": "RenjiSann"
},
{
"number": 9211,
"created_at": "2025-11-10T08:35:12Z",
"last_comment_at": "2026-02-06T07:35:00Z",
"last_comment_author": "github-actions"
},
{
"number": 9227,
"created_at": "2025-11-11T12:12:11Z",
"last_comment_at": "2026-01-06T10:49:41Z",
"last_comment_author": "Alonely0"
},
{
"number": 9249,
"created_at": "2025-11-12T19:16:58Z",
"last_comment_at": "2025-11-12T20:53:33Z",
"last_comment_author": "github-actions"
},
{
"number": 9261,
"created_at": "2025-11-13T14:19:09Z",
"last_comment_at": "2026-06-19T11:21:25Z",
"last_comment_author": "mattsu2020"
}
],
"last_merged_pr_at": "2026-08-05T20:36:23Z",
"ci_last_conclusion": "SKIPPED",
"oldest_open_issues": [
{
"number": 1145,
"created_at": "2018-03-03T21:30:00Z",
"last_comment_at": "2026-06-12T08:51:35Z",
"last_comment_author": "oech3"
},
{
"number": 1365,
"created_at": "2019-04-28T21:00:46Z",
"last_comment_at": "2025-04-04T03:36:14Z",
"last_comment_author": "stale"
},
{
"number": 1456,
"created_at": "2020-03-28T17:39:30Z",
"last_comment_at": "2026-02-12T12:32:02Z",
"last_comment_author": "oech3"
},
{
"number": 1472,
"created_at": "2020-04-13T17:27:29Z",
"last_comment_at": "2026-06-29T15:46:54Z",
"last_comment_author": "oech3"
},
{
"number": 1592,
"created_at": "2020-08-31T16:27:11Z",
"last_comment_at": "2026-01-02T23:53:19Z",
"last_comment_author": "ChrisDryden"
},
{
"number": 1593,
"created_at": "2020-09-03T15:32:32Z",
"last_comment_at": "2026-06-26T22:16:15Z",
"last_comment_author": "oech3"
},
{
"number": 1709,
"created_at": "2021-01-31T16:58:40Z",
"last_comment_at": "2025-02-12T20:07:15Z",
"last_comment_author": "chrisdebian"
},
{
"number": 1857,
"created_at": "2021-03-21T17:19:17Z",
"last_comment_at": "2025-12-15T18:20:41Z",
"last_comment_author": "ChrisDryden"
},
{
"number": 1872,
"created_at": "2021-03-22T15:09:09Z",
"last_comment_at": "2026-05-07T13:59:54Z",
"last_comment_author": "vladanan"
},
{
"number": 2222,
"created_at": "2021-05-17T12:31:30Z",
"last_comment_at": "2025-03-02T02:55:11Z",
"last_comment_author": "stale"
},
{
"number": 2527,
"created_at": "2021-07-27T22:15:15Z",
"last_comment_at": "2025-02-12T19:51:41Z",
"last_comment_author": "chrisdebian"
},
{
"number": 2758,
"created_at": "2021-12-06T11:33:19Z",
"last_comment_at": "2026-02-22T14:58:14Z",
"last_comment_author": "oech3"
},
{
"number": 2949,
"created_at": "2022-01-29T15:31:21Z",
"last_comment_at": "2025-09-17T20:44:42Z",
"last_comment_author": "the8472"
},
{
"number": 3034,
"created_at": "2022-02-02T08:17:18Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3075,
"created_at": "2022-02-05T18:59:03Z",
"last_comment_at": "2026-04-24T15:37:42Z",
"last_comment_author": "ChrisDenton"
},
{
"number": 3093,
"created_at": "2022-02-07T13:57:51Z",
"last_comment_at": "2026-03-24T08:59:29Z",
"last_comment_author": "oech3"
},
{
"number": 3094,
"created_at": "2022-02-07T22:59:43Z",
"last_comment_at": "2025-06-06T20:29:45Z",
"last_comment_author": "stale"
},
{
"number": 3123,
"created_at": "2022-02-12T19:41:31Z",
"last_comment_at": "2025-12-19T17:38:53Z",
"last_comment_author": "ChrisDryden"
},
{
"number": 3142,
"created_at": "2022-02-15T11:13:35Z",
"last_comment_at": "2025-04-29T08:43:41Z",
"last_comment_author": "stale"
},
{
"number": 3147,
"created_at": "2022-02-16T17:34:07Z",
"last_comment_at": "2026-08-03T16:23:14Z",
"last_comment_author": "dhruv-15-03"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/uutils/coreutils",
"host": "github.com",
"name": "coreutils",
"owner": "uutils"
},
"metrics": {
"overall": {
"key": "overall",
"band": "exceptional",
"name": "Overall health",
"note": "The weighted overall 86 is calibrated to 98 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 86,
"calibrated": 98,
"calibration": "2026-08-02"
}
}
],
"value": 98,
"inputs": {
"security": 74,
"vitality": 96,
"community": 81,
"governance": 82,
"calibration": "2026-08-02",
"engineering": 100,
"ai_readiness": 66,
"weighted_overall_raw": 86
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "exceptional",
"name": "Vitality",
"value": 96,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "exceptional",
"name": "Development activity",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"commits_last_year": 3898,
"human_commit_share": 0.96,
"days_since_last_push": 0,
"active_weeks_last_year": 52
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "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": "3898 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 3898
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 40,
"latest_release_tag": "0.9.0",
"releases_from_tags": false,
"days_since_latest_release": 67,
"mean_days_between_releases": 29.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "40 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 40
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 67 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 67
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~29.6 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 29.6
}
}
],
"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": "exceptional",
"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": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 81,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "exceptional",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"forks": 1976,
"stars": 23859,
"watchers": 188,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "23,859 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 23859
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1,976 forks",
"points": 25,
"status": "met",
"details": [
{
"code": "forks",
"params": {
"count": 1976
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "188 watchers",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 188
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 4,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"readme_badge_services": [
"codecov.io",
"shields.io"
],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 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": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"packages": [
"coreutils"
],
"dependents": null,
"ecosystems": "crates",
"total_downloads": 84299,
"monthly_downloads": 1036
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "1,036 downloads/month across crates",
"points": 40.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 1036,
"ecosystems": "crates"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "excellent",
"name": "Sustainability & Governance",
"value": 82,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 98,
"top_contributor_share": 0.296
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 30% of commits",
"points": 15.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 30
}
}
],
"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 31 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"merged_prs": 8198,
"open_issues": 759,
"closed_issues": 2724,
"prs_merged_7d": 47,
"prs_decided_7d": 53,
"prs_merged_30d": 49,
"prs_decided_30d": 55,
"issue_closed_ratio": 0.782,
"closed_unmerged_prs": 1527,
"first_time_authors_30d": 4,
"first_time_prs_merged_30d": 4,
"first_time_prs_decided_30d": 5
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "78% of issues closed",
"points": 32.8,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 78
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "8198/9725 decided PRs merged",
"points": 25.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 8198,
"decided": 9725
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "4/5 first-time contributors' PRs merged in 30d",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "newcomer_prs_merged",
"params": {
"days": 30,
"merged": 4,
"decided": 5
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 18/20 approved changesets -- score normalized to 9",
"points": 13.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"followers": 962,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "uutils",
"public_repos": 29,
"account_age_days": 4751
},
"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": "962 followers of uutils",
"points": 21.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 962,
"login": "uutils"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "29 public repos, account ~13 yr old",
"points": 22.8,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 29
}
},
{
"code": "account_age_years",
"params": {
"years": 13
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"coreutils"
],
"ecosystems": "crates",
"any_deprecated": false,
"min_days_since_publish": 66
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on crates",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "crates"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 66 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 66
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "39 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 39
}
}
],
"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": "exceptional",
"name": "Engineering Quality",
"value": 100,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "exceptional",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "21 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 21
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "21 out of 21 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "exceptional",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"rust",
"coreutils",
"gnu-coreutils",
"busybox",
"cross-platform",
"command-line-tool"
],
"has_wiki": true,
"homepage": "https://uutils.org",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://uutils.org",
"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": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 74,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 68,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 6.8
},
"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": "21 out of 21 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": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 18/20 approved changesets -- score normalized to 9",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 31 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 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file 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": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"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": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 454 resolved dependencies against OSV; 9 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 454
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 9
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 2,
"affected_packages": 2,
"assessed_packages": 454,
"unassessed_packages": 9,
"affected_by_severity": "unknown 2",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"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": 454,
"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": "exceptional",
"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"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 10
},
"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": "good",
"name": "AI Readiness",
"value": 66,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "weak",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.938,
"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": "90 of 96 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 90,
"sampled": 96
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_nix": true,
"has_tests": true,
"lockfiles": [
"Cargo.lock"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"GNUmakefile",
"Makefile",
"docs/Makefile"
],
"has_devcontainer": true,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.02,
"toolchain_manifests": [
"Cargo.toml",
"fuzz/Cargo.toml",
"fuzz/uufuzz/Cargo.toml",
"src/uu/arch/Cargo.toml",
"src/uu/b2sum/Cargo.toml",
"src/uu/base32/Cargo.toml",
"src/uu/base64/Cargo.toml",
"src/uu/basename/Cargo.toml",
"src/uu/basenc/Cargo.toml",
"src/uu/cat/Cargo.toml",
"src/uu/chcon/Cargo.toml",
"src/uu/checksum_common/Cargo.toml",
"src/uu/chgrp/Cargo.toml",
"src/uu/chmod/Cargo.toml",
"src/uu/chown/Cargo.toml",
"src/uu/chroot/Cargo.toml",
"src/uu/cksum/Cargo.toml",
"src/uu/comm/Cargo.toml",
"src/uu/cp/Cargo.toml",
"src/uu/csplit/Cargo.toml",
"src/uu/cut/Cargo.toml",
"src/uu/date/Cargo.toml",
"src/uu/dd/Cargo.toml",
"src/uu/df/Cargo.toml",
"src/uu/dir/Cargo.toml",
"src/uu/dircolors/Cargo.toml",
"src/uu/dirname/Cargo.toml",
"src/uu/du/Cargo.toml",
"src/uu/echo/Cargo.toml",
"src/uu/env/Cargo.toml",
"src/uu/expand/Cargo.toml",
"src/uu/expr/Cargo.toml",
"src/uu/factor/Cargo.toml",
"src/uu/false/Cargo.toml",
"src/uu/fmt/Cargo.toml",
"src/uu/fold/Cargo.toml",
"src/uu/groups/Cargo.toml",
"src/uu/head/Cargo.toml",
"src/uu/hostid/Cargo.toml",
"src/uu/hostname/Cargo.toml",
"src/uu/id/Cargo.toml",
"src/uu/install/Cargo.toml",
"src/uu/join/Cargo.toml",
"src/uu/kill/Cargo.toml",
"src/uu/link/Cargo.toml",
"src/uu/ln/Cargo.toml",
"src/uu/logname/Cargo.toml",
"src/uu/ls/Cargo.toml",
"src/uu/md5sum/Cargo.toml",
"src/uu/mkdir/Cargo.toml",
"src/uu/mkfifo/Cargo.toml",
"src/uu/mknod/Cargo.toml",
"src/uu/mktemp/Cargo.toml",
"src/uu/more/Cargo.toml",
"src/uu/mv/Cargo.toml",
"src/uu/nice/Cargo.toml",
"src/uu/nl/Cargo.toml",
"src/uu/nohup/Cargo.toml",
"src/uu/nproc/Cargo.toml",
"src/uu/numfmt/Cargo.toml",
"src/uu/od/Cargo.toml",
"src/uu/paste/Cargo.toml",
"src/uu/pathchk/Cargo.toml",
"src/uu/pinky/Cargo.toml",
"src/uu/pr/Cargo.toml",
"src/uu/printenv/Cargo.toml",
"src/uu/printf/Cargo.toml",
"src/uu/ptx/Cargo.toml",
"src/uu/pwd/Cargo.toml",
"src/uu/readlink/Cargo.toml",
"src/uu/realpath/Cargo.toml",
"src/uu/rm/Cargo.toml",
"src/uu/rmdir/Cargo.toml",
"src/uu/runcon/Cargo.toml",
"src/uu/seq/Cargo.toml",
"src/uu/sha1sum/Cargo.toml",
"src/uu/sha224sum/Cargo.toml",
"src/uu/sha256sum/Cargo.toml",
"src/uu/sha384sum/Cargo.toml",
"src/uu/sha512sum/Cargo.toml",
"src/uu/shred/Cargo.toml",
"src/uu/shuf/Cargo.toml",
"src/uu/sleep/Cargo.toml",
"src/uu/sort/Cargo.toml",
"src/uu/split/Cargo.toml",
"src/uu/stat/Cargo.toml",
"src/uu/stdbuf/Cargo.toml",
"src/uu/stdbuf/src/libstdbuf/Cargo.toml",
"src/uu/stty/Cargo.toml",
"src/uu/sum/Cargo.toml",
"src/uu/sync/Cargo.toml",
"src/uu/tac/Cargo.toml",
"src/uu/tail/Cargo.toml",
"src/uu/tee/Cargo.toml",
"src/uu/test/Cargo.toml",
"src/uu/timeout/Cargo.toml",
"src/uu/touch/Cargo.toml",
"src/uu/tr/Cargo.toml",
"src/uu/true/Cargo.toml",
"src/uu/truncate/Cargo.toml",
"src/uu/tsort/Cargo.toml",
"src/uu/tty/Cargo.toml",
"src/uu/uname/Cargo.toml",
"src/uu/unexpand/Cargo.toml",
"src/uu/uniq/Cargo.toml",
"src/uu/unlink/Cargo.toml",
"src/uu/uptime/Cargo.toml",
"src/uu/users/Cargo.toml",
"src/uu/vdir/Cargo.toml",
"src/uu/wc/Cargo.toml",
"src/uu/who/Cargo.toml",
"src/uu/whoami/Cargo.toml",
"src/uu/yes/Cargo.toml",
"src/uucore/Cargo.toml",
"src/uucore_procs/Cargo.toml",
"tests/uutests/Cargo.toml"
],
"dependency_bot_commit_share": 0.03
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "GNUmakefile, Makefile, docs/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "GNUmakefile, Makefile, docs/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": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Rust (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "devcontainer, Dockerfile, Nix, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "devcontainer, Dockerfile, Nix, 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": "3 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 3,
"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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Rust",
"largest_source_bytes": 265380,
"source_files_sampled": 643,
"oversized_source_files": 16
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Rust (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "16/643 source files over 60KB",
"points": 53.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 643,
"oversized": 16
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"library",
"application"
],
"labels": [
"cli",
"library"
],
"scores": {
"cli": 16,
"library": 9,
"application": 8
},
"primary": "cli",
"evidence": [
{
"tier": "distribution",
"label": "cli",
"source": "registry_category:command-line-utilities",
"weight": 6
},
{
"tier": "distribution",
"label": "library",
"source": "registry:crates",
"weight": 6
},
{
"tier": "declared",
"label": "application",
"source": "cargo.bin",
"weight": 5
},
{
"tier": "dependencies",
"label": "cli",
"source": "dep:clap",
"weight": 4
},
{
"tier": "structure",
"label": "application",
"source": "tree.cargo_main",
"weight": 3
},
{
"tier": "structure",
"label": "library",
"source": "tree.cargo_lib",
"weight": 3
},
{
"tier": "tags",
"label": "cli",
"source": "tag:cli",
"weight": 2
},
{
"tier": "tags",
"label": "cli",
"source": "tag:command-line-tool",
"weight": 2
},
{
"tier": "tags",
"label": "cli",
"source": "tag:coreutils",
"weight": 2
}
],
"artifacts": [
{
"path": "Cargo.toml",
"labels": [
"application"
],
"ecosystem": "crates"
}
],
"confidence": "medium",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"First-time contributor figures cover 12 of 14 authors (cap 12)"
],
"report_type": "repository",
"generated_at": "2026-08-05T21:10:52.820684Z",
"schema_version": "0.31.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/u/uutils/coreutils.svg",
"full_name": "uutils/coreutils",
"license_state": "standard",
"license_spdx": "MIT"
}