Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 3534,
"has_wiki": true,
"homepage": "https://benoittgt.github.io/vcr",
"languages": {
"Ruby": 398830,
"Shell": 1062,
"Gherkin": 185173,
"JavaScript": 3119
},
"pushed_at": "2026-06-23T06:33:13Z",
"created_at": "2010-02-25T07:16:00Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T15:17:14Z",
"description": "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "master",
"license_spdx_raw": "NOASSERTION",
"primary_language": "Ruby",
"significant_languages": [
"Ruby",
"Gherkin"
]
},
"owner": {
"blog": "https://www.ncpp.com",
"name": "VCR",
"type": "Organization",
"login": "vcr",
"company": null,
"location": null,
"followers": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/2902977?v=4",
"created_at": "2012-11-27T14:51:08Z",
"is_verified": null,
"public_repos": 1,
"account_age_days": 4984
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v6.4.0",
"kind": "minor",
"published_at": "2025-12-22T21:18:56Z"
},
{
"tag": "v6.3.1",
"kind": "patch",
"published_at": "2024-08-20T09:19:01Z"
},
{
"tag": "v6.3.0",
"kind": "minor",
"published_at": "2024-08-19T10:42:01Z"
},
{
"tag": "v6.2.0",
"kind": "minor",
"published_at": "2023-06-26T13:14:56Z"
},
{
"tag": "v6.1.0",
"kind": "minor",
"published_at": "2022-03-13T19:19:41Z"
},
{
"tag": "v6.0.0",
"kind": "major",
"published_at": "2020-05-28T07:23:35Z"
}
],
"recent_commits": [
{
"oid": "a747bb6478674c71f189454083c3cf276f09042c",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependenc\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump actions/checkout from 6 to 7 (#1078)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-23T06:33:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "651d2e1521d23c2aaed0ea1c7c8a558fe01349c6",
"body": "- Add MRI 3.4 and 4.0 to the list of tested versions\n- Drop MRI 2.6 from the list of tested versions",
"is_bot": false,
"headline": "Refresh Ruby support matrix in README [ci skip] (#1077)",
"author_name": "Yuki Fukuma",
"author_login": "fkmy",
"committed_at": "2026-06-01T07:27:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c29d6d5f1717d3be5ca4fb77c1fa865d12896d9",
"body": null,
"is_bot": false,
"headline": "Add Ruby 4.0 to CI test matrix (#1076)",
"author_name": "Yuki Fukuma",
"author_login": "fkmy",
"committed_at": "2026-05-29T18:47:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37dcd0c7787024ba83c95fe6f34f1d3029be9b29",
"body": "* Fix `docsify` to `docsify-cli` (#1068)\n\n* Use new style of hash notation (#1068)\n\n* Update docs (#1068)\n\n* Fix angle brackets (#1068)",
"is_bot": false,
"headline": "Use new style of hash notation (#1071)",
"author_name": "Artem",
"author_login": "Yegorov",
"committed_at": "2026-05-29T12:44:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a429366fffe8d6059f6a00a42c541f5b0f6d7c5",
"body": "* Add Ruby 3.4 to CI test matrix\n\n* Gemfile: Add ostruct\n\nwarning: ostruct was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 4.0.0.\n\n* Fix literal string will be frozen warnings\n\n* Ensure mutable strings before filter_object! mutates in-place\n\nfi\n[…]\ncross Ruby versions\n\nRuby 3.4 changed Hash#inspect for symbol keys, breaking the exact-match assertion in debug_logging.feature.\nRender the cassette options in the legacy `{:key=>val}` format instead.",
"is_bot": false,
"headline": "Support ruby 3.4 (#1075)",
"author_name": "Yuki Fukuma",
"author_login": "fkmy",
"committed_at": "2026-05-29T08:08:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "66dbbaf116bb5ef9f1de4800ad8e1e767ad481e1",
"body": "Without this, the following warning is output:\n```\nlib/vcr/structs.rb:404: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)\n```\n\nFollow up to #832.",
"is_bot": false,
"headline": "Fix frozen string literal warning when recompressing response (#1073)",
"author_name": "Chris Gunther",
"author_login": "cgunther",
"committed_at": "2026-05-14T06:34:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f376c11c23eee7fd029f7735ac40ade2855fcd0",
"body": null,
"is_bot": false,
"headline": "Allow writing custom metadata to cassettes (#1054)",
"author_name": "Jens Balvig",
"author_login": "balvig",
"committed_at": "2026-03-19T07:43:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a66a8a0e452fa09eec71045004b86cbf5cd131b",
"body": null,
"is_bot": false,
"headline": "Add where to put setup code (#969)",
"author_name": "Trisha Pan",
"author_login": "trisha",
"committed_at": "2026-01-21T09:16:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "360ac17c13cbb56b87c978a636e83074aa5b1aa8",
"body": "…#951)\n\nUsing a combination of `recompress_response` and `filter_sensitive_data`,\npreviously VCR would recompress the response first, then try to replace\nthe sensitive data placeholders with the actual value, however once it's\nrecompressed, the placeholders can't be found anymore to replace.\nTherefo\n[…]\n the responses as gzipped upon playback, with the\nplaceholders replaced.\n\n[1]: https://github.com/braintree/braintree_ruby/blob/7d4182b7407bd66061faacadec54960e6c876f72/lib/braintree/http.rb#L174-L180",
"is_bot": false,
"headline": "Fix recompressing response to happen after replacing sensitive data (…",
"author_name": "Chris Gunther",
"author_login": "cgunther",
"committed_at": "2026-01-21T08:43:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "748ec9a4ff494ce75873db0df4f0c1d2d8bf958d",
"body": "This only affected the \"Doc coverage\" CI job.\n\n\twarning: rdoc used to be loaded from the standard library, but is not part of the default gems since Ruby 4.0.0.\n\twarning: irb/notifier is found in irb, which is not part of the default gems since Ruby 4.0.0.",
"is_bot": false,
"headline": "Gemfile: Add irb, rdoc (#1067)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2026-01-21T08:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5dcacdf69bd64b61a339cf57bb6d4c17eeef5eea",
"body": null,
"is_bot": false,
"headline": "Release v6.4.0 (#1066)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2025-12-22T21:05:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81b06bf2e6aae57ddc54b3f46b9d4070306f6cd2",
"body": null,
"is_bot": false,
"headline": "add Crystal ports to readme (#1065)",
"author_name": "Alexander Adam",
"author_login": "alexanderadam",
"committed_at": "2025-12-02T05:40:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0bf676c7c1f23aedd0b0097657fb91bc2678710a",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v5...v6)\n\n---\nupdated-dependenc\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump actions/checkout from 5 to 6 (#1064)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-11-25T07:52:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ce35c236fe48899f02ddf780973b44cdb756c0ee",
"body": "…ility (#1059)\n\nUses standard library URI.decode_www_form instead of requiring external\ncgi dependency. Maintains identical API by converting array format to\nthe expected hash-of-arrays format that CGI.parse provides.\n\nFixes #1057",
"is_bot": false,
"headline": "Replace `CGI.parse` with `URI.decode_www_form` for Ruby 3.5+ compatib…",
"author_name": "Michael Menanno",
"author_login": "mmenanno",
"committed_at": "2025-08-19T06:54:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97f368215994ddc50b320c9719a5cc16ea36f082",
"body": null,
"is_bot": true,
"headline": "Bump actions/checkout from 4 to 5 (#1058)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-08-12T08:28:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b69506fd7b2a4fb91b1cad1ff0ca27c71c35534",
"body": "- Adds MRI 3.3 and 3.2 to the list of tested versions\n- Updates VCR version compatibility notes:\n - VCR 6.0.0 now reflects support for Ruby >= 2.3 (was >= 2.4)\n - VCR 6.1.0 is noted as the last version for Ruby >= 2.6\n - Future VCR releases will target Ruby >= 2.7\n\n[ci skip]",
"is_bot": false,
"headline": "Refresh Ruby support matrix in README (#1056)",
"author_name": "Geremia Taglialatela",
"author_login": "tagliala",
"committed_at": "2025-06-15T10:48:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "882c0e03ed3eb7685db9dacec8f4e7afb1316d32",
"body": "Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "Drop runtime dependency on base64 (#1014)",
"author_name": "Earlopain",
"author_login": "Earlopain",
"committed_at": "2025-06-05T15:01:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "76c7e339a2d92e1476f83bfebc79eb8ea8529b8b",
"body": "* First poc of documentation with docsify\n\n* Fix doc and invalid list\n\n* Make it possible to copy code easily\n\n* Migrate to doc folder\n\n* Temporary disable Edit on Github because link are wrong\n\n* Customize the way we render sidebar\n\n* Provide title\n\n* Provide basic meta field\n\n* Remove unused merma\n[…]\nper fan of having a package.json but I do have other idea\n\n* Try to avoid as much as possible dependencies\n\n* Typo on contributing doc\n\n---------\n\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "Migrate documentation from Relishapp to Github page (#968)",
"author_name": "Benoit Tigeot",
"author_login": "benoittgt",
"committed_at": "2025-06-05T14:33:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3719393be93a1520b4985a6f8167688c976ca6c2",
"body": null,
"is_bot": false,
"headline": "Add Vcr.HttpRecorder (C#/.NET) to README.md (#1051)",
"author_name": "Giannis Georgopoulos",
"author_login": "GeorgopoulosGiannis",
"committed_at": "2025-06-05T13:58:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52329d1da7b4bf2da17069cd14c2e8b095bfeb4d",
"body": null,
"is_bot": false,
"headline": "Add Haskell VCR to README.md (#1049)",
"author_name": "Simon Hengel",
"author_login": "sol",
"committed_at": "2025-06-05T13:58:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "660b8d975879b2d21c547d5fa43cedaef5e14395",
"body": null,
"is_bot": false,
"headline": "Add funding_uri to gemspec (#1041)",
"author_name": "Andrew Nesbitt",
"author_login": "andrew",
"committed_at": "2025-06-05T13:40:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a1394891f72c8cd9286d15bf57ec9aa4c37af3e",
"body": "…1044)",
"is_bot": false,
"headline": "Do not raise an exception if the body is missing from the response (#…",
"author_name": "André Luis Leal Cardoso Jr",
"author_login": "andrehjr",
"committed_at": "2025-01-13T07:35:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "747e792502cf02330cb907ada9b1dd27843fbc3f",
"body": "* Remove unnecessary \"\".respond_to?(:encoding) checks\n\n* Pin excon < 1.0.0 to fix webmock errors\n\n* Simplify forwarding arguments to GzipWriter",
"is_bot": false,
"headline": "Remove unnecessary \"\".respond_to?(:encoding) checks (#1043)",
"author_name": "André Luis Leal Cardoso Jr",
"author_login": "andrehjr",
"committed_at": "2025-01-12T06:31:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9850669212c3e23c4ac499dbd9c4344822f27c8f",
"body": "* Provide a 'Changelog' link on rubygems.org/gems/vcr\r\n\r\nBy providing a 'changelog_uri' in the metadata of the gemspec a\r\n'Changelog' link will be shown on https://rubygems.org/gems/vcr\r\nwhich makes it quick and easy for someone to check on the changes\r\nintroduced with a new version.\r\n\r\nDetails of t\n[…]\ntionality can be found on https://guides.rubygems.org/specification-reference/\r\n\r\nCo-authored-by: André Luis Leal Cardoso Jr <andrehjr@gmail.com>\r\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "Provide a 'Changelog' link on rubygems.org/gems/vcr (#1036)",
"author_name": "mark-young-atg",
"author_login": "mark-young-atg",
"committed_at": "2024-08-27T12:58:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f5f36425c98392024f7de9c81ff61b2007920036",
"body": null,
"is_bot": false,
"headline": "Fix typo in CHANGELOG [ci skip] (#1035)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-08-20T09:20:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60b204cf1e6e7cd433ab269e455b303f06c77b61",
"body": null,
"is_bot": false,
"headline": "Bumping to version 6.3.1 (#1034)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-08-20T09:16:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "601900de715e0b5ed4f14f09ec8e32ffe7cd5718",
"body": "Fix #1031",
"is_bot": false,
"headline": "Move require \"faraday/multipart\" to spec/ where it is being used (#1032)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-08-20T08:59:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c4dc6ec0b8d6e9f27dd949067c3d0a5f82ca628",
"body": null,
"is_bot": false,
"headline": "CI: Disable fail-fast (#1030)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-08-19T15:26:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aaf3beb924bb4c9aa1754cb85d0e86e9ee33fd04",
"body": null,
"is_bot": false,
"headline": "Bumping to version 6.3.0 (#1029)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-08-19T10:34:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d82a03d16abab2a2a5ff2e1f4bc19b4c6a971d5",
"body": "* add error message when cassete file does not exist\r\n\r\n* add tests for all none error messages\r\n\r\n---------\r\n\r\nCo-authored-by: Paulo Vilarinho <paulotarsobranco@gmail.com >",
"is_bot": false,
"headline": "add error message when cassete file does not exist (#1028)",
"author_name": "Paulo Vilarinho",
"author_login": "PauloVilarinho",
"committed_at": "2024-08-04T20:26:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aff13093419e8247796f214e7281f1484d88cbdc",
"body": "* Avoid Rack handler load error\r\n\r\nAvoid error cannot load such file -- rack/handler/webrick (LoadError)\r\n\r\nThat file is no longer distributed, it seems.\r\n\r\n* Add rack 3.0 to ci\r\n\r\n* Test: refer to Rackup::Handler\r\n\r\n* Only use Rackup when rack > 3.0\r\n\r\n---------\r\n\r\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "Add Rack 2 and Rack 3 to the CI (#1025)",
"author_name": "André Luis Leal Cardoso Jr",
"author_login": "andrehjr",
"committed_at": "2024-07-22T07:01:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "707738ec3afdc7808a59639fd8628484fbf99a47",
"body": null,
"is_bot": false,
"headline": "Make VCR CI compatible with Faraday 1 and 2 (#1024)",
"author_name": "André Luis Leal Cardoso Jr",
"author_login": "andrehjr",
"committed_at": "2024-07-21T17:37:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "95a91926e8b439f6c17c0d995846ee521ff112e7",
"body": "* Allow usage of typhoeus >= 1.2\r\n\r\n* Add Content-Type to be make request compatible with newer rack/sinatra",
"is_bot": false,
"headline": "Allow usage of typhoeus >= 1.2 (#1023)",
"author_name": "André Luis Leal Cardoso Jr",
"author_login": "andrehjr",
"committed_at": "2024-07-21T10:22:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cde89346aebcbe5280299ba10aedb3d97860c557",
"body": null,
"is_bot": false,
"headline": "Update request_ignorer.rb (#1016)",
"author_name": "James McGuire",
"author_login": "jamesmcguirepro",
"committed_at": "2024-03-23T06:58:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40f12467cf269427d05750b03d8d5bdb49354118",
"body": "VCR dropping support for Ruby 2.4 allows a VCR specific module,\r\nHeaderDowncaser, to be replaced by a Ruby standard library call\r\nHash#transform_keys.\r\n\r\nI didn't find any unit tests specific to the module but the\r\nsupport module was used throughout the RSpec test suite.\r\n\r\nReference\r\n\r\nRuby 2.5 introduced Hash#transform_keys\r\nhttps://docs.ruby-lang.org/en/3.2/NEWS/NEWS-2_5_0.html\r\n\r\nClose: #1012",
"is_bot": false,
"headline": "Replace HeaderDowncaser with Hash#transform_keys (#1015)",
"author_name": "Julian Richard Wigley",
"author_login": "notapatch",
"committed_at": "2024-02-21T18:08:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20e6c2d3f6f6499725ec585053a0dd48f7d1b7f8",
"body": "* Add mutex_m for Ruby 3.3\r\n\r\n* Add bigdecimal gem for Ruby 3.3\r\n\r\n* Mark rack LOCKED to < 3\r\n\r\nThis is to get to green.",
"is_bot": false,
"headline": "Hold back rack at 2.x, add gems required for Ruby 3.3 (#1011)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2024-01-26T10:27:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a337dffda8fa927e73dbd5a3770bfadef8e4de4b",
"body": "This is a bit of a weird one. I proposed that `ASCII-8BIT` be renamed to `BINARY` https://bugs.ruby-lang.org/issues/18576\r\n\r\nAnd this code came up as a potentially broken by this change. It's still possible that the name change may happen, that's why I'm submitting this PR.",
"is_bot": false,
"headline": "Handle the potential renaming of `ASCII-8BIT` (#924)",
"author_name": "Jean byroot Boussier",
"author_login": "casperisfine",
"committed_at": "2024-01-17T09:35:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08b71207924ded5b75f05d93e947888fae5fca38",
"body": null,
"is_bot": false,
"headline": "current active deloped code for clojure changed repo (vcr-clj) (#1005)",
"author_name": "Simon Neutert",
"author_login": "simonneutert",
"committed_at": "2023-11-30T07:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f563658061895f0d48110680b992dfd34f3520a",
"body": "The previous \"needs:\" dependency was incorrect.",
"is_bot": false,
"headline": "CI: Install apt packages using a script (#1004)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-11-06T20:19:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c9230b43b6a51dec78941d16bf8e2954042964c",
"body": "* Declare a gem dependency on the Ruby Base 64 gem\r\n\r\nFor compatibility with Ruby 3.4 and to silence compatibility warnings\r\npresent in Ruby 3.3, declare a dependency on the `base64` gem.\r\n\r\n* CI: doc-coverage task requires OS deps, too",
"is_bot": false,
"headline": "Declare a gem dependency on the Ruby Base 64 gem (#1003)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-11-06T08:35:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf8e1b08f4a847dcd97f54c5115c9db59796f410",
"body": "* Remove jruby/rbx complexity from Gemfiles\r\n\r\nIt has been several years since this project was tested under jruby or\r\nrbx in CI. This commit removes non-MRI complexity from the Gemfiles that\r\nis not needed, since non-MRI platforms are not being tested.\r\n\r\n* Remove separate faraday Gemfile\r\n\r\nThe ba\n[…]\n\n\r\n* Capture stderr and show it only if command fails\r\n\r\n* Split CI workflow into separate jobs\r\n\r\n* Fix incorrect operator precedence\r\n\r\n* Remove misleading reference to 'extras', which doesn't exist",
"is_bot": false,
"headline": "Consolidate Gemfiles; improve and simplify CI workflow (#1002)",
"author_name": "Matt Brictson",
"author_login": "mattbrictson",
"committed_at": "2023-10-20T05:54:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a6b98afd4db41aa0d218e29695a503c4ccd657be",
"body": "See #992 for a careful explanation.\r\n\r\nIn Ruby 3.3, this deprecation warning will be replaced by an actual ArgumentError. So vcr will break on Ruby 3.3. I confirmed this by running vcr's own specs on the ruby:3.3-rc docker image.\r\n\r\n# ruby -v\r\nruby 3.3.0preview2 (2023-09-14 master e50fcca9a7) [x86_6\n[…]\n \r\n ArgumentError:\r\n the lambda method requires a literal block\r\n # ./lib/vcr/structs.rb:307:in `to_proc'\r\n # ./spec/lib/vcr/structs_spec.rb:584:in `block (3 levels) in <module:VCR>'",
"is_bot": false,
"headline": "Use proc, not lambda for Ruby 3.3 compat in structs.rb (#993)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-10-19T07:07:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "02db838374d191f283bc06a3e8c6db406cb31250",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/v3...v4)\r\n\r\n---\r\nupdated-dep\n[…]\n:production\r\n update-type: version-update:semver-major\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump actions/checkout from 3 to 4 (#999)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-10-19T06:48:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c400e120a0b230f00c786a39cc44d0acd5edbfef",
"body": null,
"is_bot": false,
"headline": "CI: Add dependabot.yml for GitHub Actions updates (#989)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-10-19T06:26:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1b08b775a9ae9bccf3fe6f97450223e35eb86eb",
"body": "Previously, CI was using cucumber 4.x, which is not compatible with the\r\nrecently-released Active Support 7.1 (see #995 discussion).\r\n\r\nThis commit upgrades cucumber to the latest major version (9.x), which\r\nfixes the CI failures.",
"is_bot": false,
"headline": "Upgrade cucumber to fix CI failures (#998)",
"author_name": "Matt Brictson",
"author_login": "mattbrictson",
"committed_at": "2023-10-19T06:26:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7dc6e88b85857394fefadad0c45baf2bbf374af",
"body": null,
"is_bot": false,
"headline": "Fix typos in filter_sensitive_data.feature (#990)",
"author_name": "albertchae",
"author_login": "albertchae",
"committed_at": "2023-10-03T18:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb9fe1b204c3ff674145628488fac3af4863c827",
"body": null,
"is_bot": false,
"headline": "Format code: indent (#984)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-29T06:54:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "beaceecd024aede0da9bce4da4c83514ec7bc808",
"body": null,
"is_bot": false,
"headline": "Drop unused file (#983)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-26T19:00:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1af2b7613f63edcea42790b4e7ea2c31449a6959",
"body": null,
"is_bot": false,
"headline": "CI: use actions/checkout@v3 (#982)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-26T18:54:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "025533eea18707766d096a2b7c0179e577b2f6aa",
"body": "* Remove relish gem, references\r\n\r\n* Format tuples",
"is_bot": false,
"headline": "Remove relish gem, update Web references to point to new docs (#980)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-26T17:58:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a15914e6580b5131e58afdb71f59897bed994225",
"body": null,
"is_bot": false,
"headline": "Bumping to version 6.2.0 (#955)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-26T13:12:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0c31a619e085694a4730bca3e6d9d413e3911c8",
"body": "* Remove Ruby 2.6 from the CI\r\n* Require Ruby 2.7 in gemspec",
"is_bot": false,
"headline": "Drop ruby 26 (#979)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-26T10:59:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "766dde218ec9e84443bf0ca6e0f772f252f11002",
"body": null,
"is_bot": false,
"headline": "DEVELOPMENT.md: Thank Benoit T [ci skip] (#978)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2023-06-22T06:24:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c950d9f59dc22783f9bc41f9f147c8a15d1de480",
"body": "The rubygems homepage was updated to point to the in-development docs in vcr/vcr#973.\r\n\r\nThis PR updates the readme to also point to the in-development docsite in the interim while vcr/vcr#968 is still under development.",
"is_bot": false,
"headline": "docs: swap relishapp w/ in-dev replacement in README (#977)",
"author_name": "Jennifer Page",
"author_login": "jmpage",
"committed_at": "2023-06-18T04:42:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84a37a58be24d9abac0dc77020f6b5a855e50aec",
"body": "Since relish docs are relied on Heroku and now they are not available\r\nIn order to keep gemspec updated I updated the url.",
"is_bot": false,
"headline": "Update docs url (#973)",
"author_name": "what_the_hex",
"author_login": "alxekb",
"committed_at": "2023-05-22T09:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bbef9c5d1b2a2bb9643d6aa37b88d6729657b00",
"body": "Released a month ago: https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/",
"is_bot": false,
"headline": "Add Ruby 3.2 to CI (#962)",
"author_name": "Alex Schmitt",
"author_login": "codealchemy",
"committed_at": "2023-01-26T22:15:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f353ec2cea78ea952805cb03eea3b764397b61ae",
"body": "There has been a Typhoeus spec that has been failing in this project for a few months, it seems to be tied to the 0.16.0 release of the `ethon` gem (https://github.com/typhoeus/ethon/compare/v0.15.0...v0.16.0)",
"is_bot": false,
"headline": "Lock `ethon` (Typhoeus dependency) to 0.15.0 (#963)",
"author_name": "Alex Schmitt",
"author_login": "codealchemy",
"committed_at": "2023-01-26T22:07:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84e5040c3ba67a80d715773f0228a8e31541af1c",
"body": null,
"is_bot": false,
"headline": "CHANGELOG: add #946 to \"Unreleased\" [ci skip]",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-10-18T08:10:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93ae14eb61b74827004bc00ffe25e69bfbd882f0",
"body": "Co-authored-by: Melissa Glickman <melissa@insrc.com>\r\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "Add drop_unused_requests option to exclude unused interactions (#946)",
"author_name": "Ryan Seys",
"author_login": null,
"committed_at": "2022-10-18T08:07:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47a809402d9bc5de86275efa969a7f3c3a8be6cf",
"body": null,
"is_bot": false,
"headline": "Bump curb to 1.0.1 (#949)",
"author_name": "Ryan Seys",
"author_login": "ryanseys",
"committed_at": "2022-10-14T08:56:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be6a78281ceabc3af7ddd300b0f7c7796886a4ef",
"body": "* Clarify test description to better reflect what it does\r\n\r\n* Add missing assertions\r\n\r\n* Split tests per callback\r\n\r\nLeaving assertions for body in on_headers callback test, because I don't\r\nyet know if body affected by on_headers callback or not.\r\n\r\n* Confirm on_headers doesn't affect response bo\n[…]\nument expected arguments\r\n\r\n* Use consistent matchers to verify response. Regardless of where response occurs, i.e. inside or outside of callback.\r\n\r\n* Add more tests covering on_body returning :abort",
"is_bot": false,
"headline": "Clarify typhoeus callbacks tests (#935)",
"author_name": "Nelli K",
"author_login": "nellirx",
"committed_at": "2022-05-05T15:40:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4d14c470442c2037f0fa544f384ab10ddd7e3781",
"body": null,
"is_bot": false,
"headline": "CI: quiet the apt-get update output",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-05-02T10:38:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f8befab82b8c1473b64a6a8f4909835b394a24b",
"body": null,
"is_bot": false,
"headline": "CI: apt update before apt install (#937)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-05-02T07:02:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "548ebff5ecab753ac189596bf09fa713df9dd641",
"body": "* Highlight callback code\r\n\r\nEasier to spot\r\n\r\n* Make test action explicit\r\n\r\nClarify that we have to pass on_data callback to request\r\n\r\n* Clarify names\r\n\r\n* Remove redundant arguments\r\n\r\n* Document on_data callback expectations\r\n\r\n* Clarify names\r\n\r\n* Remove redundant assertion\r\n\r\n* Document response body expectations\r\n\r\n* Remove redundant test",
"is_bot": false,
"headline": "Clarify faraday's on_data callback tests (#933)",
"author_name": "Nelli K",
"author_login": "nellirx",
"committed_at": "2022-04-19T07:13:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8749329b6b18955b4d183f0ad078a3a00f1f7b2",
"body": "Expected 'bundle exec rspec' to only show progress and test suite\r\nrelevant information.\r\n\r\nActual output contains request and response details alongside the test\r\nprogress output.",
"is_bot": false,
"headline": "Remove unnecessary information from test runner output (#932)",
"author_name": "Nelli K",
"author_login": "nellirx",
"committed_at": "2022-04-18T08:13:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "042fae33555eac5296b7de786c59db7b2bf10183",
"body": null,
"is_bot": false,
"headline": "CHANGELOG: add mention of #823 [ci skip]",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-03-13T20:43:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "536443eb5c7b35f472d1dcdec7705cf05483c3f3",
"body": "Followed style of https://github.com/vcr/vcr/pull/656 for Typhoeus.",
"is_bot": false,
"headline": "Add support for on_data with faraday. (#823)",
"author_name": "Dustin Zeisler",
"author_login": "zeisler",
"committed_at": "2022-03-13T20:42:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c83c04bfe0b69cda7bf6581c1b660f5a897a3490",
"body": "I realized after editing these for a while in the Releases feature that they were woefully incomplete, and worked for a while on them.",
"is_bot": false,
"headline": "Fix incomplete 6.1.0 CHANGELOG notes (#927)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-03-13T20:35:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "190a95a695191fb3bad871f37b242f8c971ad6eb",
"body": null,
"is_bot": false,
"headline": "CHANGELOG: Add new Unreleased section [ci skip]",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-03-13T19:22:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a19a615d0c9934b0fc1733c1ef986626bbac490e",
"body": null,
"is_bot": false,
"headline": "v6.1.0 (#926)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2022-03-13T19:19:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ac8292c289ca98dcb4254b59e1ee29e2205d8b3",
"body": null,
"is_bot": false,
"headline": "Drop support for Ruby 2.5 EOL (#914)",
"author_name": "André Luis Leal Cardoso Junior",
"author_login": "andrehjr",
"committed_at": "2022-02-18T22:09:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bb8d2c6f81a6720082a6db86ee11f4b82685d63",
"body": "* Lock faraday to version 1\r\n\r\n* Fix keyword argument expectation failures on Ruby 3.0+\r\n\r\nCo-authored-by: Jean Boussier <jean.boussier@gmail.com>",
"is_bot": false,
"headline": "Lock Faraday to version 1 (#925)",
"author_name": "Jean byroot Boussier",
"author_login": "casperisfine",
"committed_at": "2022-02-18T12:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ced6c96e01737a418cd270e0382a8c2c6d85f7f",
"body": null,
"is_bot": false,
"headline": "Fixes typo (#917)",
"author_name": "Dmytro Budnyk",
"author_login": "budnik",
"committed_at": "2022-01-05T08:50:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90ea3ea462384dd5335167a27fe47404623036d4",
"body": "* upgrade cucumber to 7.0\r\n\r\n* Fix specs due to Scenario#cell_values being no longer available\r\n\r\n* Update cassette file name to match behavior introduced on #845\r\n\r\n* Update Gemfile.cucumber to ~> 4.0\r\n\r\nCo-authored-by: Tim Aßmann <tassmann@jovoto.com>",
"is_bot": false,
"headline": "Upgrade cucumber to 7.0 (#915)",
"author_name": "André Luis Leal Cardoso Junior",
"author_login": "andrehjr",
"committed_at": "2022-01-02T17:50:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45b0bfda9aa8b6bca8edbbc0cdfc3ba9ad3fa165",
"body": null,
"is_bot": false,
"headline": "Don't attempt to parse a nil response when hooking into Excon (#916)",
"author_name": "André Luis Leal Cardoso Junior",
"author_login": "andrehjr",
"committed_at": "2022-01-02T07:57:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "717747a7c172319a062231eacaea2114873a4ca0",
"body": "* Add Ruby 3.1 to the Matrix\r\n\r\n* Make VCR::Cassette::Migrator compatible with newer psych",
"is_bot": false,
"headline": "Add Ruby 3.1 to the build matrix (#913)",
"author_name": "André Luis Leal Cardoso Junior",
"author_login": "andrehjr",
"committed_at": "2021-12-28T07:55:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87c1d3efd282c21ec91042c5373b8fae26d39955",
"body": null,
"is_bot": false,
"headline": "CHANGELOG: add note about #907",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2021-11-19T17:22:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98cc00b57369dfd671c227be6aa3f03d7475cb6c",
"body": "Previously the finalizer being registered failed on Ruby trunk because\r\nfinalizers are passed an argument and the lambda didn't accept one.\r\n\r\nI think it's simpler here to just use a fiber-local variable and have\r\nour array cleaned up automatically when the thread exits without need of\r\na finalizer.",
"is_bot": false,
"headline": "Use fiber-local for global_hook_disabled_requests (#907)",
"author_name": "John Hawthorn",
"author_login": "jhawthorn",
"committed_at": "2021-11-19T17:21:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a90f8a1909cccc03c7c74e04a7f14ba92c88e0b",
"body": "Psych 4.0 made `YAML.load` safe by default, meaning it won't\r\ndeserialize arbitrary types.\r\n\r\nThis causes us problem because some of our cassette have `OpenSSL::Buffering::Buffer`\r\ninstances serialized.\r\n\r\nCo-authored-by: Jean Boussier <jean.boussier@gmail.com>",
"is_bot": false,
"headline": "YAML Serializer: use unsafe_load if available (#911)",
"author_name": "Jean byroot Boussier",
"author_login": "casperisfine",
"committed_at": "2021-11-18T16:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3d9905da4f6642bce07eb3163d2e001b9f8f290",
"body": null,
"is_bot": false,
"headline": "CHANGELOG: Add recent changes",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2021-10-27T07:40:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73561cc5d04b7e9a2a50e4e8653d6a8ae29f9c69",
"body": "Prior to this change, attemptying to pass an empty hash would result in\r\nan ArgumentError in the VCR ERB renderer internals:\r\n\r\n Failure/Error: hash[attributes] = Struct.new(*attributes) unless hash.key?(attributes)\r\n\r\n ArgumentError:\r\n wrong number of arguments (given 0, expected 1+)\r\n # ./lib/vcr/cassette/erb_renderer.rb:44:in `new'\r\n ...\r\n\r\nAn empty hash is still \"true\" in Ruby, and should be usable to denote\r\nwanting ERB to evaluate, but no local variables be defined.",
"is_bot": false,
"headline": "Handle use_cassette(..., erb: {}) (#908)",
"author_name": "Sam Bostock",
"author_login": "sambostock",
"committed_at": "2021-10-27T07:36:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1d55263e3ca4140d00461382dca3035049f1e1a",
"body": "When deserializing a cassette and encountering a syntax error, the error\r\nmessage can be confusing. This is exacerbated in projects using Rails'\r\nbacktrace silencer, as the error has no apparent source outside the test\r\nitself.\r\n\r\nOne common scenario resulting in syntax errors is the use of ERB in t\n[…]\nen, a\r\nsyntax error will be encountered.\r\n\r\nThis change appends to the error's message, indicating that the error\r\nwas encountered reading a VCR cassette, and suggesting the use of the\r\n`:erb` option.",
"is_bot": false,
"headline": "Improve error message for syntax error in cassette (#909)",
"author_name": "Sam Bostock",
"author_login": "sambostock",
"committed_at": "2021-10-27T07:36:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2b46c0243b262264e7db5d3a08937e4e0715d5f7",
"body": "typhoeus 0.4 was release almost 10 years ago and is long outdated. This removes all patches and specs that target this version.",
"is_bot": false,
"headline": "Drop support for typhoeus 0.4 (#905)",
"author_name": "Tim Aßmann",
"author_login": "aka47",
"committed_at": "2021-09-01T13:59:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1e87032d4a09845f61905d9c6763774b72c3535",
"body": "All listed javascript alternatives are dead. Talkback is alive.",
"is_bot": false,
"headline": "README: Drop dead JavaScript alternatives (#904)",
"author_name": "Manuel Tancoigne",
"author_login": "mtancoigne",
"committed_at": "2021-09-01T09:44:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98a7e010e0f333264502e219b2a4a68b4634a2f4",
"body": "* Ruby 3.0 support: add webrick to Gemfile\r\n* Switch order in ruby matrix\r\n* fix: 2 failing specs and upgrade cucumber and test-unit\r\n* Drop ruby 2.4 support\r\n* Avoid deprecation in 3.0: stop using old lambda(&subject)\r\n* Update README.md notes about Ruby versions\r\n\r\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "CI: Add ruby 3.0 build matrix, and remove 2.4 (#900)",
"author_name": "Tim Aßmann",
"author_login": "aka47",
"committed_at": "2021-09-01T09:42:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0be2dbdadb7131e9ee1e55450a103d2a728f066d",
"body": "Fix broken link",
"is_bot": false,
"headline": "Fix YARD cheatsheet (#897)",
"author_name": "lulalala",
"author_login": "lulalala",
"committed_at": "2021-07-20T06:23:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d7b5778fc1b0d15a1665e3567e9721031094431",
"body": null,
"is_bot": false,
"headline": "Add localhost_ignored? to request_ignorer (#895)",
"author_name": "Thomas Hareau",
"author_login": "ThHareau",
"committed_at": "2021-07-07T13:01:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa906679a38117bd369a1bdd86fb001f8af88bdc",
"body": "* Cleanup unused scripts/ directory\r\n* Remove Travis CI configuration\r\n* README: GitHub Actions badge result for default branch only",
"is_bot": false,
"headline": "Cleanup traces of older CI (#890)",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2021-05-28T12:40:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6df96dd10375e74901b84b00771595589ef094d",
"body": "* Only include Ruby versions that were already in the matrix in TravisCI. This currently excludes 3.0.\r\n* Skip 1 flaky concurrency test.\r\n* Set request options for em-http-request to not set headers.\r\n* Add a test for documentation coverage.\r\n* Check warnings from all tests, but don't check warnings for gems.\r\n\r\nCo-authored-by: Olle Jonsson <olle.jonsson@gmail.com>",
"is_bot": false,
"headline": "CI: Use GitHub Actions (#883)",
"author_name": "Jimmy Bradshaw",
"author_login": "bradshjg",
"committed_at": "2021-05-28T09:00:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c0ded824dd8b1f9d50ab5d48a53be065b94ece8",
"body": "[ci skip]",
"is_bot": false,
"headline": "CHANGELOG: Link to full changelog in \"Unreleased\"",
"author_name": "Olle Jonsson",
"author_login": "olleolleolle",
"committed_at": "2021-03-18T17:03:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7dc4f281ae9b25ff53baa860e29817270fca2e9d",
"body": "Co-authored-by: Tomasz Dąbrowski <t.dabrowski@28byteslater.com>",
"is_bot": false,
"headline": "Extract vcr_cassette_name_for (#882)",
"author_name": "Tomasz Dąbrowski",
"author_login": "dabroz",
"committed_at": "2021-03-18T17:00:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f67043a1c891f345746600683cf515e7d71431e",
"body": null,
"is_bot": false,
"headline": "Updating rake due to vulnerability (#880)",
"author_name": "Kurtis Rainbolt-Greene",
"author_login": "krainboltgreene",
"committed_at": "2021-02-28T08:57:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2556e6121afbfe7d69433d23888f6dae7f1c39a6",
"body": "Co-authored-by: Kurtis Rainbolt-Greene <kurtis@rainbolt-greene.online>",
"is_bot": false,
"headline": "Generate pretty-formatted JSON cassettes (#840)",
"author_name": "Nikolay Markov",
"author_login": "mainameiz",
"committed_at": "2021-02-11T17:52:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbfd03dd68237a9325e27c587c63dff35921c4ef",
"body": "In version 4 of Cucumber-Ruby the execution of test cases is based on\r\nPickles. Therefore less data from the feature files are available to\r\nthe before/after/etc hooks. Also the Gherkin grammar has changed so\r\nthat (all) Scenarios can have Examples - that is \"Scenario Outline\" is\r\nnot just synonym f\n[…]\ncenario\".\r\n\r\nTherefore, in case of the \"use scenario name\" option, use the feature\r\nfile name instead of feature name, and use the row of the example to\r\ncreate uniqueness for Scenarios with Examples.",
"is_bot": false,
"headline": "Support Cucumber-Ruby v4 and later (#845)",
"author_name": "Björn Rasmusson",
"author_login": "brasmusson",
"committed_at": "2021-01-24T20:53:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "16231dbf0b7d011f2ea9b9b82b5162853d0de032",
"body": "* Update docs to warn of a possible gotcha\r\n\r\n`filter_sensitive_data` may silently ignore replacing\r\nthe intended text if it has been encoded.\r\n\r\nCo-authored-by: Kenton Hirowatari <kenton@hirowatari.com>",
"is_bot": false,
"headline": "Update docs to warn of a possible gotcha (#837)",
"author_name": "hirowatari",
"author_login": "hirowatari",
"committed_at": "2020-12-29T07:29:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19252d727e8290a8d56a524a75d1790258234166",
"body": null,
"is_bot": false,
"headline": "Update FUNDING.yml",
"author_name": "Kurtis Rainbolt-Greene",
"author_login": "krainboltgreene",
"committed_at": "2020-12-12T23:30:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c91d29bc731df36d77f97dc4174d4dc497c1676c",
"body": null,
"is_bot": false,
"headline": "Remove stale comment about MultiJSON (#841)",
"author_name": "Nikolay Markov",
"author_login": "mainameiz",
"committed_at": "2020-11-19T12:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8a6b241e49ef253a49b16ff95975b5544ba9a2c",
"body": "Co-authored-by: Kenton Hirowatari <kenton@hirowatari.com>",
"is_bot": false,
"headline": "Changelog: add Unreleased changes section (#839)",
"author_name": "hirowatari",
"author_login": "hirowatari",
"committed_at": "2020-10-07T05:43:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ea7e1d79e0d89f44e77add2cc664155cbcce74a",
"body": "* ignore trailing . on host\r\n\r\n* refactor host matching into LimitedURI\r\n\r\nCo-authored-by: Kenton Hirowatari <kenton@hirowatari.com>",
"is_bot": false,
"headline": "Allow a Host trailing dot to match same Host without it (#838)",
"author_name": "hirowatari",
"author_login": "hirowatari",
"committed_at": "2020-10-04T05:19:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "570e1d9d3cf1a5bab1909195b317e84aeeec7e2c",
"body": "Co-authored-by: Kenton Hirowatari <kenton@hirowatari.com>",
"is_bot": false,
"headline": "add VCR.turned_on (#835)",
"author_name": "hirowatari",
"author_login": "hirowatari",
"committed_at": "2020-10-02T16:01:43Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 6,
"commits_last_year": 15,
"latest_release_at": "2025-12-22T21:18:56Z",
"latest_release_tag": "v6.4.0",
"releases_from_tags": false,
"days_since_last_push": 28,
"active_weeks_last_year": 10,
"days_since_latest_release": 211,
"mean_days_between_releases": 406.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "vcr",
"exists": true,
"license": "Hippocratic-2.1",
"keywords": [],
"ecosystem": "rubygems",
"matches_repo": false,
"registry_url": "https://rubygems.org/gems/vcr",
"is_deprecated": false,
"latest_version": "6.4.0",
"repository_url": "https://benoittgt.github.io/vcr",
"versions_count": 72,
"total_downloads": 160195690,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2010-02-25T18:01:14.667000Z",
"latest_published_at": "2025-12-22T21:17:45.738000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 211
}
]
},
"popularity": {
"forks": 511,
"stars": 6075,
"watchers": 70,
"fork_history": {
"days": [
{
"date": "2010-03-08",
"count": 1
},
{
"date": "2010-07-01",
"count": 1
},
{
"date": "2010-08-16",
"count": 1
},
{
"date": "2010-10-29",
"count": 1
},
{
"date": "2010-12-05",
"count": 1
},
{
"date": "2010-12-17",
"count": 1
},
{
"date": "2011-01-05",
"count": 1
},
{
"date": "2011-01-07",
"count": 1
},
{
"date": "2011-02-11",
"count": 2
},
{
"date": "2011-02-24",
"count": 1
},
{
"date": "2011-03-08",
"count": 1
},
{
"date": "2011-03-23",
"count": 1
},
{
"date": "2011-04-08",
"count": 1
},
{
"date": "2011-04-18",
"count": 1
},
{
"date": "2011-06-17",
"count": 1
},
{
"date": "2011-06-20",
"count": 1
},
{
"date": "2011-07-10",
"count": 1
},
{
"date": "2011-07-12",
"count": 1
},
{
"date": "2011-07-16",
"count": 1
},
{
"date": "2011-08-21",
"count": 1
},
{
"date": "2011-08-30",
"count": 1
},
{
"date": "2011-09-07",
"count": 1
},
{
"date": "2011-09-19",
"count": 1
},
{
"date": "2011-09-22",
"count": 1
},
{
"date": "2011-09-28",
"count": 1
},
{
"date": "2011-10-18",
"count": 1
},
{
"date": "2011-10-25",
"count": 1
},
{
"date": "2011-11-01",
"count": 1
},
{
"date": "2011-11-17",
"count": 1
},
{
"date": "2011-11-21",
"count": 1
},
{
"date": "2011-11-22",
"count": 2
},
{
"date": "2011-11-23",
"count": 1
},
{
"date": "2011-11-25",
"count": 1
},
{
"date": "2011-11-26",
"count": 1
},
{
"date": "2011-11-30",
"count": 1
},
{
"date": "2011-12-01",
"count": 2
},
{
"date": "2011-12-07",
"count": 1
},
{
"date": "2011-12-17",
"count": 1
},
{
"date": "2012-01-03",
"count": 1
},
{
"date": "2012-01-10",
"count": 1
},
{
"date": "2012-01-28",
"count": 1
},
{
"date": "2012-02-27",
"count": 1
},
{
"date": "2012-03-01",
"count": 1
},
{
"date": "2012-03-06",
"count": 1
},
{
"date": "2012-03-07",
"count": 1
},
{
"date": "2012-03-13",
"count": 1
},
{
"date": "2012-03-19",
"count": 1
},
{
"date": "2012-03-21",
"count": 1
},
{
"date": "2012-03-30",
"count": 1
},
{
"date": "2012-04-01",
"count": 1
},
{
"date": "2012-04-22",
"count": 1
},
{
"date": "2012-04-23",
"count": 1
},
{
"date": "2012-04-24",
"count": 1
},
{
"date": "2012-04-28",
"count": 1
},
{
"date": "2012-05-01",
"count": 1
},
{
"date": "2012-05-03",
"count": 1
},
{
"date": "2012-05-04",
"count": 1
},
{
"date": "2012-05-26",
"count": 1
},
{
"date": "2012-06-13",
"count": 2
},
{
"date": "2012-06-26",
"count": 1
},
{
"date": "2012-07-03",
"count": 1
},
{
"date": "2012-07-24",
"count": 2
},
{
"date": "2012-07-25",
"count": 1
},
{
"date": "2012-08-18",
"count": 1
},
{
"date": "2012-08-24",
"count": 1
},
{
"date": "2012-08-27",
"count": 1
},
{
"date": "2012-09-22",
"count": 1
},
{
"date": "2012-10-14",
"count": 1
},
{
"date": "2012-10-29",
"count": 1
},
{
"date": "2012-11-01",
"count": 1
},
{
"date": "2012-11-13",
"count": 1
},
{
"date": "2012-11-24",
"count": 1
},
{
"date": "2012-11-25",
"count": 4
},
{
"date": "2012-11-27",
"count": 1
},
{
"date": "2012-11-29",
"count": 2
},
{
"date": "2012-12-03",
"count": 1
},
{
"date": "2012-12-05",
"count": 1
},
{
"date": "2012-12-06",
"count": 2
},
{
"date": "2012-12-07",
"count": 1
},
{
"date": "2012-12-17",
"count": 1
},
{
"date": "2012-12-30",
"count": 1
},
{
"date": "2013-01-08",
"count": 2
},
{
"date": "2013-01-15",
"count": 3
},
{
"date": "2013-01-18",
"count": 1
},
{
"date": "2013-01-25",
"count": 1
},
{
"date": "2013-01-26",
"count": 1
},
{
"date": "2013-01-28",
"count": 1
},
{
"date": "2013-02-28",
"count": 1
},
{
"date": "2013-03-02",
"count": 1
},
{
"date": "2013-03-06",
"count": 1
},
{
"date": "2013-03-18",
"count": 1
},
{
"date": "2013-03-20",
"count": 1
},
{
"date": "2013-04-07",
"count": 1
},
{
"date": "2013-04-14",
"count": 1
},
{
"date": "2013-04-17",
"count": 1
},
{
"date": "2013-05-07",
"count": 1
},
{
"date": "2013-05-20",
"count": 2
},
{
"date": "2013-05-24",
"count": 1
},
{
"date": "2013-06-13",
"count": 1
},
{
"date": "2013-06-18",
"count": 1
},
{
"date": "2013-06-25",
"count": 1
},
{
"date": "2013-06-27",
"count": 1
},
{
"date": "2013-07-08",
"count": 1
},
{
"date": "2013-07-11",
"count": 1
},
{
"date": "2013-07-13",
"count": 1
},
{
"date": "2013-07-24",
"count": 1
},
{
"date": "2013-09-16",
"count": 1
},
{
"date": "2013-09-18",
"count": 2
},
{
"date": "2013-09-22",
"count": 1
},
{
"date": "2013-09-24",
"count": 1
},
{
"date": "2013-09-30",
"count": 1
},
{
"date": "2013-10-09",
"count": 1
},
{
"date": "2013-10-22",
"count": 1
},
{
"date": "2013-11-04",
"count": 1
},
{
"date": "2013-11-12",
"count": 1
},
{
"date": "2013-11-17",
"count": 1
},
{
"date": "2013-11-19",
"count": 1
},
{
"date": "2013-11-21",
"count": 1
},
{
"date": "2013-11-28",
"count": 1
},
{
"date": "2013-12-12",
"count": 2
},
{
"date": "2013-12-16",
"count": 1
},
{
"date": "2013-12-20",
"count": 1
},
{
"date": "2014-01-07",
"count": 1
},
{
"date": "2014-01-13",
"count": 1
},
{
"date": "2014-01-21",
"count": 1
},
{
"date": "2014-01-23",
"count": 1
},
{
"date": "2014-01-28",
"count": 1
},
{
"date": "2014-02-15",
"count": 1
},
{
"date": "2014-02-18",
"count": 1
},
{
"date": "2014-02-27",
"count": 1
},
{
"date": "2014-03-03",
"count": 1
},
{
"date": "2014-03-07",
"count": 1
},
{
"date": "2014-03-22",
"count": 1
},
{
"date": "2014-03-27",
"count": 1
},
{
"date": "2014-04-02",
"count": 1
},
{
"date": "2014-04-03",
"count": 1
},
{
"date": "2014-04-22",
"count": 1
},
{
"date": "2014-05-02",
"count": 2
},
{
"date": "2014-05-03",
"count": 1
},
{
"date": "2014-06-27",
"count": 1
},
{
"date": "2014-07-01",
"count": 1
},
{
"date": "2014-07-02",
"count": 1
},
{
"date": "2014-07-08",
"count": 1
},
{
"date": "2014-07-25",
"count": 2
},
{
"date": "2014-08-19",
"count": 1
},
{
"date": "2014-08-25",
"count": 1
},
{
"date": "2014-09-17",
"count": 1
},
{
"date": "2014-10-06",
"count": 1
},
{
"date": "2014-10-13",
"count": 1
},
{
"date": "2014-10-15",
"count": 1
},
{
"date": "2014-10-17",
"count": 1
},
{
"date": "2014-10-20",
"count": 1
},
{
"date": "2014-10-21",
"count": 1
},
{
"date": "2014-10-30",
"count": 1
},
{
"date": "2014-11-03",
"count": 1
},
{
"date": "2014-11-18",
"count": 1
},
{
"date": "2014-11-25",
"count": 1
},
{
"date": "2014-12-15",
"count": 1
},
{
"date": "2014-12-25",
"count": 1
},
{
"date": "2015-01-08",
"count": 1
},
{
"date": "2015-01-09",
"count": 1
},
{
"date": "2015-01-12",
"count": 1
},
{
"date": "2015-01-14",
"count": 1
},
{
"date": "2015-01-29",
"count": 1
},
{
"date": "2015-02-04",
"count": 1
},
{
"date": "2015-02-11",
"count": 1
},
{
"date": "2015-02-19",
"count": 1
},
{
"date": "2015-02-26",
"count": 1
},
{
"date": "2015-03-04",
"count": 1
},
{
"date": "2015-03-08",
"count": 1
},
{
"date": "2015-03-16",
"count": 1
},
{
"date": "2015-03-26",
"count": 1
},
{
"date": "2015-04-01",
"count": 1
},
{
"date": "2015-04-09",
"count": 1
},
{
"date": "2015-04-13",
"count": 1
},
{
"date": "2015-04-16",
"count": 1
},
{
"date": "2015-04-19",
"count": 1
},
{
"date": "2015-04-30",
"count": 1
},
{
"date": "2015-05-07",
"count": 1
},
{
"date": "2015-05-15",
"count": 1
},
{
"date": "2015-05-19",
"count": 2
},
{
"date": "2015-05-22",
"count": 1
},
{
"date": "2015-06-06",
"count": 1
},
{
"date": "2015-06-20",
"count": 1
},
{
"date": "2015-07-06",
"count": 1
},
{
"date": "2015-07-21",
"count": 1
},
{
"date": "2015-07-24",
"count": 1
},
{
"date": "2015-08-04",
"count": 1
},
{
"date": "2015-08-07",
"count": 1
},
{
"date": "2015-08-12",
"count": 2
},
{
"date": "2015-08-24",
"count": 1
},
{
"date": "2015-08-30",
"count": 1
},
{
"date": "2015-09-07",
"count": 1
},
{
"date": "2015-09-15",
"count": 1
},
{
"date": "2015-10-08",
"count": 1
},
{
"date": "2015-10-09",
"count": 1
},
{
"date": "2015-10-14",
"count": 1
},
{
"date": "2015-10-17",
"count": 1
},
{
"date": "2015-10-30",
"count": 1
},
{
"date": "2015-10-31",
"count": 1
},
{
"date": "2015-11-02",
"count": 1
},
{
"date": "2015-11-04",
"count": 1
},
{
"date": "2015-11-07",
"count": 1
},
{
"date": "2015-11-11",
"count": 1
},
{
"date": "2015-11-12",
"count": 1
},
{
"date": "2015-11-27",
"count": 1
},
{
"date": "2015-12-02",
"count": 1
},
{
"date": "2015-12-03",
"count": 1
},
{
"date": "2015-12-08",
"count": 1
},
{
"date": "2015-12-14",
"count": 1
},
{
"date": "2015-12-19",
"count": 1
},
{
"date": "2016-01-03",
"count": 1
},
{
"date": "2016-01-04",
"count": 1
},
{
"date": "2016-01-05",
"count": 2
},
{
"date": "2016-01-10",
"count": 1
},
{
"date": "2016-01-16",
"count": 1
},
{
"date": "2016-01-18",
"count": 1
},
{
"date": "2016-01-20",
"count": 1
},
{
"date": "2016-01-21",
"count": 1
},
{
"date": "2016-01-22",
"count": 1
},
{
"date": "2016-02-16",
"count": 2
},
{
"date": "2016-02-19",
"count": 1
},
{
"date": "2016-02-26",
"count": 1
},
{
"date": "2016-02-28",
"count": 1
},
{
"date": "2016-03-02",
"count": 1
},
{
"date": "2016-03-06",
"count": 1
},
{
"date": "2016-03-09",
"count": 1
},
{
"date": "2016-03-14",
"count": 1
},
{
"date": "2016-04-03",
"count": 1
},
{
"date": "2016-04-11",
"count": 1
},
{
"date": "2016-04-16",
"count": 1
},
{
"date": "2016-04-21",
"count": 2
},
{
"date": "2016-04-23",
"count": 1
},
{
"date": "2016-04-27",
"count": 1
},
{
"date": "2016-05-06",
"count": 2
},
{
"date": "2016-05-07",
"count": 1
},
{
"date": "2016-06-01",
"count": 1
},
{
"date": "2016-06-04",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-06-15",
"count": 2
},
{
"date": "2016-06-21",
"count": 1
},
{
"date": "2016-06-23",
"count": 1
},
{
"date": "2016-07-13",
"count": 2
},
{
"date": "2016-07-29",
"count": 1
},
{
"date": "2016-08-10",
"count": 1
},
{
"date": "2016-08-12",
"count": 1
},
{
"date": "2016-09-01",
"count": 1
},
{
"date": "2016-10-12",
"count": 1
},
{
"date": "2016-10-28",
"count": 1
},
{
"date": "2016-11-09",
"count": 1
},
{
"date": "2016-11-12",
"count": 1
},
{
"date": "2016-11-14",
"count": 1
},
{
"date": "2016-11-19",
"count": 1
},
{
"date": "2016-11-21",
"count": 1
},
{
"date": "2016-11-23",
"count": 1
},
{
"date": "2016-12-07",
"count": 1
},
{
"date": "2016-12-21",
"count": 1
},
{
"date": "2017-01-15",
"count": 1
},
{
"date": "2017-01-16",
"count": 2
},
{
"date": "2017-01-18",
"count": 1
},
{
"date": "2017-01-31",
"count": 1
},
{
"date": "2017-02-01",
"count": 1
},
{
"date": "2017-02-03",
"count": 1
},
{
"date": "2017-02-20",
"count": 1
},
{
"date": "2017-02-24",
"count": 1
},
{
"date": "2017-03-03",
"count": 1
},
{
"date": "2017-03-07",
"count": 1
},
{
"date": "2017-03-21",
"count": 1
},
{
"date": "2017-04-09",
"count": 1
},
{
"date": "2017-04-11",
"count": 1
},
{
"date": "2017-04-21",
"count": 1
},
{
"date": "2017-05-12",
"count": 1
},
{
"date": "2017-05-17",
"count": 1
},
{
"date": "2017-06-14",
"count": 2
},
{
"date": "2017-06-22",
"count": 2
},
{
"date": "2017-07-07",
"count": 1
},
{
"date": "2017-07-20",
"count": 1
},
{
"date": "2017-08-03",
"count": 1
},
{
"date": "2017-08-05",
"count": 1
},
{
"date": "2017-08-24",
"count": 1
},
{
"date": "2017-09-06",
"count": 1
},
{
"date": "2017-09-11",
"count": 1
},
{
"date": "2017-09-16",
"count": 1
},
{
"date": "2017-09-20",
"count": 2
},
{
"date": "2017-10-02",
"count": 2
},
{
"date": "2017-10-19",
"count": 1
},
{
"date": "2017-10-22",
"count": 1
},
{
"date": "2017-10-23",
"count": 1
},
{
"date": "2017-11-16",
"count": 1
},
{
"date": "2017-11-28",
"count": 1
},
{
"date": "2017-12-01",
"count": 1
},
{
"date": "2017-12-11",
"count": 1
},
{
"date": "2017-12-19",
"count": 1
},
{
"date": "2018-01-08",
"count": 1
},
{
"date": "2018-01-29",
"count": 1
},
{
"date": "2018-02-01",
"count": 1
},
{
"date": "2018-02-27",
"count": 1
},
{
"date": "2018-03-28",
"count": 1
},
{
"date": "2018-05-10",
"count": 1
},
{
"date": "2018-06-01",
"count": 1
},
{
"date": "2018-07-20",
"count": 1
},
{
"date": "2018-07-23",
"count": 1
},
{
"date": "2018-07-28",
"count": 1
},
{
"date": "2018-08-23",
"count": 1
},
{
"date": "2018-10-11",
"count": 1
},
{
"date": "2018-10-26",
"count": 1
},
{
"date": "2018-10-31",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-11-26",
"count": 1
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-03",
"count": 1
},
{
"date": "2018-12-10",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2019-02-06",
"count": 1
},
{
"date": "2019-02-07",
"count": 1
},
{
"date": "2019-02-13",
"count": 1
},
{
"date": "2019-02-15",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-04-12",
"count": 1
},
{
"date": "2019-04-14",
"count": 1
},
{
"date": "2019-04-29",
"count": 1
},
{
"date": "2019-05-20",
"count": 1
},
{
"date": "2019-05-30",
"count": 1
},
{
"date": "2019-06-02",
"count": 1
},
{
"date": "2019-06-05",
"count": 1
},
{
"date": "2019-06-17",
"count": 1
},
{
"date": "2019-06-20",
"count": 1
},
{
"date": "2019-07-03",
"count": 1
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-07-26",
"count": 1
},
{
"date": "2019-08-03",
"count": 1
},
{
"date": "2019-08-07",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-09-10",
"count": 1
},
{
"date": "2019-09-14",
"count": 1
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-10-19",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-10-27",
"count": 1
},
{
"date": "2019-11-20",
"count": 1
},
{
"date": "2019-11-26",
"count": 1
},
{
"date": "2019-12-20",
"count": 1
},
{
"date": "2020-01-22",
"count": 1
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-01-30",
"count": 1
},
{
"date": "2020-02-03",
"count": 1
},
{
"date": "2020-02-18",
"count": 1
},
{
"date": "2020-02-20",
"count": 1
},
{
"date": "2020-02-27",
"count": 1
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-05-07",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-06-15",
"count": 1
},
{
"date": "2020-06-26",
"count": 1
},
{
"date": "2020-07-21",
"count": 1
},
{
"date": "2020-08-28",
"count": 1
},
{
"date": "2020-09-09",
"count": 1
},
{
"date": "2020-09-25",
"count": 1
},
{
"date": "2020-10-03",
"count": 1
},
{
"date": "2020-10-14",
"count": 1
},
{
"date": "2020-10-19",
"count": 1
},
{
"date": "2020-11-15",
"count": 1
},
{
"date": "2021-01-24",
"count": 1
},
{
"date": "2021-01-30",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-28",
"count": 1
},
{
"date": "2021-03-17",
"count": 1
},
{
"date": "2021-03-18",
"count": 2
},
{
"date": "2021-03-24",
"count": 1
},
{
"date": "2021-03-27",
"count": 1
},
{
"date": "2021-05-26",
"count": 1
},
{
"date": "2021-06-07",
"count": 1
},
{
"date": "2021-07-16",
"count": 1
},
{
"date": "2021-07-20",
"count": 1
},
{
"date": "2021-07-29",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-08-31",
"count": 1
},
{
"date": "2021-10-14",
"count": 1
},
{
"date": "2021-10-27",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-12-28",
"count": 2
},
{
"date": "2022-01-05",
"count": 3
},
{
"date": "2022-01-08",
"count": 1
},
{
"date": "2022-01-11",
"count": 1
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-25",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-03-29",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-05-03",
"count": 1
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-14",
"count": 1
},
{
"date": "2022-07-21",
"count": 1
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-21",
"count": 1
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-11-09",
"count": 1
},
{
"date": "2022-12-18",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-23",
"count": 1
},
{
"date": "2023-03-27",
"count": 1
},
{
"date": "2023-04-12",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-05-14",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-10-03",
"count": 1
},
{
"date": "2023-12-09",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-21",
"count": 1
},
{
"date": "2024-06-23",
"count": 1
},
{
"date": "2024-06-29",
"count": 1
},
{
"date": "2024-07-03",
"count": 1
},
{
"date": "2024-07-12",
"count": 2
},
{
"date": "2024-07-16",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-16",
"count": 1
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-12",
"count": 1
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-01-28",
"count": 1
},
{
"date": "2025-02-23",
"count": 1
},
{
"date": "2025-04-06",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-05-16",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-09-27",
"count": 1
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-02-13",
"count": 1
},
{
"date": "2026-04-06",
"count": 1
},
{
"date": "2026-04-16",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-22",
"count": 1
},
{
"date": "2026-07-19",
"count": 3
}
],
"complete": true,
"collected": 486,
"total_forks": 511
},
"star_history": {
"days": [
{
"date": "2021-10-04",
"count": 1
},
{
"date": "2021-10-05",
"count": 1
},
{
"date": "2021-10-06",
"count": 3
},
{
"date": "2021-10-07",
"count": 1
},
{
"date": "2021-10-08",
"count": 1
},
{
"date": "2021-10-09",
"count": 1
},
{
"date": "2021-10-10",
"count": 1
},
{
"date": "2021-10-11",
"count": 1
},
{
"date": "2021-10-12",
"count": 2
},
{
"date": "2021-10-14",
"count": 1
},
{
"date": "2021-10-15",
"count": 3
},
{
"date": "2021-10-19",
"count": 1
},
{
"date": "2021-10-21",
"count": 2
},
{
"date": "2021-10-22",
"count": 2
},
{
"date": "2021-10-27",
"count": 1
},
{
"date": "2021-10-28",
"count": 2
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-11-01",
"count": 1
},
{
"date": "2021-11-02",
"count": 1
},
{
"date": "2021-11-10",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-11-15",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-25",
"count": 1
},
{
"date": "2021-11-26",
"count": 1
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-05",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-08",
"count": 3
},
{
"date": "2021-12-10",
"count": 2
},
{
"date": "2021-12-12",
"count": 1
},
{
"date": "2021-12-13",
"count": 1
},
{
"date": "2021-12-14",
"count": 1
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2021-12-24",
"count": 3
},
{
"date": "2021-12-26",
"count": 2
},
{
"date": "2021-12-27",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-01",
"count": 3
},
{
"date": "2022-01-04",
"count": 1
},
{
"date": "2022-01-06",
"count": 2
},
{
"date": "2022-01-08",
"count": 2
},
{
"date": "2022-01-09",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-01-11",
"count": 2
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-13",
"count": 2
},
{
"date": "2022-01-17",
"count": 2
},
{
"date": "2022-01-19",
"count": 3
},
{
"date": "2022-01-20",
"count": 1
},
{
"date": "2022-01-22",
"count": 1
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-01-25",
"count": 1
},
{
"date": "2022-01-31",
"count": 1
},
{
"date": "2022-02-02",
"count": 1
},
{
"date": "2022-02-03",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-02-10",
"count": 2
},
{
"date": "2022-02-13",
"count": 2
},
{
"date": "2022-02-16",
"count": 2
},
{
"date": "2022-02-18",
"count": 2
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-02-23",
"count": 2
},
{
"date": "2022-03-02",
"count": 3
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-08",
"count": 4
},
{
"date": "2022-03-09",
"count": 2
},
{
"date": "2022-03-10",
"count": 2
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-12",
"count": 1
},
{
"date": "2022-03-14",
"count": 3
},
{
"date": "2022-03-16",
"count": 1
},
{
"date": "2022-03-18",
"count": 2
},
{
"date": "2022-03-20",
"count": 1
},
{
"date": "2022-03-21",
"count": 2
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-24",
"count": 1
},
{
"date": "2022-03-25",
"count": 2
},
{
"date": "2022-03-26",
"count": 2
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-03-30",
"count": 2
},
{
"date": "2022-04-01",
"count": 1
},
{
"date": "2022-04-02",
"count": 1
},
{
"date": "2022-04-03",
"count": 2
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-07",
"count": 2
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-12",
"count": 2
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-14",
"count": 3
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-18",
"count": 3
},
{
"date": "2022-04-20",
"count": 1
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-04-26",
"count": 1
},
{
"date": "2022-04-28",
"count": 1
},
{
"date": "2022-05-01",
"count": 2
},
{
"date": "2022-05-02",
"count": 1
},
{
"date": "2022-05-03",
"count": 2
},
{
"date": "2022-05-04",
"count": 2
},
{
"date": "2022-05-05",
"count": 1
},
{
"date": "2022-05-06",
"count": 2
},
{
"date": "2022-05-08",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-05-12",
"count": 2
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-19",
"count": 2
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-05-26",
"count": 1
},
{
"date": "2022-05-30",
"count": 1
},
{
"date": "2022-05-31",
"count": 1
},
{
"date": "2022-06-03",
"count": 2
},
{
"date": "2022-06-04",
"count": 1
},
{
"date": "2022-06-05",
"count": 1
},
{
"date": "2022-06-06",
"count": 3
},
{
"date": "2022-06-07",
"count": 2
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-15",
"count": 1
},
{
"date": "2022-06-16",
"count": 1
},
{
"date": "2022-06-17",
"count": 3
},
{
"date": "2022-06-20",
"count": 1
},
{
"date": "2022-06-21",
"count": 1
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-27",
"count": 2
},
{
"date": "2022-06-29",
"count": 1
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-06",
"count": 1
},
{
"date": "2022-07-07",
"count": 1
},
{
"date": "2022-07-08",
"count": 1
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-07-15",
"count": 1
},
{
"date": "2022-07-19",
"count": 1
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-07-21",
"count": 2
},
{
"date": "2022-07-22",
"count": 1
},
{
"date": "2022-07-23",
"count": 1
},
{
"date": "2022-07-25",
"count": 2
},
{
"date": "2022-07-26",
"count": 1
},
{
"date": "2022-07-28",
"count": 2
},
{
"date": "2022-07-29",
"count": 2
},
{
"date": "2022-08-02",
"count": 2
},
{
"date": "2022-08-07",
"count": 1
},
{
"date": "2022-08-08",
"count": 1
},
{
"date": "2022-08-11",
"count": 3
},
{
"date": "2022-08-12",
"count": 1
},
{
"date": "2022-08-14",
"count": 1
},
{
"date": "2022-08-17",
"count": 1
},
{
"date": "2022-08-18",
"count": 1
},
{
"date": "2022-08-22",
"count": 2
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-08-25",
"count": 1
},
{
"date": "2022-08-28",
"count": 2
},
{
"date": "2022-08-29",
"count": 1
},
{
"date": "2022-08-31",
"count": 2
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-05",
"count": 1
},
{
"date": "2022-09-07",
"count": 2
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-10",
"count": 1
},
{
"date": "2022-09-14",
"count": 2
},
{
"date": "2022-09-16",
"count": 4
},
{
"date": "2022-09-19",
"count": 1
},
{
"date": "2022-09-21",
"count": 1
},
{
"date": "2022-09-22",
"count": 1
},
{
"date": "2022-09-23",
"count": 2
},
{
"date": "2022-09-25",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-09-29",
"count": 1
},
{
"date": "2022-09-30",
"count": 1
},
{
"date": "2022-10-04",
"count": 1
},
{
"date": "2022-10-06",
"count": 2
},
{
"date": "2022-10-11",
"count": 1
},
{
"date": "2022-10-12",
"count": 4
},
{
"date": "2022-10-13",
"count": 2
},
{
"date": "2022-10-14",
"count": 1
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-24",
"count": 1
},
{
"date": "2022-10-25",
"count": 1
},
{
"date": "2022-10-26",
"count": 2
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-03",
"count": 1
},
{
"date": "2022-11-07",
"count": 1
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-13",
"count": 1
},
{
"date": "2022-11-15",
"count": 3
},
{
"date": "2022-11-16",
"count": 2
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-11-28",
"count": 2
},
{
"date": "2022-11-29",
"count": 2
},
{
"date": "2022-12-01",
"count": 3
},
{
"date": "2022-12-06",
"count": 1
},
{
"date": "2022-12-09",
"count": 2
},
{
"date": "2022-12-11",
"count": 1
},
{
"date": "2022-12-12",
"count": 3
},
{
"date": "2022-12-13",
"count": 5
},
{
"date": "2022-12-14",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-16",
"count": 2
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-20",
"count": 1
},
{
"date": "2022-12-21",
"count": 1
},
{
"date": "2022-12-25",
"count": 1
},
{
"date": "2022-12-29",
"count": 1
},
{
"date": "2022-12-30",
"count": 2
},
{
"date": "2023-01-03",
"count": 1
},
{
"date": "2023-01-10",
"count": 2
},
{
"date": "2023-01-12",
"count": 3
},
{
"date": "2023-01-14",
"count": 2
},
{
"date": "2023-01-16",
"count": 2
},
{
"date": "2023-01-18",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-01-21",
"count": 2
},
{
"date": "2023-01-23",
"count": 1
},
{
"date": "2023-01-24",
"count": 1
},
{
"date": "2023-01-25",
"count": 2
},
{
"date": "2023-01-27",
"count": 1
},
{
"date": "2023-01-28",
"count": 1
},
{
"date": "2023-01-29",
"count": 2
},
{
"date": "2023-01-30",
"count": 1
},
{
"date": "2023-02-01",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-02-09",
"count": 4
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-15",
"count": 1
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-21",
"count": 1
},
{
"date": "2023-02-22",
"count": 1
},
{
"date": "2023-02-23",
"count": 3
},
{
"date": "2023-02-27",
"count": 2
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-04",
"count": 1
},
{
"date": "2023-03-08",
"count": 1
},
{
"date": "2023-03-09",
"count": 1
},
{
"date": "2023-03-13",
"count": 1
},
{
"date": "2023-03-14",
"count": 1
},
{
"date": "2023-03-15",
"count": 2
},
{
"date": "2023-03-16",
"count": 1
},
{
"date": "2023-03-18",
"count": 2
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2023-03-22",
"count": 1
},
{
"date": "2023-03-23",
"count": 3
},
{
"date": "2023-03-24",
"count": 1
},
{
"date": "2023-03-27",
"count": 1
},
{
"date": "2023-03-28",
"count": 1
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-03-31",
"count": 1
},
{
"date": "2023-04-01",
"count": 1
},
{
"date": "2023-04-02",
"count": 1
},
{
"date": "2023-04-03",
"count": 2
},
{
"date": "2023-04-06",
"count": 1
},
{
"date": "2023-04-13",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-17",
"count": 1
},
{
"date": "2023-04-18",
"count": 1
},
{
"date": "2023-04-20",
"count": 2
},
{
"date": "2023-04-21",
"count": 1
},
{
"date": "2023-04-22",
"count": 1
},
{
"date": "2023-04-23",
"count": 1
},
{
"date": "2023-04-25",
"count": 2
},
{
"date": "2023-04-26",
"count": 2
},
{
"date": "2023-04-28",
"count": 2
},
{
"date": "2023-05-01",
"count": 2
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-03",
"count": 1
},
{
"date": "2023-05-10",
"count": 1
},
{
"date": "2023-05-14",
"count": 2
},
{
"date": "2023-05-15",
"count": 1
},
{
"date": "2023-05-25",
"count": 1
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-05-29",
"count": 1
},
{
"date": "2023-06-01",
"count": 1
},
{
"date": "2023-06-07",
"count": 2
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-09",
"count": 1
},
{
"date": "2023-06-10",
"count": 1
},
{
"date": "2023-06-12",
"count": 1
},
{
"date": "2023-06-13",
"count": 1
},
{
"date": "2023-06-14",
"count": 3
},
{
"date": "2023-06-15",
"count": 1
},
{
"date": "2023-06-16",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-06-22",
"count": 2
},
{
"date": "2023-06-24",
"count": 2
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-06-28",
"count": 2
},
{
"date": "2023-06-29",
"count": 2
},
{
"date": "2023-07-05",
"count": 1
},
{
"date": "2023-07-06",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2023-07-11",
"count": 2
},
{
"date": "2023-07-14",
"count": 3
},
{
"date": "2023-07-16",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-07-21",
"count": 2
},
{
"date": "2023-07-22",
"count": 3
},
{
"date": "2023-07-24",
"count": 1
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-08-02",
"count": 1
},
{
"date": "2023-08-03",
"count": 2
},
{
"date": "2023-08-08",
"count": 2
},
{
"date": "2023-08-09",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-08-11",
"count": 1
},
{
"date": "2023-08-18",
"count": 2
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-08-22",
"count": 1
},
{
"date": "2023-08-23",
"count": 1
},
{
"date": "2023-08-25",
"count": 1
},
{
"date": "2023-08-29",
"count": 1
},
{
"date": "2023-08-30",
"count": 1
},
{
"date": "2023-09-05",
"count": 1
},
{
"date": "2023-09-06",
"count": 2
},
{
"date": "2023-09-11",
"count": 2
},
{
"date": "2023-09-14",
"count": 1
},
{
"date": "2023-09-15",
"count": 1
},
{
"date": "2023-09-17",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-09-21",
"count": 1
},
{
"date": "2023-09-22",
"count": 1
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2023-09-25",
"count": 1
},
{
"date": "2023-09-26",
"count": 3
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-02",
"count": 1
},
{
"date": "2023-10-03",
"count": 2
},
{
"date": "2023-10-04",
"count": 1
},
{
"date": "2023-10-06",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-09",
"count": 1
},
{
"date": "2023-10-11",
"count": 1
},
{
"date": "2023-10-13",
"count": 2
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-19",
"count": 1
},
{
"date": "2023-10-20",
"count": 1
},
{
"date": "2023-10-24",
"count": 3
},
{
"date": "2023-10-25",
"count": 2
},
{
"date": "2023-10-26",
"count": 2
},
{
"date": "2023-11-02",
"count": 1
},
{
"date": "2023-11-07",
"count": 2
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-17",
"count": 4
},
{
"date": "2023-11-18",
"count": 1
},
{
"date": "2023-11-20",
"count": 1
},
{
"date": "2023-11-22",
"count": 1
},
{
"date": "2023-11-23",
"count": 1
},
{
"date": "2023-11-25",
"count": 1
},
{
"date": "2023-11-26",
"count": 1
},
{
"date": "2023-11-27",
"count": 1
},
{
"date": "2023-11-28",
"count": 1
},
{
"date": "2023-11-29",
"count": 2
},
{
"date": "2023-11-30",
"count": 1
},
{
"date": "2023-12-01",
"count": 1
},
{
"date": "2023-12-04",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2023-12-11",
"count": 2
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-15",
"count": 2
},
{
"date": "2023-12-18",
"count": 1
},
{
"date": "2023-12-20",
"count": 3
},
{
"date": "2023-12-26",
"count": 1
},
{
"date": "2023-12-27",
"count": 3
},
{
"date": "2023-12-29",
"count": 1
},
{
"date": "2024-01-01",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-08",
"count": 2
},
{
"date": "2024-01-09",
"count": 1
},
{
"date": "2024-01-11",
"count": 1
},
{
"date": "2024-01-13",
"count": 1
},
{
"date": "2024-01-18",
"count": 2
},
{
"date": "2024-01-21",
"count": 1
},
{
"date": "2024-01-22",
"count": 1
},
{
"date": "2024-01-23",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-01-25",
"count": 1
},
{
"date": "2024-01-30",
"count": 2
},
{
"date": "2024-01-31",
"count": 2
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-02-06",
"count": 1
},
{
"date": "2024-02-07",
"count": 2
},
{
"date": "2024-02-11",
"count": 1
},
{
"date": "2024-02-15",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-02-22",
"count": 1
},
{
"date": "2024-02-24",
"count": 3
},
{
"date": "2024-02-27",
"count": 2
},
{
"date": "2024-02-29",
"count": 1
},
{
"date": "2024-03-02",
"count": 1
},
{
"date": "2024-03-04",
"count": 1
},
{
"date": "2024-03-05",
"count": 2
},
{
"date": "2024-03-09",
"count": 2
},
{
"date": "2024-03-10",
"count": 2
},
{
"date": "2024-03-11",
"count": 2
},
{
"date": "2024-03-12",
"count": 2
},
{
"date": "2024-03-16",
"count": 1
},
{
"date": "2024-03-21",
"count": 1
},
{
"date": "2024-03-25",
"count": 2
},
{
"date": "2024-03-26",
"count": 1
},
{
"date": "2024-03-27",
"count": 1
},
{
"date": "2024-04-04",
"count": 1
},
{
"date": "2024-04-08",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-04-10",
"count": 2
},
{
"date": "2024-04-15",
"count": 2
},
{
"date": "2024-04-18",
"count": 3
},
{
"date": "2024-04-22",
"count": 1
},
{
"date": "2024-04-24",
"count": 1
},
{
"date": "2024-04-29",
"count": 1
},
{
"date": "2024-05-07",
"count": 1
},
{
"date": "2024-05-08",
"count": 1
},
{
"date": "2024-05-09",
"count": 3
},
{
"date": "2024-05-10",
"count": 2
},
{
"date": "2024-05-15",
"count": 3
},
{
"date": "2024-05-18",
"count": 2
},
{
"date": "2024-05-20",
"count": 1
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-27",
"count": 1
},
{
"date": "2024-05-28",
"count": 3
},
{
"date": "2024-06-03",
"count": 1
},
{
"date": "2024-06-05",
"count": 1
},
{
"date": "2024-06-07",
"count": 2
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-15",
"count": 1
},
{
"date": "2024-06-18",
"count": 2
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-22",
"count": 1
},
{
"date": "2024-07-02",
"count": 1
},
{
"date": "2024-07-06",
"count": 1
},
{
"date": "2024-07-12",
"count": 2
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-07-16",
"count": 2
},
{
"date": "2024-07-17",
"count": 1
},
{
"date": "2024-07-22",
"count": 1
},
{
"date": "2024-07-23",
"count": 1
},
{
"date": "2024-07-24",
"count": 2
},
{
"date": "2024-07-27",
"count": 1
},
{
"date": "2024-07-30",
"count": 2
},
{
"date": "2024-07-31",
"count": 1
},
{
"date": "2024-08-04",
"count": 1
},
{
"date": "2024-08-06",
"count": 1
},
{
"date": "2024-08-12",
"count": 1
},
{
"date": "2024-08-14",
"count": 1
},
{
"date": "2024-08-18",
"count": 1
},
{
"date": "2024-08-20",
"count": 4
},
{
"date": "2024-08-21",
"count": 2
},
{
"date": "2024-08-22",
"count": 2
},
{
"date": "2024-08-23",
"count": 2
},
{
"date": "2024-08-24",
"count": 2
},
{
"date": "2024-08-25",
"count": 1
},
{
"date": "2024-08-26",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-08-31",
"count": 1
},
{
"date": "2024-09-04",
"count": 1
},
{
"date": "2024-09-06",
"count": 1
},
{
"date": "2024-09-08",
"count": 1
},
{
"date": "2024-09-10",
"count": 1
},
{
"date": "2024-09-13",
"count": 1
},
{
"date": "2024-09-16",
"count": 1
},
{
"date": "2024-09-17",
"count": 1
},
{
"date": "2024-09-18",
"count": 3
},
{
"date": "2024-09-20",
"count": 1
},
{
"date": "2024-09-27",
"count": 2
},
{
"date": "2024-09-30",
"count": 2
},
{
"date": "2024-10-03",
"count": 1
},
{
"date": "2024-10-07",
"count": 1
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-14",
"count": 2
},
{
"date": "2024-10-17",
"count": 2
},
{
"date": "2024-10-21",
"count": 1
},
{
"date": "2024-10-25",
"count": 4
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-10-30",
"count": 4
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-02",
"count": 1
},
{
"date": "2024-11-04",
"count": 2
},
{
"date": "2024-11-08",
"count": 1
},
{
"date": "2024-11-09",
"count": 1
},
{
"date": "2024-11-11",
"count": 1
},
{
"date": "2024-11-12",
"count": 2
},
{
"date": "2024-11-13",
"count": 1
},
{
"date": "2024-11-14",
"count": 3
},
{
"date": "2024-11-16",
"count": 1
},
{
"date": "2024-11-17",
"count": 1
},
{
"date": "2024-11-18",
"count": 1
},
{
"date": "2024-11-19",
"count": 2
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-11-21",
"count": 1
},
{
"date": "2024-11-28",
"count": 1
},
{
"date": "2024-11-29",
"count": 1
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-07",
"count": 1
},
{
"date": "2024-12-08",
"count": 1
},
{
"date": "2024-12-09",
"count": 1
},
{
"date": "2024-12-10",
"count": 1
},
{
"date": "2024-12-12",
"count": 1
},
{
"date": "2024-12-13",
"count": 1
},
{
"date": "2024-12-14",
"count": 2
},
{
"date": "2024-12-15",
"count": 1
},
{
"date": "2024-12-16",
"count": 3
},
{
"date": "2024-12-19",
"count": 1
},
{
"date": "2024-12-21",
"count": 1
},
{
"date": "2024-12-29",
"count": 1
},
{
"date": "2025-01-08",
"count": 2
},
{
"date": "2025-01-12",
"count": 2
},
{
"date": "2025-01-14",
"count": 3
},
{
"date": "2025-01-15",
"count": 3
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-17",
"count": 1
},
{
"date": "2025-01-18",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-01-24",
"count": 1
},
{
"date": "2025-01-25",
"count": 1
},
{
"date": "2025-01-27",
"count": 1
},
{
"date": "2025-01-28",
"count": 2
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-01-30",
"count": 1
},
{
"date": "2025-01-31",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-07",
"count": 2
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-19",
"count": 2
},
{
"date": "2025-02-24",
"count": 2
},
{
"date": "2025-02-25",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-02-28",
"count": 1
},
{
"date": "2025-03-02",
"count": 1
},
{
"date": "2025-03-04",
"count": 2
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-18",
"count": 1
},
{
"date": "2025-03-19",
"count": 1
},
{
"date": "2025-03-20",
"count": 2
},
{
"date": "2025-03-22",
"count": 1
},
{
"date": "2025-03-23",
"count": 1
},
{
"date": "2025-03-26",
"count": 1
},
{
"date": "2025-03-27",
"count": 1
},
{
"date": "2025-03-29",
"count": 1
},
{
"date": "2025-04-01",
"count": 1
},
{
"date": "2025-04-02",
"count": 1
},
{
"date": "2025-04-04",
"count": 1
},
{
"date": "2025-04-09",
"count": 2
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-13",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2025-04-29",
"count": 1
},
{
"date": "2025-05-05",
"count": 1
},
{
"date": "2025-05-07",
"count": 2
},
{
"date": "2025-05-12",
"count": 1
},
{
"date": "2025-05-16",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-20",
"count": 1
},
{
"date": "2025-05-28",
"count": 1
},
{
"date": "2025-05-30",
"count": 2
},
{
"date": "2025-06-06",
"count": 1
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-14",
"count": 1
},
{
"date": "2025-06-16",
"count": 1
},
{
"date": "2025-06-17",
"count": 1
},
{
"date": "2025-06-18",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-06-25",
"count": 2
},
{
"date": "2025-06-29",
"count": 1
},
{
"date": "2025-06-30",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-07-04",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-13",
"count": 1
},
{
"date": "2025-07-14",
"count": 2
},
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-07-20",
"count": 1
},
{
"date": "2025-07-22",
"count": 1
},
{
"date": "2025-07-24",
"count": 1
},
{
"date": "2025-07-25",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-08-01",
"count": 1
},
{
"date": "2025-08-02",
"count": 1
},
{
"date": "2025-08-05",
"count": 2
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-13",
"count": 1
},
{
"date": "2025-08-28",
"count": 10
},
{
"date": "2025-08-29",
"count": 1
},
{
"date": "2025-09-01",
"count": 2
},
{
"date": "2025-09-02",
"count": 2
},
{
"date": "2025-09-04",
"count": 2
},
{
"date": "2025-09-06",
"count": 1
},
{
"date": "2025-09-07",
"count": 2
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-09",
"count": 2
},
{
"date": "2025-09-22",
"count": 1
},
{
"date": "2025-09-24",
"count": 1
},
{
"date": "2025-10-03",
"count": 1
},
{
"date": "2025-10-09",
"count": 1
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-10-15",
"count": 2
},
{
"date": "2025-10-18",
"count": 1
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-03",
"count": 2
},
{
"date": "2025-11-04",
"count": 2
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-11-08",
"count": 1
},
{
"date": "2025-11-12",
"count": 2
},
{
"date": "2025-11-13",
"count": 1
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-18",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-11-27",
"count": 6
},
{
"date": "2025-11-28",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-04",
"count": 2
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-08",
"count": 1
},
{
"date": "2025-12-09",
"count": 1
},
{
"date": "2025-12-11",
"count": 1
},
{
"date": "2025-12-13",
"count": 2
},
{
"date": "2025-12-14",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-18",
"count": 1
},
{
"date": "2025-12-20",
"count": 1
},
{
"date": "2025-12-24",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-01",
"count": 3
},
{
"date": "2026-01-02",
"count": 1
},
{
"date": "2026-01-09",
"count": 1
},
{
"date": "2026-01-10",
"count": 1
},
{
"date": "2026-01-11",
"count": 2
},
{
"date": "2026-01-12",
"count": 2
},
{
"date": "2026-01-13",
"count": 2
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-22",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-01-24",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-05",
"count": 1
},
{
"date": "2026-02-07",
"count": 3
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-12",
"count": 1
},
{
"date": "2026-02-15",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-21",
"count": 1
},
{
"date": "2026-02-22",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-02-24",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-20",
"count": 1
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-12",
"count": 1
},
{
"date": "2026-04-14",
"count": 1
},
{
"date": "2026-04-23",
"count": 1
},
{
"date": "2026-04-24",
"count": 2
},
{
"date": "2026-04-26",
"count": 1
},
{
"date": "2026-05-05",
"count": 2
},
{
"date": "2026-05-07",
"count": 2
},
{
"date": "2026-05-09",
"count": 2
},
{
"date": "2026-05-12",
"count": 1
},
{
"date": "2026-05-13",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-19",
"count": 2
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-23",
"count": 3
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-25",
"count": 7
},
{
"date": "2026-05-28",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-09",
"count": 1
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-24",
"count": 1
},
{
"date": "2026-06-26",
"count": 2
},
{
"date": "2026-07-01",
"count": 1
},
{
"date": "2026-07-06",
"count": 1
},
{
"date": "2026-07-14",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 6075
},
"open_issues_and_prs": 87
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 125932,
"source_files_sampled": 92,
"oversized_source_files": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 2,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 30,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [
{
"name": "ethon",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "0.15.0"
},
{
"name": "aruba",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 0.14.14"
},
{
"name": "base64",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "bigdecimal",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "codeclimate-test-reporter",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 0.4"
},
{
"name": "cucumber",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 9.0"
},
{
"name": "curb",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 1.0.1"
},
{
"name": "em-http-request",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "excon",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": ">= 0.62.0"
},
{
"name": "faraday",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 1.0"
},
{
"name": "faraday",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 2.0"
},
{
"name": "faraday-typhoeus",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "faraday-patron",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 2.0"
},
{
"name": "faraday-multipart",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "hashdiff",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": ">= 1.0.0.beta1"
},
{
"name": "httpclient",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "json",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "mime-types",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "mutex_m",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "patron",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "0.6.3"
},
{
"name": "pry-doc",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 0.6"
},
{
"name": "pry",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 0.9"
},
{
"name": "rack",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "< 3"
},
{
"name": "rack",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 3.0"
},
{
"name": "rackup",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "rake",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": ">= 12.3.3"
},
{
"name": "rspec",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 3.0"
},
{
"name": "sinatra",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "test-unit",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 3.4.4"
},
{
"name": "timecop",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "typhoeus",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": ">= 1.1.0"
},
{
"name": "webmock",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "webrick",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "yard",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "ostruct",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "irb",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "rdoc",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "aruba",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "base64",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "bigdecimal",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "codeclimate-test-reporter",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "cucumber",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "curb",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "em-http-request",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "ethon",
"direct": true,
"version": "0.15.0",
"ecosystem": "rubygems"
},
{
"name": "excon",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "faraday",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "faraday-multipart",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "faraday-patron",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "faraday-typhoeus",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "hashdiff",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "httpclient",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "json",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "mime-types",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "mutex_m",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "patron",
"direct": true,
"version": "0.6.3",
"ecosystem": "rubygems"
},
{
"name": "pry",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "pry-doc",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rack",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rackup",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rspec",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "sinatra",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "test-unit",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "timecop",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "typhoeus",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "webmock",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "webrick",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "yard",
"direct": true,
"version": null,
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 32,
"direct_count": 32,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 10,
"merged_prs": 330,
"open_issues": 77,
"closed_ratio": 0.865,
"closed_issues": 495,
"closed_unmerged_prs": 118
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "myronmarston",
"commits": 1568,
"avatar_url": "https://avatars.githubusercontent.com/u/49391?v=4"
},
{
"type": "User",
"login": "mislav",
"commits": 69,
"avatar_url": "https://avatars.githubusercontent.com/u/887?v=4"
},
{
"type": "User",
"login": "mcfiredrill",
"commits": 66,
"avatar_url": "https://avatars.githubusercontent.com/u/66243?v=4"
},
{
"type": "User",
"login": "olleolleolle",
"commits": 42,
"avatar_url": "https://avatars.githubusercontent.com/u/211?v=4"
},
{
"type": "User",
"login": "krainboltgreene",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/334809?v=4"
},
{
"type": "User",
"login": "nbibler",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/3775?v=4"
},
{
"type": "User",
"login": "mrbrdo",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/167990?v=4"
},
{
"type": "User",
"login": "andrehjr",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/16997?v=4"
},
{
"type": "User",
"login": "plukevdh",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/16054?v=4"
},
{
"type": "User",
"login": "ecnalyr",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/1395957?v=4"
}
],
"contributors_sampled": 99,
"top_contributor_share": 0.795
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"test.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"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": 3,
"reason": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"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": 7,
"reason": "Found 20/27 approved changesets -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 39 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": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 5,
"reason": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"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": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "a747bb6478674c71f189454083c3cf276f09042c",
"ran_at": "2026-07-22T01:08:42Z",
"aggregate_score": 5.5,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-20T20:03:02Z",
"oldest_open_prs": [
{
"number": 602,
"created_at": "2016-08-20T22:36:49Z",
"last_comment_at": "2021-05-04T11:45:16Z",
"last_comment_author": "olleolleolle"
},
{
"number": 761,
"created_at": "2019-07-17T11:55:40Z",
"last_comment_at": "2020-02-28T04:10:45Z",
"last_comment_author": "ecnalyr"
},
{
"number": 768,
"created_at": "2019-09-14T19:37:45Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 836,
"created_at": "2020-10-03T06:41:07Z",
"last_comment_at": "2020-12-21T19:33:04Z",
"last_comment_author": "mcmire"
},
{
"number": 891,
"created_at": "2021-06-07T13:19:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 930,
"created_at": "2022-03-29T11:18:29Z",
"last_comment_at": "2022-10-14T08:59:38Z",
"last_comment_author": "olleolleolle"
},
{
"number": 952,
"created_at": "2022-11-09T21:01:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1019,
"created_at": "2024-07-04T14:06:06Z",
"last_comment_at": "2026-01-21T08:46:32Z",
"last_comment_author": "olleolleolle"
},
{
"number": 1021,
"created_at": "2024-07-19T14:06:05Z",
"last_comment_at": "2024-08-07T13:38:48Z",
"last_comment_author": "joaoGabriel55"
},
{
"number": 1053,
"created_at": "2025-05-16T05:46:00Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-06-23T06:33:10Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 213,
"created_at": "2012-11-25T01:34:43Z",
"last_comment_at": "2015-10-15T15:19:20Z",
"last_comment_author": "mislav"
},
{
"number": 359,
"created_at": "2013-11-14T21:27:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 368,
"created_at": "2013-12-12T16:13:38Z",
"last_comment_at": "2018-09-28T21:43:47Z",
"last_comment_author": "ndbroadbent"
},
{
"number": 375,
"created_at": "2014-01-15T06:13:55Z",
"last_comment_at": "2014-08-01T06:04:29Z",
"last_comment_author": "ghempton"
},
{
"number": 376,
"created_at": "2014-01-15T20:11:50Z",
"last_comment_at": "2019-10-08T15:44:53Z",
"last_comment_author": "coding-red-panda"
},
{
"number": 393,
"created_at": "2014-02-25T17:06:50Z",
"last_comment_at": "2014-05-02T21:51:36Z",
"last_comment_author": "myronmarston"
},
{
"number": 405,
"created_at": "2014-04-16T19:48:57Z",
"last_comment_at": "2015-04-19T09:32:02Z",
"last_comment_author": "hanshasselberg"
},
{
"number": 412,
"created_at": "2014-05-06T23:03:28Z",
"last_comment_at": "2016-05-11T02:23:11Z",
"last_comment_author": "samsondav"
},
{
"number": 417,
"created_at": "2014-06-24T09:54:21Z",
"last_comment_at": "2015-11-29T10:59:39Z",
"last_comment_author": "galori"
},
{
"number": 482,
"created_at": "2015-03-31T13:52:28Z",
"last_comment_at": "2015-04-02T14:52:43Z",
"last_comment_author": "pduey"
},
{
"number": 490,
"created_at": "2015-05-28T00:56:37Z",
"last_comment_at": "2015-11-06T19:22:10Z",
"last_comment_author": "krainboltgreene"
},
{
"number": 492,
"created_at": "2015-06-01T16:41:14Z",
"last_comment_at": "2019-01-09T12:52:13Z",
"last_comment_author": "zedtux"
},
{
"number": 494,
"created_at": "2015-06-11T09:15:14Z",
"last_comment_at": "2019-08-06T03:17:05Z",
"last_comment_author": "fabOnReact"
},
{
"number": 496,
"created_at": "2015-06-24T09:37:30Z",
"last_comment_at": "2018-08-10T15:42:02Z",
"last_comment_author": "reidcooper"
},
{
"number": 509,
"created_at": "2015-09-21T15:42:44Z",
"last_comment_at": "2017-08-03T10:36:13Z",
"last_comment_author": "ikapelyukhin"
},
{
"number": 515,
"created_at": "2015-10-30T14:26:50Z",
"last_comment_at": "2016-08-20T22:38:15Z",
"last_comment_author": "kcdragon"
},
{
"number": 542,
"created_at": "2015-12-29T19:17:14Z",
"last_comment_at": "2018-11-16T14:24:54Z",
"last_comment_author": "jbielick"
},
{
"number": 558,
"created_at": "2016-03-08T08:58:25Z",
"last_comment_at": "2016-03-08T11:07:19Z",
"last_comment_author": "wizardone"
},
{
"number": 566,
"created_at": "2016-03-20T04:19:50Z",
"last_comment_at": "2017-10-30T15:31:26Z",
"last_comment_author": "shmargum"
},
{
"number": 601,
"created_at": "2016-08-05T01:13:11Z",
"last_comment_at": "2017-03-10T21:37:03Z",
"last_comment_author": "rahul342"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/vcr/vcr",
"host": "github.com",
"name": "vcr",
"owner": "vcr"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"security": 64,
"vitality": 53,
"community": 79,
"governance": 55,
"engineering": 68
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 53,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"commits_last_year": 15,
"human_commit_share": 0.96,
"days_since_last_push": 28,
"active_weeks_last_year": 10
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 28 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 28
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "15 commits in the last year",
"points": 10.8,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 15
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 5,
"status": "partial",
"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": 54,
"inputs": {
"releases_count": 6,
"latest_release_tag": "v6.4.0",
"releases_from_tags": false,
"days_since_latest_release": 211,
"mean_days_between_releases": 406.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "6 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 6
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 211 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 211
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~406.9 days",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 406.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": "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": 50,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 50 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 50
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 79,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 93,
"inputs": {
"forks": 511,
"stars": 6075,
"watchers": 70,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "6,075 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 6075
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "511 forks",
"points": 22.6,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 511
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "70 watchers",
"points": 10.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 70
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 55,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 99,
"top_contributor_share": 0.795
},
"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 80% of commits",
"points": 4.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 80
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "99 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 99
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 39 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"merged_prs": 330,
"open_issues": 77,
"closed_issues": 495,
"issue_closed_ratio": 0.865,
"closed_unmerged_prs": 118
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "86% of issues closed",
"points": 40.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 86
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "330/448 decided PRs merged",
"points": 28.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 330,
"decided": 448
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 20/27 approved changesets -- score normalized to 7",
"points": 10.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"followers": 10,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "vcr",
"public_repos": 1,
"account_age_days": 4984
},
"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": "10 followers of vcr",
"points": 7.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 10,
"login": "vcr"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "1 public repos, account ~13 yr old",
"points": 14.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 1
}
},
{
"code": "account_age_years",
"params": {
"years": 13
}
}
],
"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": 68,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"points": 6,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://benoittgt.github.io/vcr",
"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://benoittgt.github.io/vcr",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 64,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"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": 55,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 5.5
},
"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": "11 out of 30 merged PRs checked by a CI test -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 20/27 approved changesets -- score normalized to 7",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 39 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 not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 3.8,
"status": "partial",
"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": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 2 resolved dependencies against OSV; 30 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": 2
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 30
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 2,
"unassessed_packages": 30,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 2,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 24
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 38,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.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": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.04
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": "4 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 4,
"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": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 125932,
"source_files_sampled": 92,
"oversized_source_files": 1
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Ruby without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Ruby"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "1/92 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 92,
"oversized": 1
}
}
],
"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": [
"rubygems package 'vcr' points at a different repository (https://benoittgt.github.io/vcr); excluded from ecosystem scoring"
],
"report_type": "repository",
"generated_at": "2026-07-22T01:09:07.949440Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/vcr/vcr.svg",
"full_name": "vcr/vcr",
"license_state": "custom",
"license_spdx": null
}