Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 245198,
"has_wiki": false,
"homepage": "https://rclone.org",
"languages": {
"C": 3283,
"Go": 5956226,
"PHP": 2519,
"HTML": 50139,
"Shell": 27526,
"Python": 28552,
"Makefile": 11356,
"Batchfile": 616,
"Dockerfile": 2896,
"JavaScript": 21079
},
"pushed_at": "2026-07-17T12:04:19Z",
"created_at": "2019-11-24T08:45:59Z",
"owner_type": "Organization",
"updated_at": "2023-03-03T08:22:57Z",
"description": "\"rsync for cloud storage\" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "http://scylladb.com",
"name": "ScyllaDB",
"type": "Organization",
"login": "scylladb",
"company": null,
"location": "Distributed",
"followers": 964,
"avatar_url": "https://avatars.githubusercontent.com/u/14364730?v=4",
"created_at": "2015-09-19T20:58:46Z",
"is_verified": null,
"public_repos": 155,
"account_age_days": 3957
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v1.51.0-patched-5",
"kind": "prerelease",
"published_at": "2020-04-28T07:20:31Z"
},
{
"tag": "v1.50.2-patched-18",
"kind": "prerelease",
"published_at": "2020-02-12T10:08:52Z"
},
{
"tag": "v1.50.2-patched-10",
"kind": "prerelease",
"published_at": "2020-01-09T16:00:11Z"
},
{
"tag": "v1.50.2-patched-9",
"kind": "prerelease",
"published_at": "2020-01-09T15:48:36Z"
},
{
"tag": "v1.50.2-patched-7",
"kind": "prerelease",
"published_at": "2020-01-03T14:39:30Z"
}
],
"recent_commits": [
{
"oid": "71485421db4397bd0e4f9a55ba2fe3867c134cd4",
"body": "update to latest upstream master",
"is_bot": false,
"headline": "Merge pull request #11 from rclone/master",
"author_name": "karol-kokoszka",
"author_login": "karol-kokoszka",
"committed_at": "2023-03-03T08:20:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe26d6116d9d62eefa0e9506bcae633553aabd26",
"body": "Some ISPs throttle HTTP which MEGA uses by default, so some users may find using HTTPS beneficial.",
"is_bot": false,
"headline": "mega: add --mega-use-https flag",
"author_name": "NodudeWasTaken",
"author_login": "NodudeWasTaken",
"committed_at": "2023-03-02T20:28:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06e1e187936838b0456d21e66a10c3cf22550f7e",
"body": null,
"is_bot": false,
"headline": "seafile: fix for flaky tests #6799",
"author_name": "Fred",
"author_login": "creativeprojects",
"committed_at": "2023-03-02T20:03:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23d17b76bef82cc88e382128949d4e583bf9ea39",
"body": "Before this change the hash used for Onedrive Personal was SHA1. From\nJuly 2023 Microsoft is phasing out SHA1 hashes in favour of\nQuickXorHash in Onedrive Personal. Onedrive Business and Sharepoint\nremain using QuickXorHash as before.\n\nThis choice can be changed using the --onedrive-hash-type flag (\n[…]\nig option) so that SHA1 can be selected while it is still\navailable in the transition period.\n\nSee: https://forum.rclone.org/t/microsoft-is-switching-onedrive-personal-to-quickxorhash-from-sha1/36296/",
"is_bot": false,
"headline": "onedrive: default onedrive personal to QuickXorHash",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-02T19:32:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dfe4e78a7732445729f072ac3be4e9ee987b7a06",
"body": "In preparation for Microsoft removing the SHA1 hash on OneDrive\nPersonal this allows the hash type to be set on OneDrive.\n\nSee: https://forum.rclone.org/t/microsoft-is-switching-onedrive-personal-to-quickxorhash-from-sha1/36296/",
"is_bot": false,
"headline": "onedrive: add --onedrive-hash-type to change the hash in use",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-02T19:32:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59e7982040fcb2af913a53369a55a7c2b326f9a8",
"body": "See: https://forum.rclone.org/t/s3-profile-failing-when-explicit-s3-endpoint-is-present/36063/",
"is_bot": false,
"headline": "s3: add --s3-sts-endpoint to specify STS endpoint",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-02T09:56:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6b0587dc0e0b2f537f2f4fd080fafe2132e261a",
"body": "Before this change if an --s3-profile was set which used AWS STS (eg\nto assume a role) and --s3-endpoint was set then rclone would use the\nvalue from --s3-endpoint to contact the STS server which did not work.\n\nThis fix implements an endpoint resolver which only overrides the \"s3\"\nservice if --s3-endpoint is set. It sends the \"sts\" service (and any\nother service) to the default resolver.\n\nFixes #6443\nSee: https://forum.rclone.org/t/s3-profile-failing-when-explicit-s3-endpoint-is-present/36063/",
"is_bot": false,
"headline": "s3: fix AWS STS failing if --s3-endpoint is set",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T16:24:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9baa4d1c3c5b592510af75495c718faadeaf9cd0",
"body": null,
"is_bot": false,
"headline": "accounting: show checking tag if available even on transfers",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5390dbbeb2d21d1bdeb7ba17b0f12e21726e274",
"body": "…ferring files\n\nThere were some places (e.g. deleting files) where we were using\n--transfers instead of --checkers to control the concurrency when\nfiles weren't being transferred.\n\nThese have been updated to use --checkers.",
"is_bot": false,
"headline": "sync,operations: fix correct concurrency: use --checkers unless trans…",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "019a486d5be719adf4fcfe54de3fb45c474730ba",
"body": "Before this change, all types of checkers showed \"checking\" after the\nfile name despite the fact that not all of them were checking.\n\nAfter this change, they can show\n\n- checking\n- deleting\n- hashing\n- importing\n- listing\n- merging\n- moving\n- renaming\n\nSee: https://forum.rclone.org/t/what-is-rclone-checking-during-a-purge/35931/",
"is_bot": false,
"headline": "accounting: Make checkers show what they are doing",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34ce11d2be6f45e6446e962d99692a95c00db48d",
"body": null,
"is_bot": false,
"headline": "Add ToBeFree to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e8ede0aa9a792b1f0de4ba93b65b5f1176924a",
"body": null,
"is_bot": false,
"headline": "Add Gerard Bosch to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6f250c507207a416973007f3e152e9735132f45",
"body": null,
"is_bot": false,
"headline": "Add logopk to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c45e901f084b9788ed98743d07cfead65843d7b",
"body": null,
"is_bot": false,
"headline": "Add Hunter Wittenborn to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-03-01T11:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e1443799a1bb5be4e1a7ca31c15f0bc7388ca41",
"body": null,
"is_bot": false,
"headline": "docs: crypt: fix typo",
"author_name": "ToBeFree",
"author_login": null,
"committed_at": "2023-02-28T11:50:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd72aff98a46c6e20848ac7ae5f7b19d45802493",
"body": null,
"is_bot": false,
"headline": "docs: bisync: clarification of --resync",
"author_name": "Gerard Bosch",
"author_login": "gerardbosch",
"committed_at": "2023-02-28T11:47:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5039f9be48220399af771b7e1191be539fa7831f",
"body": "docker volume plugin restoreState: skip fs option if empty\r\n\r\nFixes #6769\r\nCo-authored-by: Peter Kreuser <logo@kreuser.name>",
"is_bot": false,
"headline": "docker: fix volume plugin does not remount volume on docker restart",
"author_name": "logopk",
"author_login": "logopk",
"committed_at": "2023-02-28T11:29:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56b582cdb9e68c9941e90bae47f6144c45e82a8a",
"body": "This adds support for providing custom Go templates for use in the\r\n`rclone authorize` command.\r\n\r\nFixes #6741",
"is_bot": false,
"headline": "authorize: add support for custom templates",
"author_name": "Hunter Wittenborn",
"author_login": "hwittenborn",
"committed_at": "2023-02-24T15:08:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "745c0af5714652733fa2ed66106197bba655ec0f",
"body": null,
"is_bot": false,
"headline": "all: Apply codeql fixes",
"author_name": "Aaron Gokaslan",
"author_login": "Skylion007",
"committed_at": "2023-02-23T10:31:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dabbe83ac61cd9a70434ef1192270b3c62faaf0",
"body": null,
"is_bot": false,
"headline": "serve http: tests for --auth-proxy",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-23T10:28:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90561176fbb7d5432a6e14ef077968725bd033ff",
"body": null,
"is_bot": false,
"headline": "Add Matthias Baur to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-23T10:28:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0b5d774274be5500fe27f50d393b8c0cfa1e2f9",
"body": null,
"is_bot": false,
"headline": "serve http: support --auth-proxy",
"author_name": "Matthias Baur",
"author_login": "baurmatt",
"committed_at": "2023-02-22T14:55:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce8b1cd86155c051e6a6dbe375997aed4131c017",
"body": null,
"is_bot": false,
"headline": "oracle-object-storage: bring your own encryption keys",
"author_name": "Manoj Ghosh",
"author_login": "msays2000",
"committed_at": "2023-02-21T14:45:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bd6e3d1e9cbdc9e71a9c075bc6efa872f73753e",
"body": "…et@v0.7.0",
"is_bot": false,
"headline": "fix vulnerablities: upgrade golang.org/x/net@v0.5.0 to golang.org/x/n…",
"author_name": "Manoj Ghosh",
"author_login": "msays2000",
"committed_at": "2023-02-21T10:11:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4d7a6a55e0768809672c58a9c1b8c426a68bfd7",
"body": "The block size for crypt is 64k + a few bytes. The default block size\nfor sftp is 32k. This means that the blocks for crypt get split over 3\nsftp packets two of 32k and one of a few bytes.\n\nHowever due to a bug in pkg/sftp it was sending 32k instead of just a\nfew bytes, leading to the 65% slowdown.\n\nThis was fixed in the upstream library.\n\nThis bug probably affected transfers from over the network sources\nalso.\n\nFixes #6763\nSee: https://github.com/pkg/sftp/pull/537",
"is_bot": false,
"headline": "sftp: fix uploads being 65% slower than they should be with crypt",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-14T15:47:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3e0672535cdbb769fa957b2c91be5c0d830b8ca",
"body": "Before this change if --s3-no-head was in use rclone didn't check the\nmultipart upload ETag at all. However the ETag is returned in the\nfinal POST request when completing the object.\n\nThis change uses that ETag from the final POST if --s3-no-head is in\nuse, otherwise it uses the ETag from a fresh HEAD request.\n\nSee: https://forum.rclone.org/t/in-some-cases-rclone-does-not-use-etag-to-verify-files/36095/",
"is_bot": false,
"headline": "s3: Check multipart upload ETag when --s3-no-head is in use",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-14T12:04:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a407437e92bea05ee40e9be51c6e3978a91991a7",
"body": null,
"is_bot": false,
"headline": "Add Simmon Li (he/him) to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-14T12:04:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0164a4e686f578e9620cf42355016151c3d7375d",
"body": null,
"is_bot": false,
"headline": "add more documentation around oci authentication ways",
"author_name": "Manoj Ghosh",
"author_login": "msays2000",
"committed_at": "2023-02-14T11:58:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8ea79042ca472e149a966e115bb2b7533479b47",
"body": null,
"is_bot": false,
"headline": "docs: drive: make clear \"testing\" apps have short token grant time",
"author_name": "Simmon Li (he/him)",
"author_login": "crespire",
"committed_at": "2023-02-13T14:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49a6533bc1fdff3d3c32e4a2e7a81629af874abf",
"body": null,
"is_bot": false,
"headline": "docs/mount: improve explanation of windows filesystem permissions",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-10T22:21:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21459f3cc00d6e5cc32ce5c87ecc9b7f06fd7cf9",
"body": "This fixes the crash by updating the upstream.\n\nSee: https://forum.rclone.org/t/error-with-build-v1-61-1-tree-command-panic-runtime-error-invalid-memory-address-or-nil-pointer-dereference/35922/\nSee: https://github.com/a8m/tree/pull/21",
"is_bot": false,
"headline": "tree: fix nil pointer exception on stat failure",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-08T16:21:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04f7e528035309e0467e7bbac08997818f602eaa",
"body": "… fixes #6748",
"is_bot": false,
"headline": "accounting: show human readable elapsed time when longer than a day -…",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-06T14:02:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25535e5eac5bb6556c5bda06e389cef341f210ec",
"body": "The docs and setup wizard still contained deprecated URLs and labels of\nStorj satellites. This change updates them.",
"is_bot": false,
"headline": "storj: update satellite urls and labels",
"author_name": "Kaloyan Raev",
"author_login": "kaloyan-raev",
"committed_at": "2023-02-06T13:18:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c37b6b1a43106b30b3e164775d1e8cf8db570575",
"body": null,
"is_bot": false,
"headline": "cache: fix lint error in latest golangci-lint",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-06T10:44:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0328878e46da5d8ef8096dc519c7c1f9780c129d",
"body": "No need to report hours, minutes, and even seconds when the\nETA is several years, e.g. \"292y24w3d23h47m16s\". Now only\nreports the 3 most significant units, sacrificing precision,\ne.g. \"292y24w3d\", \"24w3d23h\", \"3d23h47m\", \"23h47m16s\".\n\nFixes #6381",
"is_bot": false,
"headline": "accounting: limit length of ETA string",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T16:29:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67132ecaec2089dffeb0225d0b879f2c53200823",
"body": "Integer overflow would lead to ETA such as \"-255y7w4h11m22s966ms\",\nas reported in #6381. Now the value will be clipped at the maximum\n\"292y24w3d23h47m16s\", and it will be shown as infinity.",
"is_bot": false,
"headline": "accounting: avoid negative ETA values for very slow speeds",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T16:29:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "120cfcde70f8b8ed875e1728273064be1304917e",
"body": null,
"is_bot": false,
"headline": "install.sh: fix arm-v6 download",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T12:32:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37db2a0e44e2383e8d804d99d037bd4c67811481",
"body": null,
"is_bot": false,
"headline": "selfupdate: consider arm version",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T12:32:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f92816899cb9b8c7ad9caf52d723067e651f6557",
"body": null,
"is_bot": false,
"headline": "version: report arm version",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T12:32:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5386ffc8f2442a42643b97630d20375305f2185b",
"body": "Explicitly set ARM version in GOARM build variable, to avoid relying\non some default value which differs when compiling natively and when\ncross-compiling, and which is also incorrectly documented as being\n6 when in reality it is 5.\n\nFix incorrect labelling of ARMv5 builds as ARMv6, and change\narchit\n[…]\nub.com/golang/go/blob/661e931dd120484cc1318792bc93ace00bbde088/src/cmd/dist/build.go#L140-L144\nhttps://github.com/golang/go/blob/661e931dd120484cc1318792bc93ace00bbde088/src/cmd/dist/util.go#L392-L422",
"is_bot": false,
"headline": "build: correct building for ARMv5 and ARMv6",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-04T12:32:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3898d534f3cd08e9f992e0d5d352f1beaf09d3f9",
"body": "Signed-off-by: Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>",
"is_bot": false,
"headline": "build: update to go1.20",
"author_name": "Anagh Kumar Baranwal",
"author_login": "darthShadow",
"committed_at": "2023-02-03T20:15:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34333d9fa8cd0c8b9bd37fe853ccc3d319109e6b",
"body": null,
"is_bot": false,
"headline": "docs: added troubleshooting tips for Live Photos in OneDrive",
"author_name": "Ole Frost",
"author_login": "olefrost",
"committed_at": "2023-02-03T16:24:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14e852ee9dbfe57ceeff05f32e59018d9e39afc7",
"body": "…a file\n\nFixes #6734",
"is_bot": false,
"headline": "s3: fix incorrect tier support for StorJ and IDrive when pointing at …",
"author_name": "Ole Frost",
"author_login": "olefrost",
"committed_at": "2023-02-02T18:12:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37623732c6e82c7157067c62df0d165846143088",
"body": "…main repo",
"is_bot": false,
"headline": "build: avoid running workflow twice for pull requests with branch on …",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-02-01T15:47:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adbcc83fa5efab9c3fa7c12070188fd46b395760",
"body": "See: https://forum.rclone.org/t/rclone-scans-unwanted-folder/34437",
"is_bot": false,
"headline": "filter: emit INFO message when can't work out directory filters",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-01T14:21:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4ea6632ca8d3ba1a991d1416c6fc0ba84066b26",
"body": "See: https://github.com/rclone/rclone/issues/2338#issuecomment-762820600\nSee: https://forum.rclone.org/t/bisync-already-add-drive-acknowledge-abuse-still-got-critical-error-cannotdownloadabusivefile/35604/",
"is_bot": false,
"headline": "drive: note that --drive-acknowledge-abuse needs SA Manager permission",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-01T12:11:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21849fd0d9c192475b4098917dafc7cb4ffda2d8",
"body": "The davrods server returns URLS with a double / in and the // confuses\nrclone into thinking these files are in a directory called \"\".\n\nThe fix removes leading /s from the directory listing names.\n\nSee: https://forum.rclone.org/t/upload-to-webdav-does-not-check-if-files-already-exist/35756/",
"is_bot": false,
"headline": "webdav: fix interop with davrods server",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-01T12:00:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac20ee41ca5036a2fc3a1dc30079e9c69de976e8",
"body": null,
"is_bot": false,
"headline": "Add happyxhw to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-02-01T12:00:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d376fb1df25ca0203347c54b032685239d61c371",
"body": null,
"is_bot": false,
"headline": "smb: check smb connection is closed - fixes #6735",
"author_name": "happyxhw",
"author_login": "happyxhw",
"committed_at": "2023-02-01T07:25:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e63a08d7f51f1c34f8f6e1ab72f8bbb5ebea544",
"body": null,
"is_bot": false,
"headline": "docs: note that we have test Android builds",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-31T14:11:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3aee5b3c556a37cfd602275428165a4b95e63ecd",
"body": null,
"is_bot": false,
"headline": "Add Simmon Li (he/him) to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-31T14:11:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0145d98314b8a773aa238caa1b0e01f15dcdb42d",
"body": null,
"is_bot": false,
"headline": "Add LXY to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-31T14:11:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c03c71a5ff5607a4c00f7f45590d961f56ab2e5",
"body": null,
"is_bot": false,
"headline": "Add Bryan Kaplan to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-31T14:11:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82e2801aaefc2fbe4904e85e9ffcd285734eab04",
"body": "* Updates OAuth consent screen instructions to include adding scopes for backup purposes (create, edit and delete files).\r\n* Updates instructions to keep app in testing mode (appropriate for most users). The previous instructions suggested this, but we don't need to \"publish\" the app at all in order to proceed with this step.",
"is_bot": false,
"headline": "update drive.md",
"author_name": "Simmon Li (he/him)",
"author_login": "crespire",
"committed_at": "2023-01-27T15:25:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc5d5de35c9242c0e0915b2142874e7703269ec1",
"body": "This commits ports a fast C-implementation from https://github.com/namazso/QuickXorHash\r\n\r\nIt uses new crypto/subtle code from go1.20 to avoid the use of unsafe.\r\n\r\nTypical speedups are about 25x when using go1.20\r\n\r\n goos: linux\r\n goarch: amd64\r\n cpu: Intel(R) Celeron(R) N5105 @ 2.00GHz\r\n QuickXorHash-Before 2.49ms 422MB/s ±11% 100.00%\r\n QuickXorHash-Subtle 87.9µs 11932MB/s ± 5% +2730.83% + 42.17%\r\n\r\nCo-Author: @namazso",
"is_bot": false,
"headline": "onedrive: improve speed of quickxorhash",
"author_name": "LXY",
"author_login": "LXY1226",
"committed_at": "2023-01-26T11:50:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41cc4530f3b7b93974abc96b7f1c46663f62ce30",
"body": "This commit documents my learnings after having encountered a failure\nI reported in the rclone forum[0].\n\nI may be a fool for having failed to understand the previous\ndocumentation, but I am likely not the only fool to get snared by it.\n\nThis commit therefore adds details to clarify what the user mu\n[…]\nt do in\norder to allow `--check-access` to succeed.\n\nWhile at it, I've also added some basic documentation for `--check-filename`.\n\n[0]: https://forum.rclone.org/t/bisync-check-file-check-failed/35682",
"is_bot": false,
"headline": "docs: Improve bisync check-access & check-filename",
"author_name": "Bryan Kaplan",
"author_login": "bryankaplan",
"committed_at": "2023-01-26T11:10:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c5acb1015183507a2575934dcfef7d513fff26e0",
"body": null,
"is_bot": false,
"headline": "fspath: allow the symbols at and plus in remote names - fixes #6710",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-25T12:37:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c8ee9905c6435050873f7724a080d8f49e100c5",
"body": "…g minsleep to 10ms\n\nUploading 100 files of each 1 MB took 20 seconds before. With above fix it takes around 2 seconds now.\r\n\r\n10x time improvement in line with pacer's sleep reduction from 100ms to 10ms",
"is_bot": false,
"headline": "oracleobjectstorage: speed up operations by using S3 pacer and settin…",
"author_name": "Manoj Ghosh",
"author_login": "msays2000",
"committed_at": "2023-01-25T10:48:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2afd00118ba2c34f123d045f054a52248afe2a7",
"body": "See: #6234",
"is_bot": false,
"headline": "mount: avoid incorrect or premature overlap check on windows",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-24T21:27:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b82576dbf6eec4e6acc45f5c67e3c2093351607",
"body": "See #5275",
"is_bot": false,
"headline": "build: fix condition for manual workflow run",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-24T19:46:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9d9f9edb04d0d5cf4b3a329157ccd4b84ee0d24",
"body": null,
"is_bot": false,
"headline": "docs: use --interactive instead of -i in examples to avoid confusion",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-24T19:43:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c40b706186021d177366c6715a8523719f26ec98",
"body": "This commit fixes the `#check-access` anchor link in the bisync.md document.\r\n\r\n`#check-access-option` does not exist in bisync.md; `#check-access` does.",
"is_bot": false,
"headline": "docs: Fix link in bisync doc",
"author_name": "Bryan Kaplan",
"author_login": "bryankaplan",
"committed_at": "2023-01-24T08:16:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "351fc609b1b59d9da3a6a024047d9115e8a05acc",
"body": "Before this change when uploading files bigger than 1TiB, the chunk\ncalculator would work out that the chunk size needed to be bigger than\nthe default 100 MiB to fit within the 10,000 parts limit.\n\nHowever the uploader was still using the memory pool for the old chunk\nsize and this caused errors lik\n[…]\n make a temporary pool with the larger chunk\nsize and use it during the upload of the large file.\n\nSee: https://forum.rclone.org/t/rclone-cannot-complete-upload-to-b2-restarts-upload-frequently/35617/",
"is_bot": false,
"headline": "b2: fix uploading files bigger than 1TiB",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-22T12:46:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a6f6a9dcdf287eaa490c8b535ee70e85f961dbf5",
"body": "Since version 3 of fuse libfuse no longer does anything when given the\nnonempty option and it's default is to allow mounting over non empty\ndirectories like normal mount does.\n\nSome versions of libfuse give an error when using `--allow-non-empty`\nwhich is annoying for the user.\n\nWe now do this check ourselves so we no longer need to pass the option\nto libfuse.\n\nFixes #3562",
"is_bot": false,
"headline": "mount,mount2,cmount: fix --allow-non-empty #3562",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-20T15:39:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "267a09001d091de33de5b7f8444bb071089e0c47",
"body": null,
"is_bot": false,
"headline": "mount: fix check for empty mount point on Linux #3562",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-20T15:39:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37db2abecdda3cd6edbda68934d8f7673e581542",
"body": null,
"is_bot": false,
"headline": "Add alankrit to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-20T15:39:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0272d4419283d95e392cbb91b71ec9a232640c65",
"body": "…dows\n\nSee: #6234",
"is_bot": false,
"headline": "mount: do not treat \\\\?\\ prefixed paths as network share paths on win…",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-20T14:40:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b17044f8e7bd8f3936c9e529c4de34db2cfc959",
"body": null,
"is_bot": false,
"headline": "fs:Added multiple ca certificate support.",
"author_name": "alankrit",
"author_login": null,
"committed_at": "2023-01-17T12:16:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "844e8fb8bdfbe4ba707b7fd3a4ac7a2366dc95a1",
"body": null,
"is_bot": false,
"headline": "lib/errors: add support for unwrapping go1.20 multi errors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-17T11:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca9182d6aeea26923863a48d334021b3b0c1851c",
"body": null,
"is_bot": false,
"headline": "Add IMTheNachoMan to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-17T11:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec20c4852314f867843df9a332c0e8d2f2c2334e",
"body": null,
"is_bot": false,
"headline": "googlephotos: fix grammar in docs (#6699)",
"author_name": "IMTheNachoMan",
"author_login": "imthenachoman",
"committed_at": "2023-01-16T12:40:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec68b7238737ab0dda2d93f9a31688ecd31be2f6",
"body": null,
"is_bot": false,
"headline": "lib/file: fix error message test after go1.20 upgrade",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d1c2725e451245409f0f7a23c404d6242c07b9d",
"body": "Before this change we were sending webdav requests to the go http\nFileServer. In go1.20 these (rightly) started returning errors which\ncaused the tests to fail.\n\nThe test has been changed to properly mock up an About query and\nresponse so an end to end test of adding headers is possible.",
"is_bot": false,
"headline": "webdav: fix tests after go1.20 upgrade",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1680c5af8f2408a66f2e1aea11ab7b15b9db70af",
"body": null,
"is_bot": false,
"headline": "build: update to go1.20rc3 and make go1.17 the minimum required version",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88c0d786394248c987a7d31add790ae93ca03323",
"body": null,
"is_bot": false,
"headline": "build: update to fuse3 after bazil.org/fuse update",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "559157cb582e7b50734f2037a9ba0d98e549f7d0",
"body": null,
"is_bot": false,
"headline": "azureblob: remove workarounds for SDK bugs after v0.6.1 update",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10bf8a769e0f70af21fe609a4f7d1f48fbdb8981",
"body": "This fixes the azureblob backend so it builds again after the SDK\nchanges.",
"is_bot": false,
"headline": "build: update dependencies",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-16T11:19:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f31ab6d17857cc5619f321f0d7146721099ba644",
"body": "Passwords for encrypted libraries are kept in memory in the server\nand flushed after an hour.\nThis MR fixes an issue when the library password expires after 1 hour.",
"is_bot": false,
"headline": "seafile: renew library password - fixes #6662",
"author_name": "Fred",
"author_login": "creativeprojects",
"committed_at": "2023-01-15T16:26:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f08bb5bf66e7500ae62508d4cb6060673e741c1e",
"body": null,
"is_bot": false,
"headline": "storj: implement purge",
"author_name": "Kaloyan Raev",
"author_login": "kaloyan-raev",
"committed_at": "2023-01-15T16:23:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2886aaddfe0ecedabb4a2a6df24c04178fdcbe5",
"body": null,
"is_bot": false,
"headline": "oracle-object-storage: expose the storage_tier option in config",
"author_name": "Manoj Ghosh",
"author_login": "msays2000",
"committed_at": "2023-01-15T16:20:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71227986db2cb63e6c570bdda967e70f05f64e5a",
"body": null,
"is_bot": false,
"headline": "docs: remove link to nonexistent uploadfile command - fixes #6693",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2023-01-12T19:13:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c6ff1fa7e4ef2fd5277859f22fecaf684567a85",
"body": "Before this fix, we told cgofuse/WinFSP that the backend was case\ninsensitive but didn't implement the Getpath backend function to\nreturn the normalised case of a file.\n\nResently cgofuse started implementing case insensitive files properly\nbut since we hadn't implemented Getpath, the file names were\n[…]\nThis patch implements Getpath for cgofuse which fixes the case\nproblems.\n\nThis problem came to light when we upgraded cgofuse and WinFSP (to\n1.12) which had the code to implement Getpath.\n\nFixes #6682",
"is_bot": false,
"headline": "cmount: fix creating and renaming files on case insensitive backends",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-11T17:21:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9d1b786a391a1b1adc2a3a58f4ea17c1c2cd0bfb",
"body": null,
"is_bot": false,
"headline": "Add Kaloyan Raev to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-11T17:21:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ee0e2efb15bf0e4aea22c3d6a107726212575fa",
"body": null,
"is_bot": false,
"headline": "Add piyushgarg to contributors",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2023-01-11T17:21:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d66f5e8db07f4b75479c68aeb633bce3959ad413",
"body": "PR #6678",
"is_bot": false,
"headline": "lib/oauthutil: handle fatal errors better",
"author_name": "Alex Chen",
"author_login": "Cnly",
"committed_at": "2023-01-11T16:50:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02d6d28ec4844f9b42b336173a235f1e88c3716f",
"body": "rclone sync erroneously deleted folders renamed to a different case on\ncrypts where directory name encryption was disabled and the underlying\nremote was case insensitive.\n\nExample: Renaming the folder Test to tEST before a sync to a crypt having\nremote=OneDrive:crypt and directory_name_encryption=fa\n[…]\nes when using\nfilename_encryption=off or directory_name_encryption=false on case\ninsensitive remotes. The documentation has been updated to warn about\npotential problems when using these combinations.",
"is_bot": false,
"headline": "crypt: fix for unencrypted directory names on case insensitive remotes",
"author_name": "Ole Frost",
"author_login": "olefrost",
"committed_at": "2023-01-11T16:32:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1cafc12e8c2d5a5967f0eb5450db4ae2ddb8f85e",
"body": null,
"is_bot": false,
"headline": "storj: implement public link",
"author_name": "Kaloyan Raev",
"author_login": "kaloyan-raev",
"committed_at": "2023-01-10T17:40:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98fa93f6d17909e9c6b9778a4dc9e67c58151f6a",
"body": "Fixes #6596\r\n\r\nCo-authored-by: Piyush <piyushgarg80>",
"is_bot": false,
"headline": "webdav: Document Mapping/Accessing WebDAV shares on windows.",
"author_name": "piyushgarg",
"author_login": "piyushgarg",
"committed_at": "2022-12-30T11:22:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6c67a29ebbb3db331a096f1c4b4c5adfeca2d8c",
"body": null,
"is_bot": false,
"headline": "Add Marks Polakovs to contributors",
"author_name": "albertony",
"author_login": "albertony",
"committed_at": "2022-12-26T17:39:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad5395e95352e7e1d257353cca321082b52cb51d",
"body": null,
"is_bot": false,
"headline": "backend/local: fix %!w(<nil>) in \"failed to read directory\" error",
"author_name": "Marks Polakovs",
"author_login": "markspolakovs",
"committed_at": "2022-12-26T17:37:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1925ceaadebd8ab0e678a5e8782a1f45d5783be6",
"body": null,
"is_bot": false,
"headline": "Changelog updates from Version v1.61.1",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T18:26:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8aebf127975e5382a35e0fcee2a8401f44430cfc",
"body": null,
"is_bot": false,
"headline": "docs: fix unescaped HTML",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T16:53:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ffeefe8a56ca09ba805816e3a036775c11eb30aa",
"body": "Before this change the crypt backend would calculate and check upload\nchecksums regardless of the setting of --ignore-checksum.",
"is_bot": false,
"headline": "crypt: obey --ignore-checksum",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T16:52:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81ce5e4961147d3342d6203fcd0f1bd7779546c8",
"body": null,
"is_bot": false,
"headline": "docs: correct RELEASE procedure for stable branch",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:34:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "638058ef91fac50248d4464179dbcf869da379f0",
"body": "Before this change only serve http was Shutting down its server which\nwas causing other servers such as serve restic to leave behind their\nunix sockets.\n\nThis change moves the finalisation to lib/http so all servers have it\nand removes it from serve http.\n\nFixes #6648",
"is_bot": false,
"headline": "lib/http: shutdown all servers on exit to remove unix socket",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1b62f70d390b6bc676bdabebd299d07bab3fdfd",
"body": "Before this change we were starting the server twice for webdav which\nis inefficient and causes problems at exit.",
"is_bot": false,
"headline": "serve webdav: fix running duplicate Serve call",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "823d89af9a5655ded1aa978b5ff5c202bdae9126",
"body": "Before this change, we started the http listener even if --stdio was\nsupplied.\n\nThis also moves the log message so the user won't see the serving via\nHTTP message unless they are really using that.\n\nFixes #6646",
"is_bot": false,
"headline": "serve restic: don't serve via http if serving via --stdio",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "448fff9a0488d1985f4a4d9f05326ff65c539f18",
"body": "In the lib/http refactor\n\n 52443c2444e3d3c4 restic: refactor to use lib/http\n\nWe forgot to serve the data and wait for the server to finish. This is\nnot tested in the unit tests as it is part of the command line\nhandler.\n\nFixes #6644 Fixes #6647",
"is_bot": false,
"headline": "serve restic: fix immediate exit when not using stdio",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6257a6035cabc103abd0349f35aba4760c3f827a",
"body": "The webdav library was confused by the Path manipulation done by\nlib/http when stripping the prefix.\n\nThis patch adds the prefix back before calling it.\n\nFixes #6650",
"is_bot": false,
"headline": "serve webdav: fix --baseurl handling after lib/http refactor",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54c0f17f2ab40808d5ca0bbe20b8608eb37d0174",
"body": "…count\"\n\nThis error was caused by rclone supplying an empty\n`x-ms-blob-public-access:` header when creating a container for\nprivate access, rather than omitting it completely.\n\nThis is a valid way of specifying containers should be private, but if\nthe storage account has the flag \"Blob public access\" unset then it\ngives \"409 Public access is not permitted on this storage account\".\n\nThis patch fixes the problem by only supplying the header if the\naccess is set.\n\nFixes #6645",
"is_bot": false,
"headline": "azureblob: fix \"409 Public access is not permitted on this storage ac…",
"author_name": "Nick Craig-Wood",
"author_login": "ncw",
"committed_at": "2022-12-23T12:28:07Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 5,
"commits_last_year": 0,
"latest_release_at": "2020-04-28T07:20:31Z",
"latest_release_tag": "v1.51.0-patched-5",
"releases_from_tags": false,
"days_since_last_push": 4,
"active_weeks_last_year": 0,
"days_since_latest_release": 2275,
"mean_days_between_releases": 28.9
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/rclone/rclone",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": false,
"registry_url": "https://pkg.go.dev/github.com/rclone/rclone",
"is_deprecated": false,
"latest_version": "v1.74.4",
"repository_url": "https://github.com/rclone/rclone",
"versions_count": 81,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-08T16:18:57Z",
"latest_version_yanked": null,
"days_since_latest_publish": 13
}
]
},
"popularity": {
"forks": 1,
"stars": 0,
"watchers": 1,
"fork_history": {
"days": [
{
"date": "2026-06-10",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0
},
"open_issues_and_prs": 1
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile",
"fs/rc/js/Makefile",
"librclone/ctest/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 2299786,
"source_files_sampled": 865,
"oversized_source_files": 14,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": "No resolved dependencies to assess",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "bazil.org/fuse",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221209211307-2abb8038c751"
},
{
"name": "github.com/Azure/azure-sdk-for-go/sdk/azcore",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "github.com/Azure/azure-sdk-for-go/sdk/azidentity",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.0"
},
{
"name": "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.1"
},
{
"name": "github.com/Azure/go-ntlmssp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221128193559-754e69321358"
},
{
"name": "github.com/Max-Sum/base32768",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20191205131208-7937843c71d5"
},
{
"name": "github.com/Unknwon/goconfig",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/a8m/tree",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230208161321-36ae24ddad15"
},
{
"name": "github.com/aalpar/deheap",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20210914013432-0cc84d79dec3"
},
{
"name": "github.com/abbot/go-http-auth",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.0"
},
{
"name": "github.com/anacrolix/dms",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.0"
},
{
"name": "github.com/anacrolix/log",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.13.1"
},
{
"name": "github.com/artyom/mtab",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/atotto/clipboard",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.4"
},
{
"name": "github.com/aws/aws-sdk-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.44.178"
},
{
"name": "github.com/buengese/sgzip",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.1"
},
{
"name": "github.com/colinmarc/hdfs/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.3.0"
},
{
"name": "github.com/coreos/go-semver",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.0"
},
{
"name": "github.com/coreos/go-systemd",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20191104093116-d3cd4ed1dbcf"
},
{
"name": "github.com/dop251/scsu",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20220106150536-84ac88021d00"
},
{
"name": "github.com/dropbox/dropbox-sdk-go-unofficial/v6",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v6.0.5"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.1"
},
{
"name": "github.com/gdamore/tcell/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.5.4"
},
{
"name": "github.com/go-chi/chi/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.0.8"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "github.com/hanwen/go-fuse/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.0"
},
{
"name": "github.com/hirochachacha/go-smb2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/iguanesolutions/go-systemd/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.1.0"
},
{
"name": "github.com/jcmturner/gokrb5/v8",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v8.4.3"
},
{
"name": "github.com/jzelinskie/whirlpool",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20201016144138-0675e54bb004"
},
{
"name": "github.com/klauspost/compress",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.15.14"
},
{
"name": "github.com/koofr/go-httpclient",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221124135700-2eb26cff5dd8"
},
{
"name": "github.com/koofr/go-koofrclient",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221207135200-cbd7fc9ad6a6"
},
{
"name": "github.com/mattn/go-colorable",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.13"
},
{
"name": "github.com/mattn/go-runewidth",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.14"
},
{
"name": "github.com/mitchellh/go-homedir",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/ncw/go-acd",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20201019170801-fe55f33415b1"
},
{
"name": "github.com/ncw/swift/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.1"
},
{
"name": "github.com/oracle/oci-go-sdk/v65",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v65.30.0"
},
{
"name": "github.com/patrickmn/go-cache",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.1.0+incompatible"
},
{
"name": "github.com/pkg/sftp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.13.6-0.20230213180117-971c283182b6"
},
{
"name": "github.com/pmezard/go-difflib",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.14.0"
},
{
"name": "github.com/putdotio/go-putio/putio",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20200123120452-16d982cac2b8"
},
{
"name": "github.com/rclone/ftp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221014110213-e44dedbc76c6"
},
{
"name": "github.com/rfjakob/eme",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.2"
},
{
"name": "github.com/rivo/uniseg",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.3"
},
{
"name": "github.com/shirou/gopsutil/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.22.12"
},
{
"name": "github.com/sirupsen/logrus",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.0"
},
{
"name": "github.com/skratchdot/open-golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20200116055534-eef842397966"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.1"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.5"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.8.1"
},
{
"name": "github.com/t3rm1n4l/go-mega",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230228171823-a01a2cda13ca"
},
{
"name": "github.com/winfsp/cgofuse",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.1-0.20221118130120-84c0898ad2e0"
},
{
"name": "github.com/xanzy/ssh-agent",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.3"
},
{
"name": "github.com/youmark/pkcs8",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20201027041543-1326539a0a0a"
},
{
"name": "github.com/yunify/qingstor-sdk-go/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.2.0"
},
{
"name": "go.etcd.io/bbolt",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.6"
},
{
"name": "goftp.io/server",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.1"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.0"
},
{
"name": "golang.org/x/net",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "golang.org/x/oauth2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.0"
},
{
"name": "golang.org/x/sync",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.0"
},
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.0"
},
{
"name": "google.golang.org/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.106.0"
},
{
"name": "gopkg.in/yaml.v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.4.0"
},
{
"name": "storj.io/uplink",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.10.0"
},
{
"name": "github.com/ProtonMail/go-crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230109192245-7efeeb08f296"
},
{
"name": "github.com/pkg/xattr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.9"
},
{
"name": "golang.org/x/mobile",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20221110043201-43a038452099"
},
{
"name": "golang.org/x/term",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [],
"collected": true,
"truncated": false,
"total_count": 0,
"direct_count": 0,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 9,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 5
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "ncw",
"commits": 4570,
"avatar_url": "https://avatars.githubusercontent.com/u/536803?v=4"
},
{
"type": "User",
"login": "albertony",
"commits": 301,
"avatar_url": "https://avatars.githubusercontent.com/u/12441419?v=4"
},
{
"type": "User",
"login": "ivandeex",
"commits": 131,
"avatar_url": "https://avatars.githubusercontent.com/u/9028053?v=4"
},
{
"type": "User",
"login": "B4dM4n",
"commits": 113,
"avatar_url": "https://avatars.githubusercontent.com/u/448169?v=4"
},
{
"type": "User",
"login": "buengese",
"commits": 88,
"avatar_url": "https://avatars.githubusercontent.com/u/4004974?v=4"
},
{
"type": "User",
"login": "breunigs",
"commits": 62,
"avatar_url": "https://avatars.githubusercontent.com/u/307954?v=4"
},
{
"type": "User",
"login": "Cnly",
"commits": 49,
"avatar_url": "https://avatars.githubusercontent.com/u/3103188?v=4"
},
{
"type": "User",
"login": "klauspost",
"commits": 49,
"avatar_url": "https://avatars.githubusercontent.com/u/5663952?v=4"
},
{
"type": "User",
"login": "remusb",
"commits": 46,
"avatar_url": "https://avatars.githubusercontent.com/u/5675944?v=4"
},
{
"type": "User",
"login": "negative0",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/12236512?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.754
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build.yml",
"build_publish_docker_image.yml",
"build_publish_release_docker_image.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"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": 0,
"reason": "Found 0/14 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 24 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": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"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": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 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": 0,
"reason": "53 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "71485421db4397bd0e4f9a55ba2fe3867c134cd4",
"ran_at": "2026-07-21T18:39:50Z",
"aggregate_score": 2.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/scylladb/rclone",
"host": "github.com",
"name": "rclone",
"owner": "scylladb"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"security": 26,
"vitality": 46,
"community": 12,
"governance": 52,
"engineering": 54
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 46,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "at_risk",
"name": "Development activity",
"note": null,
"notes": [],
"value": 36,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 4,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"releases_count": 5,
"latest_release_tag": "v1.51.0-patched-5",
"releases_from_tags": false,
"days_since_latest_release": 2275,
"mean_days_between_releases": 28.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "5 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 5
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2275 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 2275
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~28.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 28.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "queues_not_read",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 1236,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 12,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 1,
"stars": 0,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"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": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 52,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 100,
"top_contributor_share": 0.754
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 75% of commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 75
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 24 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "at_risk",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 46,
"inputs": {
"merged_prs": 9,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 5
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "9/14 decided PRs merged",
"points": 24.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 9,
"decided": 14
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/14 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"followers": 964,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "scylladb",
"public_repos": 155,
"account_age_days": 3957
},
"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": "964 followers of scylladb",
"points": 21.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 964,
"login": "scylladb"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "155 public repos, account ~10 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 155
}
},
{
"code": "account_age_years",
"params": {
"years": 10
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 54,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".golangci.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://rclone.org",
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"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://rclone.org",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "critical",
"name": "Security",
"value": 26,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 26,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 2.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"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 0/14 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 24 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": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"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 not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "53 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 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": "moderate",
"name": "AI Readiness",
"value": 64,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.7,
"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": "70 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 70,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile",
"fs/rc/js/Makefile",
"librclone/ctest/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, fs/rc/js/Makefile, librclone/ctest/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, fs/rc/js/Makefile, librclone/ctest/Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 2299786,
"source_files_sampled": 865,
"oversized_source_files": 14
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "14/865 source files over 60KB",
"points": 54.1,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 865,
"oversized": 14
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Community profile unavailable",
"go package 'github.com/rclone/rclone' points at a different repository (https://github.com/rclone/rclone); excluded from ecosystem scoring"
],
"report_type": "repository",
"generated_at": "2026-07-21T18:40:16.859303Z",
"schema_version": "0.23.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/scylladb/rclone.svg",
"full_name": "scylladb/rclone",
"license_state": "standard",
"license_spdx": "MIT"
}