{"id":310,"name":null,"description":"A very fast \u0026 simple Ruby web server","url":"https://github.com/macournoyer/thin","last_synced_at":"2026-04-30T19:30:23.561Z","repository":{"id":41207598,"uuid":"68","full_name":"macournoyer/thin","owner":"macournoyer","description":"A very fast \u0026 simple Ruby web server","archived":false,"fork":false,"pushed_at":"2025-06-24T04:58:22.000Z","size":2050,"stargazers_count":2275,"open_issues_count":21,"forks_count":345,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-04-23T16:04:24.608Z","etag":null,"topics":["rack","rails","ruby","server","thin","web-server"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/thin","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macournoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://github.com/socketry/community/#funding","github":"ioquatix"}},"created_at":"2008-01-19T05:39:04.000Z","updated_at":"2026-04-14T12:09:45.000Z","dependencies_parsed_at":"2023-02-16T23:15:17.255Z","dependency_job_id":"577acd28-56e2-42e6-b132-6375f5e0eed3","html_url":"https://github.com/macournoyer/thin","commit_stats":{"total_commits":831,"total_committers":111,"mean_commits":7.486486486486487,"dds":0.4452466907340553,"last_synced_commit":"3f375389d29deae252e03080b07a1f10aa60d957"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/macournoyer/thin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/sbom","scorecard":{"id":609819,"data":{"date":"2025-08-11","repo":{"name":"github.com/macournoyer/thin","commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:12","Info: no jobLevel write permissions found"],"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: lib/thin/controllers/service.sh.erb:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 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-21T02:22:13.197Z","repository_id":41207598,"created_at":"2025-08-21T02:22:13.197Z","updated_at":"2025-08-21T02:22:13.197Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"macournoyer","name":"Marc-André Cournoyer","uuid":"22","kind":"user","description":"I enjoy walks in the park, VMs, neural nets, servers, anything with a loop.","email":"","website":"http://macournoyer.com","location":"Montreal, QC, Canada","twitter":"macournoyer","company":"@Shopify ","icon_url":"https://avatars.githubusercontent.com/u/22?v=4","repositories_count":69,"last_synced_at":"2025-09-07T23:54:13.516Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/macournoyer","funding_links":[],"total_stars":4507,"followers":1266,"following":56,"created_at":"2022-11-02T16:59:07.830Z","updated_at":"2025-09-07T23:54:13.517Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer/repositories"},"packages":[{"id":13783617,"name":"thin","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["universe/web"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T14:08:12.775Z","latest_release_published_at":"2026-02-13T14:08:12.775Z","latest_release_number":"1.8.0-1ubuntu3","last_synced_at":"2026-03-13T14:35:42.723Z","created_at":"2026-02-13T14:08:12.563Z","updated_at":"2026-03-13T14:35:42.724Z","registry_url":"https://launchpad.net/ubuntu/+source/thin","install_command":"apt-get install thin","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"thin","standards_version":"4.5.1","maintainer":"Ubuntu Developers \u003cubuntu-devel-discuss@lists.ubuntu.com\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T14:12:42.700Z","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/thin?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/thin/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":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","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":13766281,"name":"thin","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["universe/web"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T10:59:11.702Z","latest_release_published_at":"2026-02-13T10:59:11.702Z","latest_release_number":"1.8.2-1ubuntu1","last_synced_at":"2026-03-13T18:16:46.955Z","created_at":"2026-02-13T10:59:11.177Z","updated_at":"2026-03-13T18:30:37.656Z","registry_url":"https://launchpad.net/ubuntu/+source/thin","install_command":"apt-get install thin","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"thin","standards_version":"4.7.0","maintainer":"Ubuntu Developers \u003cubuntu-devel-discuss@lists.ubuntu.com\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, iproute2, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":41207598,"uuid":"68","full_name":"macournoyer/thin","owner":"macournoyer","description":"A very fast \u0026 simple Ruby web server","archived":false,"fork":false,"pushed_at":"2025-06-24T04:58:22.000Z","size":2050,"stargazers_count":2279,"open_issues_count":21,"forks_count":351,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-02-05T11:58:00.863Z","etag":null,"topics":["rack","rails","ruby","server","thin","web-server"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/thin","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macournoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://github.com/socketry/community/#funding","github":"ioquatix"}},"created_at":"2008-01-19T05:39:04.000Z","updated_at":"2026-02-04T01:08:35.000Z","dependencies_parsed_at":"2023-02-16T23:15:17.255Z","dependency_job_id":"577acd28-56e2-42e6-b132-6375f5e0eed3","html_url":"https://github.com/macournoyer/thin","commit_stats":{"total_commits":831,"total_committers":111,"mean_commits":7.486486486486487,"dds":0.4452466907340553,"last_synced_commit":"3f375389d29deae252e03080b07a1f10aa60d957"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/macournoyer/thin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/sbom","scorecard":{"id":609819,"data":{"date":"2025-08-11","repo":{"name":"github.com/macournoyer/thin","commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:12","Info: no jobLevel write permissions found"],"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: lib/thin/controllers/service.sh.erb:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 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-21T02:22:13.197Z","repository_id":41207598,"created_at":"2025-08-21T02:22:13.197Z","updated_at":"2025-08-21T02:22:13.197Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29185107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T00:44:15.062Z","status":"online","status_checked_at":"2026-02-07T02:00:07.217Z","response_time":63,"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"}},"repo_metadata_updated_at":"2026-02-13T10:59:12.213Z","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":0.434477196451336,"forks_count":0.2835809246299139,"docker_downloads_count":null,"average":0.17951453027031247},"purl":"pkg:deb/ubuntu/thin?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/thin/dependencies","status":null,"funding_links":["https://github.com/socketry/community/#funding","https://github.com/sponsors/ioquatix"],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/thin/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":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","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":13719507,"name":"thin","ecosystem":"debian","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["web"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-13T00:44:25.628Z","latest_release_published_at":"2026-02-13T00:44:25.628Z","latest_release_number":"1.8.1-2","last_synced_at":"2026-03-14T02:25:55.362Z","created_at":"2026-02-13T00:44:25.397Z","updated_at":"2026-03-14T02:32:29.195Z","registry_url":"https://tracker.debian.org/pkg/thin","install_command":"apt-get install thin","documentation_url":"https://packages.debian.org/bookworm/thin","metadata":{"component":"main","architecture":"any","priority":"source","binary":"thin","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, iproute2, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T00:44:26.280Z","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/thin?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/thin/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":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","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":13810258,"name":"thin","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["universe/web"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T19:45:22.103Z","latest_release_published_at":"2026-02-13T19:45:22.103Z","latest_release_number":"1.8.0-1ubuntu5","last_synced_at":"2026-03-14T06:14:21.081Z","created_at":"2026-02-13T19:45:21.888Z","updated_at":"2026-03-14T06:14:21.082Z","registry_url":"https://launchpad.net/ubuntu/+source/thin","install_command":"apt-get install thin","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"thin","standards_version":"4.5.1","maintainer":"Ubuntu Developers \u003cubuntu-devel-discuss@lists.ubuntu.com\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T19:45:33.293Z","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/thin?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/thin/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":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","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":13534526,"name":"thin","ecosystem":"debian","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["web"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T00:12:31.551Z","latest_release_published_at":"2026-02-11T00:12:31.551Z","latest_release_number":"1.8.0-1","last_synced_at":"2026-03-14T08:21:30.310Z","created_at":"2026-02-11T00:12:31.365Z","updated_at":"2026-03-14T08:21:30.310Z","registry_url":"https://tracker.debian.org/pkg/thin","install_command":"apt-get install thin","documentation_url":"https://packages.debian.org/bullseye/thin","metadata":{"component":"main","architecture":"any","priority":"source","binary":"thin","standards_version":"4.5.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:27:59.775Z","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/thin?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/thin/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":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","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":13570786,"name":"thin","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["universe/web"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T07:39:08.466Z","latest_release_published_at":"2026-02-11T07:39:08.466Z","latest_release_number":"1.8.0-1ubuntu5","last_synced_at":"2026-03-11T17:14:03.994Z","created_at":"2026-02-11T07:39:08.277Z","updated_at":"2026-03-11T17:14:03.995Z","registry_url":"https://launchpad.net/ubuntu/+source/thin","install_command":"apt-get install thin","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"thin","standards_version":"4.5.1","maintainer":"Ubuntu Developers \u003cubuntu-devel-discuss@lists.ubuntu.com\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:58:40.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/ubuntu/thin?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/thin/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":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","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":316201,"name":"thin","ecosystem":"rubygems","description":"A thin and fast web server","homepage":"https://github.com/macournoyer/thin","licenses":"GPL-2.0-or-later,Ruby","normalized_licenses":["GPL-2.0-or-later","Ruby"],"repository_url":"https://github.com/macournoyer/thin","keywords_array":[],"namespace":null,"versions_count":71,"first_release_published_at":"2009-07-25T17:49:52.000Z","latest_release_published_at":"2025-06-24T04:58:19.267Z","latest_release_number":"2.0.1","last_synced_at":"2026-04-30T02:23:09.944Z","created_at":"2022-04-06T11:45:56.925Z","updated_at":"2026-04-30T15:42:14.435Z","registry_url":"https://rubygems.org/gems/thin","install_command":"gem install thin -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/thin/","metadata":{"funding":null},"repo_metadata":{"id":41207598,"uuid":"68","full_name":"macournoyer/thin","owner":"macournoyer","description":"A very fast \u0026 simple Ruby web server","archived":false,"fork":false,"pushed_at":"2025-06-24T04:58:22.000Z","size":2050,"stargazers_count":2275,"open_issues_count":21,"forks_count":346,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-04-07T08:03:36.778Z","etag":null,"topics":["rack","rails","ruby","server","thin","web-server"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/thin","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macournoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://github.com/socketry/community/#funding","github":"ioquatix"}},"created_at":"2008-01-19T05:39:04.000Z","updated_at":"2026-03-20T22:17:47.000Z","dependencies_parsed_at":"2023-02-16T23:15:17.255Z","dependency_job_id":"577acd28-56e2-42e6-b132-6375f5e0eed3","html_url":"https://github.com/macournoyer/thin","commit_stats":{"total_commits":831,"total_committers":111,"mean_commits":7.486486486486487,"dds":0.4452466907340553,"last_synced_commit":"3f375389d29deae252e03080b07a1f10aa60d957"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/macournoyer/thin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/sbom","scorecard":{"id":609819,"data":{"date":"2025-08-11","repo":{"name":"github.com/macournoyer/thin","commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:12","Info: no jobLevel write permissions found"],"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: lib/thin/controllers/service.sh.erb:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 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-21T02:22:13.197Z","repository_id":41207598,"created_at":"2025-08-21T02:22:13.197Z","updated_at":"2025-08-21T02:22:13.197Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31749763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"macournoyer","name":"Marc-André Cournoyer","uuid":"22","kind":"user","description":"I enjoy walks in the park, VMs, neural nets, servers, anything with a loop.","email":"","website":"http://macournoyer.com","location":"Montreal, QC, Canada","twitter":"macournoyer","company":"@Shopify ","icon_url":"https://avatars.githubusercontent.com/u/22?v=4","repositories_count":69,"last_synced_at":"2025-09-07T23:54:13.516Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/macournoyer","funding_links":[],"total_stars":4507,"followers":1266,"following":56,"created_at":"2022-11-02T16:59:07.830Z","updated_at":"2025-09-07T23:54:13.517Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer/repositories"},"tags":[{"name":"v2.0.1","sha":"84a5188612d84bcf5c6ad1f1c27c750645917f5c","kind":"commit","published_at":"2025-06-24T04:57:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"955db1a5c2b5f1134d6de4a951cb6c29ddd2dba7","kind":"commit","published_at":"2025-06-22T15:29:19.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0/manifests"},{"name":"v1.8.2","sha":"85b956cf1cf377e3e53911cd4e717f7392f7f818","kind":"commit","published_at":"2023-03-31T10:58:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2/manifests"},{"name":"v1.8.1","sha":"0712d603a31d97b9fa8a0260da400da2e4217d60","kind":"commit","published_at":"2021-05-20T00:59:01.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"02f0a3a72620313c69a1d797671cc522399d9b4c","kind":"commit","published_at":"2020-11-13T06:43:08.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0/manifests"},{"name":"v1.7.2","sha":"f83ab677f008afcfabcdfa8930225f6cea88f461","kind":"commit","published_at":"2017-07-08T14:16:21.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"5ad246880a0589b9da9d9543af2fafbbc64a926e","kind":"commit","published_at":"2017-06-13T01:10:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"9774036766c03e89d33b06cad3d1efb97e90bdae","kind":"commit","published_at":"2016-05-27T21:12:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"0770aa00399480bbd8ca7391d416c8700818e719","kind":"commit","published_at":"2015-09-19T02:41:15.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"a1d69d683b820d4355aaaa4454f4212d76f712db","kind":"commit","published_at":"2014-10-02T00:18:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"2296e7babcabc90e5d75755574b8129b9a3335dc","kind":"commit","published_at":"2014-03-04T14:28:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"11346bb433958d71e6e7c7c4405e2a82a7f63d04","kind":"commit","published_at":"2013-10-31T14:43:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"fd8f48e618ef23b74cd8282f772f957ca5d8912a","kind":"commit","published_at":"2013-10-02T16:36:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0/manifests"},{"name":"v1.5.1","sha":"a04411db466e4f9c6d5db8a104884f97fa267c4f","kind":"commit","published_at":"2013-03-18T16:42:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1/manifests"},{"name":"v2.0.0.pre","sha":"647832a734e63de38ca673fb250e2d6cba1c47ef","kind":"tag","published_at":"2012-09-21T17:43:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0.pre","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre/manifests"},{"name":"v1.5.0","sha":"bf8a2272fc7bb5800eb6949ab731c855d9c9bf36","kind":"commit","published_at":"2012-09-19T18:12:32.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0/manifests"},{"name":"v1.4.1","sha":"12cf2016e647bf605f91fbe66e51060e536a7fbb","kind":"commit","published_at":"2012-07-03T15:03:44.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"f6184c54a00058b6bbb91a3c1bd6841dc3186616","kind":"commit","published_at":"2012-07-03T14:53:25.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0/manifests"},{"name":"v1.3.1","sha":"652f5d75c14a6873974521c291262a61c9b4cca0","kind":"tag","published_at":"2011-11-14T14:16:37.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"6998c313098b11cae0dabdcd22eb7889c3b05c47","kind":"tag","published_at":"2011-11-12T02:18:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0/manifests"},{"name":"v1.2.8","sha":"51f816954a22cde17c41ac8cb4a0bf9da162c45d","kind":"tag","published_at":"2011-02-25T18:16:42.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.8","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8/manifests"},{"name":"v1.2.7","sha":"fe31d8065e6b0499495fc41aa2d2d79024d822fc","kind":"tag","published_at":"2010-03-01T12:48:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.7","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7/manifests"},{"name":"v1.2.6","sha":"2dc260b32428b7280838d608ef18db5c68442b14","kind":"tag","published_at":"2010-02-25T20:57:00.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.6","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6/manifests"},{"name":"v1.2.4","sha":"f52228f87ef443276a76719bd281c03403c17b3d","kind":"tag","published_at":"2009-09-06T02:57:35.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4/manifests"},{"name":"v1.2.3","sha":"4ad001ceab5f8e2142e0a66906889e32263880f0","kind":"tag","published_at":"2009-09-06T02:49:07.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3/manifests"},{"name":"v1.2.2","sha":"b1908c0c38e4b7b253975492abc463cddf631dde","kind":"tag","published_at":"2009-05-21T20:27:59.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"ed2325ff41c187156abf17a61453653eadcaea98","kind":"tag","published_at":"2009-05-02T02:17:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"bba1db29ff910da218a6c45481e97d80b9dc7208","kind":"tag","published_at":"2009-04-22T00:54:34.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"c8f4627bf046680abb85665f28ab926e36c931db","kind":"tag","published_at":"2009-03-17T01:43:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"0e20e432433e68db98637c34ab113d1bae4699c6","kind":"tag","published_at":"2009-02-24T01:04:52.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"2ab507223d0aec596f3574e5f7fc30c276efa68a","kind":"tag","published_at":"2008-09-29T13:53:11.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0/manifests"},{"name":"v0.8.2","sha":"bdddd86657ae44adef067acc43b0a7391f3530de","kind":"tag","published_at":"2008-06-26T01:07:28.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2/manifests"},{"name":"v0.8.1","sha":"a9acdec985583b0a9dd539417634b2c0eaee3b40","kind":"tag","published_at":"2008-04-20T01:49:45.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1/manifests"},{"name":"v0.7.1","sha":"2c01c5f75680d291d2ce1003bad1219b5a5079ae","kind":"tag","published_at":"2008-03-06T15:26:10.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"04664f6b7c51c1b3be2a2b7f8ce9036a09d25b45","kind":"tag","published_at":"2008-02-25T03:03:57.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0/manifests"},{"name":"v0.6.3","sha":"580bf4cf1184d3c12dbdaade8d1e0375e328f879","kind":"tag","published_at":"2008-02-07T16:06:06.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"b6aa2a6e55acd25c77c217759789d5d9e8c2bc93","kind":"tag","published_at":"2008-01-30T20:52:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"488564f0f113991d021c9166c85c5fe747a54eb2","kind":"tag","published_at":"2008-01-26T04:48:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"38b7c0d42699fc8f40a48a08507021bab625adcb","kind":"tag","published_at":"2008-01-25T19:31:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0/manifests"},{"name":"v0.5.3","sha":"da5cf49093fb4f057bf36f567b909ccf8ad8ab70","kind":"tag","published_at":"2008-01-18T21:54:18.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"0ff4b4247b109554fabed4422c7046e3e104cb7d","kind":"tag","published_at":"2008-01-12T17:30:30.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2/manifests"}]},"repo_metadata_updated_at":"2026-04-30T02:23:09.868Z","dependent_packages_count":912,"downloads":205318897,"downloads_period":"total","dependent_repos_count":75529,"rankings":{"downloads":0.11540906100511814,"dependent_repos_count":0.13492267035380962,"dependent_packages_count":0.05240797939362853,"stargazers_count":1.029761041915233,"forks_count":1.471326144891337,"docker_downloads_count":0.664020249551187,"average":0.5779745245183855},"purl":"pkg:gem/thin","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWoyNHAtcjZ3eC1yNzl3","url":"https://github.com/advisories/GHSA-j24p-r6wx-r79w","title":"High severity vulnerability that affects thin","description":"lib/thin/connection.rb in Thin web server before 1.2.4 relies on the X-Forwarded-For header to determine the IP address of the client, which allows remote attackers to spoof the IP address and hide activities via a modified X-Forwarded-For header.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2017-10-24T18:33:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2009-3287","https://github.com/advisories/GHSA-j24p-r6wx-r79w","http://github.com/macournoyer/thin/blob/master/CHANGELOG","http://github.com/macournoyer/thin/commit/7bd027914c5ffd36bb408ef47dc749de3b6e063a","http://www.openwall.com/lists/oss-security/2009/09/12/1","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/thin/CVE-2009-3287.yml"],"source_kind":"github","identifiers":["GHSA-j24p-r6wx-r79w","CVE-2009-3287"],"repository_url":"https://github.com/macournoyer/thin","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.917Z","updated_at":"2026-04-30T15:12:20.684Z","epss_percentage":0.00478,"epss_percentile":0.6451,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWoyNHAtcjZ3eC1yNzl3","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWoyNHAtcjZ3eC1yNzl3","packages":[{"ecosystem":"rubygems","package_name":"thin","versions":[{"first_patched_version":"1.2.4","vulnerable_version_range":"\u003c 1.2.4"}],"purl":"pkg:gem/thin","statistics":{"dependent_packages_count":912,"dependent_repos_count":75529,"downloads":205318897,"downloads_period":"total"},"affected_versions":["0.3.0","0.4.0","0.4.1","0.5.0","0.5.2","0.5.3","0.5.3-x86-mswin32-60","0.5.4","0.5.4-x86-mswin32-60","0.6.0","0.6.0-x86-mswin32-60","0.6.1","0.6.1-x86-mswin32-60","0.6.2","0.6.2-x86-mswin32-60","0.6.3","0.6.3-x86-mswin32-60","0.6.4","0.6.4-x86-mswin32-60","0.7.0","0.7.0-x86-mswin32-60","0.7.1","0.7.1-x86-mswin32-60","0.8.0","0.8.1","0.8.2","1.0.0","1.2.1","1.2.2","1.2.3","1.2.3-x86-mswin32","1.2.4-x86-mswin32"],"unaffected_versions":["1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.2.10","1.2.11","1.3.0","1.3.1","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.7.0","1.7.1","1.7.2","1.8.0","1.8.1","1.8.2","2.0.0","2.0.1"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWoyNHAtcjZ3eC1yNzl3/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/thin","docker_dependents_count":476,"docker_downloads_count":490432177,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/thin/dependencies","status":null,"funding_links":["https://github.com/socketry/community/#funding","https://github.com/sponsors/ioquatix"],"critical":true,"issue_metadata":{"last_synced_at":"2026-03-01T14:00:54.630Z","issues_count":119,"pull_requests_count":48,"avg_time_to_close_issue":102857912.1372549,"avg_time_to_close_pull_request":14713854.23076923,"issues_closed_count":102,"pull_requests_closed_count":39,"pull_request_authors_count":27,"issue_authors_count":91,"avg_comments_per_issue":1.2941176470588236,"avg_comments_per_pull_request":2.2291666666666665,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":8,"past_year_pull_requests_count":22,"past_year_avg_time_to_close_issue":121276.0,"past_year_avg_time_to_close_pull_request":601409.2777777778,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":0.25,"past_year_avg_comments_per_pull_request":1.1818181818181819,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":14,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/issues","maintainers":[{"login":"ioquatix","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"},{"login":"macournoyer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/macournoyer"}],"active_maintainers":[{"login":"ioquatix","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/thin/codemeta","maintainers":[{"uuid":"44200","login":"ioquatix","name":null,"email":null,"url":null,"packages_count":252,"html_url":"https://rubygems.org/profiles/ioquatix","role":null,"created_at":"2022-11-09T09:54:01.752Z","updated_at":"2022-11-09T09:54:01.752Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/ioquatix/packages"},{"uuid":"2415","login":"macournoyer_","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://rubygems.org/profiles/macournoyer_","role":null,"created_at":"2022-11-09T09:54:01.745Z","updated_at":"2022-11-09T09:54:01.745Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/macournoyer_/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205560,"maintainers_count":68480,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","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":12341631,"name":"thin","ecosystem":"rubygems","description":"A thin and fast web server","homepage":"https://github.com/macournoyer/thin","licenses":"GPL-2.0-or-later,Ruby","normalized_licenses":["GPL-2.0-or-later","Ruby"],"repository_url":"https://github.com/macournoyer/thin","keywords_array":[],"namespace":null,"versions_count":71,"first_release_published_at":"2009-07-25T17:49:52.000Z","latest_release_published_at":"2025-06-24T04:58:19.267Z","latest_release_number":"2.0.1","last_synced_at":"2026-04-30T12:39:46.123Z","created_at":"2025-10-07T06:28:56.626Z","updated_at":"2026-04-30T15:46:01.237Z","registry_url":"https://gem.coop/gems/thin","install_command":"gem install thin -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/thin/","metadata":{"funding":null},"repo_metadata":{"id":41207598,"uuid":"68","full_name":"macournoyer/thin","owner":"macournoyer","description":"A very fast \u0026 simple Ruby web server","archived":false,"fork":false,"pushed_at":"2025-06-24T04:58:22.000Z","size":2050,"stargazers_count":2275,"open_issues_count":21,"forks_count":345,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-04-23T16:04:24.608Z","etag":null,"topics":["rack","rails","ruby","server","thin","web-server"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/thin","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macournoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://github.com/socketry/community/#funding","github":"ioquatix"}},"created_at":"2008-01-19T05:39:04.000Z","updated_at":"2026-04-14T12:09:45.000Z","dependencies_parsed_at":"2023-02-16T23:15:17.255Z","dependency_job_id":"577acd28-56e2-42e6-b132-6375f5e0eed3","html_url":"https://github.com/macournoyer/thin","commit_stats":{"total_commits":831,"total_committers":111,"mean_commits":7.486486486486487,"dds":0.4452466907340553,"last_synced_commit":"3f375389d29deae252e03080b07a1f10aa60d957"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/macournoyer/thin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/sbom","scorecard":{"id":609819,"data":{"date":"2025-08-11","repo":{"name":"github.com/macournoyer/thin","commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:12","Info: no jobLevel write permissions found"],"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: lib/thin/controllers/service.sh.erb:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 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-21T02:22:13.197Z","repository_id":41207598,"created_at":"2025-08-21T02:22:13.197Z","updated_at":"2025-08-21T02:22:13.197Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"macournoyer","name":"Marc-André Cournoyer","uuid":"22","kind":"user","description":"I enjoy walks in the park, VMs, neural nets, servers, anything with a loop.","email":"","website":"http://macournoyer.com","location":"Montreal, QC, Canada","twitter":"macournoyer","company":"@Shopify ","icon_url":"https://avatars.githubusercontent.com/u/22?v=4","repositories_count":69,"last_synced_at":"2025-09-07T23:54:13.516Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/macournoyer","funding_links":[],"total_stars":4507,"followers":1266,"following":56,"created_at":"2022-11-02T16:59:07.830Z","updated_at":"2025-09-07T23:54:13.517Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer/repositories"},"tags":[{"name":"v2.0.1","sha":"84a5188612d84bcf5c6ad1f1c27c750645917f5c","kind":"commit","published_at":"2025-06-24T04:57:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"955db1a5c2b5f1134d6de4a951cb6c29ddd2dba7","kind":"commit","published_at":"2025-06-22T15:29:19.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0/manifests"},{"name":"v1.8.2","sha":"85b956cf1cf377e3e53911cd4e717f7392f7f818","kind":"commit","published_at":"2023-03-31T10:58:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2/manifests"},{"name":"v1.8.1","sha":"0712d603a31d97b9fa8a0260da400da2e4217d60","kind":"commit","published_at":"2021-05-20T00:59:01.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"02f0a3a72620313c69a1d797671cc522399d9b4c","kind":"commit","published_at":"2020-11-13T06:43:08.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0/manifests"},{"name":"v1.7.2","sha":"f83ab677f008afcfabcdfa8930225f6cea88f461","kind":"commit","published_at":"2017-07-08T14:16:21.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"5ad246880a0589b9da9d9543af2fafbbc64a926e","kind":"commit","published_at":"2017-06-13T01:10:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"9774036766c03e89d33b06cad3d1efb97e90bdae","kind":"commit","published_at":"2016-05-27T21:12:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"0770aa00399480bbd8ca7391d416c8700818e719","kind":"commit","published_at":"2015-09-19T02:41:15.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"a1d69d683b820d4355aaaa4454f4212d76f712db","kind":"commit","published_at":"2014-10-02T00:18:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"2296e7babcabc90e5d75755574b8129b9a3335dc","kind":"commit","published_at":"2014-03-04T14:28:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"11346bb433958d71e6e7c7c4405e2a82a7f63d04","kind":"commit","published_at":"2013-10-31T14:43:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"fd8f48e618ef23b74cd8282f772f957ca5d8912a","kind":"commit","published_at":"2013-10-02T16:36:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0/manifests"},{"name":"v1.5.1","sha":"a04411db466e4f9c6d5db8a104884f97fa267c4f","kind":"commit","published_at":"2013-03-18T16:42:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1/manifests"},{"name":"v2.0.0.pre","sha":"647832a734e63de38ca673fb250e2d6cba1c47ef","kind":"tag","published_at":"2012-09-21T17:43:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0.pre","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre/manifests"},{"name":"v1.5.0","sha":"bf8a2272fc7bb5800eb6949ab731c855d9c9bf36","kind":"commit","published_at":"2012-09-19T18:12:32.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0/manifests"},{"name":"v1.4.1","sha":"12cf2016e647bf605f91fbe66e51060e536a7fbb","kind":"commit","published_at":"2012-07-03T15:03:44.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"f6184c54a00058b6bbb91a3c1bd6841dc3186616","kind":"commit","published_at":"2012-07-03T14:53:25.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0/manifests"},{"name":"v1.3.1","sha":"652f5d75c14a6873974521c291262a61c9b4cca0","kind":"tag","published_at":"2011-11-14T14:16:37.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"6998c313098b11cae0dabdcd22eb7889c3b05c47","kind":"tag","published_at":"2011-11-12T02:18:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0/manifests"},{"name":"v1.2.8","sha":"51f816954a22cde17c41ac8cb4a0bf9da162c45d","kind":"tag","published_at":"2011-02-25T18:16:42.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.8","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8/manifests"},{"name":"v1.2.7","sha":"fe31d8065e6b0499495fc41aa2d2d79024d822fc","kind":"tag","published_at":"2010-03-01T12:48:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.7","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7/manifests"},{"name":"v1.2.6","sha":"2dc260b32428b7280838d608ef18db5c68442b14","kind":"tag","published_at":"2010-02-25T20:57:00.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.6","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6/manifests"},{"name":"v1.2.4","sha":"f52228f87ef443276a76719bd281c03403c17b3d","kind":"tag","published_at":"2009-09-06T02:57:35.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4/manifests"},{"name":"v1.2.3","sha":"4ad001ceab5f8e2142e0a66906889e32263880f0","kind":"tag","published_at":"2009-09-06T02:49:07.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3/manifests"},{"name":"v1.2.2","sha":"b1908c0c38e4b7b253975492abc463cddf631dde","kind":"tag","published_at":"2009-05-21T20:27:59.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"ed2325ff41c187156abf17a61453653eadcaea98","kind":"tag","published_at":"2009-05-02T02:17:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"bba1db29ff910da218a6c45481e97d80b9dc7208","kind":"tag","published_at":"2009-04-22T00:54:34.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"c8f4627bf046680abb85665f28ab926e36c931db","kind":"tag","published_at":"2009-03-17T01:43:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"0e20e432433e68db98637c34ab113d1bae4699c6","kind":"tag","published_at":"2009-02-24T01:04:52.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"2ab507223d0aec596f3574e5f7fc30c276efa68a","kind":"tag","published_at":"2008-09-29T13:53:11.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0/manifests"},{"name":"v0.8.2","sha":"bdddd86657ae44adef067acc43b0a7391f3530de","kind":"tag","published_at":"2008-06-26T01:07:28.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2/manifests"},{"name":"v0.8.1","sha":"a9acdec985583b0a9dd539417634b2c0eaee3b40","kind":"tag","published_at":"2008-04-20T01:49:45.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1/manifests"},{"name":"v0.7.1","sha":"2c01c5f75680d291d2ce1003bad1219b5a5079ae","kind":"tag","published_at":"2008-03-06T15:26:10.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"04664f6b7c51c1b3be2a2b7f8ce9036a09d25b45","kind":"tag","published_at":"2008-02-25T03:03:57.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0/manifests"},{"name":"v0.6.3","sha":"580bf4cf1184d3c12dbdaade8d1e0375e328f879","kind":"tag","published_at":"2008-02-07T16:06:06.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"b6aa2a6e55acd25c77c217759789d5d9e8c2bc93","kind":"tag","published_at":"2008-01-30T20:52:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"488564f0f113991d021c9166c85c5fe747a54eb2","kind":"tag","published_at":"2008-01-26T04:48:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"38b7c0d42699fc8f40a48a08507021bab625adcb","kind":"tag","published_at":"2008-01-25T19:31:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0/manifests"},{"name":"v0.5.3","sha":"da5cf49093fb4f057bf36f567b909ccf8ad8ab70","kind":"tag","published_at":"2008-01-18T21:54:18.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"0ff4b4247b109554fabed4422c7046e3e104cb7d","kind":"tag","published_at":"2008-01-12T17:30:30.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2/manifests"}]},"repo_metadata_updated_at":"2026-04-30T15:46:01.207Z","dependent_packages_count":0,"downloads":205330477,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.11673467181884509,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":1.0830383440970628,"forks_count":1.531602129326884,"docker_downloads_count":0.25292512227416436,"average":0.4973833779194927},"purl":"pkg:gem/thin?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/thin","docker_dependents_count":476,"docker_downloads_count":490432177,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/thin/dependencies","status":null,"funding_links":["https://github.com/socketry/community/#funding","https://github.com/sponsors/ioquatix"],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-08T05:20:40.563Z","issues_count":119,"pull_requests_count":48,"avg_time_to_close_issue":102857912.1372549,"avg_time_to_close_pull_request":14713854.23076923,"issues_closed_count":102,"pull_requests_closed_count":39,"pull_request_authors_count":27,"issue_authors_count":91,"avg_comments_per_issue":1.2941176470588236,"avg_comments_per_pull_request":2.2291666666666665,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":8,"past_year_pull_requests_count":22,"past_year_avg_time_to_close_issue":121276.0,"past_year_avg_time_to_close_pull_request":601409.2777777778,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":0.25,"past_year_avg_comments_per_pull_request":1.1818181818181819,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":14,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/issues","maintainers":[{"login":"ioquatix","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"},{"login":"macournoyer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/macournoyer"}],"active_maintainers":[{"login":"ioquatix","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/codemeta","maintainers":[{"uuid":"44200","login":"ioquatix","name":null,"email":null,"url":null,"packages_count":252,"html_url":"https://gem.coop/profiles/ioquatix","role":null,"created_at":"2025-10-09T23:27:16.508Z","updated_at":"2025-10-09T23:27:16.508Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/ioquatix/packages"},{"uuid":"2415","login":"macournoyer_","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://gem.coop/profiles/macournoyer_","role":null,"created_at":"2025-10-09T23:27:16.461Z","updated_at":"2025-10-09T23:27:16.461Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/macournoyer_/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190413,"maintainers_count":67488,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13950429,"name":"ruby-thin","ecosystem":"guix","description":"Thin and fast web server for Ruby","homepage":"https://github.com/macournoyer/thin","licenses":"ruby","normalized_licenses":["Ruby"],"repository_url":"https://github.com/macournoyer/thin","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:56:34.953Z","latest_release_published_at":"2026-03-02T18:56:34.953Z","latest_release_number":"1.7.2","last_synced_at":"2026-04-27T16:17:43.692Z","created_at":"2026-03-02T18:56:34.781Z","updated_at":"2026-04-27T16:17:44.381Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-thin/1.7.2/","install_command":"guix install ruby-thin","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n14781","metadata":{"location":"gnu/packages/ruby-xyz.scm:14781","variable_name":"ruby-thin"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-27T16:17:44.354Z","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-thin","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-thin/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31189,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"guix-mirror","metadata":{"funded_packages_count":286},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-04-03T06:23:21.396Z","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":13674909,"name":"thin","ecosystem":"debian","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["web"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T15:23:56.675Z","latest_release_published_at":"2026-02-12T15:23:56.675Z","latest_release_number":"1.8.2+git20250216.de6b618-1","last_synced_at":"2026-03-12T16:13:54.485Z","created_at":"2026-02-12T15:23:56.438Z","updated_at":"2026-03-12T16:13:54.486Z","registry_url":"https://tracker.debian.org/pkg/thin","install_command":"apt-get install thin","documentation_url":"https://packages.debian.org/trixie/thin","metadata":{"component":"main","architecture":"any","priority":"source","binary":"thin","standards_version":"4.7.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, iproute2, ruby-daemons, ruby-eventmachine, ruby-rack (\u003c\u003c 4), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T15:23:57.246Z","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/thin?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/thin/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":10389804,"name":"github.com/macournoyer/thin","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/macournoyer/thin","keywords_array":[],"namespace":null,"versions_count":40,"first_release_published_at":"2008-01-12T17:23:25.000Z","latest_release_published_at":"2025-06-24T04:57:46.000Z","latest_release_number":"v2.0.1+incompatible","last_synced_at":"2026-04-27T18:00:45.275Z","created_at":"2024-06-18T04:29:37.041Z","updated_at":"2026-04-27T18:00:45.275Z","registry_url":"https://pkg.go.dev/github.com/macournoyer/thin","install_command":"go get github.com/macournoyer/thin","documentation_url":"https://pkg.go.dev/github.com/macournoyer/thin#section-documentation","metadata":{},"repo_metadata":{"id":41207598,"uuid":"68","full_name":"macournoyer/thin","owner":"macournoyer","description":"A very fast \u0026 simple Ruby web server","archived":false,"fork":false,"pushed_at":"2025-06-24T04:58:22.000Z","size":2050,"stargazers_count":2277,"open_issues_count":19,"forks_count":357,"subscribers_count":52,"default_branch":"master","last_synced_at":"2025-09-28T10:52:20.535Z","etag":null,"topics":["rack","rails","ruby","server","thin","web-server"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/thin","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/macournoyer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://github.com/socketry/community/#funding","github":"ioquatix"}},"created_at":"2008-01-19T05:39:04.000Z","updated_at":"2025-09-27T15:17:47.000Z","dependencies_parsed_at":"2023-02-16T23:15:17.255Z","dependency_job_id":"577acd28-56e2-42e6-b132-6375f5e0eed3","html_url":"https://github.com/macournoyer/thin","commit_stats":{"total_commits":831,"total_committers":111,"mean_commits":7.486486486486487,"dds":0.4452466907340553,"last_synced_commit":"3f375389d29deae252e03080b07a1f10aa60d957"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/macournoyer/thin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/sbom","scorecard":{"id":609819,"data":{"date":"2025-08-11","repo":{"name":"github.com/macournoyer/thin","commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.7,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 9/20 approved changesets -- score normalized to 4","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":"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":"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":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:12","Info: no jobLevel write permissions found"],"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \u003e must be followed by a word: lib/thin/controllers/service.sh.erb:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/macournoyer/thin/test.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 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-21T02:22:13.197Z","repository_id":41207598,"created_at":"2025-08-21T02:22:13.197Z","updated_at":"2025-08-21T02:22:13.197Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278239968,"owners_count":25954096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"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":"macournoyer","name":"Marc-André Cournoyer","uuid":"22","kind":"user","description":"I enjoy walks in the park, VMs, neural nets, servers, anything with a loop.","email":"","website":"http://macournoyer.com","location":"Montreal, QC, Canada","twitter":"macournoyer","company":"@Shopify ","icon_url":"https://avatars.githubusercontent.com/u/22?v=4","repositories_count":69,"last_synced_at":"2025-09-07T23:54:13.516Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/macournoyer","funding_links":[],"total_stars":4507,"followers":1266,"following":56,"created_at":"2022-11-02T16:59:07.830Z","updated_at":"2025-09-07T23:54:13.517Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macournoyer/repositories"},"tags":[{"name":"v2.0.1","sha":"84a5188612d84bcf5c6ad1f1c27c750645917f5c","kind":"commit","published_at":"2025-06-24T04:57:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"955db1a5c2b5f1134d6de4a951cb6c29ddd2dba7","kind":"commit","published_at":"2025-06-22T15:29:19.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0/manifests"},{"name":"v1.8.2","sha":"85b956cf1cf377e3e53911cd4e717f7392f7f818","kind":"commit","published_at":"2023-03-31T10:58:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.2/manifests"},{"name":"v1.8.1","sha":"0712d603a31d97b9fa8a0260da400da2e4217d60","kind":"commit","published_at":"2021-05-20T00:59:01.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"02f0a3a72620313c69a1d797671cc522399d9b4c","kind":"commit","published_at":"2020-11-13T06:43:08.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.8.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.8.0/manifests"},{"name":"v1.7.2","sha":"f83ab677f008afcfabcdfa8930225f6cea88f461","kind":"commit","published_at":"2017-07-08T14:16:21.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"5ad246880a0589b9da9d9543af2fafbbc64a926e","kind":"commit","published_at":"2017-06-13T01:10:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"9774036766c03e89d33b06cad3d1efb97e90bdae","kind":"commit","published_at":"2016-05-27T21:12:22.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.7.0/manifests"},{"name":"v1.6.4","sha":"0770aa00399480bbd8ca7391d416c8700818e719","kind":"commit","published_at":"2015-09-19T02:41:15.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"a1d69d683b820d4355aaaa4454f4212d76f712db","kind":"commit","published_at":"2014-10-02T00:18:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"2296e7babcabc90e5d75755574b8129b9a3335dc","kind":"commit","published_at":"2014-03-04T14:28:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"11346bb433958d71e6e7c7c4405e2a82a7f63d04","kind":"commit","published_at":"2013-10-31T14:43:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"fd8f48e618ef23b74cd8282f772f957ca5d8912a","kind":"commit","published_at":"2013-10-02T16:36:58.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.6.0/manifests"},{"name":"v1.5.1","sha":"a04411db466e4f9c6d5db8a104884f97fa267c4f","kind":"commit","published_at":"2013-03-18T16:42:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.1/manifests"},{"name":"v2.0.0.pre","sha":"647832a734e63de38ca673fb250e2d6cba1c47ef","kind":"tag","published_at":"2012-09-21T17:43:02.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v2.0.0.pre","html_url":"https://github.com/macournoyer/thin/releases/tag/v2.0.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v2.0.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v2.0.0.pre/manifests"},{"name":"v1.5.0","sha":"bf8a2272fc7bb5800eb6949ab731c855d9c9bf36","kind":"commit","published_at":"2012-09-19T18:12:32.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.5.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.5.0/manifests"},{"name":"v1.4.1","sha":"12cf2016e647bf605f91fbe66e51060e536a7fbb","kind":"commit","published_at":"2012-07-03T15:03:44.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"f6184c54a00058b6bbb91a3c1bd6841dc3186616","kind":"commit","published_at":"2012-07-03T14:53:25.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.4.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.4.0/manifests"},{"name":"v1.3.1","sha":"652f5d75c14a6873974521c291262a61c9b4cca0","kind":"tag","published_at":"2011-11-14T14:16:37.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"6998c313098b11cae0dabdcd22eb7889c3b05c47","kind":"tag","published_at":"2011-11-12T02:18:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.3.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.3.0/manifests"},{"name":"v1.2.8","sha":"51f816954a22cde17c41ac8cb4a0bf9da162c45d","kind":"tag","published_at":"2011-02-25T18:16:42.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.8","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.8/manifests"},{"name":"v1.2.7","sha":"fe31d8065e6b0499495fc41aa2d2d79024d822fc","kind":"tag","published_at":"2010-03-01T12:48:33.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.7","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.7/manifests"},{"name":"v1.2.6","sha":"2dc260b32428b7280838d608ef18db5c68442b14","kind":"tag","published_at":"2010-02-25T20:57:00.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.6","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.6/manifests"},{"name":"v1.2.4","sha":"f52228f87ef443276a76719bd281c03403c17b3d","kind":"tag","published_at":"2009-09-06T02:57:35.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.4","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.4/manifests"},{"name":"v1.2.3","sha":"4ad001ceab5f8e2142e0a66906889e32263880f0","kind":"tag","published_at":"2009-09-06T02:49:07.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.3/manifests"},{"name":"v1.2.2","sha":"b1908c0c38e4b7b253975492abc463cddf631dde","kind":"tag","published_at":"2009-05-21T20:27:59.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"ed2325ff41c187156abf17a61453653eadcaea98","kind":"tag","published_at":"2009-05-02T02:17:46.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"bba1db29ff910da218a6c45481e97d80b9dc7208","kind":"tag","published_at":"2009-04-22T00:54:34.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.2.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"c8f4627bf046680abb85665f28ab926e36c931db","kind":"tag","published_at":"2009-03-17T01:43:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"0e20e432433e68db98637c34ab113d1bae4699c6","kind":"tag","published_at":"2009-02-24T01:04:52.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.1.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"2ab507223d0aec596f3574e5f7fc30c276efa68a","kind":"tag","published_at":"2008-09-29T13:53:11.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v1.0.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v1.0.0/manifests"},{"name":"v0.8.2","sha":"bdddd86657ae44adef067acc43b0a7391f3530de","kind":"tag","published_at":"2008-06-26T01:07:28.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.2/manifests"},{"name":"v0.8.1","sha":"a9acdec985583b0a9dd539417634b2c0eaee3b40","kind":"tag","published_at":"2008-04-20T01:49:45.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.8.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.8.1/manifests"},{"name":"v0.7.1","sha":"2c01c5f75680d291d2ce1003bad1219b5a5079ae","kind":"tag","published_at":"2008-03-06T15:26:10.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"04664f6b7c51c1b3be2a2b7f8ce9036a09d25b45","kind":"tag","published_at":"2008-02-25T03:03:57.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.7.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.7.0/manifests"},{"name":"v0.6.3","sha":"580bf4cf1184d3c12dbdaade8d1e0375e328f879","kind":"tag","published_at":"2008-02-07T16:06:06.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.3/manifests"},{"name":"v0.6.2","sha":"b6aa2a6e55acd25c77c217759789d5d9e8c2bc93","kind":"tag","published_at":"2008-01-30T20:52:36.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"488564f0f113991d021c9166c85c5fe747a54eb2","kind":"tag","published_at":"2008-01-26T04:48:55.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.1","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"38b7c0d42699fc8f40a48a08507021bab625adcb","kind":"tag","published_at":"2008-01-25T19:31:05.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.6.0","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.6.0/manifests"},{"name":"v0.5.3","sha":"da5cf49093fb4f057bf36f567b909ccf8ad8ab70","kind":"tag","published_at":"2008-01-18T21:54:18.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.3","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"0ff4b4247b109554fabed4422c7046e3e104cb7d","kind":"tag","published_at":"2008-01-12T17:30:30.000Z","download_url":"https://codeload.github.com/macournoyer/thin/tar.gz/v0.5.2","html_url":"https://github.com/macournoyer/thin/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/macournoyer/thin@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/tags/v0.5.2/manifests"}]},"repo_metadata_updated_at":"2025-10-05T14:13:52.173Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":6.926206638817217,"dependent_packages_count":6.488435311463325,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.707320975140272},"purl":"pkg:golang/github.com/macournoyer/thin","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/macournoyer/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/macournoyer/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/macournoyer/thin/dependencies","status":null,"funding_links":["https://github.com/socketry/community/#funding","https://github.com/sponsors/ioquatix"],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-12T05:37:26.928Z","issues_count":118,"pull_requests_count":48,"avg_time_to_close_issue":102857912.1372549,"avg_time_to_close_pull_request":14713854.23076923,"issues_closed_count":102,"pull_requests_closed_count":39,"pull_request_authors_count":27,"issue_authors_count":90,"avg_comments_per_issue":1.305084745762712,"avg_comments_per_pull_request":2.2083333333333335,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":32,"past_year_pull_requests_count":24,"past_year_avg_time_to_close_issue":64062.30434782609,"past_year_avg_time_to_close_pull_request":541478.45,"past_year_issues_closed_count":23,"past_year_pull_requests_closed_count":20,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":9,"past_year_avg_comments_per_issue":0.34375,"past_year_avg_comments_per_pull_request":1.0416666666666667,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":16,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/issues","maintainers":[{"login":"ioquatix","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"},{"login":"macournoyer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/macournoyer"}],"active_maintainers":[{"login":"ioquatix","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmacournoyer%2Fthin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmacournoyer%2Fthin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmacournoyer%2Fthin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmacournoyer%2Fthin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fmacournoyer%2Fthin/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2119755,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","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":13726663,"name":"thin","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/macournoyer/thin","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/macournoyer/thin","keywords_array":["universe/web"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T01:40:09.548Z","latest_release_published_at":"2026-02-13T01:40:09.548Z","latest_release_number":"1.8.1-2ubuntu3","last_synced_at":"2026-03-13T05:13:29.190Z","created_at":"2026-02-13T01:40:09.297Z","updated_at":"2026-03-13T05:43:00.342Z","registry_url":"https://launchpad.net/ubuntu/+source/thin","install_command":"apt-get install thin","documentation_url":null,"metadata":{"component":"universe","architecture":"any","priority":"optional","binary":"thin","standards_version":"4.6.1","maintainer":"Ubuntu Developers \u003cubuntu-devel-discuss@lists.ubuntu.com\u003e","build_depends":"debhelper-compat (= 13), gem2deb (\u003e= 1), help2man, iproute2, ruby-daemons (\u003e= 1.0.9), ruby-eventmachine (\u003e= 1.0.4), ruby-rack (\u003c\u003c 3), ruby-rack (\u003e= 1), ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T01:40:10.538Z","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/thin?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/thin","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/thin","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/thin/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/thin/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/thin/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/thin/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/thin/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/thin/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":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","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"}}],"commits":{"id":3467,"full_name":"macournoyer/thin","default_branch":"master","total_commits":856,"total_committers":114,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":7.508771929824562,"dds":0.4532710280373832,"past_year_total_commits":9,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.25,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-04-29T16:32:28.684Z","last_synced_commit":"84a5188612d84bcf5c6ad1f1c27c750645917f5c","created_at":"2023-03-07T09:17:52.091Z","updated_at":"2026-04-29T16:31:25.405Z","committers":[{"name":"macournoyer","email":"macournoyer@gmail.com","login":"macournoyer","count":468},{"name":"macournoyer","email":"macournoyer@ab7993de-5426-0410-a80b-baa00616f331","login":null,"count":133},{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":30},{"name":"raggi","email":"jftucker@gmail.com","login":"raggi","count":25},{"name":"Kevin Williams","email":"kevwil@gmail.com","login":"kevwil","count":21},{"name":"Michael S. Klishin","email":"michael@novemberain.com","login":"michaelklishin","count":17},{"name":"Aman Gupta","email":"aman@tmm1.net","login":"tmm1","count":6},{"name":"Cliff Moon","email":"cliff@aa0-009-5.u.powerset.com","login":null,"count":5},{"name":"Prem Sichanugrist","email":"s@sikachu.com","login":"sikachu","count":4},{"name":"Marek Goldmann","email":"marek.goldmann@gmail.com","login":"goldmann","count":4},{"name":"Loic Nageleisen","email":"loic.nageleisen@gmail.com","login":"lloeki","count":4},{"name":"Vít Ondruch","email":"vondruch@redhat.com","login":"voxik","count":4},{"name":"Chris Cherry","email":"ccherry@ccherry.local","login":null,"count":3},{"name":"Joshua Peek","email":"josh@joshpeek.com","login":"josh","count":3},{"name":"Jun Aruga","email":"jaruga@redhat.com","login":"junaruga","count":3},{"name":"MasterLambaster","email":"masterlambaster@gmail.com","login":"MasterLambaster","count":3},{"name":"Matt Todd","email":"chiology@gmail.com","login":"mtodd","count":3},{"name":"Robert McLeod","email":"robert@penguinpower.co.nz","login":"penguinpowernz","count":3},{"name":"Aleksandar Totic","email":"a@totic.org","login":"atotic","count":2},{"name":"Bruce Krysiak","email":"brucek@alum.mit.edu","login":"brucek","count":2},{"name":"Carl Zulauf","email":"carl@linkleaf.com","login":"carlzulauf","count":2},{"name":"Diego Elio 'Flameeyes' Pettenò","email":"flameeyes@gmail.com","login":"Flameeyes","count":2},{"name":"Glenn Rempe","email":"glenn@rempe.us","login":"grempe","count":2},{"name":"Jesse Cooke","email":"jesse@jc00ke.com","login":"jc00ke","count":2},{"name":"Luis Lavena","email":"luislavena@gmail.com","login":"luislavena","count":2},{"name":"Mark Burns","email":"markthedeveloper@gmail.com","login":"markburns","count":2},{"name":"Michal Kwiatkowski","email":"michal@trivas.pl","login":"mkwiatkowski","count":2},{"name":"Pierre Chapuis","email":"catwell@archlinux.us","login":"catwell","count":2},{"name":"Steven Parkes","email":"smparkes@smparkes.net","login":"smparkes","count":2},{"name":"Wincent Colaiuta","email":"win@wincent.com","login":"wincent","count":2},{"name":"frameworked","email":"development@frameworked.de","login":"frameworked","count":2},{"name":"schneems","email":"richard.schneeman@gmail.com","login":"schneems","count":2},{"name":"Andrea Lorenzetti","email":"andrea@lorenzetti.me","login":"and9000","count":2},{"name":"Jérémy Zurcher","email":"jeremy@asynk.ch","login":"jeremyz","count":2},{"name":"Evan","email":"eweaver@mackenzie.cnet.cnwk","login":null,"count":2},{"name":"Mark Bates","email":"mbates@markbates.com","login":null,"count":2},{"name":"Markus Schirp","email":"mbj@seonic.net","login":null,"count":2},{"name":"Roberto Gaiser","email":"gaiser@geekbunker.org","login":null,"count":2},{"name":"Mark Bates","email":"mark@mackframework.com","login":"markbates","count":2},{"name":"Andrew Parker","email":"andy@puppetlabs.com","login":"zaphod42","count":1},{"name":"BenBasson","email":"github@basson.at","login":"benbasson","count":1},{"name":"slivu","email":"slivuz@gmail.com","login":null,"count":1},{"name":"Vincent Martinez","email":"vincent@pebbleit.com","login":null,"count":1},{"name":"Thibault Jouan","email":"tj@a13.fr","login":null,"count":1},{"name":"David Smyth","email":"David.Smyth@Millennium-Space.com","login":null,"count":1},{"name":"Akshay Moghe","email":"amoghe@maginatics.com","login":null,"count":1},{"name":"Nimish","email":"nimish@vinsol.com","login":null,"count":1},{"name":"David Padilla","email":"david@crowdint.com","login":null,"count":1},{"name":"Dandy","email":"dandy.fenz@madvertise.com","login":null,"count":1},{"name":"Dan Kubb","email":"dan.kubb@autopilotmarketing.com","login":null,"count":1},{"name":"Cliff Moon","email":"cliff@moonpolysoft.com","login":null,"count":1},{"name":"Glebov Vladimir","email":"vglebov@at-consulting.ru","login":null,"count":1},{"name":"Hellekin O. Wolf =8","email":"hellekin@cepheide.org","login":null,"count":1},{"name":"Lee Jarvis","email":"lee@jarvis.co","login":null,"count":1},{"name":"Benedikt Böhm","email":"benedikt.boehm@madvertise.com","login":null,"count":1},{"name":"Oliver Vartiainen","email":"firoxer@gmail.com","login":null,"count":1},{"name":"Rajarshi Das","email":"rajarshid@cybage.com","login":null,"count":1},{"name":"Takehiro SUGITA","email":"sugita@iij.ad.jp","login":null,"count":1},{"name":"Mark Eschbach","email":"meschbach@gmail.com","login":"meschbach","count":1},{"name":"Mathieu Lemoine","email":"mlemoine@mentel.com","login":"lemoinem","count":1},{"name":"Michael Lutsiuk","email":"michael.lutsiuk@gmail.com","login":"mluts","count":1},{"name":"Michael Xavier","email":"michael@michaelxavier.net","login":"MichaelXavier","count":1},{"name":"Nick Howard","email":"nick@gnipcentral.com","login":"baroquebobcat","count":1},{"name":"Nishant Modak","email":"modak.nishant@gmail.com","login":"nishantmodak","count":1},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":1},{"name":"Ricardo Chimal, Jr","email":"ricardo@heroku.com","login":"ricardochimal","count":1},{"name":"Rob Sterner","email":"rob.sterner@gmail.com","login":"fermion","count":1},{"name":"Roman Samoilov","email":"rsamoilov@yandex.ua","login":"rsamoilov","count":1},{"name":"Sergio Durigan Junior","email":"sergio.durigan@canonical.com","login":"sergiodj","count":1},{"name":"Simon Menke","email":"simon.menke@gmail.com","login":"fd","count":1},{"name":"Steven Harman","email":"steven@harmanly.com","login":"stevenharman","count":1},{"name":"Tim Shadel","email":"github@timshadel.com","login":"timshadel","count":1},{"name":"Tom Dalling","email":"tomdalling","login":"tomdalling","count":1},{"name":"Tony Kemp","email":"tony.kemp@newcastle.edu.au","login":"tonykemp","count":1},{"name":"Vasily Fedoseyev","email":"github@vasfed.ru","login":"Vasfed","count":1},{"name":"Victor Costan","email":"costan@gmail.com","login":"pwnall","count":1},{"name":"countingpine","email":"matthew.w.fearnley@gmail.com","login":"countingpine","count":1},{"name":"dave@kapoq.com","email":"dave@kapoq.com","login":"textgoeshere","count":1},{"name":"dug","email":"dduugg","login":"dduugg","count":1},{"name":"freemanoid","email":"freemanoid321@gmail.com","login":"freemanoid","count":1},{"name":"hasimo","email":"sulky.to@gmail.com","login":"hasimo","count":1},{"name":"huma","email":"huma@boxbot.org","login":"huma-","count":1},{"name":"patriot","email":"nazarok.oi@gmail.com","login":"nazarok","count":1},{"name":"phiggins","email":"pete@peterhiggins.org","login":"phiggins","count":1},{"name":"seedot1234","email":"54840747+seedot1234","login":"seedot1234","count":1},{"name":"tise.c","email":"tiseheaini@gmail.com","login":"tiseheaini","count":1},{"name":"Alexey Borzenkov","email":"snaury@gmail.com","login":"snaury","count":1},{"name":"Alexander Shakhmatov","email":"Xardas1307@gmail.com","login":"X2rdas","count":1},{"name":"Alex Chaffee","email":"alexch@gmail.com","login":"alexch","count":1},{"name":"Adrien Smith","email":"adrien@bouldersmiths.com","login":"PanisSupraOmnia","count":1},{"name":"David Dollar","email":"ddollar@gmail.com","login":"ddollar","count":1},{"name":"Daniel Koch","email":"koch@triple6.org","login":"kochd","count":1},{"name":"Cheah Chu Yeow","email":"chuyeow@gmail.com","login":"chuyeow","count":1},{"name":"Brian Murray","email":"brian@murraytwins.com","login":"murraybd","count":1},{"name":"Blake Mizerany","email":"blake.mizerany@gmail.com","login":"bmizerany","count":1},{"name":"Aaron Patterson","email":"aaron.patterson@gmail.com","login":"tenderlove","count":1},{"name":"Erik Tribou","email":"49534735+erikt9","login":"erikt9","count":1},{"name":"Greg Howdeshell","email":"poloka","login":"poloka","count":1},{"name":"Grey Baker","email":"greysteil@gmail.com","login":"greysteil","count":1},{"name":"James C. Davis","email":"jdavis@salsify.com","login":"jamescdavis","count":1},{"name":"James Golick","email":"james@giraffesoft.ca","login":"jamesgolick","count":1},{"name":"Jason May","email":"jmay@pobox.com","login":"jmay","count":1},{"name":"Jeffrey Harrington","email":"jeff.harrington@gmail.com","login":"jeffharrington","count":1},{"name":"Jeremy Evans","email":"code@jeremyevans.net","login":"jeremyevans","count":1},{"name":"Joel Jackson","email":"jackson.joel@gmail.com","login":"joeljackson","count":1},{"name":"Juan C. Rodriguez","email":"JuampiRodriguez@gmail.com","login":"JuanC","count":1},{"name":"Julien Ammous","email":"schmurfy@gmail.com","login":"schmurfy","count":1},{"name":"Justin Lambert","email":"jlambert@eml.cc","login":"jlambert121","count":1},{"name":"Kensuke Nagae","email":"kyanny@gmail.com","login":"kyanny","count":1},{"name":"Kunpei Sakai","email":"namusyaka@gmail.com","login":"namusyaka","count":1},{"name":"Leo Correa","email":"lcorr005@gmail.com","login":"Tonkpils","count":1},{"name":"Liam Sean Brady","email":"liamseanbrady@gmail.com","login":"liamseanbrady","count":1},{"name":"Luke Bakken","email":"luke@bowbak.org","login":"lukebakken","count":1},{"name":"Marc Anguera Insa","email":"srmarc.ai@gmail.com","login":"markets","count":1}],"past_year_committers":[{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":6},{"name":"seedot1234","email":"54840747+seedot1234","login":"seedot1234","count":1},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":1},{"name":"Greg Howdeshell","email":"poloka","login":"poloka","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-29T00:00:10.453Z","repositories_count":6222962,"commits_count":899873824,"contributors_count":34898226,"owners_count":1147502,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"macournoyer/thin","html_url":"https://github.com/macournoyer/thin","last_synced_at":"2026-04-08T05:20:40.563Z","status":"error","issues_count":119,"pull_requests_count":48,"avg_time_to_close_issue":102857912.1372549,"avg_time_to_close_pull_request":14713854.23076923,"issues_closed_count":102,"pull_requests_closed_count":39,"pull_request_authors_count":27,"issue_authors_count":91,"avg_comments_per_issue":1.2941176470588236,"avg_comments_per_pull_request":2.2291666666666665,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":8,"past_year_pull_requests_count":22,"past_year_avg_time_to_close_issue":121276.0,"past_year_avg_time_to_close_pull_request":601409.2777777778,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":18,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":0.25,"past_year_avg_comments_per_pull_request":1.1818181818181819,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":14,"created_at":"2023-05-12T18:20:37.789Z","updated_at":"2026-04-08T05:20:40.563Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/macournoyer%2Fthin/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":112,"CONTRIBUTOR":7},"pull_request_author_associations_count":{"CONTRIBUTOR":19,"NONE":13,"COLLABORATOR":13,"OWNER":3},"issue_authors":{"ndregs":21,"TuanNguyen2807":4,"acrolink":3,"Tommybio":2,"ghost":2,"junaruga":2,"beno":1,"amoghe":1,"matheussilvasantos":1,"scanlanjames":1,"Kampfkarren":1,"virtualfunction":1,"djrobby":1,"pozelli":1,"u007":1,"rankin":1,"ndeto":1,"jaunkst":1,"ssamppa":1,"AshwiniSeetharam-Oracle":1,"earthgecko":1,"hkamphor":1,"haowangz":1,"voxik":1,"poloka":1,"hiveer":1,"vbisbest":1,"ian-kelling":1,"thesamesam":1,"Segaja":1,"nazarok":1,"ain":1,"rempargo":1,"lzap":1,"gudata":1,"dream-x":1,"Gu7z":1,"shubham-selldo":1,"yegor256":1,"arslanaly47":1,"tomdalling":1,"julik":1,"alepore":1,"thom-nic":1,"kranthi3896":1,"graial":1,"Aetherus":1,"dspaeth-faber":1,"yahonda":1,"MikeFlint":1,"clickworkorange":1,"LupinoTech":1,"nitsujri":1,"fearnowrath":1,"kyoma-takahashi":1,"emschwar":1,"lukeasrodgers":1,"lacostenycoder":1,"kenballus":1,"maoluanjuan":1,"rp-pedraza":1,"tkrotoff":1,"MichaelVacirca":1,"enzote84":1,"paradisaeidae":1,"lucaskanashiro":1,"amitkushwahanavyug":1,"moserke":1,"5ynatra":1,"haad":1,"cessien":1,"fabn":1,"lucianoshl":1,"loqs":1,"laoyouzi":1,"Intrepidd":1,"eflukx":1,"AaronMertes":1,"jsh562":1,"optix2000":1,"d-hat":1,"kballenegger":1,"bornwa00":1,"casret":1,"ChristianHirsch":1,"grosser":1,"eduardobarbiero":1,"vimutter":1,"heavydawson":1,"tagliala":1,"shravanc":1},"pull_request_authors":{"ioquatix":13,"and9000":4,"macournoyer":3,"roel4d":2,"lloeki":2,"poloka":2,"erikt9":2,"achamely":1,"Ginkggo":1,"sergiodj":1,"indrekj":1,"countingpine":1,"murraybd":1,"olleolleolle":1,"mbj":1,"seedot1234":1,"jamescdavis":1,"tomdalling":1,"gogainda":1,"strelec":1,"junaruga":1,"voxik":1,"dduugg":1,"firoxer":1,"Vasfed":1,"emschwar":1,"Irvin-Solis":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-09T00:00:10.509Z","repositories_count":14159519,"issues_count":34513613,"pull_requests_count":112862182,"authors_count":11231410,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":5,"CONTRIBUTOR":1},"past_year_pull_request_author_associations_count":{"NONE":5,"COLLABORATOR":4,"CONTRIBUTOR":2},"past_year_issue_authors":{"bornwa00":1,"djrobby":1,"graial":1,"loqs":1,"poloka":1,"tagliala":1},"past_year_pull_request_authors":{"ioquatix":4,"poloka":2,"roel4d":2,"Ginkggo":1,"Irvin-Solis":1,"olleolleolle":1},"maintainers":[{"login":"ioquatix","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"},{"login":"macournoyer","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/macournoyer"}],"active_maintainers":[{"login":"ioquatix","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ioquatix"}]},"events":{"total":{"DeleteEvent":6,"PullRequestEvent":20,"ForkEvent":46,"IssuesEvent":54,"WatchEvent":20,"IssueCommentEvent":58,"PushEvent":38,"CreateEvent":7},"last_year":{"DeleteEvent":2,"PullRequestEvent":7,"ForkEvent":4,"IssuesEvent":4,"WatchEvent":8,"IssueCommentEvent":16,"PushEvent":10,"CreateEvent":3}},"keywords":["rack","rails","ruby","server","thin","web-server"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-08-10T01:43:11.050Z","updated_at":"2022-08-10T01:43:11.050Z","repository_link":"https://github.com/macournoyer/thin/blob/master/Gemfile","dependencies":[{"id":991950892,"package_name":"rake-compiler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":991950893,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 12.3.3","direct":true,"kind":"development","optional":false},{"id":991950894,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.5","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"thin.gemspec","sha":null,"kind":"manifest","created_at":"2022-08-10T01:43:11.162Z","updated_at":"2022-08-10T01:43:11.162Z","repository_link":"https://github.com/macournoyer/thin/blob/master/thin.gemspec","dependencies":[{"id":991952061,"package_name":"rack","ecosystem":"rubygems","requirements":"\u003e= 1, \u003c 3","direct":true,"kind":"runtime","optional":false},{"id":991952062,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"~\u003e 1.0, \u003e= 1.0.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/development.yml","sha":null,"kind":"manifest","created_at":"2023-01-24T04:30:40.059Z","updated_at":"2023-01-24T04:30:40.059Z","repository_link":"https://github.com/macournoyer/thin/blob/master/.github/workflows/development.yml","dependencies":[{"id":7133267231,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7133267232,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":33.52883582806745,"created_at":"2024-12-15T21:38:07.697Z","updated_at":"2026-04-30T19:30:23.597Z","avatar_url":"https://github.com/macournoyer.png","language":"Ruby","monthly_downloads":0,"readme":"# Thin\n\nA small and fast Ruby web server\n\n## Installation\n\n```\ngem install thin\n```\n\nOr add `thin` to your `Gemfile`:\n\n```ruby\ngem 'thin'\n```\n\n## Usage\n\nA +thin+ script offers an easy way to start your Rack application:\n\n```\nthin start\n```\n\nBrowse the `example` directory for sample applications.\n\n### CLI\n\nUse a rackup (config.ru) file and bind to localhost port 8080:\n\n```\nthin -R config.ru -a 127.0.0.1 -p 8080 start\n```\n\nStore the server process ID, log to a file and daemonize:\n\n```\nthin -p 9292 -P tmp/pids/thin.pid -l logs/thin.log -d start\n```\n\nThin is quite flexible in that many options can be specified at the command line (see `thin -h` for more).\n\n### Configuration files\n\nYou can create a configuration file using `thin config -C config/thin.yml`.\n\nYou can then use it with all commands, such as: `thin start -C config/thin.yml`.\n\nHere is an example config file:\n\n```yaml\n--- \nuser: www-data\ngroup: www-data\npid: tmp/pids/thin.pid\ntimeout: 30\nwait: 30\nlog: log/thin.log\nmax_conns: 1024\nrequire: []\nenvironment: production\nmax_persistent_conns: 512\nservers: 1\nthreaded: true\nno-epoll: true\ndaemonize: true\nsocket: tmp/sockets/thin.sock\nchdir: /path/to/your/apps/root\ntag: a-name-to-show-up-in-ps aux\n```\n\n## License\n\nCopyright, 2007-2025, by Marc-Andre Cournoyer and other contributors.\n\nReleased under the Ruby License, the 2-clause BSDL and the GNU General Public License (GPL) version 2 (or later). You can redistribute it and/or modify it under the terms of any of these licenses.\n\n## Credits\n\nThe parser was originally from Mongrel http://mongrel.rubyforge.org by Zed Shaw.\nMongrel is copyright 2007 Zed A. Shaw and contributors. It is licensed under\nthe Ruby license and the GPL2.\n\nThin is copyright Marc-Andre Cournoyer \u003cmacournoyer@gmail.com\u003e\n\nGet help at http://groups.google.com/group/thin-ruby/\nReport bugs at https://github.com/macournoyer/thin/issues\nand major security issues directly to me at macournoyer@gmail.com.\n","funding_links":["https://github.com/socketry/community/#funding","https://github.com/sponsors/ioquatix"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","sinatra","multithreading","rspec","ruby-gem","background-jobs","sax"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/310","html_url":"https://ruby.ecosyste.ms/projects/310"}