{"id":260,"name":null,"description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","url":"https://github.com/ruby/timeout","last_synced_at":"2026-06-15T15:30:29.969Z","repository":{"id":38198304,"uuid":"200772043","full_name":"ruby/timeout","owner":"ruby","description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","archived":false,"fork":false,"pushed_at":"2026-05-25T07:20:11.000Z","size":223,"stargazers_count":167,"open_issues_count":2,"forks_count":32,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-06-14T01:02:26.238Z","etag":null,"topics":["ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-06T03:47:53.000Z","updated_at":"2026-05-30T07:25:36.000Z","dependencies_parsed_at":"2026-04-02T07:09:00.358Z","dependency_job_id":null,"html_url":"https://github.com/ruby/timeout","commit_stats":{"total_commits":166,"total_committers":30,"mean_commits":5.533333333333333,"dds":0.7469879518072289,"last_synced_commit":"2e5a87bacac7937c301cde0c8f14826cf86cfa5c"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ruby/timeout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/sbom","scorecard":{"id":788930,"data":{"date":"2025-08-11","repo":{"name":"github.com/ruby/timeout","commit":"fdc7ec0a195b578d7161471a42b5faa0c7710ef9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/push_gem.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/push_gem.yml:9","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:7: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Info:   1 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T06:54:16.459Z","repository_id":38198304,"created_at":"2025-08-23T06:54:16.459Z","updated_at":"2025-08-23T06:54:16.459Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34324004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ruby","name":"The Ruby Programming Language","uuid":"210414","kind":"organization","description":"Repositories related to the Ruby Programming language","email":"info@ruby-lang.org","website":"https://www.ruby-lang.org/","location":"Matsue, Japan","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/210414?v=4","repositories_count":171,"last_synced_at":"2023-04-09T03:40:20.875Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby","funding_links":[],"total_stars":41804,"followers":null,"following":null,"created_at":"2022-11-02T16:17:15.462Z","updated_at":"2023-04-09T03:40:20.938Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby/repositories"},"packages":[{"id":12342581,"name":"timeout","ecosystem":"rubygems","description":"Auto-terminate potentially long-running operations in Ruby.","homepage":"https://github.com/ruby/timeout","licenses":"Ruby,BSD-2-Clause","normalized_licenses":["Ruby","BSD-2-Clause"],"repository_url":"https://github.com/ruby/timeout","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2020-04-07T01:06:47.341Z","latest_release_published_at":"2026-03-09T22:04:12.692Z","latest_release_number":"0.6.1","last_synced_at":"2026-06-11T05:30:33.839Z","created_at":"2025-10-07T06:30:51.123Z","updated_at":"2026-06-11T05:37:38.471Z","registry_url":"https://gem.coop/gems/timeout","install_command":"gem install timeout -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/timeout/","metadata":{"funding":null},"repo_metadata":{"id":38198304,"uuid":"200772043","full_name":"ruby/timeout","owner":"ruby","description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","archived":false,"fork":false,"pushed_at":"2026-05-25T07:20:11.000Z","size":223,"stargazers_count":167,"open_issues_count":2,"forks_count":32,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-05-30T23:03:03.919Z","etag":null,"topics":["ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-06T03:47:53.000Z","updated_at":"2026-05-30T07:25:36.000Z","dependencies_parsed_at":"2026-04-02T07:09:00.358Z","dependency_job_id":null,"html_url":"https://github.com/ruby/timeout","commit_stats":{"total_commits":166,"total_committers":30,"mean_commits":5.533333333333333,"dds":0.7469879518072289,"last_synced_commit":"2e5a87bacac7937c301cde0c8f14826cf86cfa5c"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ruby/timeout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/sbom","scorecard":{"id":788930,"data":{"date":"2025-08-11","repo":{"name":"github.com/ruby/timeout","commit":"fdc7ec0a195b578d7161471a42b5faa0c7710ef9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/push_gem.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/push_gem.yml:9","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:7: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Info:   1 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T06:54:16.459Z","repository_id":38198304,"created_at":"2025-08-23T06:54:16.459Z","updated_at":"2025-08-23T06:54:16.459Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33715210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby","name":"The Ruby Programming Language","uuid":"210414","kind":"organization","description":"Repositories related to the Ruby Programming language","email":"info@ruby-lang.org","website":"https://www.ruby-lang.org/","location":"Matsue, Japan","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/210414?v=4","repositories_count":171,"last_synced_at":"2023-04-09T03:40:20.875Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby","funding_links":[],"total_stars":41804,"followers":null,"following":null,"created_at":"2022-11-02T16:17:15.462Z","updated_at":"2023-04-09T03:40:20.938Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby/repositories"},"tags":[{"name":"v0.6.1","sha":"951e8025ec02cce2d1c9dc5712c1ab37e383bd54","kind":"commit","published_at":"2026-03-09T22:03:33.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.6.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"ab79dfff47092008ce08520763c846eba3a3a5f1","kind":"tag","published_at":"2025-12-17T04:23:04.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.6.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"5dc2cd1b024d53ac943ced89b5356efa87b4fbe3","kind":"tag","published_at":"2025-12-08T03:05:54.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.5.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.5.0/manifests"},{"name":"v0.4.4","sha":"f42b47d383f65180dbe3abf45fff6335773da060","kind":"tag","published_at":"2025-10-29T06:49:48.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.4","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"607d8c6fbe4d86db1cf22846e89198b47cec7161","kind":"commit","published_at":"2024-12-16T03:53:10.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.3","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"2f5252299403e00135b694455fb31a2bded32cd5","kind":"commit","published_at":"2024-11-06T08:26:49.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.2","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"a65e49cc31bcdaad892330cdd93ab8e5481e1fc7","kind":"tag","published_at":"2023-11-07T04:56:36.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"413194f8d2650c6ca7b2a45b38f8c9aca53ba846","kind":"tag","published_at":"2023-06-23T03:51:58.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.0/manifests"},{"name":"v0.3.2","sha":"e1b244810138253d93ea3ac0932c8dbdd8ef8dc6","kind":"tag","published_at":"2023-02-16T00:57:03.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.2","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"4941e8c8715706160899443ac706e351d688fa52","kind":"tag","published_at":"2022-12-05T08:13:07.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"f69f954a945be862179998a44ab9b5140692969b","kind":"tag","published_at":"2022-05-25T09:07:45.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"02e792ddd8fa9ed9475c8b5953e281df920cbabc","kind":"tag","published_at":"2021-10-14T11:12:20.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.2.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"3ec31a5dfc76935622f2566c0ee53bf3e3974af0","kind":"tag","published_at":"2020-12-22T12:16:43.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.1.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"71175450aed74b2423b970122b808d348edcd4f6","kind":"commit","published_at":"2020-03-26T10:26:57.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.1.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-06-11T05:37:38.444Z","dependent_packages_count":0,"downloads":321925564,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.10326222116497086,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.017300476844393023,"average":0.03014067450234097},"purl":"pkg:gem/timeout?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/timeout","docker_dependents_count":2871,"docker_downloads_count":3639839983,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/timeout/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-26T07:02:24.796Z","issues_count":14,"pull_requests_count":92,"avg_time_to_close_issue":14408985.0,"avg_time_to_close_pull_request":822558.4166666666,"issues_closed_count":9,"pull_requests_closed_count":84,"pull_request_authors_count":22,"issue_authors_count":12,"avg_comments_per_issue":4.857142857142857,"avg_comments_per_pull_request":1.684782608695652,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":36,"past_year_issues_count":0,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":15636.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":25,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":19,"past_year_merged_pull_requests_count":24,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/issues","maintainers":[{"login":"eregon","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"hsbt","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"nobu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"},{"login":"k0kubun","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"}],"active_maintainers":[{"login":"eregon","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"k0kubun","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"},{"login":"nobu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/timeout/codemeta","maintainers":[{"uuid":"36956","login":"hsbt","name":null,"email":null,"url":null,"packages_count":180,"html_url":"https://gem.coop/profiles/hsbt","role":null,"created_at":"2025-10-09T23:39:16.160Z","updated_at":"2025-10-09T23:39:16.160Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/hsbt/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192620,"maintainers_count":67937,"namespaces_count":0,"keywords_count":18400,"github":"gem-coop","metadata":{"funded_packages_count":6885},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-06-10T05:17:24.062Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":8614824,"name":"github.com/ruby/timeout","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/ruby/timeout","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2023-12-02T02:15:08.425Z","latest_release_published_at":"2026-03-09T22:03:33.000Z","latest_release_number":"v0.6.1","last_synced_at":"2026-06-08T13:34:49.716Z","created_at":"2023-12-02T02:15:05.074Z","updated_at":"2026-06-08T13:34:49.716Z","registry_url":"https://pkg.go.dev/github.com/ruby/timeout","install_command":"go get github.com/ruby/timeout","documentation_url":"https://pkg.go.dev/github.com/ruby/timeout#section-documentation","metadata":{},"repo_metadata":{"id":38198304,"uuid":"200772043","full_name":"ruby/timeout","owner":"ruby","description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","archived":false,"fork":false,"pushed_at":"2025-10-29T06:49:58.000Z","size":188,"stargazers_count":149,"open_issues_count":6,"forks_count":25,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-11-07T01:22:43.692Z","etag":null,"topics":["ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-06T03:47:53.000Z","updated_at":"2025-10-29T06:49:59.000Z","dependencies_parsed_at":"2023-12-21T01:25:59.221Z","dependency_job_id":"3bb8e640-71bb-462b-aa8c-2217de47bfbf","html_url":"https://github.com/ruby/timeout","commit_stats":{"total_commits":166,"total_committers":30,"mean_commits":5.533333333333333,"dds":0.7469879518072289,"last_synced_commit":"2e5a87bacac7937c301cde0c8f14826cf86cfa5c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ruby/timeout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/sbom","scorecard":{"id":788930,"data":{"date":"2025-08-11","repo":{"name":"github.com/ruby/timeout","commit":"fdc7ec0a195b578d7161471a42b5faa0c7710ef9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/push_gem.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/push_gem.yml:9","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:7: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Info:   1 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T06:54:16.459Z","repository_id":38198304,"created_at":"2025-08-23T06:54:16.459Z","updated_at":"2025-08-23T06:54:16.459Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283983990,"owners_count":26927577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-12T02:00:06.336Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby","name":"The Ruby Programming Language","uuid":"210414","kind":"organization","description":"Repositories related to the Ruby Programming language","email":"info@ruby-lang.org","website":"https://www.ruby-lang.org/","location":"Matsue, Japan","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/210414?v=4","repositories_count":171,"last_synced_at":"2023-04-09T03:40:20.875Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby","funding_links":[],"total_stars":41804,"followers":null,"following":null,"created_at":"2022-11-02T16:17:15.462Z","updated_at":"2023-04-09T03:40:20.938Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby/repositories"},"tags":[{"name":"v0.4.4","sha":"f42b47d383f65180dbe3abf45fff6335773da060","kind":"tag","published_at":"2025-10-29T06:49:48.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.4","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"607d8c6fbe4d86db1cf22846e89198b47cec7161","kind":"commit","published_at":"2024-12-16T03:53:10.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.3","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"2f5252299403e00135b694455fb31a2bded32cd5","kind":"commit","published_at":"2024-11-06T08:26:49.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.2","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"a65e49cc31bcdaad892330cdd93ab8e5481e1fc7","kind":"tag","published_at":"2023-11-07T04:56:36.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"413194f8d2650c6ca7b2a45b38f8c9aca53ba846","kind":"tag","published_at":"2023-06-23T03:51:58.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.4.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.4.0/manifests"},{"name":"v0.3.2","sha":"e1b244810138253d93ea3ac0932c8dbdd8ef8dc6","kind":"tag","published_at":"2023-02-16T00:57:03.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.2","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"4941e8c8715706160899443ac706e351d688fa52","kind":"tag","published_at":"2022-12-05T08:13:07.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"f69f954a945be862179998a44ab9b5140692969b","kind":"tag","published_at":"2022-05-25T09:07:45.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.3.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"02e792ddd8fa9ed9475c8b5953e281df920cbabc","kind":"tag","published_at":"2021-10-14T11:12:20.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.2.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"3ec31a5dfc76935622f2566c0ee53bf3e3974af0","kind":"tag","published_at":"2020-12-22T12:16:43.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.1.1","html_url":"https://github.com/ruby/timeout/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"71175450aed74b2423b970122b808d348edcd4f6","kind":"commit","published_at":"2020-03-26T10:26:57.000Z","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/v0.1.0","html_url":"https://github.com/ruby/timeout/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby/timeout@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-11-14T07:07:43.652Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":4.406654336379738,"forks_count":5.603683413687824,"docker_downloads_count":null,"average":7.596915151082852},"purl":"pkg:golang/github.com/ruby/timeout","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ruby/timeout","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ruby/timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ruby/timeout/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-11-11T09:31:20.169Z","issues_count":14,"pull_requests_count":71,"avg_time_to_close_issue":12666723.25,"avg_time_to_close_pull_request":1025817.1641791045,"issues_closed_count":8,"pull_requests_closed_count":67,"pull_request_authors_count":18,"issue_authors_count":12,"avg_comments_per_issue":3.857142857142857,"avg_comments_per_pull_request":1.9014084507042255,"merged_pull_requests_count":60,"bot_issues_count":0,"bot_pull_requests_count":25,"past_year_issues_count":1,"past_year_pull_requests_count":27,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":38355.21739130435,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":23,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.07407407407407407,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":23,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/issues","maintainers":[{"login":"hsbt","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"eregon","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"nobu","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"},{"login":"k0kubun","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"}],"active_maintainers":[{"login":"eregon","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"k0kubun","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fruby%2Ftimeout/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2167535,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":14514196,"name":"dev-ruby/timeout","ecosystem":"gentoo","description":"Provides a framework for message digest libraries","homepage":"https://github.com/ruby/timeout","licenses":"BSD-2","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/ruby/timeout","keywords_array":["~alpha","amd64","arm","arm64","~hppa","~loong","~mips","ppc","ppc64","~riscv","~s390","~sparc","x86","~arm64-macos","~x64-macos","~x64-solaris"],"namespace":"dev-ruby","versions_count":4,"first_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_number":"0.6.0","last_synced_at":"2026-05-27T02:51:51.376Z","created_at":"2026-05-27T02:51:51.082Z","updated_at":"2026-05-27T02:51:51.821Z","registry_url":"https://packages.gentoo.org/packages/dev-ruby/timeout","install_command":"emerge dev-ruby/timeout","documentation_url":"https://packages.gentoo.org/packages/dev-ruby/timeout","metadata":{"category":"dev-ruby","slot":"0","eapi":"8","inherit":"ruby-fakegem","iuse":"test ruby_targets_ruby32 ruby_targets_ruby33 ruby_targets_ruby34 doc test test"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T02:51:51.794Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:gentoo/dev-ruby/timeout","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-ruby/timeout","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-ruby/timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-ruby/timeout/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Ftimeout/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19326,"maintainers_count":0,"namespaces_count":174,"keywords_count":382,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":77},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-06-10T05:04:01.738Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/namespaces"}},{"id":317094,"name":"timeout","ecosystem":"rubygems","description":"Auto-terminate potentially long-running operations in Ruby.","homepage":"https://github.com/ruby/timeout","licenses":"Ruby,BSD-2-Clause","normalized_licenses":["Ruby","BSD-2-Clause"],"repository_url":"https://github.com/ruby/timeout","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2020-04-07T01:06:47.341Z","latest_release_published_at":"2026-03-09T22:04:12.692Z","latest_release_number":"0.6.1","last_synced_at":"2026-06-08T13:34:48.754Z","created_at":"2022-04-06T11:48:22.599Z","updated_at":"2026-06-08T14:14:12.056Z","registry_url":"https://rubygems.org/gems/timeout","install_command":"gem install timeout -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/timeout/","metadata":{"funding":null},"repo_metadata":{"id":38198304,"uuid":"200772043","full_name":"ruby/timeout","owner":"ruby","description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","archived":false,"fork":false,"pushed_at":"2026-05-25T07:20:11.000Z","size":223,"stargazers_count":167,"open_issues_count":2,"forks_count":32,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-05-30T23:03:03.919Z","etag":null,"topics":["ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-06T03:47:53.000Z","updated_at":"2026-05-30T07:25:36.000Z","dependencies_parsed_at":"2026-04-02T07:09:00.358Z","dependency_job_id":null,"html_url":"https://github.com/ruby/timeout","commit_stats":{"total_commits":166,"total_committers":30,"mean_commits":5.533333333333333,"dds":0.7469879518072289,"last_synced_commit":"2e5a87bacac7937c301cde0c8f14826cf86cfa5c"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ruby/timeout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/sbom","scorecard":{"id":788930,"data":{"date":"2025-08-11","repo":{"name":"github.com/ruby/timeout","commit":"fdc7ec0a195b578d7161471a42b5faa0c7710ef9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/push_gem.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/push_gem.yml:9","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:7: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Info:   1 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T06:54:16.459Z","repository_id":38198304,"created_at":"2025-08-23T06:54:16.459Z","updated_at":"2025-08-23T06:54:16.459Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33715210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby","name":"The Ruby Programming Language","uuid":"210414","kind":"organization","description":"Repositories related to the Ruby Programming language","email":"info@ruby-lang.org","website":"https://www.ruby-lang.org/","location":"Matsue, Japan","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/210414?v=4","repositories_count":171,"last_synced_at":"2023-04-09T03:40:20.875Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby","funding_links":[],"total_stars":41804,"followers":null,"following":null,"created_at":"2022-11-02T16:17:15.462Z","updated_at":"2023-04-09T03:40:20.938Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-06-08T14:14:12.034Z","dependent_packages_count":38,"downloads":320409175,"downloads_period":"total","dependent_repos_count":35095,"rankings":{"downloads":0.20795932248748342,"dependent_repos_count":0.17673754752957704,"dependent_packages_count":0.6701530982036329,"stargazers_count":4.781949353820765,"forks_count":6.230416699189349,"docker_downloads_count":0.018956077653014575,"average":2.014362016480637},"purl":"pkg:gem/timeout","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/timeout","docker_dependents_count":2871,"docker_downloads_count":3639839983,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/timeout/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-05-19T02:01:15.181Z","issues_count":14,"pull_requests_count":91,"avg_time_to_close_issue":14408985.0,"avg_time_to_close_pull_request":822558.4166666666,"issues_closed_count":9,"pull_requests_closed_count":84,"pull_request_authors_count":22,"issue_authors_count":12,"avg_comments_per_issue":4.857142857142857,"avg_comments_per_pull_request":1.7032967032967032,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":35,"past_year_issues_count":0,"past_year_pull_requests_count":32,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":15636.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":25,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.6875,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":18,"past_year_merged_pull_requests_count":24,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/issues","maintainers":[{"login":"eregon","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"hsbt","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"nobu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"},{"login":"k0kubun","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"}],"active_maintainers":[{"login":"eregon","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"k0kubun","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"},{"login":"nobu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/timeout/codemeta","maintainers":[{"uuid":"36956","login":"hsbt","name":null,"email":null,"url":null,"packages_count":179,"html_url":"https://rubygems.org/profiles/hsbt","role":null,"created_at":"2022-11-09T09:54:14.526Z","updated_at":"2022-11-09T09:54:14.526Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/hsbt/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207785,"maintainers_count":68925,"namespaces_count":0,"keywords_count":18771,"github":"rubygems","metadata":{"funded_packages_count":7455},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-06-10T05:04:00.514Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":14540751,"name":"time/ruby-timeout","ecosystem":"pkgsrc","description":"Auto-terminate potentially long-running operations in Ruby","homepage":"https://github.com/ruby/timeout","licenses":"2-clause-bsd OR ruby-license","normalized_licenses":["MulanPSL-2.0"],"repository_url":"https://github.com/ruby/timeout","keywords_array":["time","ruby"],"namespace":"time","versions_count":1,"first_release_published_at":"2026-04-06T10:49:25.000Z","latest_release_published_at":"2026-04-06T10:49:25.000Z","latest_release_number":"0.6.0","last_synced_at":"2026-05-27T10:30:43.858Z","created_at":"2026-05-27T10:30:43.349Z","updated_at":"2026-05-27T10:30:46.283Z","registry_url":"https://pkgsrc.se/time/ruby-timeout","install_command":"pkg_add ruby33-timeout","documentation_url":"https://pkgsrc.se/time/ruby-timeout","metadata":{"pkg_slug":"ruby-timeout","pkgbase":"ruby33-timeout","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"ruby33-timeout-0.6.0"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T10:30:46.248Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:pkgsrc/time/ruby-timeout?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/time/ruby-timeout","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/time/ruby-timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/time/ruby-timeout/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/time%2Fruby-timeout/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19498,"maintainers_count":0,"namespaces_count":42,"keywords_count":308,"github":"pkgsrc","metadata":{"funded_packages_count":48},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-06-09T05:04:46.058Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":13950441,"name":"ruby-timeout","ecosystem":"guix","description":"Timeout library for Ruby","homepage":"https://github.com/ruby/timeout","licenses":"bsd-2","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/ruby/timeout","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:56:44.439Z","latest_release_published_at":"2026-03-02T18:56:44.439Z","latest_release_number":"0.4.3","last_synced_at":"2026-04-27T16:17:28.618Z","created_at":"2026-03-02T18:56:44.244Z","updated_at":"2026-04-27T16:17:31.182Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-timeout/0.4.3/","install_command":"guix install ruby-timeout","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n14760","metadata":{"location":"gnu/packages/ruby-xyz.scm:14760","variable_name":"ruby-timeout"},"repo_metadata":{"id":38198304,"uuid":"200772043","full_name":"ruby/timeout","owner":"ruby","description":"Timeout provides a way to auto-terminate a potentially long-running operation if it hasn't finished in a fixed amount of time.","archived":false,"fork":false,"pushed_at":"2026-03-23T07:40:50.000Z","size":232,"stargazers_count":155,"open_issues_count":2,"forks_count":32,"subscribers_count":34,"default_branch":"master","last_synced_at":"2026-04-02T12:10:57.817Z","etag":null,"topics":["ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-06T03:47:53.000Z","updated_at":"2026-03-27T18:03:37.000Z","dependencies_parsed_at":"2026-04-02T07:09:00.358Z","dependency_job_id":null,"html_url":"https://github.com/ruby/timeout","commit_stats":{"total_commits":166,"total_committers":30,"mean_commits":5.533333333333333,"dds":0.7469879518072289,"last_synced_commit":"2e5a87bacac7937c301cde0c8f14826cf86cfa5c"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ruby/timeout","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/timeout/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/sbom","scorecard":{"id":788930,"data":{"date":"2025-08-11","repo":{"name":"github.com/ruby/timeout","commit":"fdc7ec0a195b578d7161471a42b5faa0c7710ef9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 1/7 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/push_gem.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/push_gem.yml:9","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:7: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ruby/timeout/test.yml/master?enable=pin","Info:   1 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T06:54:16.459Z","repository_id":38198304,"created_at":"2025-08-23T06:54:16.459Z","updated_at":"2025-08-23T06:54:16.459Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31314962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2026-04-27T16:17:31.154Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:guix/ruby-timeout","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-timeout","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-timeout","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-timeout/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-timeout/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31665,"maintainers_count":0,"namespaces_count":0,"keywords_count":1627,"github":"guix-mirror","metadata":{"funded_packages_count":368},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-06-10T05:17:25.224Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}}],"commits":{"id":922552,"full_name":"ruby/timeout","default_branch":"master","total_commits":230,"total_committers":34,"total_bot_commits":34,"total_bot_committers":1,"mean_commits":6.764705882352941,"dds":0.808695652173913,"past_year_total_commits":59,"past_year_total_committers":13,"past_year_total_bot_commits":24,"past_year_total_bot_committers":1,"past_year_mean_commits":4.538461538461538,"past_year_dds":0.5932203389830508,"last_synced_at":"2026-06-06T15:24:09.296Z","last_synced_commit":"fd8605f5be2f4518cf483d66838b3ead52631ea2","created_at":"2023-03-09T23:55:03.023Z","updated_at":"2026-06-06T15:22:28.845Z","committers":[{"name":"nobu","email":"nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"nobu","count":44},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":41},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":34},{"name":"Benoit Daloze","email":"eregontp@gmail.com","login":"eregon","count":23},{"name":"matz","email":"matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":null,"count":12},{"name":"John Bachir","email":"jjb","login":"jjb","count":9},{"name":"CosmicOppai","email":"cosmicoppai@protonmail.com","login":"Cosmicoppai","count":8},{"name":"kazu","email":"kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"znz","count":7},{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":6},{"name":"Jeremy Evans","email":"code@jeremyevans.net","login":"jeremyevans","count":5},{"name":"Jean Boussier","email":"jean.boussier@gmail.com","login":"byroot","count":4},{"name":"akr","email":"akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"akr","count":4},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":4},{"name":"kosaki","email":"kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":null,"count":3},{"name":"drbrain","email":"drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"drbrain","count":3},{"name":"Koichi Sasada","email":"ko1@atdot.net","login":"ko1","count":3},{"name":"Takashi Kokubun","email":"takashikkbn@gmail.com","login":"k0kubun","count":2},{"name":"zzak","email":"zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":null,"count":2},{"name":"Étienne Barrié","email":"etienne.barrie@gmail.com","login":"etiennebarrie","count":1},{"name":"tarui","email":"tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"tarui","count":1},{"name":"aamine","email":"aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":null,"count":1},{"name":"ryan","email":"ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":null,"count":1},{"name":"t-mangoe","email":"m.takashi.xpair@gmail.com","login":"t-mangoe","count":1},{"name":"shyouhei","email":"shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"shyouhei","count":1},{"name":"rm155","email":"rohitmenon@verizon.net","login":"rm155","count":1},{"name":"naruse","email":"naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e","login":"nurse","count":1},{"name":"Yusuke Endoh","email":"mame@ruby-lang.org","login":"mame","count":1},{"name":"Ryunosuke Sato","email":"tricknotes.rs@gmail.com","login":"tricknotes","count":1},{"name":"Rick Blommers","email":"rick@blommersit.nl","login":"gamecreature","count":1},{"name":"Masafumi Koba","email":"473530+ybiquitous","login":"ybiquitous","count":1},{"name":"Mark Young","email":"mark.young@atg.auto","login":"mark-young-atg","count":1},{"name":"Luke Gruber","email":"luke.gruber@shopify.com","login":"luke-gruber","count":1},{"name":"Lars Kanis","email":"lars@greiz-reinsdorf.de","login":"larskanis","count":1},{"name":"JP Camara","email":"jp@jpcamara.com","login":"jpcamara","count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":24},{"name":"Benoit Daloze","email":"eregontp@gmail.com","login":"eregon","count":15},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":6},{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":2},{"name":"Nobuyoshi Nakada","email":"nobu@ruby-lang.org","login":"nobu","count":2},{"name":"Koichi Sasada","email":"ko1@atdot.net","login":"ko1","count":2},{"name":"Jean Boussier","email":"jean.boussier@gmail.com","login":"byroot","count":2},{"name":"Étienne Barrié","email":"etienne.barrie@gmail.com","login":"etiennebarrie","count":1},{"name":"t-mangoe","email":"m.takashi.xpair@gmail.com","login":"t-mangoe","count":1},{"name":"Takashi Kokubun","email":"takashikkbn@gmail.com","login":"k0kubun","count":1},{"name":"Olle Jonsson","email":"olle.jonsson@auctionet.com","login":"olleolleolle","count":1},{"name":"Masafumi Koba","email":"473530+ybiquitous","login":"ybiquitous","count":1},{"name":"Luke Gruber","email":"luke.gruber@shopify.com","login":"luke-gruber","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-08T00:00:07.762Z","repositories_count":6253742,"commits_count":883905902,"contributors_count":35050178,"owners_count":1163408,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ruby/timeout","html_url":"https://github.com/ruby/timeout","last_synced_at":"2026-05-26T07:02:24.796Z","status":"error","issues_count":14,"pull_requests_count":92,"avg_time_to_close_issue":14408985.0,"avg_time_to_close_pull_request":822558.4166666666,"issues_closed_count":9,"pull_requests_closed_count":84,"pull_request_authors_count":22,"issue_authors_count":12,"avg_comments_per_issue":4.857142857142857,"avg_comments_per_pull_request":1.684782608695652,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":36,"past_year_issues_count":0,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":15636.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":25,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":19,"past_year_merged_pull_requests_count":24,"created_at":"2023-05-12T18:24:32.611Z","updated_at":"2026-05-26T07:02:24.796Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Ftimeout/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":36,"github_actions":23,"documentation":1},"issue_author_associations_count":{"NONE":10,"CONTRIBUTOR":4},"pull_request_author_associations_count":{"CONTRIBUTOR":66,"MEMBER":18,"NONE":8},"issue_authors":{"jjb":3,"akihikodaki":1,"docu-tyler-harris":1,"gamecreature":1,"headius":1,"voxik":1,"gaffneyc":1,"trogd0r":1,"donnygitsome":1,"HoneyryderChuck":1,"jsvd":1,"ShockwaveNN":1},"pull_request_authors":{"dependabot[bot]":36,"jjb":11,"eregon":8,"olleolleolle":5,"hsbt":4,"nobu":4,"ko1":2,"joelibaceta":2,"headius":2,"jpcamara":2,"casperisfine":2,"jeremyevans":2,"k0kubun":2,"Cosmicoppai":2,"gamecreature":1,"luke-gruber":1,"rm155":1,"mark-young-atg":1,"larskanis":1,"ybiquitous":1,"etiennebarrie":1,"tricknotes":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-08T00:00:18.161Z","repositories_count":14785786,"issues_count":33511623,"pull_requests_count":110254933,"authors_count":11295817,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":19,"github_actions":19},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":25,"MEMBER":8},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":19,"eregon":6,"ko1":2,"etiennebarrie":1,"k0kubun":1,"luke-gruber":1,"nobu":1,"olleolleolle":1,"ybiquitous":1},"maintainers":[{"login":"eregon","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"hsbt","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hsbt"},{"login":"nobu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"},{"login":"k0kubun","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"}],"active_maintainers":[{"login":"eregon","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eregon"},{"login":"k0kubun","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/k0kubun"},{"login":"nobu","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nobu"}]},"events":{"total":{"ReleaseEvent":6,"DeleteEvent":23,"MemberEvent":1,"PullRequestEvent":50,"ForkEvent":3,"IssuesEvent":8,"WatchEvent":5,"IssueCommentEvent":20,"PushEvent":42,"PullRequestReviewCommentEvent":13,"PullRequestReviewEvent":24,"CreateEvent":25},"last_year":{"ReleaseEvent":4,"DeleteEvent":16,"PullRequestEvent":36,"IssuesEvent":5,"WatchEvent":1,"IssueCommentEvent":9,"PushEvent":29,"PullRequestReviewEvent":17,"PullRequestReviewCommentEvent":7,"CreateEvent":16}},"keywords":["ruby"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-12T01:20:01.661Z","updated_at":"2022-07-12T01:20:01.661Z","repository_link":"https://github.com/ruby/timeout/blob/master/Gemfile","dependencies":[{"id":143508316,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":143508317,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":143508318,"package_name":"test-unit","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-02-08T21:15:19.859Z","updated_at":"2023-02-08T21:15:19.859Z","repository_link":"https://github.com/ruby/timeout/blob/master/.github/workflows/test.yml","dependencies":[{"id":7468301840,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7468301841,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"timeout.gemspec","sha":null,"kind":"manifest","created_at":"2023-11-08T06:24:21.889Z","updated_at":"2023-11-08T06:24:21.889Z","repository_link":"https://github.com/ruby/timeout/blob/master/timeout.gemspec","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/sync-ruby.yml","sha":null,"kind":"manifest","created_at":"2026-01-12T13:03:48.201Z","updated_at":"2026-01-12T13:03:48.201Z","repository_link":"https://github.com/ruby/timeout/blob/master/.github/workflows/sync-ruby.yml","dependencies":[{"id":25795358577,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25795358578,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25795358579,"package_name":"convictional/trigger-workflow-and-wait","ecosystem":"actions","requirements":"v1.6.5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/push_gem.yml","sha":null,"kind":"manifest","created_at":"2026-01-12T13:03:48.070Z","updated_at":"2026-01-12T13:03:48.070Z","repository_link":"https://github.com/ruby/timeout/blob/master/.github/workflows/push_gem.yml","dependencies":[{"id":25795358572,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"20cf305ff2072d973412fa9b1e3a4f227bda3c76","direct":true,"kind":"composite","optional":false},{"id":25795358573,"package_name":"actions/checkout","ecosystem":"actions","requirements":"1af3b93b6815bc44a9784bd300feb67ff0d1eeb3","direct":true,"kind":"composite","optional":false},{"id":25795358574,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"d5126b9b3579e429dd52e51e68624dda2e05be25","direct":true,"kind":"composite","optional":false},{"id":25795358575,"package_name":"rubygems/release-gem","ecosystem":"actions","requirements":"1c162a739e8b4cb21a676e97b087e8268d8fc40b","direct":true,"kind":"composite","optional":false}]}],"score":31.449175791692063,"created_at":"2024-12-15T21:38:07.443Z","updated_at":"2026-06-15T15:30:29.969Z","avatar_url":"https://github.com/ruby.png","language":"Ruby","monthly_downloads":0,"readme":"# Timeout\n\nTimeout provides a way to auto-terminate a potentially long-running\noperation if it hasn't finished in a fixed amount of time.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'timeout'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install timeout\n\n## Usage\n\n```ruby\nrequire 'timeout'\nstatus = Timeout.timeout(5) {\n  # Something that should be interrupted if it takes more than 5 seconds...\n}\n```\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/ruby/timeout.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["rubygems","webrick","debugger","repl","bigdecimal","debugging-tool","documentation-tool","strscan","activerecord","mvc"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/260","html_url":"https://ruby.ecosyste.ms/projects/260"}