{"id":379487,"url":"https://github.com/thoughtbot/appraisal","last_synced_at":"2026-10-01T04:49:48.411Z","repository":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"packages":[{"id":13778412,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:12:26.761Z","latest_release_published_at":"2026-02-13T13:12:26.761Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-08-06T21:02:53.771Z","created_at":"2026-02-13T13:12:26.592Z","updated_at":"2026-09-30T04:24:41.138Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.137Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":1498,"github":"ubuntu","metadata":{"codename":"jammy","funded_packages_count":1420},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-09-27T05:07:10.511Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":155732,"name":"appraisal","ecosystem":"rubygems","description":"Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"","homepage":"http://github.com/thoughtbot/appraisal","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":[],"namespace":null,"versions_count":30,"first_release_published_at":"2010-11-11T20:54:04.938Z","latest_release_published_at":"2023-07-14T13:05:15.353Z","latest_release_number":"2.5.0","last_synced_at":"2026-09-30T04:11:55.686Z","created_at":"2022-04-05T17:08:46.628Z","updated_at":"2026-09-30T04:24:41.618Z","registry_url":"https://rubygems.org/gems/appraisal","install_command":"gem install appraisal -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/appraisal/","metadata":{"funding":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.618Z","dependent_packages_count":1704,"downloads":15869015,"downloads_period":"total","dependent_repos_count":6885,"rankings":{"downloads":1.1660173220842558,"dependent_repos_count":0.38960674944642204,"dependent_packages_count":0.031392774056114583,"stargazers_count":1.739496033859349,"forks_count":2.5248759705132158,"docker_downloads_count":0.1614485522885893,"average":1.0021395670413245},"purl":"pkg:gem/appraisal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/appraisal","docker_dependents_count":806,"docker_downloads_count":857588357,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/appraisal/codemeta","maintainers":[{"uuid":"544","login":"thoughtbot","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://rubygems.org/profiles/thoughtbot","role":null,"created_at":"2022-11-07T13:01:16.733Z","updated_at":"2022-11-07T13:01:16.733Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/thoughtbot/packages"},{"uuid":"56772","login":"nickcharlton","name":null,"email":null,"url":null,"packages_count":17,"html_url":"https://rubygems.org/profiles/nickcharlton","role":null,"created_at":"2022-11-07T13:01:16.738Z","updated_at":"2022-11-07T13:01:16.738Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/nickcharlton/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":212634,"maintainers_count":70283,"namespaces_count":0,"keywords_count":20409,"github":"rubygems","metadata":{"funded_packages_count":8574},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-09-27T05:05:05.717Z","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":13711961,"name":"ruby-appraisal","ecosystem":"debian","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:25:05.994Z","latest_release_published_at":"2026-02-12T23:25:05.994Z","latest_release_number":"0.5.1-2.1","last_synced_at":"2026-08-06T21:02:39.921Z","created_at":"2026-02-12T23:25:05.777Z","updated_at":"2026-09-30T04:24:41.098Z","registry_url":"https://tracker.debian.org/pkg/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":"https://packages.debian.org/bookworm/ruby-appraisal","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.097Z","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:deb/debian/ruby-appraisal?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":2635,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":1681},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-09-27T05:07:18.353Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":8616112,"name":"github.com/thoughtbot/appraisal","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":[],"namespace":null,"versions_count":25,"first_release_published_at":"2023-12-03T01:58:48.082Z","latest_release_published_at":"2023-07-14T13:04:25.000Z","latest_release_number":"v2.5.0+incompatible","last_synced_at":"2026-09-30T04:11:58.198Z","created_at":"2023-12-03T01:58:00.146Z","updated_at":"2026-09-30T04:24:41.099Z","registry_url":"https://pkg.go.dev/github.com/thoughtbot/appraisal","install_command":"go get github.com/thoughtbot/appraisal","documentation_url":"https://pkg.go.dev/github.com/thoughtbot/appraisal#section-documentation","metadata":{},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.098Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.77902998550931,"dependent_packages_count":9.55954712080186,"stargazers_count":1.9402592018872893,"forks_count":2.5543692129919364,"docker_downloads_count":null,"average":6.208301380297598},"purl":"pkg:golang/github.com/thoughtbot/appraisal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/thoughtbot/appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/thoughtbot/appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/thoughtbot/appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fthoughtbot%2Fappraisal/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2539564,"maintainers_count":0,"namespaces_count":851773,"keywords_count":135338,"github":"golang","metadata":{"funded_packages_count":104965,"sync_missing_packages_cursor":{"timestamp":"2026-09-29T00:04:57.155362Z","path":"github.com/virtengine/virtengine/sdk/specs","version":"v0.0.0-20260928231908-c0c887541540"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-09-29T00:05:04.109Z","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":13950683,"name":"ruby-appraisal","ecosystem":"guix","description":"Tests your library against different versions of dependencies","homepage":"https://github.com/thoughtbot/appraisal","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T19:00:13.242Z","latest_release_published_at":"2026-03-02T19:00:13.242Z","latest_release_number":"2.5.0","last_synced_at":"2026-08-06T21:03:33.651Z","created_at":"2026-03-02T19:00:13.063Z","updated_at":"2026-09-30T04:24:41.229Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-appraisal/2.5.0/","install_command":"guix install ruby-appraisal","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-check.scm#n94","metadata":{"location":"gnu/packages/ruby-check.scm:94","variable_name":"ruby-appraisal"},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.229Z","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-appraisal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":32676,"maintainers_count":0,"namespaces_count":0,"keywords_count":1654,"github":"guix-mirror","metadata":{"funded_packages_count":1721},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-09-27T05:04:56.695Z","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"}},{"id":13605099,"name":"ruby-appraisal","ecosystem":"debian","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:18:20.157Z","latest_release_published_at":"2026-02-11T11:18:20.157Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-08-06T21:03:26.684Z","created_at":"2026-02-11T11:18:19.940Z","updated_at":"2026-09-30T04:24:41.251Z","registry_url":"https://tracker.debian.org/pkg/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":"https://packages.debian.org/buster/ruby-appraisal","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.251Z","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:deb/debian/ruby-appraisal?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":903,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian","funded_packages_count":897},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-09-30T05:00:09.659Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13466345,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:09:14.149Z","latest_release_published_at":"2026-02-09T16:09:14.149Z","latest_release_number":"0.5.1-2.1","last_synced_at":"2026-08-06T21:03:04.870Z","created_at":"2026-02-09T16:09:13.555Z","updated_at":"2026-09-30T04:24:41.291Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.291Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":1440,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1949},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-09-27T05:05:17.479Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":13750743,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:09:49.653Z","latest_release_published_at":"2026-02-13T07:09:49.653Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-09-10T08:27:11.330Z","created_at":"2026-02-13T07:09:49.487Z","updated_at":"2026-09-30T04:24:41.372Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.371Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":1425,"github":"ubuntu","metadata":{"codename":"focal","funded_packages_count":1069},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-09-27T05:07:12.142Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13406352,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T14:53:06.725Z","latest_release_published_at":"2026-02-06T14:53:06.725Z","latest_release_number":"0.5.1-2.1","last_synced_at":"2026-08-06T21:03:25.201Z","created_at":"2026-02-06T14:53:06.375Z","updated_at":"2026-09-30T04:24:41.420Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.419Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":1696,"github":"ubuntu","metadata":{"codename":"noble","funded_packages_count":1805},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-09-27T05:07:04.769Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13803928,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:14:49.026Z","latest_release_published_at":"2026-02-13T18:14:49.026Z","latest_release_number":"0.5.1-2.1","last_synced_at":"2026-08-06T21:03:31.993Z","created_at":"2026-02-13T18:14:48.648Z","updated_at":"2026-09-30T04:24:41.546Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.546Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":2210,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1798},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-09-27T05:07:14.261Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13566084,"name":"ruby-appraisal","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:35:19.991Z","latest_release_published_at":"2026-02-11T06:35:19.991Z","latest_release_number":"0.5.1-2.1","last_synced_at":"2026-08-06T21:03:01.092Z","created_at":"2026-02-11T06:35:19.792Z","updated_at":"2026-09-30T04:24:41.545Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.544Z","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:deb/ubuntu/ruby-appraisal?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":999,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":1613},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-09-27T05:07:16.202Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":14513582,"name":"dev-ruby/appraisal","ecosystem":"gentoo","description":"Ruby library for testing your library against different versions of dependencies","homepage":"https://github.com/thoughtbot/appraisal","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["amd64","arm","arm64","~hppa","~loong","ppc","ppc64","~riscv","~s390","~sparc","~x86"],"namespace":"dev-ruby","versions_count":1,"first_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_number":"2.5.0","last_synced_at":"2026-07-28T01:17:16.516Z","created_at":"2026-05-27T02:43:34.344Z","updated_at":"2026-09-30T04:24:41.557Z","registry_url":"https://packages.gentoo.org/packages/dev-ruby/appraisal","install_command":"emerge dev-ruby/appraisal","documentation_url":"https://packages.gentoo.org/packages/dev-ruby/appraisal","metadata":{"category":"dev-ruby","slot":"2","eapi":"8","inherit":"ruby-fakegem","iuse":"test ruby_targets_ruby32 ruby_targets_ruby33 ruby_targets_ruby34 ruby_targets_ruby40 doc test test"},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.556Z","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/appraisal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-ruby/appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-ruby/appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-ruby/appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fappraisal/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19561,"maintainers_count":0,"namespaces_count":174,"keywords_count":1054,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":818},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-09-27T05:06:22.831Z","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":13529965,"name":"ruby-appraisal","ecosystem":"debian","description":null,"homepage":"http://github.com/thoughtbot/appraisal","licenses":"mit","normalized_licenses":[],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:26:50.860Z","latest_release_published_at":"2026-02-10T23:26:50.860Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-08-06T21:03:28.463Z","created_at":"2026-02-10T23:26:50.677Z","updated_at":"2026-09-30T04:24:41.575Z","registry_url":"https://tracker.debian.org/pkg/ruby-appraisal","install_command":"apt-get install ruby-appraisal","documentation_url":"https://packages.debian.org/bullseye/ruby-appraisal","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-appraisal","standards_version":"3.9.8","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"bundler, debhelper (\u003e= 9~), gem2deb, rake, ruby-aruba, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.575Z","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:deb/debian/ruby-appraisal?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-appraisal","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-appraisal/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":758,"github":"debian","metadata":{"codename":"bullseye","funded_packages_count":1177},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-09-27T05:07:19.958Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":12183158,"name":"appraisal","ecosystem":"rubygems","description":"Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"","homepage":"http://github.com/thoughtbot/appraisal","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/thoughtbot/appraisal","keywords_array":[],"namespace":null,"versions_count":30,"first_release_published_at":"2010-11-11T20:54:04.938Z","latest_release_published_at":"2023-07-14T13:05:15.353Z","latest_release_number":"2.5.0","last_synced_at":"2026-09-30T04:11:56.124Z","created_at":"2025-10-07T01:27:51.498Z","updated_at":"2026-09-30T04:24:41.604Z","registry_url":"https://gem.coop/gems/appraisal","install_command":"gem install appraisal -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/appraisal/","metadata":{"funding":null},"repo_metadata":{"id":44163498,"uuid":"1072713","full_name":"thoughtbot/appraisal","owner":"thoughtbot","description":"A Ruby library for testing your library against different versions of dependencies.","archived":false,"fork":false,"pushed_at":"2025-09-08T14:17:05.000Z","size":358,"stargazers_count":1325,"open_issues_count":12,"forks_count":115,"subscribers_count":41,"default_branch":"main","last_synced_at":"2026-09-14T16:45:38.400Z","etag":null,"topics":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"latest_commit_sha":null,"homepage":"https://thoughtbot.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoughtbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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},"funding":{"github":"thoughtbot"}},"created_at":"2010-11-11T20:50:44.000Z","updated_at":"2026-08-06T09:57:25.000Z","dependencies_parsed_at":"2022-09-13T15:31:59.858Z","dependency_job_id":"f19bfd9d-4424-4b15-bf5d-d606065efb8a","html_url":"https://github.com/thoughtbot/appraisal","commit_stats":{"total_commits":273,"total_committers":70,"mean_commits":3.9,"dds":0.6227106227106227,"last_synced_commit":"b200e636903700098bef25f4f51dbc4c46e4c04c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/thoughtbot/appraisal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/sbom","scorecard":{"id":883060,"data":{"date":"2025-08-11","repo":{"name":"github.com/thoughtbot/appraisal","commit":"602cdd9b5f8cb8f36992733422f69312b172f427"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.8,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/28 approved changesets -- score normalized to 8","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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/dynamic-security.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/dynamic-security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/thoughtbot/appraisal/main.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dynamic-security.yml:14","Warn: no topLevel permission defined: .github/workflows/dynamic-security.yml:1","Warn: no topLevel permission defined: .github/workflows/main.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":"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":"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":10,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Info: FSF or OSI recognized license: MIT License: MIT-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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 'main'"],"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 28 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-24T08:57:37.403Z","repository_id":44163498,"created_at":"2025-08-24T08:57:37.404Z","updated_at":"2025-08-24T08:57:37.404Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37480450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-19T02:00:07.094Z","response_time":73,"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":"thoughtbot","name":"thoughtbot, inc.","uuid":"6183","kind":"organization","description":"We work with organizations of all sizes to design, develop, and grow their web and mobile products.","email":"hello@thoughtbot.com","website":"https://thoughtbot.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6183?v=4","repositories_count":434,"last_synced_at":"2024-04-14T06:41:37.100Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"thoughtbot"}},"html_url":"https://github.com/thoughtbot","funding_links":["https://github.com/sponsors/thoughtbot"],"total_stars":129983,"followers":556,"following":0,"created_at":"2022-11-02T16:21:36.147Z","updated_at":"2024-04-14T06:43:02.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoughtbot/repositories"},"tags":[{"name":"v3.0.0.rc1","sha":"602cdd9b5f8cb8f36992733422f69312b172f427","kind":"tag","published_at":"2024-10-25T18:18:01.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v3.0.0.rc1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v3.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v3.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v3.0.0.rc1/manifests"},{"name":"v2.5.0","sha":"feb78bcc6177038399bff098cb6c2bd4bca4972a","kind":"tag","published_at":"2023-07-14T13:04:54.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"a89cc38d94ff6c6926d8b9c62791beaf6a8b0e6e","kind":"tag","published_at":"2021-07-28T11:44:25.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"78df198e3e91e58e0e45156e0c7bfbc5e0a57ebb","kind":"tag","published_at":"2021-02-24T22:04:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"af0ab55e4d03321822f038a1fb5eac3a2c7ab0d8","kind":"tag","published_at":"2020-06-05T14:09:30.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"d67ce1bd55e648720e17ab8fc448c3e8168b54f9","kind":"tag","published_at":"2017-04-19T17:11:13.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"bc0a5b5022e77eddb375e551e54014bf4c961837","kind":"tag","published_at":"2015-08-13T22:02:05.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.1.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"7adf7641390061f7dacb7652dceacbf6167f1f98","kind":"tag","published_at":"2015-06-26T18:27:23.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"1bf6d7c48bda006314088027aa601acfd75918f3","kind":"tag","published_at":"2015-04-14T02:37:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"66ce72c580b0df77f4d46c9637c3246add6190e7","kind":"tag","published_at":"2015-04-10T16:05:59.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v2.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"4a2d08bb28b25c7506408ecfab401be94449fc17","kind":"tag","published_at":"2014-08-22T15:44:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"3f8ffe89bb8bbb0b059851a61d9558445862b5d8","kind":"tag","published_at":"2014-08-22T14:19:10.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"7bb38f68c093f71892ae9f03f1b28485fc13bd9a","kind":"tag","published_at":"2014-04-02T18:36:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0/manifests"},{"name":"v1.0.0.beta3","sha":"7711d4d09e40fc6a61f3b7648051a12af353902a","kind":"tag","published_at":"2014-02-28T19:12:38.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta3/manifests"},{"name":"v1.0.0.beta2","sha":"8df62945e0e1a5ea14853f5af108120eb0eada37","kind":"tag","published_at":"2013-11-06T22:59:41.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta2/manifests"},{"name":"v1.0.0.beta1","sha":"a283e09e7cbe0c8ff63b07c54a753532f69866f7","kind":"tag","published_at":"2013-10-29T08:13:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v1.0.0.beta1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v1.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v1.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v1.0.0.beta1/manifests"},{"name":"v0.5.2","sha":"5232ed8b226541b02b8138b78a5dd0be3fd79539","kind":"tag","published_at":"2013-04-05T17:16:09.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"0d9516885b2d74ee4a4a1b6f8f247c7d95c82245","kind":"tag","published_at":"2012-11-07T15:29:56.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"f0e9f6f460eac028832759ff657e788d7277020e","kind":"tag","published_at":"2012-10-31T14:49:47.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.5.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"4da9c6619489f82ab07d6fc47cf3d066640361c9","kind":"commit","published_at":"2012-02-15T15:02:29.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"2388945ecd323658aba3be92976316127f7e3d5e","kind":"tag","published_at":"2011-11-11T19:58:08.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.4.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"4ffe06f20baa9c082addc69c09d84509d612fa35","kind":"tag","published_at":"2011-08-09T13:22:21.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.8","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.8/manifests"},{"name":"v0.3.5","sha":"cac2380bded36f0b4d1fa772b2d6c405db7c2183","kind":"tag","published_at":"2011-05-31T23:25:49.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.5","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"54158c793239001bbbf5fdee057829a524fe0cf8","kind":"commit","published_at":"2011-05-30T18:47:46.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.4","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"7cc703a3da1f26099549be1dc8428a6e3cd6cc4d","kind":"commit","published_at":"2011-05-27T21:12:53.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.3","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"9fb48b119bb476c8bba98ecc2284ed59e33c5c26","kind":"commit","published_at":"2011-05-25T14:00:33.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.2","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"f35786761859678fa1a30f330984ad3e5f72c0eb","kind":"commit","published_at":"2011-05-24T19:08:28.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"30617b01d81d32e1bb90c66d945c75b207027407","kind":"commit","published_at":"2011-05-24T18:45:03.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.3.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"c84e72e61da9928aeebd1e66ed184df48ba67d19","kind":"commit","published_at":"2011-05-23T16:34:39.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.2.0","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"dd23fe031c60b255a01a0d36ba924231f268e0dc","kind":"commit","published_at":"2010-11-11T20:49:48.000Z","download_url":"https://codeload.github.com/thoughtbot/appraisal/tar.gz/v0.1","html_url":"https://github.com/thoughtbot/appraisal/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thoughtbot/appraisal@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-09-30T04:24:41.602Z","dependent_packages_count":0,"downloads":15869015,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":1.0970651210069857,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":0.36568837366899526},"purl":"pkg:gem/appraisal?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/appraisal","docker_dependents_count":806,"docker_downloads_count":857588357,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/appraisal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/appraisal/dependencies","status":null,"funding_links":["https://github.com/sponsors/thoughtbot"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-28T21:11:10.304Z","issues_count":71,"pull_requests_count":99,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5920836.563218391,"issues_closed_count":60,"pull_requests_closed_count":87,"pull_request_authors_count":33,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.282828282828283,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","maintainers":[{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"},{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/appraisal/codemeta","maintainers":[{"uuid":"544","login":"thoughtbot","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://gem.coop/profiles/thoughtbot","role":null,"created_at":"2025-10-07T12:10:19.828Z","updated_at":"2025-10-07T12:10:19.828Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/thoughtbot/packages"},{"uuid":"56772","login":"nickcharlton","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://gem.coop/profiles/nickcharlton","role":null,"created_at":"2025-10-07T12:10:19.890Z","updated_at":"2025-10-07T12:10:19.890Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/nickcharlton/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":197153,"maintainers_count":69264,"namespaces_count":0,"keywords_count":19897,"github":"gem-coop","metadata":{"funded_packages_count":8325},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-09-27T05:05:15.044Z","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"}}],"commits":{"id":18961,"full_name":"thoughtbot/appraisal","default_branch":"main","total_commits":302,"total_committers":71,"total_bot_commits":2,"total_bot_committers":1,"mean_commits":4.253521126760563,"dds":0.5927152317880795,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-09-30T04:12:01.565Z","last_synced_commit":"602cdd9b5f8cb8f36992733422f69312b172f427","created_at":"2023-03-07T11:39:24.963Z","updated_at":"2026-09-30T04:12:01.321Z","committers":[{"name":"Prem Sichanugrist","email":"s@sikac.hu","login":"sikachu","count":123},{"name":"Prem Sichanugrist","email":"prem@thoughtbot.com","login":null,"count":18},{"name":"Joe Ferris","email":"jferris@thoughtbot.com","login":"jferris","count":18},{"name":"Nicolas Rodriguez","email":"nico@nicoladmin.fr","login":"n-rodriguez","count":16},{"name":"Nick Charlton","email":"nick@nickcharlton.net","login":"nickcharlton","count":14},{"name":"Gabe Berke-Williams","email":"gabe@thoughtbot.com","login":null,"count":13},{"name":"Dan Croak","email":"dcroak@thoughtbot.com","login":"croaky","count":7},{"name":"David Rodríguez","email":"deivid.rodriguez@riseup.net","login":"deivid-rodriguez","count":5},{"name":"sanemat","email":"o.gata.ken@gmail.com","login":"sanemat","count":4},{"name":"Jason Waldrip","email":"jason@waldrip.net","login":"jwaldrip","count":4},{"name":"grosser","email":"grosser.michael@gmail.com","login":"grosser","count":3},{"name":"osheroff","email":"ben@zendesk.com","login":null,"count":3},{"name":"Adarsh Pandit","email":"adarsh@thoughtbot.com","login":null,"count":3},{"name":"Gregory Ostermayr","email":"gregory.ostermayr@gmail.com","login":"gregors","count":3},{"name":"Joe Sharp","email":"joe.sharp@procore.com","login":"joe-sharp","count":3},{"name":"Mike Burns","email":"mike@mike-burns.com","login":"mike-burns","count":3},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":2},{"name":"Yevhenii Ponomarenko","email":"yevhenii.ponomarenko-contractor@procore.com","login":"yevhenii-ponomarenko","count":2},{"name":"Oli Peate","email":"oli@thoughtbot.com","login":null,"count":2},{"name":"Elia Schito","email":"elia@schito.me","login":"elia","count":2},{"name":"Ian Fosbery","email":"ian@codeguy.io","login":"fozcodes","count":2},{"name":"Kenichi Kamiya","email":"kachick1@gmail.com","login":"kachick","count":2},{"name":"Nick Quaranto","email":"nick@thoughtbot.com","login":"nickrivadeneira","count":2},{"name":"Antonis Berkakis","email":"aberkakis@gmail.com","login":"berkos","count":1},{"name":"Ari Pollak","email":"aripollak","login":"aripollak","count":1},{"name":"Benjamin Fleischer","email":"github@benjaminfleischer.com","login":"bf4","count":1},{"name":"Brad Gessler","email":"bradgessler@gmail.com","login":"bradgessler","count":1},{"name":"Brian Cardarella","email":"bcardarella@gmail.com","login":"bcardarella","count":1},{"name":"Brian Hawley","email":"brian_hawley@yahoo.com","login":"BrianHawley","count":1},{"name":"Bryan Ricker","email":"bricker88@gmail.com","login":"bricker","count":1},{"name":"André Arko","email":"andre@arko.net","login":"indirect","count":1},{"name":"Andy Delcambre and Rafael Mendonça França","email":"adelcambre@engineyard.com","login":null,"count":1},{"name":"Harold Giménez","email":"hgimenez@thoughtbot.com","login":null,"count":1},{"name":"Jon de Andres","email":"jon@wuaki.tv","login":null,"count":1},{"name":"Juan González","email":"juan.gonzalez@wuaki.tv","login":null,"count":1},{"name":"Nicolas Leger","email":"nicolasleger","login":"nicolasleger","count":1},{"name":"Oliver Klee","email":"o.klee@braingourmets.com","login":"oliverklee","count":1},{"name":"Omer Katz","email":"omer.drow@gmail.com","login":"thedrow","count":1},{"name":"Pat Allan","email":"pat@freelancing-gods.com","login":"pat","count":1},{"name":"Peter Boling","email":"peter.boling@gmail.com","login":"pboling","count":1},{"name":"Phill Baker","email":"phillbaker@retrodict.com","login":"phillbaker","count":1},{"name":"PikachuEXE","email":"pikachuexe@gmail.com","login":"PikachuEXE","count":1},{"name":"Richard Schneeman","email":"richard.schneeman@gmail.com","login":"schneems","count":1},{"name":"Ryan Bigg","email":"radarlistener@gmail.com","login":"radar","count":1},{"name":"Ryunosuke SATO","email":"tricknotes.rs@gmail.com","login":"tricknotes","count":1},{"name":"Sebastian Cohnen","email":"tisba","login":"tisba","count":1},{"name":"Teo Ljungberg","email":"teo@teoljungberg.com","login":"teoljungberg","count":1},{"name":"Tyson Gach","email":"tyson@tysongach.com","login":"tysongach","count":1},{"name":"Vlad Bokov","email":"razum2um@mail.ru","login":"razum2um","count":1},{"name":"akihiro17","email":"coolwizard11@gmail.com","login":"akihiro17","count":1},{"name":"aymeric-ledorze","email":"aymeric.ledorze@kosmopolead.com","login":"aymeric-ledorze","count":1},{"name":"brenes","email":"shholmes@gmail.com","login":"brenes","count":1},{"name":"naofumi-fujii","email":"naofumi-fujii","login":"naofumi-fujii","count":1},{"name":"Kate Gengler","email":"kategengler@gmail.com","login":null,"count":1},{"name":"Dmytro Shteflyuk","email":"kpumuk@kpumuk.info","login":"kpumuk","count":1},{"name":"Dray Lacy","email":"dray@envylabs.com","login":"omghax","count":1},{"name":"Elliot Winkler","email":"elliot.winkler@gmail.com","login":"mcmire","count":1},{"name":"Geoff Massanek","email":"gmassanek@gmail.com","login":"gmassanek","count":1},{"name":"Geremia Taglialatela","email":"tagliala","login":"tagliala","count":1},{"name":"Ivan Kuchin","email":"tadump+git@gmail.com","login":"toy","count":1},{"name":"James Ebentier","email":"jebentier@gmail.com","login":"jebentier","count":1},{"name":"Jared Beck","email":"jared@jaredbeck.com","login":"jaredbeck","count":1},{"name":"Joakim Antman","email":"antmanj@gmail.com","login":"anakinj","count":1},{"name":"Joseph Anthony Pasquale Holsten","email":"joseph@josephholsten.com","login":"josephholsten","count":1},{"name":"Josh Nichols","email":"josh@technicalpickles.com","login":"technicalpickles","count":1},{"name":"Kyle Fazzari","email":"kyrofa@ubuntu.com","login":"kyrofa","count":1},{"name":"M.Shibuya","email":"mit.shibuya@gmail.com","login":"mshibuya","count":1},{"name":"Marc Ignacio","email":"marcrendlignacio@gmail.com","login":"padi","count":1},{"name":"Marco Costa","email":"mmarcottulio@gmail.com","login":"marcotc","count":1},{"name":"Matt Griffin","email":"matt@griffinonline.org","login":"betamatt","count":1},{"name":"Neil Carvalho","email":"me@neil.pro","login":"neilvcarvalho","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-01T00:00:22.914Z","repositories_count":7964883,"commits_count":1215029813,"contributors_count":55376764,"owners_count":1656685,"committers_count":3696826,"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":{"table":{"full_name":"thoughtbot/appraisal","html_url":"https://github.com/thoughtbot/appraisal","last_synced_at":"2026-09-30T04:11:52.534Z","status":null,"issues_count":71,"pull_requests_count":100,"avg_time_to_close_issue":21444204.983333334,"avg_time_to_close_pull_request":5853826.488636363,"issues_closed_count":60,"pull_requests_closed_count":88,"pull_request_authors_count":34,"issue_authors_count":58,"avg_comments_per_issue":3.887323943661972,"avg_comments_per_pull_request":2.27,"merged_pull_requests_count":76,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":23950.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-12T07:47:24.575Z","updated_at":"2026-09-30T04:11:52.534Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoughtbot%2Fappraisal/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{}},"issue_author_associations_count":{"table":{"NONE":52,"CONTRIBUTOR":16,"MEMBER":3}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":74,"MEMBER":14,"NONE":12}},"issue_authors":{"table":{"n-rodriguez":4,"nickcharlton":3,"jasonfb":3,"marcotc":3,"jrochkind":2,"mlt":2,"coding-bunny":2,"bertBruynooghe":2,"jasnow":1,"odlp":1,"Antronin":1,"printercu":1,"nijikon":1,"JohnEspinosaHans":1,"tute":1,"natematykiewicz":1,"glebm":1,"olleolleolle":1,"AlfonsoUceda":1,"matiasgarcia":1,"bradgessler":1,"atzorvas":1,"modosc":1,"fx":1,"nunommc":1,"etagwerker":1,"rpbaltazar":1,"jaredbeck":1,"evbuk1":1,"brendon":1,"gstokkink":1,"bolshakov":1,"drwl":1,"jebentier":1,"tisba":1,"jvenezia":1,"tatzsuzuki":1,"hlascelles":1,"jcoyne":1,"jsharpe-mr":1,"alexevanczuk":1,"bibendi":1,"jcmorrow":1,"joe-sharp":1,"jeremywadsack":1,"mvz":1,"philsturgeon":1,"pboling":1,"sudoremo":1,"divyesh008":1,"composerinteralia":1,"BrianHawley":1,"marten":1,"Sumitsharrma1":1,"tagliala":1,"teoljungberg":1,"zw963":1,"ngan":1}},"pull_request_authors":{"table":{"n-rodriguez":32,"nickcharlton":12,"deivid-rodriguez":6,"pboling":6,"joe-sharp":5,"github-actions[bot]":3,"toy":3,"yevhenii-ponomarenko":3,"swelther":2,"anakinj":2,"neilvcarvalho":2,"petergoldstein":2,"jebentier":1,"thedrow":1,"teoljungberg":1,"berkos":1,"kpumuk":1,"indirect":1,"jaredbeck":1,"bradgessler":1,"tagliala":1,"philsturgeon":1,"aymeric-ledorze":1,"aripollak":1,"naofumi-fujii":1,"marcotc":1,"dior001":1,"excid3":1,"tisba":1,"kyrofa":1,"nicolasleger":1,"odlp":1,"MatheusRich":1,"BrianHawley":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-01T00:00:07.383Z","repositories_count":17701201,"issues_count":47211002,"pull_requests_count":146617672,"authors_count":11885488,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{}},"past_year_pull_request_author_associations_count":{"table":{"NONE":1}},"past_year_issue_authors":{"table":{}},"past_year_pull_request_authors":{"table":{"dior001":1}},"maintainers":[{"table":{"login":"nickcharlton","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nickcharlton"}},{"table":{"login":"neilvcarvalho","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/neilvcarvalho"}}],"active_maintainers":[]}},"events":{"total":{"CreateEvent":1,"ForkEvent":4,"IssueCommentEvent":58,"IssuesEvent":2,"PullRequestEvent":8,"PullRequestReviewCommentEvent":469,"PullRequestReviewEvent":69,"PushEvent":1,"ReleaseEvent":1,"WatchEvent":45},"last_year":{"ForkEvent":1,"IssueCommentEvent":1,"WatchEvent":3}},"keywords":["appraisal","gemfile","ruby","rubygems","testing","thoughtbot"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-09-13T15:31:59.675Z","updated_at":"2022-09-13T15:31:59.675Z","repository_link":"https://github.com/thoughtbot/appraisal/blob/main/Gemfile","dependencies":[{"id":4738555154,"package_name":"thor","ecosystem":"rubygems","requirements":"~\u003e 0.14.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"appraisal.gemspec","sha":null,"kind":"manifest","created_at":"2022-09-13T15:31:59.754Z","updated_at":"2022-09-13T15:31:59.754Z","repository_link":"https://github.com/thoughtbot/appraisal/blob/main/appraisal.gemspec","dependencies":[{"id":4738555203,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":4738555204,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":4738555205,"package_name":"thor","ecosystem":"rubygems","requirements":"\u003e= 0.14.0","direct":true,"kind":"runtime","optional":false},{"id":4738555206,"package_name":"activesupport","ecosystem":"rubygems","requirements":"\u003e= 3.2.21","direct":true,"kind":"development","optional":false},{"id":4738555207,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.0","direct":true,"kind":"development","optional":false}]}],"score":32.741986360242606,"created_at":"2026-09-30T03:55:39.218Z","updated_at":"2026-10-01T04:49:48.430Z","avatar_url":"https://github.com/thoughtbot.png","language":"Ruby","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/379487","html_url":"https://summary.ecosyste.ms/projects/379487"}