{"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":"2026-06-27T14:15:57.395Z","latest_release_number":null,"last_synced_at":"2026-06-27T14:15:59.076Z","created_at":"2025-10-07T06:28:56.626Z","updated_at":"2026-06-27T14:51:37.703Z","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":"2026-06-03T13:36:44.000Z","size":2052,"stargazers_count":2275,"open_issues_count":21,"forks_count":347,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-06-11T16:04:07.728Z","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-06-03T13:43:16.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":34292326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_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-06-27T14:51:37.676Z","dependent_packages_count":0,"downloads":206754631,"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-06-23T04:02:37.092Z","issues_count":119,"pull_requests_count":49,"avg_time_to_close_issue":102857912.1372549,"avg_time_to_close_pull_request":14346037.0,"issues_closed_count":102,"pull_requests_closed_count":40,"pull_request_authors_count":28,"issue_authors_count":91,"avg_comments_per_issue":1.2941176470588236,"avg_comments_per_pull_request":2.183673469387755,"merged_pull_requests_count":33,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":5,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":42119.0,"past_year_avg_time_to_close_pull_request":28051.666666666668,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.2,"past_year_avg_comments_per_pull_request":1.6,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"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":[]},"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","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/thin/latest_version","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":257,"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"}]}