{"id":21,"name":null,"description":"Classy web-development dressed in a DSL (official / canonical repo)","url":"https://github.com/sinatra/sinatra","last_synced_at":"2026-04-30T22:01:43.476Z","repository":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-04-23T04:30:37.000Z","size":7834,"stargazers_count":12419,"open_issues_count":44,"forks_count":2067,"subscribers_count":362,"default_branch":"main","last_synced_at":"2026-04-26T20:06:28.330Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-25T12:30:49.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"packages":[{"id":3769943,"name":"github.com/sinatra/sinatra","ecosystem":"go","description":"","homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":"github.com/sinatra","versions_count":62,"first_release_published_at":"2010-03-23T21:22:13.000Z","latest_release_published_at":"2025-10-10T15:18:31.000Z","latest_release_number":"v4.2.1+incompatible","last_synced_at":"2026-04-26T05:24:04.538Z","created_at":"2022-04-11T16:34:25.315Z","updated_at":"2026-04-26T05:24:04.539Z","registry_url":"https://pkg.go.dev/github.com/sinatra/sinatra","install_command":"go get github.com/sinatra/sinatra","documentation_url":"https://pkg.go.dev/github.com/sinatra/sinatra#section-documentation","metadata":{},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2025-10-11T17:04:55.000Z","size":7781,"stargazers_count":12376,"open_issues_count":38,"forks_count":2071,"subscribers_count":371,"default_branch":"main","last_synced_at":"2025-10-19T04:51:08.002Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2025-10-18T16:49:20.000Z","dependencies_parsed_at":"2023-07-05T15:03:26.510Z","dependency_job_id":"0cbf1bf2-fcba-4a3d-9cbb-7c77433cd992","html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279780786,"owners_count":26225630,"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-19T02:00:07.647Z","response_time":64,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.2.1","sha":"599a007a779dc9940e49f34e9077220f4c209f4b","kind":"tag","published_at":"2025-10-10T15:19:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"f2ad45f7d2456172974a30d300e9f82424336e09","kind":"tag","published_at":"2025-10-08T15:37:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0/manifests"},{"name":"v4.0.1","sha":"7dc5940e44cfa6d176b267f2165aa8116032669d","kind":"tag","published_at":"2025-05-23T22:16:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1/manifests"},{"name":"v4.1.1","sha":"7b50a1bbb5324838908dfaa00ec53ad322673a29","kind":"tag","published_at":"2024-11-20T15:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"73f3291d114b5b211e067263eeb9c0e197fe8500","kind":"tag","published_at":"2024-11-18T11:31:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@semver","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@filter_pattern","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2025-10-20T19:45:19.877Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":4.793834424600911,"dependent_packages_count":8.452778221382484,"stargazers_count":0.5810275778108234,"forks_count":0.5179783600151816,"docker_downloads_count":null,"average":3.58640464595235},"purl":"pkg:golang/github.com/sinatra/sinatra","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sinatra/sinatra","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sinatra/sinatra","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sinatra/sinatra/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-20T05:48:05.531Z","issues_count":130,"pull_requests_count":224,"avg_time_to_close_issue":32135936.021276597,"avg_time_to_close_pull_request":1754108.612565445,"issues_closed_count":94,"pull_requests_closed_count":191,"pull_request_authors_count":45,"issue_authors_count":82,"avg_comments_per_issue":4.292307692307692,"avg_comments_per_pull_request":1.5625,"merged_pull_requests_count":159,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":29,"past_year_pull_requests_count":84,"past_year_avg_time_to_close_issue":1014899.5294117647,"past_year_avg_time_to_close_pull_request":975042.6610169491,"past_year_issues_closed_count":17,"past_year_pull_requests_closed_count":59,"past_year_pull_request_authors_count":15,"past_year_issue_authors_count":20,"past_year_avg_comments_per_issue":2.4827586206896552,"past_year_avg_comments_per_pull_request":0.38095238095238093,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":48,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsinatra%2Fsinatra/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsinatra%2Fsinatra/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsinatra%2Fsinatra/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsinatra%2Fsinatra/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsinatra%2Fsinatra/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":8540511,"name":"sinatra-rack-3-commonlit","ecosystem":"rubygems","description":"Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.","homepage":"http://sinatrarb.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2023-11-04T19:07:07.461Z","latest_release_published_at":"2023-11-04T18:58:53.354Z","latest_release_number":"3.1.0","last_synced_at":"2026-04-26T05:24:02.679Z","created_at":"2023-11-04T19:12:28.368Z","updated_at":"2026-04-26T05:24:20.356Z","registry_url":"https://rubygems.org/gems/sinatra-rack-3-commonlit","install_command":"gem install sinatra-rack-3-commonlit -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/sinatra-rack-3-commonlit/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-03-02T10:56:21.000Z","size":7806,"stargazers_count":12420,"open_issues_count":43,"forks_count":2067,"subscribers_count":363,"default_branch":"main","last_synced_at":"2026-04-19T18:51:55.331Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-19T13:45:10.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-26T05:24:20.356Z","dependent_packages_count":0,"downloads":1471,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":99.38654101347248,"dependent_repos_count":48.95884294639292,"dependent_packages_count":15.778020198385029,"stargazers_count":0.101212298418839,"forks_count":0.12876453521063405,"docker_downloads_count":null,"average":32.87067619837598},"purl":"pkg:gem/sinatra-rack-3-commonlit","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra-rack-3-commonlit","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra-rack-3-commonlit","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra-rack-3-commonlit/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-22T06:05:52.322Z","issues_count":140,"pull_requests_count":231,"avg_time_to_close_issue":33592510.77551021,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":98,"pull_requests_closed_count":197,"pull_request_authors_count":49,"issue_authors_count":87,"avg_comments_per_issue":4.135714285714286,"avg_comments_per_pull_request":1.593073593073593,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":22,"past_year_pull_requests_count":45,"past_year_avg_time_to_close_issue":1283476.6666666667,"past_year_avg_time_to_close_pull_request":2317011.8181818184,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":22,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":16,"past_year_avg_comments_per_issue":2.1818181818181817,"past_year_avg_comments_per_pull_request":0.7555555555555555,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":17,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-rack-3-commonlit/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-rack-3-commonlit/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-rack-3-commonlit/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-rack-3-commonlit/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-rack-3-commonlit/codemeta","maintainers":[{"uuid":"58199","login":"geoffharcourt","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://rubygems.org/profiles/geoffharcourt","role":null,"created_at":"2023-11-04T19:14:48.456Z","updated_at":"2023-11-04T19:14:48.456Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/geoffharcourt/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205567,"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":12327082,"name":"sinatra-contrib","ecosystem":"rubygems","description":"Collection of useful Sinatra extensions","homepage":"http://sinatrarb.com/contrib/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":47,"first_release_published_at":"2011-10-01T02:28:36.605Z","latest_release_published_at":"2025-10-10T15:20:39.284Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-29T16:17:21.890Z","created_at":"2025-10-07T06:01:45.551Z","updated_at":"2026-04-29T17:20:46.559Z","registry_url":"https://gem.coop/gems/sinatra-contrib","install_command":"gem install sinatra-contrib -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/sinatra-contrib/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-03-02T10:56:21.000Z","size":7806,"stargazers_count":12420,"open_issues_count":43,"forks_count":2066,"subscribers_count":363,"default_branch":"main","last_synced_at":"2026-04-12T05:13:04.710Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-11T09:06:34.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31722729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T13:21:33.774Z","status":"ssl_error","status_checked_at":"2026-04-12T13:21:29.265Z","response_time":58,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.2.1","sha":"599a007a779dc9940e49f34e9077220f4c209f4b","kind":"tag","published_at":"2025-10-10T15:19:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"f2ad45f7d2456172974a30d300e9f82424336e09","kind":"tag","published_at":"2025-10-08T15:37:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0/manifests"},{"name":"v4.0.1","sha":"7dc5940e44cfa6d176b267f2165aa8116032669d","kind":"tag","published_at":"2025-05-23T22:16:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1/manifests"},{"name":"v4.1.1","sha":"7b50a1bbb5324838908dfaa00ec53ad322673a29","kind":"tag","published_at":"2024-11-20T15:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"73f3291d114b5b211e067263eeb9c0e197fe8500","kind":"tag","published_at":"2024-11-18T11:31:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@semver","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@filter_pattern","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-29T17:20:46.532Z","dependent_packages_count":0,"downloads":35125443,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.6968848328882065,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.15137917238843895,"average":0.21206600131916137},"purl":"pkg:gem/sinatra-contrib?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra-contrib","docker_dependents_count":418,"docker_downloads_count":601380203,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra-contrib","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra-contrib/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-15T22:11:36.714Z","issues_count":140,"pull_requests_count":235,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":50,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.5659574468085107,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":47,"past_year_avg_time_to_close_issue":1075180.5555555555,"past_year_avg_time_to_close_pull_request":2375937.7,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":20,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":2.619047619047619,"past_year_avg_comments_per_pull_request":0.6808510638297872,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":15,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-contrib/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-contrib/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-contrib/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-contrib/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-contrib/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://gem.coop/profiles/jkowens","role":null,"created_at":"2025-10-09T22:19:21.050Z","updated_at":"2025-10-09T22:19:21.050Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://gem.coop/profiles/namusyaka","role":null,"created_at":"2025-10-09T22:19:20.950Z","updated_at":"2025-10-09T22:19:20.950Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://gem.coop/profiles/zzak","role":null,"created_at":"2025-10-09T22:19:20.867Z","updated_at":"2025-10-09T22:19:20.867Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://gem.coop/profiles/dentarg","role":null,"created_at":"2025-10-09T22:19:21.090Z","updated_at":"2025-10-09T22:19:21.090Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/dentarg/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://gem.coop/profiles/rkh","role":null,"created_at":"2025-10-09T22:19:20.994Z","updated_at":"2025-10-09T22:19:20.994Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/rkh/packages"},{"uuid":"50333","login":"TrevorBramble","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://gem.coop/profiles/TrevorBramble","role":null,"created_at":"2025-10-09T22:19:20.825Z","updated_at":"2025-10-09T22:19:20.825Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/TrevorBramble/packages"},{"uuid":"91266","login":"ag_dubs","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://gem.coop/profiles/ag_dubs","role":null,"created_at":"2025-10-09T22:19:20.911Z","updated_at":"2025-10-09T22:19:20.911Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/ag_dubs/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190420,"maintainers_count":67490,"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":303002,"name":"sinatra-contrib","ecosystem":"rubygems","description":"Collection of useful Sinatra extensions","homepage":"http://sinatrarb.com/contrib/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":47,"first_release_published_at":"2011-10-01T02:28:36.605Z","latest_release_published_at":"2025-10-10T15:20:39.284Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-29T19:00:40.228Z","created_at":"2022-04-06T10:58:59.103Z","updated_at":"2026-04-29T19:00:40.229Z","registry_url":"https://rubygems.org/gems/sinatra-contrib","install_command":"gem install sinatra-contrib -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/sinatra-contrib/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2024-11-08T07:50:38.000Z","size":7742,"stargazers_count":12197,"open_issues_count":23,"forks_count":2073,"subscribers_count":374,"default_branch":"main","last_synced_at":"2024-11-08T15:54:42.817Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2024-11-08T07:50:43.000Z","dependencies_parsed_at":"2023-07-05T15:03:26.510Z","dependency_job_id":"0cbf1bf2-fcba-4a3d-9cbb-7c77433cd992","html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3667,"total_committers":528,"mean_commits":6.945075757575758,"dds":0.735478592855195,"last_synced_commit":"ef00c6a0db0ef31143e529e7e6edddf2d5c99653"},"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223746984,"owners_count":17195808,"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","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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2024-11-14T12:06:50.398Z","dependent_packages_count":373,"downloads":35129747,"downloads_period":"total","dependent_repos_count":32896,"rankings":{"downloads":0.6375823779001535,"dependent_repos_count":0.18789780165214645,"dependent_packages_count":0.11905836681262133,"stargazers_count":0.10156179470975896,"forks_count":0.12808648941452624,"docker_downloads_count":0.18959057464000362,"average":0.22729623418820166},"purl":"pkg:gem/sinatra-contrib","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra-contrib","docker_dependents_count":418,"docker_downloads_count":601380203,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra-contrib","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra-contrib/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-11-13T05:27:30.808Z","issues_count":103,"pull_requests_count":152,"avg_time_to_close_issue":37266504.96103896,"avg_time_to_close_pull_request":1087973.0204081633,"issues_closed_count":77,"pull_requests_closed_count":147,"pull_request_authors_count":34,"issue_authors_count":58,"avg_comments_per_issue":4.009708737864078,"avg_comments_per_pull_request":1.8157894736842104,"merged_pull_requests_count":128,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":42,"past_year_pull_requests_count":55,"past_year_avg_time_to_close_issue":1648049.6551724137,"past_year_avg_time_to_close_pull_request":268645.7,"past_year_issues_closed_count":29,"past_year_pull_requests_closed_count":50,"past_year_pull_request_authors_count":15,"past_year_issue_authors_count":18,"past_year_avg_comments_per_issue":2.6904761904761907,"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":39,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":72,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"}],"active_maintainers":[{"login":"dentarg","count":58,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"epergo","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-contrib/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-contrib/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-contrib/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-contrib/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra-contrib/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://rubygems.org/profiles/jkowens","role":null,"created_at":"2022-11-09T09:51:24.234Z","updated_at":"2022-11-09T09:51:24.234Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://rubygems.org/profiles/namusyaka","role":null,"created_at":"2022-11-09T09:51:24.262Z","updated_at":"2022-11-09T09:51:24.262Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://rubygems.org/profiles/zzak","role":null,"created_at":"2022-11-09T09:51:24.246Z","updated_at":"2022-11-09T09:51:24.246Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://rubygems.org/profiles/dentarg","role":null,"created_at":"2023-03-14T17:15:59.649Z","updated_at":"2023-03-14T17:15:59.649Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/dentarg/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://rubygems.org/profiles/rkh","role":null,"created_at":"2022-11-09T09:51:24.273Z","updated_at":"2022-11-09T09:51:24.273Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/rkh/packages"},{"uuid":"50333","login":"TrevorBramble","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://rubygems.org/profiles/TrevorBramble","role":null,"created_at":"2022-11-09T09:51:24.240Z","updated_at":"2022-11-09T09:51:24.240Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/TrevorBramble/packages"},{"uuid":"91266","login":"ag_dubs","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://rubygems.org/profiles/ag_dubs","role":null,"created_at":"2022-11-09T09:51:24.255Z","updated_at":"2022-11-09T09:51:24.255Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/ag_dubs/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205567,"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":280029,"name":"rack-protection","ecosystem":"rubygems","description":"Protect against typical web attacks, works with all Rack apps, including Rails","homepage":"http://sinatrarb.com/protection/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":53,"first_release_published_at":"2011-06-20T13:52:23.899Z","latest_release_published_at":"2025-10-10T15:20:34.531Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-30T09:05:41.043Z","created_at":"2022-04-06T08:06:43.068Z","updated_at":"2026-04-30T09:09:59.566Z","registry_url":"https://rubygems.org/gems/rack-protection","install_command":"gem install rack-protection -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/rack-protection/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-04-23T04:30:37.000Z","size":7834,"stargazers_count":12419,"open_issues_count":44,"forks_count":2067,"subscribers_count":362,"default_branch":"main","last_synced_at":"2026-04-26T20:06:28.330Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-25T12:30:49.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.2.1","sha":"599a007a779dc9940e49f34e9077220f4c209f4b","kind":"tag","published_at":"2025-10-10T15:19:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"f2ad45f7d2456172974a30d300e9f82424336e09","kind":"tag","published_at":"2025-10-08T15:37:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0/manifests"},{"name":"v4.0.1","sha":"7dc5940e44cfa6d176b267f2165aa8116032669d","kind":"tag","published_at":"2025-05-23T22:16:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1/manifests"},{"name":"v4.1.1","sha":"7b50a1bbb5324838908dfaa00ec53ad322673a29","kind":"tag","published_at":"2024-11-20T15:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"73f3291d114b5b211e067263eeb9c0e197fe8500","kind":"tag","published_at":"2024-11-18T11:31:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@semver","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@filter_pattern","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-30T09:09:59.546Z","dependent_packages_count":59,"downloads":486874078,"downloads_period":"total","dependent_repos_count":127710,"rankings":{"downloads":0.046275130741182634,"dependent_repos_count":0.10704608556996466,"dependent_packages_count":0.48672517032593304,"stargazers_count":0.10258583200454946,"forks_count":0.13213501187542512,"docker_downloads_count":0.12377203644027163,"average":0.1664232111595544},"purl":"pkg:gem/rack-protection","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTY4OGMtM3g0OS02cnFq","url":"https://github.com/advisories/GHSA-688c-3x49-6rqj","title":"rack-protection gem timing attack vulnerability when validating CSRF token","description":"Sinatra rack-protection versions 1.5.4 and 2.0.0.rc3 and earlier contains a timing attack vulnerability in the CSRF token checking that can result in signatures can be exposed. This attack appear to be exploitable via network connectivity to the ruby application. This vulnerability appears to have been fixed in 1.5.5 and 2.0.0.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-03-07T22:22:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.9,"cvss_vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2018-1000119","https://github.com/sinatra/rack-protection/pull/98","https://github.com/sinatra/sinatra/commit/8aa6c42ef724f93ae309fb7c5668e19ad547eceb#commitcomment-27964109","https://access.redhat.com/errata/RHSA-2018:1060","https://www.debian.org/security/2018/dsa-4247","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/rack-protection/CVE-2018-1000119.yml","https://github.com/advisories/GHSA-688c-3x49-6rqj"],"source_kind":"github","identifiers":["GHSA-688c-3x49-6rqj","CVE-2018-1000119"],"repository_url":"https://github.com/sinatra/rack-protection","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.364Z","updated_at":"2026-04-23T10:07:30.792Z","epss_percentage":0.0043,"epss_percentile":0.62528,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTY4OGMtM3g0OS02cnFq","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTY4OGMtM3g0OS02cnFq","packages":[{"ecosystem":"rubygems","package_name":"rack-protection","versions":[{"first_patched_version":"2.0.0","vulnerable_version_range":"\u003e= 2.0.0.beta1, \u003c= 2.0.0.rc3"},{"first_patched_version":"1.5.5","vulnerable_version_range":"\u003c 1.5.5"}],"purl":"pkg:gem/rack-protection"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTY4OGMtM3g0OS02cnFq/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rack-protection","docker_dependents_count":1380,"docker_downloads_count":975976798,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rack-protection","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rack-protection/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-24T22:23:29.349Z","issues_count":140,"pull_requests_count":236,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":51,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.597457627118644,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":20,"past_year_pull_requests_count":42,"past_year_avg_time_to_close_issue":1207846.75,"past_year_avg_time_to_close_pull_request":1123930.625,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":2.7,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rack-protection/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rack-protection/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rack-protection/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rack-protection/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/rack-protection/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://rubygems.org/profiles/jkowens","role":null,"created_at":"2022-11-09T09:46:38.479Z","updated_at":"2022-11-09T09:46:38.479Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://rubygems.org/profiles/namusyaka","role":null,"created_at":"2022-11-09T09:46:38.516Z","updated_at":"2022-11-09T09:46:38.516Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://rubygems.org/profiles/zzak","role":null,"created_at":"2022-11-09T09:46:38.498Z","updated_at":"2022-11-09T09:46:38.498Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://rubygems.org/profiles/dentarg","role":null,"created_at":"2023-03-14T17:15:59.831Z","updated_at":"2023-03-14T17:15:59.831Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/dentarg/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://rubygems.org/profiles/rkh","role":null,"created_at":"2022-11-09T09:46:38.521Z","updated_at":"2022-11-09T09:46:38.521Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/rkh/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205567,"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":302921,"name":"sinatra","ecosystem":"rubygems","description":"Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.","homepage":"http://sinatrarb.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":108,"first_release_published_at":"2009-07-25T17:52:06.000Z","latest_release_published_at":"2025-10-10T15:20:36.806Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-30T04:24:47.933Z","created_at":"2022-04-06T10:58:45.006Z","updated_at":"2026-04-30T21:14:46.465Z","registry_url":"https://rubygems.org/gems/sinatra","install_command":"gem install sinatra -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/sinatra/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-04-23T04:30:37.000Z","size":7834,"stargazers_count":12419,"open_issues_count":44,"forks_count":2067,"subscribers_count":362,"default_branch":"main","last_synced_at":"2026-04-26T20:06:28.330Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-25T12:30:49.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.2.1","sha":"599a007a779dc9940e49f34e9077220f4c209f4b","kind":"tag","published_at":"2025-10-10T15:19:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"f2ad45f7d2456172974a30d300e9f82424336e09","kind":"tag","published_at":"2025-10-08T15:37:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0/manifests"},{"name":"v4.0.1","sha":"7dc5940e44cfa6d176b267f2165aa8116032669d","kind":"tag","published_at":"2025-05-23T22:16:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1/manifests"},{"name":"v4.1.1","sha":"7b50a1bbb5324838908dfaa00ec53ad322673a29","kind":"tag","published_at":"2024-11-20T15:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"73f3291d114b5b211e067263eeb9c0e197fe8500","kind":"tag","published_at":"2024-11-18T11:31:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@semver","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@filter_pattern","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-30T04:25:59.085Z","dependent_packages_count":3239,"downloads":339625011,"downloads_period":"total","dependent_repos_count":144784,"rankings":{"downloads":0.0641161450028434,"dependent_repos_count":0.10425842709158016,"dependent_packages_count":0.017283482565983874,"stargazers_count":0.10425842709158016,"forks_count":0.1338076069624558,"docker_downloads_count":0.1310199484840713,"average":0.09245733953308578},"purl":"pkg:gem/sinatra","advisories":[{"uuid":"GSA_kwCzR0hTQS1tcjNxLWcybXYtbXI0cc4ABNQv","url":"https://github.com/advisories/GHSA-mr3q-g2mv-mr4q","title":"Sinatra is vulnerable to ReDoS through ETag header value generation","description":"### Summary\n\nThere is a denial of service vulnerability in the `If-Match` and `If-None-Match` header parsing component of Sinatra, if the `etag` method is used when constructing the response and you are using Ruby \u003c 3.2.\n\n### Details\n\nCarefully crafted input can cause `If-Match` and `If-None-Match` header parsing in Sinatra to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is typically involved in generating the `ETag` header value. Any applications that use the `etag` method when generating a response are impacted if they are using Ruby below version 3.2.\n\n### Resources\n\n* https://github.com/sinatra/sinatra/issues/2120 (report)\n* https://github.com/sinatra/sinatra/pull/2121 (fix)\n* https://github.com/sinatra/sinatra/pull/1823 (older ReDoS vulnerability)\n* https://bugs.ruby-lang.org/issues/19104 (fix in Ruby \u003e= 3.2)","origin":"UNSPECIFIED","severity":"LOW","published_at":"2025-10-10T20:28:47.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U","references":["https://github.com/sinatra/sinatra/security/advisories/GHSA-mr3q-g2mv-mr4q","https://github.com/sinatra/sinatra/issues/2120","https://github.com/sinatra/sinatra/pull/1823","https://github.com/sinatra/sinatra/pull/2121","https://github.com/sinatra/sinatra/commit/3fe8c38dc405586f7ad8f2ac748aa53e9c3615bd","https://github.com/sinatra/sinatra/commit/8ff496bd4877520599e1479d6efead39304edceb","https://bugs.ruby-lang.org/issues/19104","https://nvd.nist.gov/vuln/detail/CVE-2025-61921","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2025-61921.yml","https://github.com/advisories/GHSA-mr3q-g2mv-mr4q"],"source_kind":"github","identifiers":["GHSA-mr3q-g2mv-mr4q","CVE-2025-61921"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":13.933945541346576,"created_at":"2025-10-10T21:00:07.344Z","updated_at":"2026-04-23T09:02:34.444Z","epss_percentage":0.00397,"epss_percentile":0.60518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1tcjNxLWcybXYtbXI0cc4ABNQv","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1tcjNxLWcybXYtbXI0cc4ABNQv","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"4.2.0","vulnerable_version_range":"\u003c 4.2.0"}],"purl":"pkg:gem/sinatra"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1tcjNxLWcybXYtbXI0cc4ABNQv/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1oeHgyLTd2Y3ctbXFyM84ABA2z","url":"https://github.com/advisories/GHSA-hxx2-7vcw-mqr3","title":"Sinatra vulnerable to Reliance on Untrusted Inputs in a Security Decision","description":"Versions of the package sinatra from 0.0.0 are vulnerable to Reliance on Untrusted Inputs in a Security Decision via the X-Forwarded-Host (XFH) header. When making a request to a method with redirect applied, it is possible to trigger an Open Redirect Attack by inserting an arbitrary address into this header. If used for caching purposes, such as with servers like Nginx, or as a reverse proxy, without handling the X-Forwarded-Host header, attackers can potentially exploit Cache Poisoning or Routing-based SSRF.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-11-01T06:30:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-21510","https://github.com/sinatra/sinatra/pull/2010","https://security.snyk.io/vuln/SNYK-RUBY-SINATRA-6483832","https://github.com/sinatra/sinatra/blob/b626e2d82c23b4fde0b51782fd32ca27ccde1d1a/lib/sinatra/base.rb#L319","https://github.com/sinatra/sinatra/blob/b626e2d82c23b4fde0b51782fd32ca27ccde1d1a/lib/sinatra/base.rb#L323C1-L343C17","https://github.com/advisories/GHSA-hxx2-7vcw-mqr3","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2024-21510.yml","https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md#410--2024-11-18"],"source_kind":"github","identifiers":["GHSA-hxx2-7vcw-mqr3","CVE-2024-21510"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":27.35181902560624,"created_at":"2024-11-01T22:06:25.465Z","updated_at":"2026-04-23T09:04:28.742Z","epss_percentage":0.00215,"epss_percentile":0.44028,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1oeHgyLTd2Y3ctbXFyM84ABA2z","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1oeHgyLTd2Y3ctbXFyM84ABA2z","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"4.1.0","vulnerable_version_range":"\u003c 4.1.0"}],"purl":"pkg:gem/sinatra"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1oeHgyLTd2Y3ctbXFyM84ABA2z/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS0yeDh4LWptcnAtcGh4d84AAwGK","url":"https://github.com/advisories/GHSA-2x8x-jmrp-phxw","title":"Sinatra vulnerable to Reflected File Download attack","description":"### Description\nAn issue was discovered in Sinatra 2.0 before 2.2.3 and 3.0 before 3.0.4. An application is vulnerable to a reflected file download (RFD) attack that sets the Content-Disposition header of a response when the filename is derived from user-supplied input.\n\n### References\n* https://www.blackhat.com/docs/eu-14/materials/eu-14-Hafif-Reflected-File-Download-A-New-Web-Attack-Vector.pdf\n* https://github.com/advisories/GHSA-8x94-hmjh-97hq","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-30T21:18:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","references":["https://github.com/sinatra/sinatra/security/advisories/GHSA-2x8x-jmrp-phxw","https://nvd.nist.gov/vuln/detail/CVE-2022-45442","https://github.com/sinatra/sinatra/commit/ea8fc9495a350f7551b39e3025bfcd06f49f363b","https://github.com/advisories/GHSA-8x94-hmjh-97hq","https://www.blackhat.com/docs/eu-14/materials/eu-14-Hafif-Reflected-File-Download-A-New-Web-Attack-Vector.pdf","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2022-45442.yml","https://lists.debian.org/debian-lts-announce/2023/01/msg00005.html","https://lists.debian.org/debian-lts-announce/2024/09/msg00020.html","https://github.com/advisories/GHSA-2x8x-jmrp-phxw"],"source_kind":"github","identifiers":["GHSA-2x8x-jmrp-phxw","CVE-2022-45442"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:11:45.823Z","updated_at":"2026-04-30T21:08:39.185Z","epss_percentage":0.00299,"epss_percentile":0.53276,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0yeDh4LWptcnAtcGh4d84AAwGK","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0yeDh4LWptcnAtcGh4d84AAwGK","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"3.0.4","vulnerable_version_range":"\u003e= 3.0, \u003c 3.0.4"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":339625011,"downloads_period":"total"},"affected_versions":["3.0.0","3.0.1","3.0.2","3.0.3"],"unaffected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.0.1","0.9.0.2","0.9.0.3","0.9.0.4","0.9.0.5","0.9.1","0.9.1.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.0.a","1.2.0.c","1.2.0.d","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.0.a","1.3.0.b","1.3.0.c","1.3.0.d","1.3.0.e","1.3.0.f","1.3.0.g","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.0.a","1.4.0.b","1.4.0.c","1.4.0.d","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0","2.0.0.beta1","2.0.0.beta2","2.0.0.rc1","2.0.0.rc2","2.0.0.rc5","2.0.0.rc6","2.0.1","2.0.1.rc1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.8.1","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0yeDh4LWptcnAtcGh4d84AAwGK/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1xcDQ5LTNwdncteDRtNc3XwA","url":"https://github.com/advisories/GHSA-qp49-3pvw-x4m5","title":"sinatra does not validate expanded path matches","description":"Sinatra before 2.2.0 does not validate that the expanded path matches public_dir when serving static files.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-03T00:00:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-29970","https://github.com/sinatra/sinatra/pull/1683/commits/462c3ca1db53ed3cfc394cf5948e9c948ad1c10e","https://github.com/skylightio/skylight-ruby/pull/294","https://lists.debian.org/debian-lts-announce/2022/10/msg00034.html","https://github.com/sinatra/sinatra/pull/1683","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2022-29970.yml","https://lists.debian.org/debian-lts-announce/2024/09/msg00020.html","https://github.com/advisories/GHSA-qp49-3pvw-x4m5"],"source_kind":"github","identifiers":["GHSA-qp49-3pvw-x4m5","CVE-2022-29970"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:12:29.039Z","updated_at":"2026-04-28T20:09:35.460Z","epss_percentage":0.00601,"epss_percentile":0.69515,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcDQ5LTNwdncteDRtNc3XwA","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xcDQ5LTNwdncteDRtNc3XwA","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.2.0","vulnerable_version_range":"\u003c 2.2.0"}],"purl":"pkg:gem/sinatra"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcDQ5LTNwdncteDRtNc3XwA/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW1xMzUtd3F2Zi1yMjNj","url":"https://github.com/advisories/GHSA-mq35-wqvf-r23c","title":"Sinatra Cross-site Scripting vulnerability","description":"Sinatra before 2.0.2 has XSS via the 400 Bad Request page that occurs upon a params parser exception.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-06-05T21:32:06.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.1,"cvss_vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2018-11627","https://github.com/sinatra/sinatra/issues/1428","https://github.com/sinatra/sinatra/commit/12786867d6faaceaec62c7c2cb5b0e2dc074d71a","https://access.redhat.com/errata/RHSA-2019:0212","https://access.redhat.com/errata/RHSA-2019:0315","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2018-11627.yml","https://github.com/advisories/GHSA-mq35-wqvf-r23c"],"source_kind":"github","identifiers":["GHSA-mq35-wqvf-r23c","CVE-2018-11627"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.270Z","updated_at":"2026-04-05T20:08:16.788Z","epss_percentage":0.00398,"epss_percentile":0.6054,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW1xMzUtd3F2Zi1yMjNj","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW1xMzUtd3F2Zi1yMjNj","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.0.2","vulnerable_version_range":"\u003e= 2.0.0, \u003c 2.0.2"}],"purl":"pkg:gem/sinatra"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW1xMzUtd3F2Zi1yMjNj/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgyOWYtN2Y1Ni1qOHdo","url":"https://github.com/advisories/GHSA-h29f-7f56-j8wh","title":"Sinatra Path Traversal vulnerability","description":"An issue was discovered in `rack-protection/lib/rack/protection/path_traversal.rb` in Sinatra 2.x before 2.0.1 on Windows. Path traversal is possible via backslash characters.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-02-20T19:23:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2018-7212","https://github.com/sinatra/sinatra/pull/1379","https://github.com/sinatra/sinatra/commit/6ad721abcfe36334108dcdd05d046c361e1b7a9c","https://github.com/advisories/GHSA-h29f-7f56-j8wh"],"source_kind":"github","identifiers":["GHSA-h29f-7f56-j8wh","CVE-2018-7212"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.430Z","updated_at":"2026-04-30T21:08:27.311Z","epss_percentage":0.00205,"epss_percentile":0.42486,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgyOWYtN2Y1Ni1qOHdo","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgyOWYtN2Y1Ni1qOHdo","packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.0.1","vulnerable_version_range":"\u003e= 2.0.0.beta1, \u003c 2.0.1"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":339625011,"downloads_period":"total"},"affected_versions":["2.0.0","2.0.0.beta1","2.0.0.beta2","2.0.0.rc1","2.0.0.rc2","2.0.0.rc5","2.0.0.rc6","2.0.1.rc1"],"unaffected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.0.1","0.9.0.2","0.9.0.3","0.9.0.4","0.9.0.5","0.9.1","0.9.1.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.0.a","1.2.0.c","1.2.0.d","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.0.a","1.3.0.b","1.3.0.c","1.3.0.d","1.3.0.e","1.3.0.f","1.3.0.g","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.0.a","1.4.0.b","1.4.0.c","1.4.0.d","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.8.1","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgyOWYtN2Y1Ni1qOHdo/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra","docker_dependents_count":1306,"docker_downloads_count":918805597,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-22T13:00:46.836Z","issues_count":140,"pull_requests_count":235,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":50,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.5659574468085107,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":20,"past_year_pull_requests_count":41,"past_year_avg_time_to_close_issue":1207846.75,"past_year_avg_time_to_close_pull_request":1123930.625,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":2.7,"past_year_avg_comments_per_pull_request":0.6341463414634146,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/sinatra/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://rubygems.org/profiles/jkowens","role":null,"created_at":"2022-11-09T09:51:23.402Z","updated_at":"2022-11-09T09:51:23.402Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://rubygems.org/profiles/namusyaka","role":null,"created_at":"2022-11-09T09:51:23.466Z","updated_at":"2022-11-09T09:51:23.466Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://rubygems.org/profiles/zzak","role":null,"created_at":"2022-11-09T09:51:23.437Z","updated_at":"2022-11-09T09:51:23.437Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://rubygems.org/profiles/dentarg","role":null,"created_at":"2023-03-14T17:16:01.744Z","updated_at":"2023-03-14T17:16:01.744Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/dentarg/packages"},{"uuid":"49962","login":"kytrinyx","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://rubygems.org/profiles/kytrinyx","role":null,"created_at":"2022-11-09T09:51:23.446Z","updated_at":"2022-11-09T09:51:23.446Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/kytrinyx/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://rubygems.org/profiles/rkh","role":null,"created_at":"2022-11-09T09:51:23.472Z","updated_at":"2022-11-09T09:51:23.472Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/rkh/packages"},{"uuid":"280","login":"bmizerany","name":null,"email":null,"url":null,"packages_count":19,"html_url":"https://rubygems.org/profiles/bmizerany","role":null,"created_at":"2022-11-09T09:51:23.419Z","updated_at":"2022-11-09T09:51:23.419Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/bmizerany/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205567,"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":13950316,"name":"ruby-rack-protection","ecosystem":"guix","description":"Rack middleware that protects against typical web attacks","homepage":"https://github.com/sinatra/sinatra/tree/master/rack-protection","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:54:43.927Z","latest_release_published_at":"2026-03-02T18:54:43.927Z","latest_release_number":"3.0.5","last_synced_at":"2026-04-27T16:20:26.144Z","created_at":"2026-03-02T18:54:43.737Z","updated_at":"2026-04-27T16:20:27.045Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-rack-protection/3.0.5/","install_command":"guix install ruby-rack-protection","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n8420","metadata":{"location":"gnu/packages/ruby-xyz.scm:8420","variable_name":"ruby-rack-protection"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-27T16:20:27.018Z","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-rack-protection","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-rack-protection","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-rack-protection","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-rack-protection/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-rack-protection/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-rack-protection/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-rack-protection/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-rack-protection/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-rack-protection/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":12302011,"name":"rack-protection","ecosystem":"rubygems","description":"Protect against typical web attacks, works with all Rack apps, including Rails","homepage":"http://sinatrarb.com/protection/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":53,"first_release_published_at":"2011-06-20T13:52:23.899Z","latest_release_published_at":"2025-10-10T15:20:34.531Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-30T21:01:35.991Z","created_at":"2025-10-07T05:12:23.213Z","updated_at":"2026-04-30T21:02:48.741Z","registry_url":"https://gem.coop/gems/rack-protection","install_command":"gem install rack-protection -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/rack-protection/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-04-23T04:30:37.000Z","size":7834,"stargazers_count":12419,"open_issues_count":44,"forks_count":2067,"subscribers_count":362,"default_branch":"main","last_synced_at":"2026-04-26T20:06:28.330Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-25T12:30:49.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":"sinatra","name":"Sinatra","uuid":"8312","kind":"organization","description":null,"email":null,"website":"http://www.sinatrarb.com","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8312?v=4","repositories_count":12,"last_synced_at":"2024-03-25T19:32:57.740Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sinatra","funding_links":[],"total_stars":15588,"followers":46,"following":0,"created_at":"2022-11-02T16:17:24.429Z","updated_at":"2024-03-25T19:33:04.877Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra/repositories"},"tags":[{"name":"v4.2.1","sha":"599a007a779dc9940e49f34e9077220f4c209f4b","kind":"tag","published_at":"2025-10-10T15:19:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"f2ad45f7d2456172974a30d300e9f82424336e09","kind":"tag","published_at":"2025-10-08T15:37:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.2.0/manifests"},{"name":"v4.0.1","sha":"7dc5940e44cfa6d176b267f2165aa8116032669d","kind":"tag","published_at":"2025-05-23T22:16:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.1/manifests"},{"name":"v4.1.1","sha":"7b50a1bbb5324838908dfaa00ec53ad322673a29","kind":"tag","published_at":"2024-11-20T15:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"73f3291d114b5b211e067263eeb9c0e197fe8500","kind":"tag","published_at":"2024-11-18T11:31:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"b626e2d82c23b4fde0b51782fd32ca27ccde1d1a","kind":"tag","published_at":"2024-01-19T11:49:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v4.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v4.0.0/manifests"},{"name":"v3.2.0","sha":"4e8fdb5172a81c1c237388f264e5684a4a15ed4f","kind":"tag","published_at":"2023-12-29T17:55:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"a182dcaa86affe38f1f78e5f2c96dfbffaf7597a","kind":"tag","published_at":"2023-08-07T09:20:34.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.1.0/manifests"},{"name":"v3.0.6","sha":"516ee3bc5a256c52e1452009168c2caf2751c5fb","kind":"tag","published_at":"2023-04-11T15:34:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.6/manifests"},{"name":"v3.0.5","sha":"186106d153d08c77e4add922e93b6c4a9d9315f6","kind":"tag","published_at":"2022-12-16T23:13:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.5/manifests"},{"name":"v2.2.4","sha":"7c88c7cca61ba47642a3516392116f521ca2d1a2","kind":"tag","published_at":"2022-12-16T22:51:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.4/manifests"},{"name":"v2.2.3","sha":"0bdb254b9a21aaef9eb24540f174318abefca2a2","kind":"tag","published_at":"2022-11-25T20:22:35.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.3/manifests"},{"name":"v3.0.4","sha":"eca7b54a64d1b64c4245c0f025e8dabb1cafde7c","kind":"tag","published_at":"2022-11-25T16:37:43.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cafaab99db5b644e5fbe2a19bdba168e671ff1f2","kind":"tag","published_at":"2022-11-11T19:41:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"ceb49f043c37244bc017c9f33f5fdf18f1662ac7","kind":"tag","published_at":"2022-10-01T17:23:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"2b659be947998a5a39bcf0b3d93eaac31af82ac5","kind":"tag","published_at":"2022-09-26T16:04:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"815b69fe2510930de97a89f9318fcfa35165e96e","kind":"tag","published_at":"2022-09-26T01:05:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v3.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v3.0.0/manifests"},{"name":"v2.2.2","sha":"a2b82435c32ece4f649b1c9494913cb89fbc659a","kind":"tag","published_at":"2022-07-23T21:16:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"e6a2420e326fe29d029ffb64db7ce09e3fe9e99c","kind":"tag","published_at":"2022-07-15T14:34:53.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"44ce685218a29a58ea059b3dfd1a39db8c7dd6d5","kind":"commit","published_at":"2022-02-02T20:50:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"0d7e580133a5bb65b05214be7aa9cf195a4698e9","kind":"tag","published_at":"2020-09-04T18:46:57.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.1.0/manifests"},{"name":"v2.0.8.1","sha":"a4dd24add24f2dd0e7299b9e68e12038138294d3","kind":"tag","published_at":"2020-01-01T20:01:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8.1/manifests"},{"name":"v2.0.8","sha":"cf1c6b156b30417b6998a94c941d675179fac7b0","kind":"tag","published_at":"2020-01-01T09:39:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.8/manifests"},{"name":"v2.0.7","sha":"32d683317790180d19ff5974aea2dd277e37724f","kind":"tag","published_at":"2019-08-22T10:00:32.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.7/manifests"},{"name":"v2.0.6","sha":"6795b45876c71f3de18c7ae36475b928ccf7fcaa","kind":"tag","published_at":"2019-08-21T16:45:51.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.6/manifests"},{"name":"v2.0.5","sha":"7a5c499f0e6099137fd1cb4ee20178af2a125d47","kind":"tag","published_at":"2018-12-22T11:06:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.5/manifests"},{"name":"v2.0.4","sha":"b62c8c588a2253928d3fc7a59ea394e8a6f90082","kind":"tag","published_at":"2018-09-15T09:34:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.4/manifests"},{"name":"v2.0.3","sha":"51f176109aefa5a52402bb3062fd0b4d64580b46","kind":"tag","published_at":"2018-06-08T16:00:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"c8910e9a7f9537e397f34b9e71e15757ccfbbae3","kind":"tag","published_at":"2018-06-05T16:50:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"4831ab658046ff12f8c3cb17a9833f942f49f7ff","kind":"tag","published_at":"2018-02-16T15:39:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1/manifests"},{"name":"v2.0.1.rc1","sha":"c5fceaab24a7a97bb70c2a87c44a97ba51feeb8b","kind":"tag","published_at":"2018-02-12T14:47:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.1.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.1.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.1.rc1/manifests"},{"name":"v2.0.0","sha":"5de64980e0f0fe146d8b60ca3b009f183113e68b","kind":"tag","published_at":"2017-05-07T00:02:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0/manifests"},{"name":"v2.0.0.rc6","sha":"27373cc4d041c03dfd97f17a8944e91651c6e4cc","kind":"tag","published_at":"2017-05-06T23:56:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc6/manifests"},{"name":"2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc5/manifests"},{"name":"v2.0.0.rc5","sha":"c9b8b2037395b5b865b28ed5ef682e62588e295b","kind":"tag","published_at":"2017-05-06T23:48:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc5/manifests"},{"name":"2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc4/manifests"},{"name":"v2.0.0.rc4","sha":"d7c28052e5bf9869db11415c4e85c6d427884de8","kind":"tag","published_at":"2017-05-06T23:44:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc4/manifests"},{"name":"2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/2.0.0.rc3/manifests"},{"name":"v2.0.0.rc3","sha":"7bfd9e18ba83ab634425d17f5f7d5b19359991b2","kind":"tag","published_at":"2017-05-06T23:28:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc3/manifests"},{"name":"v2.0.0.rc2","sha":"3b4fc7dfe08f9bed5ad0f74f4febc144aabd2315","kind":"tag","published_at":"2017-03-19T03:32:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc2/manifests"},{"name":"v2.0.0.rc1","sha":"438f7659114c96a6e7cc261f3902a65e89c426d7","kind":"tag","published_at":"2017-03-04T18:17:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.rc1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.rc1/manifests"},{"name":"v1.4.8","sha":"1f4444df234a81df582d3171131f8c5e8dd3e6ea","kind":"tag","published_at":"2017-01-30T03:31:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.8/manifests"},{"name":"v2.0.0.beta2","sha":"1b0edc0aeaaf4839cadfcec1b21da86e6af1d4c0","kind":"tag","published_at":"2016-08-22T16:58:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v2.0.0.beta2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v2.0.0.beta2/manifests"},{"name":"v1.4.7","sha":"14db1440b53f8b21519b3674a0157d680eb72dc7","kind":"tag","published_at":"2016-01-24T12:26:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"b186cd568aa12b247c06366d433fb34bc28195d6","kind":"commit","published_at":"2015-03-24T02:29:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"1ac65a4089a5e247067cd0934408319430ee52e0","kind":"tag","published_at":"2014-04-08T15:21:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"a7d88914ab67f5470d4d55de63a2eff284af4871","kind":"tag","published_at":"2013-10-21T10:12:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.4/manifests"},{"name":"1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.3/manifests"},{"name":"v1.4.3","sha":"96c755ed279d385f4a84d100a8c6a1ae6645dd7d","kind":"tag","published_at":"2013-06-07T21:06:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.3/manifests"},{"name":"1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.2/manifests"},{"name":"v1.4.2","sha":"72f24f6031b9d38553f854efd32a3acfed47b266","kind":"tag","published_at":"2013-03-21T09:08:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.2/manifests"},{"name":"1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.1/manifests"},{"name":"v1.4.1","sha":"9567316944fd03489b93f4e8a4072a2e4932e007","kind":"tag","published_at":"2013-03-15T17:21:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.1/manifests"},{"name":"1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0/manifests"},{"name":"v1.4.0","sha":"db505983d946da7a372e6fb7af185f7f575d8637","kind":"tag","published_at":"2013-03-15T11:29:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0/manifests"},{"name":"1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.6/manifests"},{"name":"v1.3.6","sha":"fb1136ea3e015c2ac2790bd5abf3b1510cce51d2","kind":"tag","published_at":"2013-03-15T11:24:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.6/manifests"},{"name":"1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.9/manifests"},{"name":"v1.2.9","sha":"e3ae005851986b2dba44e4bb6419e7b8c50c2063","kind":"tag","published_at":"2013-03-15T11:01:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.9","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.9/manifests"},{"name":"1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.d/manifests"},{"name":"v1.4.0.d","sha":"7a148600e86ccc9a70d55d858952b94f6e70ad2f","kind":"tag","published_at":"2013-03-09T17:18:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.d/manifests"},{"name":"1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.c/manifests"},{"name":"v1.4.0.c","sha":"b1e88f8276d081dc20af28c8539ef7916e93ce65","kind":"tag","published_at":"2013-02-26T23:19:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.c/manifests"},{"name":"1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.b/manifests"},{"name":"v1.4.0.b","sha":"45068f91c99acd0109d760f433374488b7118728","kind":"tag","published_at":"2013-02-26T13:58:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.b/manifests"},{"name":"1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.4.0.a/manifests"},{"name":"v1.4.0.a","sha":"81b102b11dae711d418a425ee6cc6cca4c315f41","kind":"tag","published_at":"2013-02-26T07:01:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.4.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.4.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.4.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.4.0.a/manifests"},{"name":"1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:26.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.5/manifests"},{"name":"v1.3.5","sha":"f4364d44f709b248aaa8f0661e2f883ae73ade01","kind":"tag","published_at":"2013-02-25T10:09:25.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.5/manifests"},{"name":"1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.4/manifests"},{"name":"v1.3.4","sha":"bc21cf1b983384b20f5572da0db529bf376ff1a3","kind":"tag","published_at":"2013-01-26T22:18:44.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.4/manifests"},{"name":"1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.3/manifests"},{"name":"v1.3.3","sha":"77346226dbb9492993accee2d042bfe6c9ae036c","kind":"tag","published_at":"2012-08-19T12:55:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.3/manifests"},{"name":"1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.2/manifests"},{"name":"v1.3.2","sha":"e111243e813ede1f0f4c6918d9a8cc029e776fc3","kind":"tag","published_at":"2011-12-30T12:55:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.2/manifests"},{"name":"1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.8/manifests"},{"name":"v1.2.8","sha":"ab140aeb3b40c70faf18a89382d2fd2edd7c9432","kind":"tag","published_at":"2011-12-30T12:47:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.8","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.8/manifests"},{"name":"1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.1/manifests"},{"name":"v1.3.1","sha":"ea57aaaa9671124279c3ae4690c58a1c5f05be78","kind":"tag","published_at":"2011-10-05T01:29:28.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.1/manifests"},{"name":"1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.7/manifests"},{"name":"v1.2.7","sha":"a25bff1268f6db059cad9d664327b03d3ae66fd4","kind":"tag","published_at":"2011-10-01T02:32:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.7/manifests"},{"name":"1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0/manifests"},{"name":"v1.3.0","sha":"244a0b8cea16790bcc10e18473b3f7a4ade13eb9","kind":"tag","published_at":"2011-10-01T02:18:04.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0/manifests"},{"name":"1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.g/manifests"},{"name":"v1.3.0.g","sha":"4128fe6673ce0393f71323c90ebd96976b98bce2","kind":"tag","published_at":"2011-09-25T21:46:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.g","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.g","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.g","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.g/manifests"},{"name":"1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.f/manifests"},{"name":"v1.3.0.f","sha":"d765c41b25f9f3e860c90ed15da3ae6c39a87f78","kind":"tag","published_at":"2011-09-11T17:12:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.f","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.f","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.f","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.f/manifests"},{"name":"1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:18.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.e/manifests"},{"name":"v1.3.0.e","sha":"b5a310437e58a4d198216a41d76df60ef8186ac7","kind":"tag","published_at":"2011-06-09T08:40:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.e","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.e","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.e","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.e/manifests"},{"name":"1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.6/manifests"},{"name":"v1.2.6","sha":"56019db27f165673c2e6867497f3cf7360620bc7","kind":"tag","published_at":"2011-05-01T08:25:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.6/manifests"},{"name":"1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:07.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.5/manifests"},{"name":"v1.2.5","sha":"c56261996d2ef65d79395457f4967d0f9a53dfa4","kind":"tag","published_at":"2011-04-30T13:12:02.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.5/manifests"},{"name":"1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:07:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.d/manifests"},{"name":"v1.3.0.d","sha":"e9e6e737f913287340a82bdfd4fbaa47591d270f","kind":"tag","published_at":"2011-04-30T09:06:55.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.d/manifests"},{"name":"1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:51:31.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.4/manifests"},{"name":"v1.2.4","sha":"a8d5ef8e0fa5502b7db768f0d9c800c5ec77c625","kind":"tag","published_at":"2011-04-30T08:49:14.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.4/manifests"},{"name":"1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:47.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.c/manifests"},{"name":"v1.3.0.c","sha":"7079399ce1a3623de9dea780e161208798cf93cc","kind":"tag","published_at":"2011-04-13T13:50:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.c/manifests"},{"name":"1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:16.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.3/manifests"},{"name":"v1.2.3","sha":"95d5205ac5a7d34c518ff5ba57072daf315e6c91","kind":"tag","published_at":"2011-04-13T13:42:11.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.3/manifests"},{"name":"1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.4/manifests"},{"name":"v1.1.4","sha":"3a8642361b0d11e1685d257cd200c42af1cef5d0","kind":"tag","published_at":"2011-04-13T13:36:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.4/manifests"},{"name":"1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.2/manifests"},{"name":"v1.2.2","sha":"a271e8e488dc5e298dc662f44a5cbec8b116dffe","kind":"tag","published_at":"2011-04-08T17:24:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.2/manifests"},{"name":"1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:42.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.b/manifests"},{"name":"v1.3.0.b","sha":"2bc5c14a63a0099bcbacc0deb0ba94b157c80389","kind":"tag","published_at":"2011-04-08T17:14:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.b/manifests"},{"name":"1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:59.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.3.0.a/manifests"},{"name":"v1.3.0.a","sha":"774299cf5ba2417fef775c95e605272ab73dd181","kind":"tag","published_at":"2011-03-22T17:27:33.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.3.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.3.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.3.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.3.0.a/manifests"},{"name":"1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.1/manifests"},{"name":"v1.2.1","sha":"62fa2cd7ec19bc4a9c12d3d996ddfe03ec79bbff","kind":"tag","published_at":"2011-03-17T15:42:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.1/manifests"},{"name":"semver","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:51:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/semver","html_url":"https://github.com/sinatra/sinatra/releases/tag/semver","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@semver","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/semver/manifests"},{"name":"v1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-04T13:50:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-03-04T13:49:45.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2011-03-04T13:49:15.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2011-03-04T13:48:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2011-03-04T13:48:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"tag","published_at":"2011-03-04T13:47:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/v1.0.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/v1.0.0/manifests"},{"name":"1.2.0","sha":"7e0a84279a35315c046492a1d402f720a2409a48","kind":"tag","published_at":"2011-03-03T20:51:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0/manifests"},{"name":"1.2.0.d","sha":"78bd56cc999f92325581c8456f51d2d17e52ef43","kind":"tag","published_at":"2011-02-26T15:18:52.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.d","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.d","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.d","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.d/manifests"},{"name":"1.1.3","sha":"e30639057c56a46176c3540005f379b2d7b606a9","kind":"tag","published_at":"2011-02-20T09:15:27.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.3/manifests"},{"name":"1.2.0.c","sha":"6651f372877702e14762a7f8f53ffee600bed504","kind":"tag","published_at":"2011-02-19T21:38:03.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.c","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.c","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.c","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.c/manifests"},{"name":"1.2.0.b","sha":"6dc3cd773b459879fa09ea110ee1c82cbf131f48","kind":"tag","published_at":"2011-02-19T20:32:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.b/manifests"},{"name":"1.1.2","sha":"99488966feecc2e1d78b0bb82f17f5203252a31e","kind":"tag","published_at":"2010-12-25T22:56:21.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"af157e11c90ea81d7845a597a680596c7019c4c3","kind":"tag","published_at":"2010-12-25T22:40:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.1/manifests"},{"name":"1.2.0.a","sha":"a5c9eb672a94e66f75c4fdd2fe2bc3f4059c635b","kind":"tag","published_at":"2010-12-25T22:38:54.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.2.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.2.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.2.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.2.0.a/manifests"},{"name":"1.1.0","sha":"ad648be044e962b385ea398a8bf46a982083813d","kind":"tag","published_at":"2010-10-24T14:01:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.0/manifests"},{"name":"1.1.b","sha":"6457ccc560ead8fb60aae29477dfbb5df6be4798","kind":"tag","published_at":"2010-10-23T08:08:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.b/manifests"},{"name":"1.1.a","sha":"d40e52e0c29b96c98e72f051479e22ee3ed72d81","kind":"tag","published_at":"2010-10-19T12:56:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.1.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.1.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.1.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.1.a/manifests"},{"name":"filter_pattern","sha":"7575b96953db81b2fdffe28f7a16e3cf48c91066","kind":"tag","published_at":"2010-04-27T21:13:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/filter_pattern","html_url":"https://github.com/sinatra/sinatra/releases/tag/filter_pattern","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@filter_pattern","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/filter_pattern/manifests"},{"name":"1.0","sha":"c496254f2be3d27bba238bf78c1c7376976eb924","kind":"commit","published_at":"2010-03-23T21:22:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0/manifests"},{"name":"1.0.b","sha":"b6701db3faf1fba0bb5675e8a78385b618280fb2","kind":"commit","published_at":"2010-03-07T12:18:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.b","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.b","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.b","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.b/manifests"},{"name":"0.9.6","sha":"28a8c9f9d12dbb08a11a74a71161a51fc0d361c8","kind":"commit","published_at":"2010-03-07T10:50:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.6/manifests"},{"name":"0.9.5","sha":"22962c18906060b89d04d66abf12f093b21d3489","kind":"commit","published_at":"2010-03-04T14:29:38.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.5/manifests"},{"name":"1.0.a","sha":"e2c73bf1b036adb31853b2c92909eb447876d233","kind":"commit","published_at":"2010-01-28T19:51:08.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/1.0.a","html_url":"https://github.com/sinatra/sinatra/releases/tag/1.0.a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@1.0.a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/1.0.a/manifests"},{"name":"0.9.4","sha":"e0ee682740d194e956a6936dcd89512944d891a3","kind":"commit","published_at":"2009-07-26T20:18:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.4/manifests"},{"name":"0.9.3","sha":"798ca32d2410477774fe6e1576ebd6b5f7d8517e","kind":"commit","published_at":"2009-06-08T07:24:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.3/manifests"},{"name":"0.9.2","sha":"f49a515ebfc72bb8af65e6cf6712f0f8279cb6ce","kind":"commit","published_at":"2009-05-18T12:17:50.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.2/manifests"},{"name":"0.9.1.1","sha":"0f02bafe86f8dd9bba9ab425468cb1067caa83ff","kind":"commit","published_at":"2009-03-09T21:57:22.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1.1/manifests"},{"name":"0.9.0.5","sha":"72c817a5620e74d0cdd2b7589762cc010b6e5750","kind":"commit","published_at":"2009-03-09T21:53:13.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.5/manifests"},{"name":"0.9.1","sha":"01b1f4945e6e43aa670b7a68e6759fe1cb61b94a","kind":"commit","published_at":"2009-03-03T00:08:48.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.1/manifests"},{"name":"0.9.0.4","sha":"219728a964b5c9f0c7d15942f4f1c25ab6105d18","kind":"commit","published_at":"2009-01-25T09:04:58.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.4","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.4/manifests"},{"name":"0.9.0.3","sha":"455263a31a37df7b13f471fc30700371b2217b13","kind":"commit","published_at":"2009-01-21T22:06:10.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.3/manifests"},{"name":"0.9.0.2","sha":"5e3d80c3d1d2311741d55cdbba186484ebd7829c","kind":"commit","published_at":"2009-01-18T13:43:12.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.2/manifests"},{"name":"0.9.0.1","sha":"611442f30f221a7f3db9a2009b19192d8a351386","kind":"commit","published_at":"2009-01-18T12:04:29.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0.1/manifests"},{"name":"0.9.0","sha":"c8b3a20e8bd71cbcd831174c71331b391e964c18","kind":"commit","published_at":"2009-01-18T09:11:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.9.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.9.0/manifests"},{"name":"0.3.3","sha":"4aefc7d024837e4a947fa978d621b4f019aeda1d","kind":"commit","published_at":"2009-01-07T05:36:49.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.3","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"cdf1abbadd80040d4a88041b50fa8c5cf891b871","kind":"commit","published_at":"2008-11-02T13:19:17.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"c09025efc5c5e5aca8b26eb22d76ab0b7943ac49","kind":"commit","published_at":"2008-09-09T06:13:41.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"55221fc8c9737600320928387a995d65ada14710","kind":"commit","published_at":"2008-09-08T04:12:05.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.3.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.3.0/manifests"},{"name":"0.2.2","sha":"d7032a0c91ca962aee6f25dbf5d5c3228658a9f1","kind":"commit","published_at":"2008-04-16T02:42:46.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.2","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"886c5a413e01a9d412edb45ee26e63b7009e99f0","kind":"commit","published_at":"2008-04-16T00:51:01.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"ca9ac7b5aeb3d5adc1a4c7fb86e21b0dc688e55b","kind":"commit","published_at":"2008-04-11T23:29:36.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.2.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.2.0/manifests"},{"name":"0.1.7","sha":"64c77f55583db607cdb36c330bc445ffa7e05052","kind":"commit","published_at":"2007-10-23T22:42:00.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.7","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"c489d67d1a6540c2f80c2beee8d435b170e93a75","kind":"commit","published_at":"2007-10-15T20:56:39.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.6","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"2679e401ac408b5a1e90ea98a00a5b90bca0ae07","kind":"commit","published_at":"2007-10-08T01:36:56.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.5","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.5/manifests"},{"name":"0.1.0","sha":"4d8f19741ab78dfe1cf62eb929137d9544ec8a4b","kind":"commit","published_at":"2007-10-05T00:47:37.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.1.0","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"72be291da2bf7a5e2dacf8b9119a258d8db53c43","kind":"commit","published_at":"2007-09-08T23:51:24.000Z","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/0.0.1","html_url":"https://github.com/sinatra/sinatra/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sinatra/sinatra@0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-30T21:02:48.741Z","dependent_packages_count":0,"downloads":487008327,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.047035925715675934,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.09299056578271565,"average":0.035006622874597895},"purl":"pkg:gem/rack-protection?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/rack-protection","docker_dependents_count":1380,"docker_downloads_count":975976798,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/rack-protection","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/rack-protection/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-29T01:00:51.711Z","issues_count":140,"pull_requests_count":236,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":51,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.597457627118644,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":20,"past_year_pull_requests_count":25,"past_year_avg_time_to_close_issue":1207846.75,"past_year_avg_time_to_close_pull_request":1123930.625,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":2.7,"past_year_avg_comments_per_pull_request":1.24,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":13,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rack-protection/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rack-protection/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rack-protection/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rack-protection/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/rack-protection/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://gem.coop/profiles/jkowens","role":null,"created_at":"2025-10-08T03:22:26.569Z","updated_at":"2025-10-08T03:22:26.569Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://gem.coop/profiles/namusyaka","role":null,"created_at":"2025-10-08T03:22:26.463Z","updated_at":"2025-10-08T03:22:26.463Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://gem.coop/profiles/zzak","role":null,"created_at":"2025-10-08T03:22:26.410Z","updated_at":"2025-10-08T03:22:26.410Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://gem.coop/profiles/dentarg","role":null,"created_at":"2025-10-08T03:22:26.611Z","updated_at":"2025-10-08T03:22:26.611Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/dentarg/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://gem.coop/profiles/rkh","role":null,"created_at":"2025-10-08T03:22:26.503Z","updated_at":"2025-10-08T03:22:26.503Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/rkh/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190420,"maintainers_count":67490,"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":12327260,"name":"sinatra-rack-3-commonlit","ecosystem":"rubygems","description":"Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.","homepage":"http://sinatrarb.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2023-11-04T19:07:07.461Z","latest_release_published_at":"2023-11-04T18:58:53.354Z","latest_release_number":"3.1.0","last_synced_at":"2026-04-24T22:23:59.755Z","created_at":"2025-10-07T06:02:00.853Z","updated_at":"2026-04-24T22:23:59.755Z","registry_url":"https://gem.coop/gems/sinatra-rack-3-commonlit","install_command":"gem install sinatra-rack-3-commonlit -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/sinatra-rack-3-commonlit/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-03-02T10:56:21.000Z","size":7806,"stargazers_count":12420,"open_issues_count":43,"forks_count":2067,"subscribers_count":363,"default_branch":"main","last_synced_at":"2026-04-19T18:51:55.331Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-19T13:45:10.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-24T22:23:59.226Z","dependent_packages_count":0,"downloads":1469,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":96.3984860773182,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":32.132828692439396},"purl":"pkg:gem/sinatra-rack-3-commonlit?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra-rack-3-commonlit","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra-rack-3-commonlit","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra-rack-3-commonlit/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-14T21:05:30.851Z","issues_count":139,"pull_requests_count":231,"avg_time_to_close_issue":33592510.77551021,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":98,"pull_requests_closed_count":197,"pull_request_authors_count":49,"issue_authors_count":86,"avg_comments_per_issue":4.16546762589928,"avg_comments_per_pull_request":1.593073593073593,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":49,"past_year_avg_time_to_close_issue":1283476.6666666667,"past_year_avg_time_to_close_pull_request":2184508.4615384615,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":26,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":2.2857142857142856,"past_year_avg_comments_per_pull_request":0.6938775510204082,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":21,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-rack-3-commonlit/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-rack-3-commonlit/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-rack-3-commonlit/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-rack-3-commonlit/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra-rack-3-commonlit/codemeta","maintainers":[{"uuid":"58199","login":"geoffharcourt","name":null,"email":null,"url":null,"packages_count":15,"html_url":"https://gem.coop/profiles/geoffharcourt","role":null,"created_at":"2025-10-09T22:19:37.698Z","updated_at":"2025-10-09T22:19:37.698Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/geoffharcourt/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190420,"maintainers_count":67490,"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":12326998,"name":"sinatra","ecosystem":"rubygems","description":"Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.","homepage":"http://sinatrarb.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sinatra/sinatra","keywords_array":[],"namespace":null,"versions_count":108,"first_release_published_at":"2009-07-25T17:52:06.000Z","latest_release_published_at":"2025-10-10T15:20:36.806Z","latest_release_number":"4.2.1","last_synced_at":"2026-04-28T12:40:03.714Z","created_at":"2025-10-07T06:01:37.486Z","updated_at":"2026-04-28T13:18:45.052Z","registry_url":"https://gem.coop/gems/sinatra","install_command":"gem install sinatra -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/sinatra/","metadata":{"funding":null},"repo_metadata":{"id":481356,"uuid":"106995","full_name":"sinatra/sinatra","owner":"sinatra","description":"Classy web-development dressed in a DSL (official / canonical repo)","archived":false,"fork":false,"pushed_at":"2026-03-02T10:56:21.000Z","size":7806,"stargazers_count":12420,"open_issues_count":43,"forks_count":2067,"subscribers_count":363,"default_branch":"main","last_synced_at":"2026-04-19T18:51:55.331Z","etag":null,"topics":["rack","ruby","sinatra","web-framework"],"latest_commit_sha":null,"homepage":"https://sinatrarb.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinatra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-01-14T01:27:30.000Z","updated_at":"2026-04-19T13:45:10.000Z","dependencies_parsed_at":"2025-12-05T15:03:36.738Z","dependency_job_id":null,"html_url":"https://github.com/sinatra/sinatra","commit_stats":{"total_commits":3683,"total_committers":529,"mean_commits":6.96219281663516,"dds":0.7366277491175672,"last_synced_commit":"7b50a1bbb5324838908dfaa00ec53ad322673a29"},"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"purl":"pkg:github/sinatra/sinatra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinatra","download_url":"https://codeload.github.com/sinatra/sinatra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/sbom","scorecard":{"id":825975,"data":{"date":"2025-08-11","repo":{"name":"github.com/sinatra/sinatra","commit":"fa99a21461d4f1f5337b9b9d7a38a1b51c8f4e55"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.3,"checks":[{"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":"Maintained","score":6,"reason":"3 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 6","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":3,"reason":"Found 9/26 approved changesets -- score normalized to 3","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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","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":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/sinatra/sinatra/test.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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 30 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-23T16:39:14.644Z","repository_id":481356,"created_at":"2025-08-23T16:39:14.644Z","updated_at":"2025-08-23T16:39:14.644Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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"},"tags":[]},"repo_metadata_updated_at":"2026-04-28T13:18:45.031Z","dependent_packages_count":0,"downloads":339381717,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.07028318718034665,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.101640301460809,"average":0.04298087216028891},"purl":"pkg:gem/sinatra?repository_url=https://gem.coop","advisories":[{"uuid":"GSA_kwCzR0hTQS1oeHgyLTd2Y3ctbXFyM84ABA2z","url":"https://github.com/advisories/GHSA-hxx2-7vcw-mqr3","title":"Sinatra vulnerable to Reliance on Untrusted Inputs in a Security Decision","description":"Versions of the package sinatra from 0.0.0 are vulnerable to Reliance on Untrusted Inputs in a Security Decision via the X-Forwarded-Host (XFH) header. When making a request to a method with redirect applied, it is possible to trigger an Open Redirect Attack by inserting an arbitrary address into this header. If used for caching purposes, such as with servers like Nginx, or as a reverse proxy, without handling the X-Forwarded-Host header, attackers can potentially exploit Cache Poisoning or Routing-based SSRF.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-11-01T06:30:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-21510","https://github.com/sinatra/sinatra/pull/2010","https://security.snyk.io/vuln/SNYK-RUBY-SINATRA-6483832","https://github.com/sinatra/sinatra/blob/b626e2d82c23b4fde0b51782fd32ca27ccde1d1a/lib/sinatra/base.rb#L319","https://github.com/sinatra/sinatra/blob/b626e2d82c23b4fde0b51782fd32ca27ccde1d1a/lib/sinatra/base.rb#L323C1-L343C17","https://github.com/advisories/GHSA-hxx2-7vcw-mqr3","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2024-21510.yml","https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md#410--2024-11-18"],"source_kind":"github","identifiers":["GHSA-hxx2-7vcw-mqr3","CVE-2024-21510"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":27.35181902560624,"created_at":"2024-11-01T22:06:25.465Z","updated_at":"2024-11-18T20:17:33.000Z","epss_percentage":0.00172,"epss_percentile":0.38955,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"4.1.0","vulnerable_version_range":"\u003c 4.1.0"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1"],"unaffected_versions":["4.1.0","4.1.1","4.2.0","4.2.1"]}]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWgyOWYtN2Y1Ni1qOHdo","url":"https://github.com/advisories/GHSA-h29f-7f56-j8wh","title":"Sinatra Path Traversal vulnerability","description":"An issue was discovered in `rack-protection/lib/rack/protection/path_traversal.rb` in Sinatra 2.x before 2.0.1 on Windows. Path traversal is possible via backslash characters.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-02-20T19:23:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2018-7212","https://github.com/sinatra/sinatra/pull/1379","https://github.com/sinatra/sinatra/commit/6ad721abcfe36334108dcdd05d046c361e1b7a9c","https://github.com/advisories/GHSA-h29f-7f56-j8wh"],"source_kind":"github","identifiers":["GHSA-h29f-7f56-j8wh","CVE-2018-7212"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.430Z","updated_at":"2023-01-26T20:26:11.000Z","epss_percentage":0.00278,"epss_percentile":0.50755,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.0.1","vulnerable_version_range":"\u003e= 2.0.0.beta1, \u003c 2.0.1"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0"],"unaffected_versions":["2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}]},{"uuid":"GSA_kwCzR0hTQS1xcDQ5LTNwdncteDRtNc3XwA","url":"https://github.com/advisories/GHSA-qp49-3pvw-x4m5","title":"sinatra does not validate expanded path matches","description":"Sinatra before 2.2.0 does not validate that the expanded path matches public_dir when serving static files.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-03T00:00:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2022-29970","https://github.com/sinatra/sinatra/pull/1683/commits/462c3ca1db53ed3cfc394cf5948e9c948ad1c10e","https://github.com/skylightio/skylight-ruby/pull/294","https://lists.debian.org/debian-lts-announce/2022/10/msg00034.html","https://github.com/sinatra/sinatra/pull/1683","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2022-29970.yml","https://lists.debian.org/debian-lts-announce/2024/09/msg00020.html","https://github.com/advisories/GHSA-qp49-3pvw-x4m5"],"source_kind":"github","identifiers":["GHSA-qp49-3pvw-x4m5","CVE-2022-29970"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:12:29.039Z","updated_at":"2025-11-04T19:36:43.000Z","epss_percentage":0.00541,"epss_percentile":0.66761,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.2.0","vulnerable_version_range":"\u003c 2.2.0"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0"],"unaffected_versions":["2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW1xMzUtd3F2Zi1yMjNj","url":"https://github.com/advisories/GHSA-mq35-wqvf-r23c","title":"Sinatra Cross-site Scripting vulnerability","description":"Sinatra before 2.0.2 has XSS via the 400 Bad Request page that occurs upon a params parser exception.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-06-05T21:32:06.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2018-11627","https://github.com/sinatra/sinatra/issues/1428","https://github.com/sinatra/sinatra/commit/12786867d6faaceaec62c7c2cb5b0e2dc074d71a","https://access.redhat.com/errata/RHSA-2019:0212","https://access.redhat.com/errata/RHSA-2019:0315","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2018-11627.yml","https://github.com/advisories/GHSA-mq35-wqvf-r23c"],"source_kind":"github","identifiers":["GHSA-mq35-wqvf-r23c","CVE-2018-11627"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:13:37.270Z","updated_at":"2023-11-04T05:05:10.000Z","epss_percentage":0.00395,"epss_percentile":0.59508,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"2.0.2","vulnerable_version_range":"\u003e= 2.0.0, \u003c 2.0.2"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["2.0.0","2.0.1"],"unaffected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}]},{"uuid":"GSA_kwCzR0hTQS1tcjNxLWcybXYtbXI0cc4ABNQv","url":"https://github.com/advisories/GHSA-mr3q-g2mv-mr4q","title":"Sinatra is vulnerable to ReDoS through ETag header value generation","description":"### Summary\n\nThere is a denial of service vulnerability in the `If-Match` and `If-None-Match` header parsing component of Sinatra, if the `etag` method is used when constructing the response and you are using Ruby \u003c 3.2.\n\n### Details\n\nCarefully crafted input can cause `If-Match` and `If-None-Match` header parsing in Sinatra to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is typically involved in generating the `ETag` header value. Any applications that use the `etag` method when generating a response are impacted if they are using Ruby below version 3.2.\n\n### Resources\n\n* https://github.com/sinatra/sinatra/issues/2120 (report)\n* https://github.com/sinatra/sinatra/pull/2121 (fix)\n* https://github.com/sinatra/sinatra/pull/1823 (older ReDoS vulnerability)\n* https://bugs.ruby-lang.org/issues/19104 (fix in Ruby \u003e= 3.2)","origin":"UNSPECIFIED","severity":"LOW","published_at":"2025-10-10T20:28:47.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U","references":["https://github.com/sinatra/sinatra/security/advisories/GHSA-mr3q-g2mv-mr4q","https://github.com/sinatra/sinatra/issues/2120","https://github.com/sinatra/sinatra/pull/1823","https://github.com/sinatra/sinatra/pull/2121","https://github.com/sinatra/sinatra/commit/3fe8c38dc405586f7ad8f2ac748aa53e9c3615bd","https://github.com/sinatra/sinatra/commit/8ff496bd4877520599e1479d6efead39304edceb","https://bugs.ruby-lang.org/issues/19104","https://nvd.nist.gov/vuln/detail/CVE-2025-61921","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2025-61921.yml","https://github.com/advisories/GHSA-mr3q-g2mv-mr4q"],"source_kind":"github","identifiers":["GHSA-mr3q-g2mv-mr4q","CVE-2025-61921"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":13.933945541346576,"created_at":"2025-10-10T21:00:07.344Z","updated_at":"2025-10-13T15:46:29.000Z","epss_percentage":0.00076,"epss_percentile":0.23123,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"4.2.0","vulnerable_version_range":"\u003c 4.2.0"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1"],"unaffected_versions":["4.2.0","4.2.1"]}]},{"uuid":"GSA_kwCzR0hTQS0yeDh4LWptcnAtcGh4d84AAwGK","url":"https://github.com/advisories/GHSA-2x8x-jmrp-phxw","title":"Sinatra vulnerable to Reflected File Download attack","description":"### Description\nAn issue was discovered in Sinatra 2.0 before 2.2.3 and 3.0 before 3.0.4. An application is vulnerable to a reflected file download (RFD) attack that sets the Content-Disposition header of a response when the filename is derived from user-supplied input.\n\n### References\n* https://www.blackhat.com/docs/eu-14/materials/eu-14-Hafif-Reflected-File-Download-A-New-Web-Attack-Vector.pdf\n* https://github.com/advisories/GHSA-8x94-hmjh-97hq","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-30T21:18:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/sinatra/sinatra/security/advisories/GHSA-2x8x-jmrp-phxw","https://nvd.nist.gov/vuln/detail/CVE-2022-45442","https://github.com/sinatra/sinatra/commit/ea8fc9495a350f7551b39e3025bfcd06f49f363b","https://github.com/advisories/GHSA-8x94-hmjh-97hq","https://www.blackhat.com/docs/eu-14/materials/eu-14-Hafif-Reflected-File-Download-A-New-Web-Attack-Vector.pdf","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/sinatra/CVE-2022-45442.yml","https://lists.debian.org/debian-lts-announce/2023/01/msg00005.html","https://lists.debian.org/debian-lts-announce/2024/09/msg00020.html","https://github.com/advisories/GHSA-2x8x-jmrp-phxw"],"source_kind":"github","identifiers":["GHSA-2x8x-jmrp-phxw","CVE-2022-45442"],"repository_url":"https://github.com/sinatra/sinatra","blast_radius":0.0,"created_at":"2022-12-21T16:11:45.823Z","updated_at":"2025-11-12T07:08:18.055Z","epss_percentage":0.00287,"epss_percentile":0.51791,"packages":[{"ecosystem":"rubygems","package_name":"sinatra","versions":[{"first_patched_version":"3.0.4","vulnerable_version_range":"\u003e= 3.0, \u003c 3.0.4"}],"purl":"pkg:gem/sinatra","statistics":{"dependent_packages_count":3239,"dependent_repos_count":144784,"downloads":321193936,"downloads_period":"total"},"affected_versions":["3.0.0","3.0.1","3.0.2","3.0.3"],"unaffected_versions":["0.1.0","0.1.5","0.1.6","0.1.7","0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.9.0","0.9.1","0.9.2","0.9.4","0.9.5","0.9.6","1.1.0","1.1.2","1.1.3","1.1.4","1.2.0","1.2.1","1.2.2","1.2.3","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","3.0.4","3.0.5","3.0.6","3.1.0","3.2.0","4.0.0","4.0.1","4.1.0","4.1.1","4.2.0","4.2.1"]}]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/sinatra","docker_dependents_count":1306,"docker_downloads_count":918805597,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/sinatra","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/sinatra/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-15T22:11:36.714Z","issues_count":140,"pull_requests_count":235,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":50,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.5659574468085107,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":47,"past_year_avg_time_to_close_issue":1075180.5555555555,"past_year_avg_time_to_close_pull_request":2375937.7,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":20,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":2.619047619047619,"past_year_avg_comments_per_pull_request":0.6808510638297872,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":15,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/sinatra/codemeta","maintainers":[{"uuid":"106152","login":"jkowens","name":null,"email":null,"url":null,"packages_count":21,"html_url":"https://gem.coop/profiles/jkowens","role":null,"created_at":"2025-10-09T22:19:22.708Z","updated_at":"2025-10-09T22:19:22.708Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jkowens/packages"},{"uuid":"49835","login":"namusyaka","name":null,"email":null,"url":null,"packages_count":44,"html_url":"https://gem.coop/profiles/namusyaka","role":null,"created_at":"2025-10-09T22:19:22.610Z","updated_at":"2025-10-09T22:19:22.610Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/namusyaka/packages"},{"uuid":"45457","login":"zzak","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://gem.coop/profiles/zzak","role":null,"created_at":"2025-10-09T22:19:22.489Z","updated_at":"2025-10-09T22:19:22.489Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/zzak/packages"},{"uuid":"50548","login":"dentarg","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://gem.coop/profiles/dentarg","role":null,"created_at":"2025-10-09T22:19:22.774Z","updated_at":"2025-10-09T22:19:22.774Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/dentarg/packages"},{"uuid":"49962","login":"kytrinyx","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://gem.coop/profiles/kytrinyx","role":null,"created_at":"2025-10-09T22:19:22.548Z","updated_at":"2025-10-09T22:19:22.548Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/kytrinyx/packages"},{"uuid":"43","login":"rkh","name":null,"email":null,"url":null,"packages_count":121,"html_url":"https://gem.coop/profiles/rkh","role":null,"created_at":"2025-10-09T22:19:22.668Z","updated_at":"2025-10-09T22:19:22.668Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/rkh/packages"},{"uuid":"280","login":"bmizerany","name":null,"email":null,"url":null,"packages_count":19,"html_url":"https://gem.coop/profiles/bmizerany","role":null,"created_at":"2025-10-09T22:19:22.391Z","updated_at":"2025-10-09T22:19:22.391Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/bmizerany/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190420,"maintainers_count":67490,"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"}}],"commits":{"id":3338,"full_name":"sinatra/sinatra","default_branch":"main","total_commits":3711,"total_committers":519,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":7.1502890173410405,"dds":0.7372675828617623,"past_year_total_commits":21,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.5,"past_year_dds":0.2857142857142857,"last_synced_at":"2026-04-30T21:18:11.133Z","last_synced_commit":"5236d3459b8b9015e5ce21ddd0c6beb0db4081d4","created_at":"2023-03-07T09:17:21.219Z","updated_at":"2026-04-30T21:13:48.393Z","committers":[{"name":"Konstantin Haase","email":"konstantin.mailinglists@googlemail.com","login":"rkh","count":975},{"name":"Ryan Tomayko","email":"rtomayko@gmail.com","login":"rtomayko","count":275},{"name":"Gabriel Andretta","email":"ohhgabriel@gmail.com","login":"gnandretta","count":141},{"name":"Patrik Ragnarsson","email":"patrik@starkast.net","login":"dentarg","count":125},{"name":"Zachary Scott","email":"mail@zzak.io","login":null,"count":111},{"name":"Blake Mizerany","email":"blakemizerany@blake-mizeranys-computer.local","login":null,"count":107},{"name":"Jordan Owens","email":"jkowens@gmail.com","login":"jkowens","count":98},{"name":"Simon Rozet","email":"simon@rozet.name","login":"sr","count":87},{"name":"Kunpei Sakai","email":"namusyaka@gmail.com","login":"namusyaka","count":81},{"name":"Zachary Scott","email":"e@zzak.io","login":null,"count":79},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":66},{"name":"Blake Mizerany","email":"blake.mizerany@gmail.com","login":"bmizerany","count":65},{"name":"michelc","email":"michelc@gmail.com","login":"michelc","count":44},{"name":"burningTyger","email":"b6tyger@gmail.com","login":"burningTyger","count":42},{"name":"Eloy Pérez","email":"ej.perezgomez@gmail.com","login":"epergo","count":42},{"name":"Vipul A M","email":"vipulnsward@gmail.com","login":"vipulnsward","count":37},{"name":"blake.mizerany@gmail.com","email":"blake.mizerany@gmail.com@95fbf360-2702-46e8-84d8-6de9ca90a270","login":null,"count":35},{"name":"Vasily Polovnyov","email":"vast@whiteants.net","login":"vast","count":32},{"name":"Blake Mizerany","email":"blake@blake.local","login":null,"count":32},{"name":"Patricio Mac Adden","email":"patriciomacadden@gmail.com","login":"patriciomacadden","count":28},{"name":"Trevor Bramble","email":"inbox@trevorbramble.com","login":"TrevorBramble","count":26},{"name":"Blake Mizerany","email":"blake@songbirdnest.com","login":null,"count":26},{"name":"Kashyap","email":"kashyap.kmbc@gmail.com","login":"kgrz","count":23},{"name":"George","email":"somu@so.mu","login":"lukateras","count":22},{"name":"Zachary Scott","email":"zachary@zacharyscott.net","login":null,"count":21},{"name":"Florian Hanke","email":"florian.hanke@gmail.com","login":"floere","count":21},{"name":"Shota Iguchi","email":"shota-iguchi@cookpad.com","login":"iguchi1124","count":20},{"name":"Tim Felgentreff","email":"timfelgentreff@gmail.com","login":"timfel","count":20},{"name":"Markus Prinz","email":"markus.prinz@nuclearsquid.com","login":"cypher","count":19},{"name":"Katrina Owen","email":"katrina.owen@gmail.com","login":"kytrinyx","count":17},{"name":"zzak","email":"zzakscott@gmail.com","login":"zzak","count":17},{"name":"ReadmeCritic","email":"frankensteinbot@gmail.com","login":"ReadmeCritic","count":15},{"name":"Mike Pastore","email":"mike@oobak.org","login":"mwpastore","count":15},{"name":"stjhimy","email":"stjhimy@gmail.com","login":"stjhimy","count":14},{"name":"Nicolas Sanguinetti","email":"contacto@nicolassanguinetti.info","login":"foca","count":13},{"name":"Anton Davydov","email":"antondavydov.o@gmail.com","login":"davydovanton","count":13},{"name":"Vasiliy Yakliushin","email":"vyaklushin@gmail.com","login":"304","count":11},{"name":"Nick Sutterer","email":"apotonick@gmail.com","login":"apotonick","count":11},{"name":"Maurizio De Santis","email":"desantis.maurizio@gmail.com","login":"mdesantis","count":11},{"name":"Yuva","email":"yuva@codemancers.com","login":"iffyuva","count":10},{"name":"Ryuichi KAWAMATA","email":"iam@rkmathi.net","login":"rkmathi","count":10},{"name":"Matt Wildig","email":"matt@mattwildig.co.uk","login":"mattwildig","count":10},{"name":"Markus Prinz","email":"markus.prinz@qsig.org","login":null,"count":10},{"name":"Ashley Williams","email":"ashley@bocoup.com","login":null,"count":8},{"name":"Cadu Ribeiro","email":"mail@cadu.dev","login":"duduribeiro","count":8},{"name":"Jeremy Evans","email":"code@jeremyevans.net","login":"jeremyevans","count":8},{"name":"kyoendo","email":"postagie@gmail.com","login":"melborne","count":8},{"name":"Shim Tw","email":"marocchino@gmail.com","login":"marocchino","count":8},{"name":"lest","email":"just.lest@gmail.com","login":"lest","count":7},{"name":"kares","email":"self@kares.org","login":"kares","count":7},{"name":"Iain Barnett","email":"iainspeed@gmail.com","login":null,"count":7},{"name":"Seiichi Yonezawa","email":"hi@nzwsch.com","login":null,"count":7},{"name":"Trevor Bramble","email":"tbramble@chef.io","login":null,"count":7},{"name":"Chris Schneider","email":"chris@christopher-schneider.com","login":"cschneid","count":7},{"name":"Alexey Muranov","email":"alexey.muranov@gmail.com","login":"alexeymuranov","count":7},{"name":"Alex Rodionov","email":"p0deje@gmail.com","login":"p0deje","count":7},{"name":"Sylvain Desvé","email":"sylvain.desve@gmail.com","login":"sylvaindesve","count":6},{"name":"elij","email":"elij.mx@gmail.com","login":null,"count":6},{"name":"Stanislav Chistenko","email":"skvest1@gmail.com","login":"Wolg","count":6},{"name":"Damir Svrtan","email":"damir.svrtan@gmail.com","login":"DamirSvrtan","count":6},{"name":"nashby","email":"younash@gmail.com","login":"nashby","count":5},{"name":"Carlos Azuaje","email":"carlosjazzc1@gmail.com","login":"CharlyJazz","count":5},{"name":"Horaciob","email":"horaciob@gmail.com","login":"horaciob","count":5},{"name":"Giuseppe Capizzi","email":"g.capizzi@gmail.com","login":"gcapizzi","count":5},{"name":"Benoit Daloze","email":"eregontp@gmail.com","login":"eregon","count":5},{"name":"Adam Wiggins","email":"adam@heroku.com","login":"adamwiggins","count":5},{"name":"S. Brent Faulkner","email":"brentf@unwwwired.net","login":null,"count":5},{"name":"Eloy Perez","email":"eloy.perez@cabify.com","login":null,"count":5},{"name":"Blake Mizerany","email":"blake@shake.local","login":null,"count":5},{"name":"Pieter van de Bruggen","email":"pvande@gmail.com","login":"pvande","count":4},{"name":"Patrik Rak","email":"patrik@raxoft.cz","login":"raxoft","count":4},{"name":"Rafael Magana","email":"raf.magana@gmail.com","login":"rafmagana","count":4},{"name":"Robin Wallin","email":"walro467@gmail.com","login":"walro","count":4},{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":4},{"name":"Stefan Sundin","email":"git@stefansundin.com","login":"stefansundin","count":4},{"name":"rhymes","email":"rhymes@hey.com","login":"rhymes","count":4},{"name":"tkmru","email":"i.am.tkmru@gmail.com","login":"tkmru","count":4},{"name":"Wu Jiang","email":"masterwujiang@gmail.com","login":"nouse","count":4},{"name":"Glenn Rempe","email":"glenn@rempe.us","login":"grempe","count":4},{"name":"Grey Baker","email":"greysteil@gmail.com","login":"greysteil","count":4},{"name":"Hrvoje Šimić","email":"shime.ferovac@gmail.com","login":"shime","count":4},{"name":"James Dabbs","email":"jamesdabbs@gmail.com","login":"jamesdabbs","count":4},{"name":"Marc-Andre Lafortune","email":"github@marc-andre.ca","login":"marcandre","count":4},{"name":"Nathan Stitt","email":"nathan@stitt.org","login":"nathanstitt","count":4},{"name":"Nickolay Schwarz","email":"tjbladez@gmail.com","login":"tjbladez","count":4},{"name":"Anurag Priyam","email":"anurag08priyam@gmail.com","login":"yeban","count":4},{"name":"Jon Hope","email":"john.hope@storyful.com","login":"JonMidhir","count":4},{"name":"Gaku Ueda","email":"gaku@gaku.net","login":null,"count":4},{"name":"Masahiro Fujiwara","email":"m-fujiwara@axsh.net","login":null,"count":4},{"name":"Nickolas Means","email":"nick@heliumsyndicate.com","login":null,"count":4},{"name":"Andrew Blake","email":"andrew.blake@rradar.com","login":null,"count":3},{"name":"Bernard Lambeau","email":"blambeau@gmail.com","login":"blambeau","count":3},{"name":"Christian Meier","email":"m.kristian@web.de","login":"mkristian","count":3},{"name":"Damian Janowski","email":"damian.janowski@gmail.com","login":"djanowski","count":3},{"name":"David Kellum","email":"dek-oss@gravitext.com","login":"dekellum","count":3},{"name":"Davide D'Agostino","email":"d.dagostino@lipsiasoft.com","login":"DAddYE","count":3},{"name":"Diogo Scudelletti","email":"diogo@scudelletti.com","login":"scudelletti","count":3},{"name":"Doug Ireton","email":"dougireton@gmail.com","login":"dougireton","count":3},{"name":"Tobias Bühlmann","email":"tobias.buehlmann@gmx.de","login":"tbuehlmann","count":3},{"name":"Nikita Bulai","email":"bulaj.nikita@gmail.com","login":"nbulaj","count":3},{"name":"Nathan Esquenazi","email":"nesquena@gmail.com","login":"nesquena","count":3},{"name":"Matte Noble","email":"me@mattenoble.com","login":"mnoble","count":3},{"name":"Juri","email":"juri.dispan@posteo.net","login":"gutjuri","count":3},{"name":"Jun Aruga","email":"jaruga@redhat.com","login":"junaruga","count":3},{"name":"Jason Staten","email":"jstaten07@gmail.com","login":"statianzo","count":3},{"name":"Jack Chu","email":"jack@jackchu.com","login":"kamui","count":3},{"name":"Patrick Ellis","email":"patrick@soundcloud.com","login":"pje","count":3},{"name":"Rein Henrichs","email":"reinh@reinh.com","login":"reinh","count":3},{"name":"Ryunosuke SATO","email":"tricknotes.rs@gmail.com","login":"tricknotes","count":3},{"name":"Emanuele Vicentini","email":"emanuele.vicentini@gmail.com","login":"baldowl","count":3},{"name":"jc00ke","email":"jesse@jc00ke.com","login":"jc00ke","count":3},{"name":"patrick","email":"patrick.gramatowski@gmail.com","login":"patrickgramatowski","count":3},{"name":"Dyego Costa","email":"dyego@dyegocosta.com","login":"DyegoCosta","count":3},{"name":"raggi","email":"jftucker@gmail.com","login":"raggi","count":3},{"name":"wuleicanada","email":"wuleicanada@msn.com","login":"wuleicanada","count":3},{"name":"ceclinux","email":"src655@gmail.com","login":"ceclinux","count":3},{"name":"Vitor Oliveira","email":"vbrazo@gmail.com","login":"vbrazo","count":3},{"name":"Tony Miller","email":"mcfiredrill@gmail.com","login":"mcfiredrill","count":3},{"name":"Tiago","email":"cardoso_tiago@hotmail.com","login":"HoneyryderChuck","count":3},{"name":"Peter Suschlik","email":"peter-gavatar@suschlik.de","login":"splattael","count":3},{"name":"TJ Holowaychuk","email":"tj@vision-media.ca","login":"tj","count":3},{"name":"Steve Hodgkiss","email":"steve@hodgkiss.me.uk","login":"stevehodgkiss","count":3},{"name":"utenmiki","email":"utenmiki@gmail.com","login":null,"count":3},{"name":"sbonami","email":"scott@pypline.com","login":null,"count":3},{"name":"Thais Camilo and Konstantin Haase","email":"dev+narwen+rkh@rkh.im","login":null,"count":3},{"name":"Dylan Egan","email":"me@dylanegan.com","login":null,"count":3},{"name":"Robin Dupret","email":"robin.dupret@gmail.com","login":"robin850","count":2},{"name":"Sebastian Staudt","email":"koraktor@gmail.com","login":"koraktor","count":2},{"name":"Trevor Wennblom","email":"trevor@well.com","login":"trevor","count":2},{"name":"Steve Price","email":"steveprice67@gmail.com","login":"steveprice67","count":2},{"name":"Renne Nissinen","email":"rennex@iki.fi","login":"rennex","count":2},{"name":"Postmodern","email":"postmodern.mod3@gmail.com","login":"postmodern","count":2},{"name":"Pat Nakajima","email":"patnakajima@gmail.com","login":"nakajima","count":2},{"name":"Paolo \"Nusco\" Perrotta","email":"paolo.nusco.perrotta@gmail.com","login":"nusco","count":2},{"name":"Michael Coyne","email":"mikeycgto@gmail.com","login":"mjc-gh","count":2},{"name":"Micah Redding","email":"micahtredding@gmail.com","login":"micahredding","count":2},{"name":"GoGo tanaka","email":"yakuruto771@live.jp","login":"gogotanaka","count":2},{"name":"Akifumi Tominaga","email":"tominaga.switch@gmail.com","login":"decoch","count":2},{"name":"Mario Finelli","email":"mario@finel.li","login":"mfinelli","count":2},{"name":"Krekoten' Marjan","email":"krekoten@gmail.com","login":"krekoten","count":2},{"name":"Kouhei Yanagita","email":"yanagi@shakenbu.org","login":"kyanagi","count":2},{"name":"Karel Minarik","email":"karmi@karmi.cz","login":"karmi","count":2},{"name":"Jon Crosby","email":"jon@joncrosby.me","login":"jcrosby","count":2},{"name":"Johannes Würbach","email":"johannes.wuerbach@googlemail.com","login":"johanneswuerbach","count":2},{"name":"jammur","email":"murai.jamie@gmail.com","login":"jammur","count":2},{"name":"jaseg","email":"s@jaseg.de","login":"jaseg","count":2},{"name":"kematzy","email":"kematzy@gmail.com","login":"kematzy","count":2},{"name":"krororo","email":"krororo.07@gmail.com","login":"krororo","count":2},{"name":"ninoseki","email":"zgok0079@gmail.com","login":"ninoseki","count":2},{"name":"osamtimizer","email":"eaten.jb@gmail.com","login":"osamtimizer","count":2},{"name":"tamazon","email":"35480652+tamazon","login":"tamazon","count":2},{"name":"tayler1","email":"mtayler@gmx.com","login":"tayler1","count":2},{"name":"なつき","email":"i@ntk.me","login":"ntkme","count":2},{"name":"aidewoode","email":"aidewoode@gmail.com","login":"aidewoode","count":2},{"name":"Zoltan Dezso","email":"zaki@aiming-inc.com","login":"zaki","count":2},{"name":"Yosuke Kabuto","email":"bluewhale1982@gmail.com","login":"ysksn","count":2},{"name":"Uchio KONDO","email":"udzura@udzura.jp","login":"udzura","count":2},{"name":"Gabriel Horner","email":"gabriel.horner@gmail.com","login":"cldwalker","count":2},{"name":"Eliza Sorensen","email":"git@zemmiph0bia.com","login":"Zemmiph0bia","count":2},{"name":"Takashi Kokubun","email":"takashikkbn@gmail.com","login":"k0kubun","count":2},{"name":"Takanori Ishikawa","email":"takanori.ishikawa@gmail.com","login":"ishikawa","count":2},{"name":"Syed Humza Shah","email":"humzashah@gmail.com","login":"humzashah","count":2},{"name":"Sumeet Singh","email":"ortuna@gmail.com","login":"Ortuna","count":2},{"name":"Sukjoon Kim","email":"sjoonk@gmail.com","login":"sjoonk","count":2},{"name":"HASHIMOTO, Naoki","email":"hashimoto.naoki@gmail.com","login":"nico-hn","count":2},{"name":"Arpit","email":"arpitchauhan@gmail.com","login":"arpitchauhan","count":2},{"name":"Ausmarton Zarino Fernandes","email":"ausmarton@gmail.com","login":"ausmarton","count":2},{"name":"Ben Bleything","email":"ben@bleything.net","login":"bleything","count":2},{"name":"Blake Mizerany","email":"blakemizerany@38.flood.pivotallabs.com","login":null,"count":2},{"name":"Andrew Selder","email":"aselder@usertesting.com","login":null,"count":2},{"name":"Damien Mathieu","email":"damien@heroku.com","login":null,"count":2},{"name":"David Balatero","email":"dbalatero@evri.com","login":null,"count":2},{"name":"Jake Worth","email":"jworth@prevailhs.com","login":null,"count":2},{"name":"Jacob Burkhart \u0026 Josh Lane","email":"jburkhart@engineyard.com","login":null,"count":2},{"name":"Itamar Turner-Trauring","email":"itamar@datawire.io","login":null,"count":2},{"name":"Joe Bottigliero","email":"joe@bottigliero.com","login":null,"count":2},{"name":"Lee Jarvis","email":"lee@jarvis.co","login":null,"count":2},{"name":"Luciano Sousa","email":"ls@lucianosousa.net","login":null,"count":2},{"name":"Matteo Centenaro","email":"bugant@gmail.com","login":null,"count":2},{"name":"Michael Hutchinson","email":"mike@mhutchinson.com","login":null,"count":2},{"name":"Neil West","email":"n.west@modcloth.com","login":null,"count":2},{"name":"Nikita Penzin","email":"npenzin@icloud.com","login":null,"count":2},{"name":"Vasiliy Yaklushin","email":"vasiliy.yaklushin@wimdu.com","login":null,"count":2},{"name":"Zachary Scott","email":"zachary.s.scott@gmail.com","login":null,"count":2},{"name":"aibo (irc)","email":"aibo@unknown","login":null,"count":2},{"name":"Gregor Schmidt","email":"ruby@schmidtwisser.de","login":"schmidt","count":2},{"name":"Harry Vangberg","email":"harry@vangberg.name","login":"vangberg","count":2},{"name":"ITO Nobuaki","email":"daydream.trippers@gmail.com","login":"dayflower","count":2},{"name":"Ilya Shindyapin","email":"ilya@shindyapin.com","login":"license2e","count":2},{"name":"Jamie Hodge","email":"jamiehodge@me.com","login":"jamiehodge","count":2},{"name":"Jean byroot Boussier","email":"jean.boussier+github@shopify.com","login":"casperisfine","count":2},{"name":"Jeff Welling","email":"jeff.welling@gmail.com","login":"jeffWelling","count":2},{"name":"Dawid Janczak","email":"dawid.janczak@gmail.com","login":"DawidJanczak","count":2},{"name":"Cornelius Bock","email":"zweihundertdrei@gmail.com","login":"0x203","count":2},{"name":"Chris Hanks","email":"christopher.m.hanks@gmail.com","login":"chanks","count":2},{"name":"Chris Gavin","email":"chris@chrisgavin.me","login":"chrisgavin","count":2},{"name":"Brandon Dimcheff","email":"bdimchef-git@wieldim.com","login":"bdimcheff","count":2},{"name":"Bob Nadler","email":"bnadlerjr@gmail.com","login":"bnadlerjr","count":2},{"name":"Bob Aman","email":"bob@sporkmonger.com","login":"sporkmonger","count":2},{"name":"Matthew Nicholas Bradley","email":"matthew@matthewbradley.me","login":"teevulcan","count":2},{"name":"Tobias H. Michaelsen","email":"tobias.michaelsen@gmail.com","login":"tobiashm","count":2},{"name":"7rans","email":"transfire@gmail.com","login":"trans","count":2},{"name":"Anders Bälter","email":"anders@84codes.com","login":"baelter","count":2},{"name":"Andrew Konchin","email":"andry.konchin@gmail.com","login":"andrykonchin","count":2},{"name":"Anthony Accomazzo","email":"accomazz@gmail.com","login":"acco","count":2},{"name":"kenichi nakamura","email":"ken@stepchangegroup.com","login":null,"count":2},{"name":"QYuan","email":"wcwz020140@163.com","login":"Ice-Storm","count":2},{"name":"Orange Tsai","email":"orange@chroot.org","login":"orangetw","count":2},{"name":"Jon Rowe","email":"hello@jonrowe.co.uk","login":"JonRowe","count":2},{"name":"Eric Marden","email":"eric.marden@gmail.com","login":"xentek","count":2},{"name":"cylence","email":"rcross@cylenceweb.com","login":null,"count":1},{"name":"ichverstehe","email":"ichverstehe@gmail.com","login":null,"count":1},{"name":"noxqsgit","email":"felixstegerman@noxqslabs.nl","login":null,"count":1},{"name":"Roman Kuznietsov","email":"roman.kuznietsov@gmail.com","login":null,"count":1},{"name":"t_huehn@gmx.de","email":"t_huehn@gmx.de","login":null,"count":1},{"name":"will","email":"will@agideo.com","login":null,"count":1},{"name":"Will Bailey","email":"will.bailey@gmail.com","login":"willbailey","count":1},{"name":"Widi Harsojo","email":"wharsojo@gmail.com","login":"wharsojo","count":1},{"name":"Washington Luiz","email":"huoxito@gmail.com","login":"huoxito","count":1},{"name":"Vít Ondruch","email":"vondruch@redhat.com","login":"voxik","count":1},{"name":"Vladimir Kochnev","email":"hashtable@yandex.ru","login":"marshall-lee","count":1},{"name":"Viliam Pucik","email":"viliam.pucik@gmail.com","login":"viliampucik","count":1},{"name":"Victor Hugo Borja","email":"vic.borja@gmail.com","login":"vic","count":1},{"name":"Ulysse Buonomo","email":"buonomo.ulysse@gmail.com","login":"BuonOmo","count":1},{"name":"Trevor Dawe","email":"trevor.dawe@gmail.com","login":"tdawe","count":1},{"name":"Tom Hartwell","email":"tom.hartwell@gmail.com","login":"watchdogtimer","count":1},{"name":"Tim Preston","email":"tim@tp.id.au","login":"tehpeh","count":1},{"name":"Tim Carey-Smith","email":"tim@spork.in","login":"halorgium","count":1},{"name":"Melvin Lammerts","email":"melvin@12k.nl","login":null,"count":1},{"name":"Michael Klishin","email":"michael@defprotocol.org","login":null,"count":1},{"name":"Michi Huber","email":"michi.huber@gmail.com","login":null,"count":1},{"name":"Michishige Kaito","email":"me@mkaito.com","login":null,"count":1},{"name":"Mig","email":"mig@campbellhay.com","login":null,"count":1},{"name":"Nate Dalo","email":"ndalo@merchantsbonding.com","login":null,"count":1},{"name":"Niall Smart","email":"niall@pobox.com","login":null,"count":1},{"name":"Patrick Collison","email":"patrick@duo.local","login":null,"count":1},{"name":"Paul Walker","email":"github@pauwalker.tv","login":null,"count":1},{"name":"Pedro Menezes","email":"pedrojudo@gmail.com","login":null,"count":1},{"name":"Reed Lipman","email":"rmlipman@gmail.com","login":null,"count":1},{"name":"Reenan Arbitrario","email":"reenan.arbitrario@hulu.com","login":null,"count":1},{"name":"Samuel Goebert","email":"hello@bigcurl.de","login":null,"count":1},{"name":"Shim Tw","email":"twshim@gameon.co.jp","login":null,"count":1},{"name":"Taylor Shuler","email":"TaylorShuler@aol.com","login":null,"count":1},{"name":"Tobias Bühlmann","email":"t.buehlmann@thisisdmg.com","login":null,"count":1},{"name":"Wlodek Bzyl","email":"matwb@univ.gda.pl","login":null,"count":1},{"name":"a_user@mac.com","email":"a_user@mac.com@95fbf360-2702-46e8-84d8-6de9ca90a270","login":null,"count":1},{"name":"brookemckim","email":"brooke@digitalocean.com","login":null,"count":1},{"name":"Samuel Giddins","email":"segiddins@segiddins.me","login":"segiddins","count":1},{"name":"Sam Roberts","email":"vieuxtech@gmail.com","login":"sam-github","count":1},{"name":"Salimane Adjao Moustapha","email":"me@salimane.com","login":"salimane","count":1},{"name":"SAKAI, Kazuaki","email":"kaz.july.7@gmail.com","login":"send","count":1},{"name":"Rémy Coutable","email":"remy.coutable@gmail.com","login":"rymai","count":1},{"name":"Rémi Prévost","email":"remi@exomel.com","login":"remi","count":1},{"name":"Ryo Nakamura","email":"r7kamura@gmail.com","login":"r7kamura","count":1},{"name":"Ruben Vicario Gonzalez","email":"ruben1","login":"ruben1","count":1},{"name":"Ross Boucher","email":"rboucher@gmail.com","login":"boucher","count":1},{"name":"Ross A. Baker","email":"baker@alumni.indiana.edu","login":"rossabaker","count":1},{"name":"Ronnie Mose","email":"rm@travelaccommodation.eu","login":"megamoose","count":1},{"name":"Sebastian Borrazas","email":"seba.borrazas@gmail.com","login":"sborrazas","count":1},{"name":"Rogério Zambon","email":"rogeriozambon@gmail.com","login":"rogeriozambon","count":1},{"name":"Richard Livsey","email":"richard@livsey.org","login":"rlivsey","count":1},{"name":"Renaud Martinet","email":"karouf@gmail.com","login":"karouf","count":1},{"name":"Raphael Nestler","email":"raphael.nestler@gmail.com","login":"rnestler","count":1},{"name":"Raman Skaskevich","email":"lusersks@gmail.com","login":"romasks","count":1},{"name":"Rachel Mehl","email":"rachel@modcloth.com","login":"modrachel","count":1},{"name":"Piotr Szotkowski","email":"chastell@chastell.net","login":"chastell","count":1},{"name":"Thibaut Sacreste","email":"thibaut.sacreste@gmail.com","login":"thibautsacreste","count":1},{"name":"Tejas Bubane","email":"tejasbubane@gmail.com","login":"tejasbubane","count":1},{"name":"Takeshi Yashiro","email":"takeshi.yashiro@iniad.org","login":"takeshi-yashiro","count":1},{"name":"TOBY","email":"toby.net.info.mail+git@gmail.com","login":"tobynet","count":1},{"name":"Steve Shreeve","email":"steve.shreeve@gmail.com","login":"shreeve","count":1},{"name":"Steve Agalloco","email":"steve.agalloco@gmail.com","login":"stve","count":1},{"name":"Stephen Paul Weber","email":"singpolyma@singpolyma.net","login":"singpolyma","count":1},{"name":"Stanislav Savulchik","email":"s.savulchik@gmail.com","login":"savulchik","count":1},{"name":"Stan Hu","email":"stanhu@gmail.com","login":"stanhu","count":1},{"name":"Slevin","email":"gassyfeve@hotmail.com","login":"gassyfeve","count":1},{"name":"Simone Carletti","email":"weppos@weppos.net","login":"weppos","count":1},{"name":"Sergio Gil","email":"sgilperez@gmail.com","login":"porras","count":1},{"name":"Selman ULUG","email":"selman.ulug@gmail.com","login":"selman","count":1},{"name":"Seiichi Yonezawa","email":"nzwsch","login":"nzwsch","count":1},{"name":"Caio Chassot","email":"dev@caiochassot.com","login":"kch","count":1},{"name":"Scott Wisely","email":"syd@scrimfind.org","login":"Syd","count":1},{"name":"Scott Holden","email":"sholde4@gmail.com","login":"sholden","count":1},{"name":"Santiago Rodriguez","email":"46354312+santiagorodriguez96","login":"santiagorodriguez96","count":1},{"name":"Samy Dindane","email":"samy@dindane.com","login":"Dinduks","count":1},{"name":"otthe","email":"103844486+otthe","login":"otthe","count":1},{"name":"ooooooo_q","email":"ooooooo-q","login":"ooooooo-q","count":1},{"name":"nseo","email":"sonots@gmail.com","login":"sonots","count":1},{"name":"mono","email":"mono@mono0x.net","login":"mono0x","count":1},{"name":"mig","email":"mig@mypeplum.com","login":"mig-hub","count":1},{"name":"loveky","email":"ylzcylx@gmail.com","login":"loveky","count":1},{"name":"krissi","email":"c.haase+github@ifu.com","login":"krissi","count":1},{"name":"ken","email":"block24block@gmail.com","login":"turnon","count":1},{"name":"kektre","email":"kektre@gmail.com","login":"kektre","count":1},{"name":"shuichi togawa","email":"shuichi.shp.code@gmail.com","login":"shu-i-chi","count":1},{"name":"hakeda","email":"ix5vq0@gmail.com","login":"hakeda","count":1},{"name":"gecunps","email":"geraldineelaine.cu@nelnet.net","login":"gecunps","count":1},{"name":"dtaniwaki","email":"daisuketaniwaki@gmail.com","login":"dtaniwaki","count":1},{"name":"detomastah","email":"lpelszyn@o2.pl","login":"detomastah","count":1},{"name":"codeworm96","email":"codeworm96@outlook.com","login":"codeworm96","count":1},{"name":"brian m. carlson","email":"sandals@crustytoothpaste.net","login":"bk2204","count":1},{"name":"aldentea","email":"aldentea-dev@telepathy.aldentea.0g0.jp","login":"aldentea","count":1},{"name":"akicho8","email":"akicho8@gmail.com","login":"akicho8","count":1},{"name":"Zeeshan Ishtiaq","email":"4838801+mzishtiaq","login":"mzishtiaq","count":1},{"name":"Yusuke Endoh","email":"mame@ruby-lang.org","login":"mame","count":1},{"name":"kami30k","email":"kami30k@gmail.com","login":"zenizh","count":1},{"name":"神奇辉","email":"shenqihui0920@gmail.com","login":"shenqihui","count":1},{"name":"z2s8","email":"szanto.zsombor@gmail.com","login":"z2s8","count":1},{"name":"yuuji.yaginuma","email":"yuuji.yaginuma@gmail.com","login":"y-yagi","count":1},{"name":"yuki3738","email":"y.minamiya@gmail.com","login":"yuki3738","count":1},{"name":"yui-knk","email":"spiketeika@gmail.com","login":"yui-knk","count":1},{"name":"ymmtmsys","email":"m2yamamoto@gmail.com","login":"msysyamamoto","count":1},{"name":"yafei lee","email":"lyfi2003@gmail.com","login":"windy","count":1},{"name":"yaanno","email":"janos.hardi@gmail.com","login":"yaanno","count":1},{"name":"wilkie","email":"wilkie05@gmail.com","login":"wilkie","count":1},{"name":"vaudoc@gmail.com","email":"vaudoc@gmail.com","login":"vaudoc","count":1},{"name":"undr","email":"undr@yandex.ru","login":"undr","count":1},{"name":"takuya（rock0x36）","email":"yata.s15ste@gmail.com","login":"tartam","count":1},{"name":"snaggled","email":"philip@packetnode.com","login":"snaggled","count":1},{"name":"scottj97","email":"scottj75074@yahoo.com","login":"scottj97","count":1},{"name":"richo","email":"richo@psych0tik.net","login":"richo","count":1},{"name":"rbq","email":"rbq@gmx.de","login":"rbq","count":1},{"name":"pete","email":"pete@peterhiggins.org","login":"phiggins","count":1},{"name":"pavel","email":"pavel.rosicky@easy.cz","login":"ahorek","count":1},{"name":"Devlin Daley","email":"devlin@instructure.com","login":null,"count":1},{"name":"Dominic Imhof","email":"imhofdominic@gmail.com","login":null,"count":1},{"name":"Guillaume Bouteille","email":"duffman@via.ecp.fr","login":null,"count":1},{"name":"Gray Manley","email":"g.manley@tukaiz.com","login":null,"count":1},{"name":"Greg Denton","email":"greg_denton@htc.com","login":null,"count":1},{"name":"Yoji Shidara","email":"unknown","login":null,"count":1},{"name":"Homer Simpson","email":"homer@icarus.(none)","login":null,"count":1},{"name":"James Tucker","email":"raggi@google.com","login":null,"count":1},{"name":"Jason Stewart","email":"jstewart@fusionary.com","login":null,"count":1},{"name":"John Hope","email":"info@midhirrecords.com","login":null,"count":1},{"name":"Josef Stribny","email":"jstribny@redhat.com","login":null,"count":1},{"name":"Koki Ide","email":"niconegoto@yahoo.co.jp","login":null,"count":1},{"name":"Matias Käkelä","email":"massive@Lemongrass.garden","login":null,"count":1},{"name":"Lucas D'Avila","email":"lucas@lucasdavi.la","login":null,"count":1},{"name":"Maciej Moleda","email":"maciejmoleda@reevoo.com","login":null,"count":1},{"name":"Mathew Cucuzella","email":"kookjr","login":null,"count":1},{"name":"Matt Lyon","email":"matt@flowerpowered.com","login":null,"count":1},{"name":"Matthew Conway","email":"himself@mattonrails.com","login":null,"count":1},{"name":"Matthew Sullivan","email":"tutuMatilda@me.com","login":null,"count":1},{"name":"Pierre-Adrien Buisson","email":"pierre-adrien.buisson@doctolib.com","login":"pabuisson","count":1},{"name":"pangel","email":"pangel.neu@gmail.com","login":"adhusson","count":1},{"name":"Leslie Zhang","email":"zxs1989@mail.ustc.edu.cn","login":"fighterleslie","count":1},{"name":"Yanis Zafirópulos","email":"1265028+drkameleon","login":"drkameleon","count":1},{"name":"Aleksander Dąbrowski","email":"aleksander.dabrowski@connectmedica.com","login":null,"count":1},{"name":"Aish","email":"aisha.fenton@visfleet.com","login":null,"count":1},{"name":"Adrian Pacała","email":"altpacala@gmail.com","login":null,"count":1},{"name":"7stud","email":"7stud@excite.com","login":null,"count":1},{"name":"Alexander Klink","email":"git@alech.de","login":null,"count":1},{"name":"Alexey Chernenkov","email":"laise@pisem.net","login":null,"count":1},{"name":"Andreas Haller","email":"andreashaller@gmail.com","login":null,"count":1},{"name":"Andrew Crump","email":"andrew.crump@ieee.org","login":null,"count":1},{"name":"Aupajo","email":"pete@metanation.com","login":null,"count":1},{"name":"Bernhard Essl","email":"bee@daigoro.net","login":null,"count":1},{"name":"Blake Mizerany","email":"blakemizerany@106.1.248.10.in-addr.arpa","login":null,"count":1},{"name":"Blake Mizerany","email":"blakemizerany@blake.local","login":null,"count":1},{"name":"Blake Watters","email":"bwatters@tripadvisor.com","login":null,"count":1},{"name":"Danny Tatom","email":"dannytatom@gmail.com","login":null,"count":1},{"name":"Dario Cravero","email":"dario@uxtemple.com","login":null,"count":1},{"name":"Darío Javier Cravero","email":"dario@qinnova.com.ar","login":null,"count":1},{"name":"Dawa Ometto","email":"dawa.ometto@phil.uu.nl","login":null,"count":1},{"name":"Dopin","email":"dopinninja@gmail.com","login":"dopin","count":1},{"name":"David Waite","email":"david@alkaline-solutions.com","login":"dwaite","count":1},{"name":"David Asabina","email":"david@supr.nu","login":"vidbina","count":1},{"name":"Darío Hereñú","email":"magallania@gmail.com","login":"kant","count":1},{"name":"Dan Rice","email":"dan.rice.92@outlook.com","login":"danrice92","count":1},{"name":"Dan Higgins","email":"13562502+lilole","login":"lilole","count":1},{"name":"Craig Little","email":"craiglttl@gmail.com","login":"craiglittle","count":1},{"name":"Craig Ingram","email":"cji@stripe.com","login":"cji-stripe","count":1},{"name":"Corey Ward","email":"coreyward@me.com","login":"coreyward","count":1},{"name":"Christoph Wagner","email":"wagner@webit.de","login":"aiomaster","count":1},{"name":"Chris Wanstrath","email":"chris@ozmm.org","login":"defunkt","count":1},{"name":"Chris Mytton","email":"self@hecticjeff.net","login":"chrismytton","count":1},{"name":"Chris Heald","email":"cheald@gmail.com","login":"cheald","count":1},{"name":"Alex","email":"aleksandrosansan@gmail.com","login":"sashashura","count":1},{"name":"Alessandro Dal Grande","email":"aledalgrande@gmail.com","login":"aledalgrande","count":1},{"name":"Albert Engelbrecht","email":"dropped.on.japan@gmail.com","login":"Albert-IV","count":1},{"name":"Alan deLevie","email":"adelevie@gmail.com","login":"adelevie","count":1},{"name":"Alan Harris","email":"ah.anachronistic@gmail.com","login":"anachronistic","count":1},{"name":"Akzhan Abdulin","email":"akzhan.abdulin@gmail.com","login":"akzhan","count":1},{"name":"Franco","email":"fbrusatti","login":"fbrusatti","count":1},{"name":"Francis Go","email":"francis.go@gmail.com","login":"fgo","count":1},{"name":"Fojas","email":"developer@fojasaur.us","login":"fojas","count":1},{"name":"Florian Gilcher","email":"florian.gilcher@asquera.de","login":"skade","count":1},{"name":"Filipe Dobreira","email":"dobreira@gmail.com","login":"filp","count":1},{"name":"Ferenc-","email":"Ferenc-","login":"Ferenc-","count":1},{"name":"Felix Yan","email":"felixonmars@archlinux.org","login":"felixonmars","count":1},{"name":"Faheel Ahmad","email":"faheel@live.in","login":"faheel","count":1},{"name":"F. Zhang","email":"nihilism.z@gmail.com","login":"Prajna","count":1},{"name":"Espartaco Palma","email":"git@esparta.co","login":"esparta","count":1},{"name":"Erik Johnson","email":"erik@erikj.me","login":"erikj","count":1},{"name":"Erick Zetta","email":"erick.zetta@gmail.com","login":"eckz","count":1},{"name":"Eric Hodel","email":"drbrain@segment7.net","login":"drbrain","count":1},{"name":"Emerson Manabu Araki","email":"emerson.araki@codeminer42.com","login":"EmersonAraki","count":1},{"name":"Eliot Shepard","email":"eshepard@slower.net","login":"slowernet","count":1},{"name":"Egor Homakov","email":"homakov@gmail.com","login":"homakov","count":1},{"name":"Eduardo","email":"jeduardo824@gmail.com","login":"jeduardo824","count":1},{"name":"Ed Robinson","email":"ed.robinson@reevoo.com","login":"errm","count":1},{"name":"Doug Richardson","email":"dougie.richardson@gmail.com","login":"drichardson","count":1},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","count":1},{"name":"Armen P.","email":"blazesolo@gmail.com","login":"edg3r","count":1},{"name":"Anusree","email":"anusreeprakash95@gmail.com","login":"anusreePrakash","count":1},{"name":"Antonio Terceiro","email":"terceiro@debian.org","login":"terceiro","count":1},{"name":"Anthony Williams","email":"hi@antw.me","login":"antw","count":1},{"name":"Andy Brody","email":"andy@stripe.com","login":"ab","count":1},{"name":"Andrey Savchenko","email":"andrey@aejis.eu","login":"Ptico","count":1},{"name":"Andrey Samsonov","email":"andrey.samsonov@gmail.com","login":"kryzhovnik","count":1},{"name":"Andrey Koleshko","email":"ka8725@gmail.com","login":"ka8725","count":1},{"name":"Andrey Deryabin","email":"deriabin@gmail.com","login":"aderyabin","count":1},{"name":"Ben Darlow","email":"github@kapowaz.net","login":"kapowaz","count":1},{"name":"Ben Lewis","email":"bennlewis@gmail.com","login":"fluxusfrequency","count":1},{"name":"Ben Pickles","email":"spideryoung@gmail.com","login":"benpickles","count":1},{"name":"Bjørge Næss","email":"bjoerge@bengler.no","login":"bjoerge","count":1},{"name":"Bo Jeanes","email":"me@bjeanes.com","login":"bjeanes","count":1},{"name":"Bohuslav Kabrda","email":"bkabrda@redhat.com","login":"bkabrda","count":1},{"name":"Brandon Fish","email":"brandon.j.fish@oracle.com","login":"bjfish","count":1},{"name":"Brian Olpin","email":"bolpin@gmail.com","login":"bolpin","count":1},{"name":"Brian Shirai","email":"brian@rubinius.com","login":"brixen","count":1},{"name":"Carl Wiedemann","email":"carl.wiedemann@gmail.com","login":"carlwiedemann","count":1},{"name":"Adam Vaughan","email":"adamjvaughan@gmail.com","login":"adamvaughan","count":1},{"name":"Abdelkader Boudih","email":"terminale@gmail.com","login":"seuros","count":1},{"name":"AQNOUCH Mohammed","email":"aqnouch.mohammed@gmail.com","login":"maqnouch","count":1},{"name":"284km","email":"k.furuhashi10@gmail.com","login":"284km","count":1},{"name":"Alex MacCaw","email":"maccman@gmail.com","login":"maccman","count":1},{"name":"Alexander Artemenko","email":"svetlyak.40wt@gmail.com","login":"svetlyak40wt","count":1},{"name":"Aman Gupta","email":"aman@tmm1.net","login":"tmm1","count":1},{"name":"Amaury","email":"amaurymedeiros@gmail.com","login":"amaurymedeiros","count":1},{"name":"Andreas Finger","email":"webmaster@mediafinger.com","login":"mediafinger","count":1},{"name":"Andreas Karlsson","email":"andreas@proxel.se","login":"jeltz","count":1},{"name":"Andrew Allen","email":"allenan@helium.com","login":"allenan","count":1},{"name":"Andrew Armenia","email":"andrew@asquaredlabs.com","login":"asquared","count":1},{"name":"Andrew Deitrick","email":"ajdeitrick@gmail.com","login":"deitrick","count":1},{"name":"Andrew Hampton","email":"andrewwh@gmail.com","login":"andrewhampton","count":1},{"name":"Ben A. Morgan","email":"ben@benmorgan.io","login":"BenMorganIO","count":1},{"name":"Basavanagowda Kanur","email":"basavanagowda@gmail.com","login":"gowda","count":1},{"name":"Aviv Ben-Yosef","email":"aviv.by@gmail.com","login":"abyx","count":1},{"name":"Attila Oláh","email":"attilaolah@gmail.com","login":"attilaolah","count":1},{"name":"Artem Chistyakov","email":"chistyakov.artem@gmail.com","login":"temochka","count":1},{"name":"Erik Kastner","email":"kastner@gmail.com","login":"kastner","count":1},{"name":"Mathieu Allaire","email":"mathieuallaire@gmail.com","login":"allaire","count":1},{"name":"Mat Schaffer","email":"mat@schaffer.me","login":"matschaffer","count":1},{"name":"Masataka Pocke Kuwabara","email":"kuwabara@pocke.me","login":"pocke","count":1},{"name":"Martin Mauch","email":"martin.mauch@gmail.com","login":"nightscape","count":1},{"name":"Martin Frost","email":"blame@kth.se","login":"Frost","count":1},{"name":"Mark Rada","email":"mrada@marketcircle.com","login":"ferrous26","count":1},{"name":"Mark Bates","email":"mark@markbates.com","login":"markbates","count":1},{"name":"Marcus Stollsteimer","email":"sto.mar@web.de","login":"stomar","count":1},{"name":"Marcos Toledo","email":"mtoledo@gmail.com","login":"dui","count":1},{"name":"Marc Rene Arns","email":"arns@stridor.net","login":"metakeule","count":1},{"name":"Mael Clerambault","email":"mael@clerambault.fr","login":"hanklords","count":1},{"name":"MSP-Greg","email":"MSP-Greg","login":"MSP-Greg","count":1},{"name":"Luke Jahnke","email":"luke.jahnke@gmail.com","login":"lukejahnke","count":1},{"name":"Lee Reilly","email":"lee@leereilly.net","login":"leereilly","count":1},{"name":"Lars Vonk","email":"lars.vonk@gmail.com","login":"lvonk","count":1},{"name":"Kyle Lacy","email":"kylewlacy@me.com","login":"kylewlacy","count":1},{"name":"Kush Fanikiso","email":"makushline@gmail.com","login":"makushline","count":1},{"name":"Konstantin Shabanov","email":"etehtsea@gmail.com","login":"etehtsea","count":1},{"name":"Philippe Durix","email":"philippe.durix@me.com","login":"HollowerMan","count":1},{"name":"Peter Powell","email":"petpow@saberuk.com","login":"SadieCat","count":1},{"name":"Peter Marsh","email":"pete.d.marsh@gmail.com","login":"petedmarsh","count":1},{"name":"Park June Chul","email":"pjc0247@naver.com","login":"pjc0247","count":1},{"name":"Olivier Lacan","email":"hi@olivierlacan.com","login":"olivierlacan","count":1},{"name":"Olivier Bellone","email":"ob@stripe.com","login":"ob-stripe","count":1},{"name":"Nikica Jokić","email":"neektza@gmail.com","login":"neektza","count":1},{"name":"Nick Sieger","email":"nick@nicksieger.com","login":"nicksieger","count":1},{"name":"Nic Benders","email":"nic@newrelic.com","login":"benders","count":1},{"name":"Nathan Baum","email":"n@p12a.org.uk","login":"nbaum","count":1},{"name":"Muhammad Ibtisam Hussain","email":"ranaibtisam1@gmail.com","login":"MuhammadIbtisam","count":1},{"name":"Mike Gehard","email":"mike.gehard@gmail.com","login":"mikegehard","count":1},{"name":"Michael Klishin","email":"michaelklishin@me.com","login":"michaelklishin","count":1},{"name":"Michael Jones","email":"michael.daniel.jones@gmail.com","login":"mikejones","count":1},{"name":"Michael Jackson","email":"mjijackson@gmail.com","login":"mjackson","count":1},{"name":"Michael Harris","email":"mharris@figma.com","login":"mharris-figma","count":1},{"name":"Meck","email":"yesmeck@gmail.com","login":"yesmeck","count":1},{"name":"Matthew Schinckel","email":"matt@schinckel.net","login":"schinckel","count":1},{"name":"Matt Austin","email":"matt@mattaust.in","login":"maafy6","count":1},{"name":"Koichi Sasada","email":"ko1@atdot.net","login":"ko1","count":1},{"name":"Jimmy Schementi","email":"jschementi@gmail.com","login":"jschementi","count":1},{"name":"Jevin Sew","email":"jevin9@gmail.com","login":"jevin","count":1},{"name":"Jens Ulferts","email":"j.ulferts@finn.de","login":"ulferts","count":1},{"name":"Jens Alfke","email":"jens@mooseyard.com","login":"snej","count":1},{"name":"Jean-Philippe Garcia Ballester","email":"giga@le-pec.org","login":"jip149","count":1},{"name":"James Healy","email":"james@yob.id.au","login":"yob","count":1},{"name":"Jake Craige","email":"jakecraige","login":"jakecraige","count":1},{"name":"Jack Danger Canty","email":"git@6brand.com","login":"JackDanger","count":1},{"name":"JP Hastings-Spital","email":"jphastings@gmail.com","login":"jphastings","count":1},{"name":"Igor Bochkariov","email":"ujifgc@gmail.com","login":"ujifgc","count":1},{"name":"Igal Koshevoy","email":"igal@pragmaticraft.com","login":"igal","count":1},{"name":"Ian Dees","email":"undees@gmail.com","login":"undees","count":1},{"name":"Iain Beeston","email":"iainbeeston","login":"iainbeeston","count":1},{"name":"Hunter Stevens","email":"onebree@gmail.com","login":"onebree","count":1},{"name":"Hemershon Silva","email":"hemershon@gmail.com","login":"hemershon","count":1},{"name":"Guilherme Goettems Schneider","email":"guigs81@gmail.com","login":"guigs","count":1},{"name":"GordonDiggs","email":"gordon@gordondiggs.com","login":"gdiggs","count":1},{"name":"Gonzalo Goral","email":"goral.gonzalo@gmail.com","login":"ggoral","count":1},{"name":"Fredrik Rubensson","email":"fredrik@eldfluga.se","login":"froderik","count":1},{"name":"Koichi ITO","email":"koic.ito@gmail.com","login":"koic","count":1},{"name":"Kian-Meng Ang","email":"kianmeng.ang@gmail.com","login":"kianmeng","count":1},{"name":"Kenny Meyer","email":"kenny@kennymeyer.net","login":"kennym","count":1},{"name":"Justin Collins","email":"presidentbeef","login":"presidentbeef","count":1},{"name":"Julio Capote","email":"jcapote@gmail.com","login":"capotej","count":1},{"name":"Julik Tarkhanov","email":"me@julik.nl","login":"julik","count":1},{"name":"Julie Ng","email":"uxjulie@gmail.com","login":"julie-ng","count":1},{"name":"José Valim","email":"jose.valim@gmail.com","login":"josevalim","count":1},{"name":"José Santos Martins Pereira","email":"jsmpereira@gmail.com","login":"jsmpereira","count":1},{"name":"Joshua Peek","email":"josh@joshpeek.com","login":"josh","count":1},{"name":"Joshua O'Brien","email":"jjobrien12@gmail.com","login":"joshuaobrien","count":1},{"name":"Josh Soref","email":"jsoref","login":"jsoref","count":1},{"name":"Josh Kalderimis","email":"josh.kalderimis@gmail.com","login":"joshk","count":1},{"name":"Josef Šimánek","email":"josef.simanek@gmail.com","login":"simi","count":1},{"name":"Jordan Moncharmont","email":"jormon@gmail.com","login":"jormon","count":1},{"name":"Jonathan del Strother","email":"me@delstrother.com","login":"jdelStrother","count":1},{"name":"John Wolfe","email":"pmigneous@gmail.com","login":"Igneous","count":1},{"name":"John Voloski","email":"johnvoloski@cwi.com.br","login":"johnvoloski","count":1},{"name":"John Barnette","email":"jbarnette@gmail.com","login":"jbarnette","count":1},{"name":"Carlos Lazo","email":"carlos.jose.lazo@gmail.com","login":"carlosplusplus","count":1}],"past_year_committers":[{"name":"Patrik Ragnarsson","email":"patrik@starkast.net","login":"dentarg","count":15},{"name":"Samuel Williams","email":"samuel.williams@oriontransfer.co.nz","login":"ioquatix","count":2},{"name":"zzak","email":"zzak@hey.com","login":"zzak","count":1},{"name":"gecunps","email":"geraldineelaine.cu@nelnet.net","login":"gecunps","count":1},{"name":"Vít Ondruch","email":"vondruch@redhat.com","login":"voxik","count":1},{"name":"Muhammad Ibtisam Hussain","email":"ranaibtisam1@gmail.com","login":"MuhammadIbtisam","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-30T00:00:07.427Z","repositories_count":6223834,"commits_count":900050450,"contributors_count":34902052,"owners_count":1147610,"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":"sinatra/sinatra","html_url":"https://github.com/sinatra/sinatra","last_synced_at":"2026-04-15T22:11:36.714Z","status":"active","issues_count":140,"pull_requests_count":235,"avg_time_to_close_issue":33254372.151515152,"avg_time_to_close_pull_request":1897581.923857868,"issues_closed_count":99,"pull_requests_closed_count":197,"pull_request_authors_count":50,"issue_authors_count":87,"avg_comments_per_issue":4.185714285714286,"avg_comments_per_pull_request":1.5659574468085107,"merged_pull_requests_count":162,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":47,"past_year_avg_time_to_close_issue":1075180.5555555555,"past_year_avg_time_to_close_pull_request":2375937.7,"past_year_issues_closed_count":9,"past_year_pull_requests_closed_count":20,"past_year_pull_request_authors_count":12,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":2.619047619047619,"past_year_avg_comments_per_pull_request":0.6808510638297872,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":15,"created_at":"2023-05-12T15:39:57.741Z","updated_at":"2026-04-15T22:11:36.714Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinatra%2Fsinatra/issues","issue_labels_count":{"question":20,"bug":18,"feature":14,"ci / testing":13,"maintenance":13,"help wanted":12,"dependencies":6,"rack-protection":5,"waiting for feedback":5,"sinatra-contrib":4,"has attached pr":3,"docs":2,"streaming":2,"good first issue":1,"third party issue":1,"duplicate":1,"invalid":1,"vulnerability":1},"pull_request_labels_count":{"bug":3,"ci / testing":2,"feature":2,"maintenance":2,"rack-protection":1},"issue_author_associations_count":{"NONE":82,"MEMBER":44,"CONTRIBUTOR":14},"pull_request_author_associations_count":{"MEMBER":115,"CONTRIBUTOR":68,"NONE":52},"issue_authors":{"dentarg":42,"rubyFeedback":4,"Mijznr40":3,"zzak":3,"01001056317-stack":3,"voxik":2,"ghiculescu":2,"ioquatix":2,"WKBEEHKLNA":1,"shreeve":1,"aurcioli-handy":1,"celsoMartins":1,"jeremiahrose":1,"todd-a-jacobs":1,"JoeeGrigg":1,"emlinhax":1,"kingjay66":1,"ys":1,"AshwiniSeetharam-Oracle":1,"imnani":1,"jedrekdomanski":1,"davetron5000":1,"ta":1,"metrix78":1,"arbesulo":1,"blakewatters":1,"jaequery":1,"ddanurwenda":1,"whitehorsesoft":1,"gerrywastaken":1,"patriciomacadden":1,"ukolovda":1,"jeremyevans":1,"mscrivo":1,"AndrewBelt":1,"aedenj":1,"lynnfaraday":1,"lvonk":1,"mtasaka":1,"julik":1,"ahawkins":1,"avlazarov":1,"graial":1,"thesecretmaster":1,"michaeleisel":1,"robtarr":1,"matobinder":1,"fullstackplus":1,"baelter":1,"pJeyakumar":1,"Sanel0101":1,"gecunps":1,"kyleqian":1,"MatzFan":1,"Integralist":1,"nelsnelson":1,"erez-rabih":1,"osbre":1,"emezac":1,"andreynering":1,"freesteph":1,"moliva":1,"costa":1,"faragorn":1,"namusyaka":1,"3UR":1,"machine424":1,"dshorthouse":1,"md-work":1,"takahashi64":1,"mwpastore":1,"tobymurray-nanometrics":1,"b-dean":1,"michaelklishin":1,"theo0k":1,"TheStalwart":1,"marcelobfonseca":1,"srinjoyray":1,"yaauie":1,"riteshapatel":1,"JonJagger":1,"hbf":1,"rkh":1,"Cervenka":1,"jessebs":1,"RootUp":1,"Eisenbahnfan2015":1},"pull_request_authors":{"dentarg":102,"zzak":23,"davetron5000":16,"ioquatix":9,"jkowens":7,"emezac":5,"epergo":5,"casperisfine":4,"Laurry-gee":4,"wwenrr":4,"DawidJanczak":3,"mscrivo":2,"malikparvez":2,"ntkme":2,"carlwiedemann":2,"JonMidhir":2,"rnestler":2,"gecunps":2,"kianmeng":2,"adrians":2,"fbrusatti":2,"stanhu":2,"Mohammed-Alanazisa":2,"andrykonchin":2,"otthe":2,"jevin":1,"bnadlerjr":1,"benpickles":1,"Xela274444":1,"tamazon":1,"jdelStrother":1,"p8":1,"stefansundin":1,"jacarui":1,"lukateras":1,"santiagorodriguez96":1,"jsmpereira":1,"voxik":1,"MuhammadIbtisam":1,"terceiro":1,"ildarkayumov":1,"Dickbick26":1,"walro":1,"jeremyevans":1,"namusyaka":1,"t0rchwo0d":1,"markbates":1,"MSP-Greg":1,"mzishtiaq":1,"s3fxn":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:09.649Z","repositories_count":14293927,"issues_count":34560357,"pull_requests_count":113097569,"authors_count":11236650,"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":{"bug":2,"ci / testing":1,"duplicate":1,"feature":1,"help wanted":1,"invalid":1,"question":1,"rack-protection":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":15,"CONTRIBUTOR":3,"MEMBER":3},"past_year_pull_request_author_associations_count":{"NONE":24,"MEMBER":17,"CONTRIBUTOR":6},"past_year_issue_authors":{"01001056317-stack":3,"dentarg":3,"rubyFeedback":3,"davetron5000":1,"Eisenbahnfan2015":1,"freesteph":1,"gecunps":1,"graial":1,"ioquatix":1,"julik":1,"lynnfaraday":1,"mtasaka":1,"Sanel0101":1,"srinjoyray":1,"voxik":1},"past_year_pull_request_authors":{"davetron5000":15,"zzak":10,"dentarg":7,"wwenrr":4,"adrians":2,"gecunps":2,"JonMidhir":2,"ioquatix":1,"jacarui":1,"MuhammadIbtisam":1,"p8":1,"voxik":1},"maintainers":[{"login":"dentarg","count":116,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":26,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"},{"login":"jkowens","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jkowens"},{"login":"epergo","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/epergo"},{"login":"namusyaka","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/namusyaka"},{"login":"rkh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rkh"},{"login":"mwpastore","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwpastore"},{"login":"patriciomacadden","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/patriciomacadden"}],"active_maintainers":[{"login":"dentarg","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dentarg"},{"login":"zzak","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/zzak"}]},"events":{"total":{"DeleteEvent":2,"PullRequestEvent":76,"ForkEvent":40,"IssuesEvent":53,"WatchEvent":289,"IssueCommentEvent":140,"PushEvent":29,"PullRequestReviewEvent":57,"PullRequestReviewCommentEvent":46,"CreateEvent":6},"last_year":{"DeleteEvent":2,"PullRequestEvent":27,"ForkEvent":17,"IssuesEvent":22,"WatchEvent":141,"IssueCommentEvent":40,"PushEvent":14,"PullRequestReviewCommentEvent":21,"PullRequestReviewEvent":30,"CreateEvent":4}},"keywords":["rack","ruby","sinatra","web-framework"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.643Z","updated_at":"2022-07-07T14:38:32.643Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/Gemfile","dependencies":[{"id":111361582,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361583,"package_name":"rack","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361584,"package_name":"rack-test","ecosystem":"rubygems","requirements":"\u003e= 0.6.2","direct":true,"kind":"runtime","optional":false},{"id":111361585,"package_name":"minitest","ecosystem":"rubygems","requirements":"~\u003e 5.0","direct":true,"kind":"runtime","optional":false},{"id":111361586,"package_name":"yard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361587,"package_name":"rack-protection","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361588,"package_name":"sinatra-contrib","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361589,"package_name":"twitter-text","ecosystem":"rubygems","requirements":"= 1.14.7","direct":true,"kind":"runtime","optional":false},{"id":111361590,"package_name":"activesupport","ecosystem":"rubygems","requirements":"~\u003e 6.1","direct":true,"kind":"runtime","optional":false},{"id":111361591,"package_name":"wlang","ecosystem":"rubygems","requirements":"\u003e= 3.0.1","direct":true,"kind":"runtime","optional":false},{"id":111361592,"package_name":"puma","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361593,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"\u003e 1.5.0","direct":true,"kind":"runtime","optional":false},{"id":111361594,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361595,"package_name":"slim","ecosystem":"rubygems","requirements":"~\u003e 4","direct":true,"kind":"runtime","optional":false},{"id":111361596,"package_name":"coffee-script","ecosystem":"rubygems","requirements":"\u003e= 2.0","direct":true,"kind":"runtime","optional":false},{"id":111361597,"package_name":"rdoc","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361598,"package_name":"kramdown","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361599,"package_name":"creole","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361600,"package_name":"wikicloth","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361601,"package_name":"markaby","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361602,"package_name":"radius","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361603,"package_name":"asciidoctor","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361604,"package_name":"liquid","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361605,"package_name":"rabl","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361606,"package_name":"builder","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361607,"package_name":"erubi","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361608,"package_name":"haml","ecosystem":"rubygems","requirements":"~\u003e 5","direct":true,"kind":"runtime","optional":false},{"id":111361609,"package_name":"celluloid","ecosystem":"rubygems","requirements":"~\u003e 0.16.0","direct":true,"kind":"runtime","optional":false},{"id":111361610,"package_name":"pandoc-ruby","ecosystem":"rubygems","requirements":"~\u003e 2.0.2","direct":true,"kind":"runtime","optional":false},{"id":111361611,"package_name":"simplecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"rack-protection/Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.652Z","updated_at":"2022-07-07T14:38:32.652Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/rack-protection/Gemfile","dependencies":[{"id":111361612,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361613,"package_name":"sinatra","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"rack-protection/rack-protection.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.658Z","updated_at":"2022-07-07T14:38:32.658Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/rack-protection/rack-protection.gemspec","dependencies":[{"id":111361614,"package_name":"rack","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361615,"package_name":"rack-test","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361616,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"sinatra-contrib/Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.663Z","updated_at":"2022-07-07T14:38:32.663Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/sinatra-contrib/Gemfile","dependencies":[{"id":111361617,"package_name":"sinatra","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361618,"package_name":"rack-protection","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361619,"package_name":"twitter-text","ecosystem":"rubygems","requirements":"= 1.14.7","direct":true,"kind":"runtime","optional":false},{"id":111361620,"package_name":"json","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361621,"package_name":"rdoc","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361622,"package_name":"therubyrhino","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361623,"package_name":"hamlit","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361624,"package_name":"hamlit-block","ecosystem":"rubygems","requirements":"\u003e= 0.7.1","direct":true,"kind":"development","optional":false},{"id":111361625,"package_name":"liquid","ecosystem":"rubygems","requirements":"~\u003e 2.6.x","direct":true,"kind":"development","optional":false},{"id":111361626,"package_name":"slim","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361627,"package_name":"execjs","ecosystem":"rubygems","requirements":"= 2.0.0","direct":true,"kind":"development","optional":false},{"id":111361628,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"= 1.5.10","direct":true,"kind":"development","optional":false},{"id":111361629,"package_name":"redcarpet","ecosystem":"rubygems","requirements":"= 2.3.0","direct":true,"kind":"development","optional":false},{"id":111361630,"package_name":"yajl-ruby","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361631,"package_name":"multi_json","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"sinatra-contrib/sinatra-contrib.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.670Z","updated_at":"2022-07-07T14:38:32.670Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/sinatra-contrib/sinatra-contrib.gemspec","dependencies":[{"id":111361632,"package_name":"mustermann","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false},{"id":111361633,"package_name":"tilt","ecosystem":"rubygems","requirements":"~\u003e 2.0","direct":true,"kind":"runtime","optional":false},{"id":111361634,"package_name":"multi_json","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":111361635,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3","direct":true,"kind":"development","optional":false},{"id":111361636,"package_name":"haml","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361637,"package_name":"erubi","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361638,"package_name":"slim","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361639,"package_name":"builder","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361640,"package_name":"liquid","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361641,"package_name":"redcarpet","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361642,"package_name":"asciidoctor","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361643,"package_name":"radius","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361644,"package_name":"coffee-script","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361645,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361646,"package_name":"creole","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361647,"package_name":"wikicloth","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361648,"package_name":"markaby","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":111361649,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003c 11","direct":true,"kind":"development","optional":false},{"id":111361650,"package_name":"rack-test","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"sinatra.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-07T14:38:32.678Z","updated_at":"2022-07-07T14:38:32.678Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/sinatra.gemspec","dependencies":[{"id":111361651,"package_name":"rack","ecosystem":"rubygems","requirements":"~\u003e 2.2","direct":true,"kind":"runtime","optional":false},{"id":111361652,"package_name":"tilt","ecosystem":"rubygems","requirements":"~\u003e 2.0","direct":true,"kind":"runtime","optional":false},{"id":111361653,"package_name":"mustermann","ecosystem":"rubygems","requirements":"~\u003e 1.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T10:22:34.455Z","updated_at":"2023-01-13T10:22:34.455Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/.github/workflows/test.yml","dependencies":[{"id":6875542576,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6875542577,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":6875542578,"package_name":"8398a7/action-slack","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2025-12-05T15:03:35.307Z","updated_at":"2025-12-05T15:03:35.307Z","repository_link":"https://github.com/sinatra/sinatra/blob/main/.github/workflows/release.yml","dependencies":[{"id":25758247987,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25758247988,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":25758247989,"package_name":"rubygems/configure-rubygems-credentials","ecosystem":"actions","requirements":"v1.0.0","direct":true,"kind":"composite","optional":false}]}],"score":38.31015038738352,"created_at":"2024-12-15T21:38:06.760Z","updated_at":"2026-04-30T22:01:43.571Z","avatar_url":"https://github.com/sinatra.png","language":"Ruby","monthly_downloads":0,"readme":"# Sinatra\n\n[![Gem Version](https://badge.fury.io/rb/sinatra.svg)](https://badge.fury.io/rb/sinatra)\n[![Testing](https://github.com/sinatra/sinatra/actions/workflows/test.yml/badge.svg)](https://github.com/sinatra/sinatra/actions/workflows/test.yml)\n\nSinatra is a [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) for\nquickly creating web applications in Ruby with minimal effort:\n\n```ruby\n# myapp.rb\nrequire 'sinatra'\n\nget '/' do\n  'Hello world!'\nend\n```\n\nInstall the gems needed:\n\n```shell\ngem install sinatra rackup puma\n```\n\nAnd run with:\n\n```shell\nruby myapp.rb\n```\n\nView at: [http://localhost:4567](http://localhost:4567)\n\nThe code you changed will not take effect until you restart the server.\nPlease restart the server every time you change or use a code reloader\nlike [rerun](https://github.com/alexch/rerun) or\n[rack-unreloader](https://github.com/jeremyevans/rack-unreloader).\n\n## Table of Contents\n\n- [Sinatra](#sinatra)\n  - [Table of Contents](#table-of-contents)\n  - [Routes](#routes)\n  - [Conditions](#conditions)\n  - [Return Values](#return-values)\n  - [Custom Route Matchers](#custom-route-matchers)\n  - [Static Files](#static-files)\n  - [Views / Templates](#views--templates)\n    - [Literal Templates](#literal-templates)\n    - [Available Template Languages](#available-template-languages)\n      - [Haml Templates](#haml-templates)\n      - [Erb Templates](#erb-templates)\n      - [Builder Templates](#builder-templates)\n      - [Nokogiri Templates](#nokogiri-templates)\n      - [Sass Templates](#sass-templates)\n      - [Scss Templates](#scss-templates)\n      - [Liquid Templates](#liquid-templates)\n      - [Markdown Templates](#markdown-templates)\n      - [RDoc Templates](#rdoc-templates)\n      - [AsciiDoc Templates](#asciidoc-templates)\n      - [Markaby Templates](#markaby-templates)\n      - [RABL Templates](#rabl-templates)\n      - [Slim Templates](#slim-templates)\n      - [Yajl Templates](#yajl-templates)\n    - [Accessing Variables in Templates](#accessing-variables-in-templates)\n    - [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts)\n    - [Inline Templates](#inline-templates)\n    - [Named Templates](#named-templates)\n    - [Associating File Extensions](#associating-file-extensions)\n    - [Adding Your Own Template Engine](#adding-your-own-template-engine)\n    - [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup)\n  - [Filters](#filters)\n  - [Helpers](#helpers)\n    - [Using Sessions](#using-sessions)\n      - [Session Secret Security](#session-secret-security)\n      - [Session Config](#session-config)\n      - [Choosing Your Own Session Middleware](#choosing-your-own-session-middleware)\n    - [Halting](#halting)\n    - [Passing](#passing)\n    - [Triggering Another Route](#triggering-another-route)\n    - [Setting Body, Status Code, and Headers](#setting-body-status-code-and-headers)\n    - [Streaming Responses](#streaming-responses)\n    - [Logging](#logging)\n    - [Mime Types](#mime-types)\n    - [Generating URLs](#generating-urls)\n    - [Browser Redirect](#browser-redirect)\n    - [Cache Control](#cache-control)\n    - [Sending Files](#sending-files)\n    - [Accessing the Request Object](#accessing-the-request-object)\n    - [Attachments](#attachments)\n    - [Dealing with Date and Time](#dealing-with-date-and-time)\n    - [Looking Up Template Files](#looking-up-template-files)\n  - [Configuration](#configuration)\n    - [Configuring attack protection](#configuring-attack-protection)\n    - [Available Settings](#available-settings)\n  - [Lifecycle Events](#lifecycle-events)\n  - [Environments](#environments)\n  - [Error Handling](#error-handling)\n    - [Not Found](#not-found)\n    - [Error](#error)\n  - [Rack Middleware](#rack-middleware)\n  - [Testing](#testing)\n  - [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps)\n    - [Modular vs. Classic Style](#modular-vs-classic-style)\n    - [Serving a Modular Application](#serving-a-modular-application)\n    - [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru)\n    - [When to use a config.ru?](#when-to-use-a-configru)\n    - [Using Sinatra as Middleware](#using-sinatra-as-middleware)\n    - [Dynamic Application Creation](#dynamic-application-creation)\n  - [Scopes and Binding](#scopes-and-binding)\n    - [Application/Class Scope](#applicationclass-scope)\n    - [Request/Instance Scope](#requestinstance-scope)\n    - [Delegation Scope](#delegation-scope)\n  - [Command Line](#command-line)\n    - [Multi-threading](#multi-threading)\n  - [Requirement](#requirement)\n  - [The Bleeding Edge](#the-bleeding-edge)\n    - [With Bundler](#with-bundler)\n  - [Versioning](#versioning)\n  - [Further Reading](#further-reading)\n\n## Routes\n\nIn Sinatra, a route is an HTTP method paired with a URL-matching pattern.\nEach route is associated with a block:\n\n```ruby\nget '/' do\n  .. show something ..\nend\n\npost '/' do\n  .. create something ..\nend\n\nput '/' do\n  .. replace something ..\nend\n\npatch '/' do\n  .. modify something ..\nend\n\ndelete '/' do\n  .. annihilate something ..\nend\n\noptions '/' do\n  .. appease something ..\nend\n\nlink '/' do\n  .. affiliate something ..\nend\n\nunlink '/' do\n  .. separate something ..\nend\n```\n\nRoutes are matched in the order they are defined. The first route that\nmatches the request is invoked.\n\nRoutes with trailing slashes are different from the ones without:\n\n```ruby\nget '/foo' do\n  # Does not match \"GET /foo/\"\nend\n```\n\nRoute patterns may include named parameters, accessible via the\n`params` hash:\n\n```ruby\nget '/hello/:name' do\n  # matches \"GET /hello/foo\" and \"GET /hello/bar\"\n  # params['name'] is 'foo' or 'bar'\n  \"Hello #{params['name']}!\"\nend\n```\n\nYou can also access named parameters via block parameters:\n\n```ruby\nget '/hello/:name' do |n|\n  # matches \"GET /hello/foo\" and \"GET /hello/bar\"\n  # params['name'] is 'foo' or 'bar'\n  # n stores params['name']\n  \"Hello #{n}!\"\nend\n```\n\nRoute patterns may also include splat (or wildcard) parameters, accessible\nvia the `params['splat']` array:\n\n```ruby\nget '/say/*/to/*' do\n  # matches /say/hello/to/world\n  params['splat'] # =\u003e [\"hello\", \"world\"]\nend\n\nget '/download/*.*' do\n  # matches /download/path/to/file.xml\n  params['splat'] # =\u003e [\"path/to/file\", \"xml\"]\nend\n```\n\nOr with block parameters:\n\n```ruby\nget '/download/*.*' do |path, ext|\n  [path, ext] # =\u003e [\"path/to/file\", \"xml\"]\nend\n```\n\nRoute matching with Regular Expressions:\n\n```ruby\nget /\\/hello\\/([\\w]+)/ do\n  \"Hello, #{params['captures'].first}!\"\nend\n```\n\nOr with a block parameter:\n\n```ruby\nget %r{/hello/([\\w]+)} do |c|\n  # Matches \"GET /meta/hello/world\", \"GET /hello/world/1234\" etc.\n  \"Hello, #{c}!\"\nend\n```\n\nRoute patterns may have optional parameters:\n\n```ruby\nget '/posts/:format?' do\n  # matches \"GET /posts/\" and any extension \"GET /posts/json\", \"GET /posts/xml\" etc\nend\n```\n\nRoutes may also utilize query parameters:\n\n```ruby\nget '/posts' do\n  # matches \"GET /posts?title=foo\u0026author=bar\"\n  title = params['title']\n  author = params['author']\n  # uses title and author variables; query is optional to the /posts route\nend\n```\n\nBy the way, unless you disable the path traversal attack protection (see\n[below](#configuring-attack-protection)), the request path might be modified before\nmatching against your routes.\n\nYou may customize the [Mustermann](https://github.com/sinatra/mustermann#readme)\noptions used for a given route by passing in a `:mustermann_opts` hash:\n\n```ruby\nget '\\A/posts\\z', :mustermann_opts =\u003e { :type =\u003e :regexp, :check_anchors =\u003e false } do\n  # matches /posts exactly, with explicit anchoring\n  \"If you match an anchored pattern clap your hands!\"\nend\n```\n\nIt looks like a [condition](#conditions), but it isn't one! These options will\nbe merged into the global `:mustermann_opts` hash described\n[below](#available-settings).\n\n## Conditions\n\nRoutes may include a variety of matching conditions, such as the user agent:\n\n```ruby\nget '/foo', :agent =\u003e /Songbird (\\d\\.\\d)[\\d\\/]*?/ do\n  \"You're using Songbird version #{params['agent'][0]}\"\nend\n\nget '/foo' do\n  # Matches non-songbird browsers\nend\n```\n\nOther available conditions are `host_name` and `provides`:\n\n```ruby\nget '/', :host_name =\u003e /^admin\\./ do\n  \"Admin Area, Access denied!\"\nend\n\nget '/', :provides =\u003e 'html' do\n  haml :index\nend\n\nget '/', :provides =\u003e ['rss', 'atom', 'xml'] do\n  builder :feed\nend\n```\n`provides` searches the request's Accept header.\n\nYou can easily define your own conditions:\n\n```ruby\nset(:probability) { |value| condition { rand \u003c= value } }\n\nget '/win_a_car', :probability =\u003e 0.1 do\n  \"You won!\"\nend\n\nget '/win_a_car' do\n  \"Sorry, you lost.\"\nend\n```\n\nFor a condition that takes multiple values use a splat:\n\n```ruby\nset(:auth) do |*roles|   # \u003c- notice the splat here\n  condition do\n    unless logged_in? \u0026\u0026 roles.any? {|role| current_user.in_role? role }\n      redirect \"/login/\", 303\n    end\n  end\nend\n\nget \"/my/account/\", :auth =\u003e [:user, :admin] do\n  \"Your Account Details\"\nend\n\nget \"/only/admin/\", :auth =\u003e :admin do\n  \"Only admins are allowed here!\"\nend\n```\n\n## Return Values\n\nThe return value of a route block determines at least the response body\npassed on to the HTTP client or at least the next middleware in the\nRack stack. Most commonly, this is a string, as in the above examples.\nBut other values are also accepted.\n\nYou can return an object that would either be a valid Rack response, Rack\nbody object or HTTP status code:\n\n* An Array with three elements: `[status (Integer), headers (Hash), response\n  body (responds to #each)]`\n* An Array with two elements: `[status (Integer), response body (responds to\n  #each)]`\n* An object that responds to `#each` and passes nothing but strings to\n  the given block\n* A Integer representing the status code\n\nThat way we can, for instance, easily implement a streaming example:\n\n```ruby\nclass Stream\n  def each\n    100.times { |i| yield \"#{i}\\n\" }\n  end\nend\n\nget('/') { Stream.new }\n```\n\nYou can also use the `stream` helper method ([described below](#streaming-responses)) to reduce\nboilerplate and embed the streaming logic in the route.\n\n## Custom Route Matchers\n\nAs shown above, Sinatra ships with built-in support for using String\npatterns and regular expressions as route matches. However, it does not\nstop there. You can easily define your own matchers:\n\n```ruby\nclass AllButPattern\n  def initialize(except)\n    @except = except\n  end\n\n  def to_pattern(options)\n    return self\n  end\n\n  def params(route)\n    return {} unless @except === route\n  end\nend\n\ndef all_but(pattern)\n  AllButPattern.new(pattern)\nend\n\nget all_but(\"/index\") do\n  # ...\nend\n```\n\nNote that the above example might be over-engineered, as it can also be\nexpressed as:\n\n```ruby\nget /.*/ do\n  pass if request.path_info == \"/index\"\n  # ...\nend\n```\n\n## Static Files\n\nStatic files are served from the `./public` directory. You can specify\na different location by setting the `:public_folder` option:\n\n```ruby\nset :public_folder, __dir__ + '/static'\n```\n\nNote that the public directory name is not included in the URL. A file\n`./public/css/style.css` is made available as\n`http://example.com/css/style.css`.\n\nUse the `:static_cache_control` setting (see [below](#cache-control)) to add\n`Cache-Control` header info.\n\nBy default, Sinatra serves static files from the `public/` folder without running middleware or filters. To add custom headers (e.g, for CORS or caching), use the `:static_headers` setting:\n\n```ruby\n  set :static_headers, {\n    'access-control-allow-origin' =\u003e '*',\n    'x-static-asset' =\u003e 'served-by-sinatra'\n  }\n```\n\n## Views / Templates\n\nEach template language is exposed via its own rendering method. These\nmethods simply return a string:\n\n```ruby\nget '/' do\n  erb :index\nend\n```\n\nThis renders `views/index.erb`.\n\nInstead of a template name, you can also just pass in the template content\ndirectly:\n\n```ruby\nget '/' do\n  code = \"\u003c%= Time.now %\u003e\"\n  erb code\nend\n```\n\nTemplates take a second argument, the options hash:\n\n```ruby\nget '/' do\n  erb :index, :layout =\u003e :post\nend\n```\n\nThis will render `views/index.erb` embedded in the\n`views/post.erb` (default is `views/layout.erb`, if it exists).\n\nAny options not understood by Sinatra will be passed on to the template\nengine:\n\n```ruby\nget '/' do\n  haml :index, :format =\u003e :html5\nend\n```\n\nYou can also set options per template language in general:\n\n```ruby\nset :haml, :format =\u003e :html5\n\nget '/' do\n  haml :index\nend\n```\n\nOptions passed to the render method override options set via `set`.\n\nAvailable Options:\n\n\u003cdl\u003e\n  \u003cdt\u003elocals\u003c/dt\u003e\n  \u003cdd\u003e\n    List of locals passed to the document. Handy with partials.\n    Example: \u003ctt\u003eerb \"\u003c%= foo %\u003e\", :locals =\u003e {:foo =\u003e \"bar\"}\u003c/tt\u003e\n  \u003c/dd\u003e\n\n  \u003cdt\u003edefault_encoding\u003c/dt\u003e\n  \u003cdd\u003e\n    String encoding to use if uncertain. Defaults to\n    \u003ctt\u003esettings.default_encoding\u003c/tt\u003e.\n  \u003c/dd\u003e\n\n  \u003cdt\u003eviews\u003c/dt\u003e\n  \u003cdd\u003e\n    Views folder to load templates from. Defaults to \u003ctt\u003esettings.views\u003c/tt\u003e.\n  \u003c/dd\u003e\n\n  \u003cdt\u003elayout\u003c/dt\u003e\n  \u003cdd\u003e\n    Whether to use a layout (\u003ctt\u003etrue\u003c/tt\u003e or \u003ctt\u003efalse\u003c/tt\u003e). If it's a\n    Symbol, specifies what template to use. Example:\n    \u003ctt\u003eerb :index, :layout =\u003e !request.xhr?\u003c/tt\u003e\n  \u003c/dd\u003e\n\n  \u003cdt\u003econtent_type\u003c/dt\u003e\n  \u003cdd\u003e\n    Content-Type the template produces. Default depends on template language.\n  \u003c/dd\u003e\n\n  \u003cdt\u003escope\u003c/dt\u003e\n  \u003cdd\u003e\n    Scope to render template under. Defaults to the application\n    instance. If you change this, instance variables and helper methods\n    will not be available.\n  \u003c/dd\u003e\n\n  \u003cdt\u003elayout_engine\u003c/dt\u003e\n  \u003cdd\u003e\n    Template engine to use for rendering the layout. Useful for\n    languages that do not support layouts otherwise. Defaults to the\n    engine used for the template. Example: \u003ctt\u003eset :rdoc, :layout_engine\n    =\u003e :erb\u003c/tt\u003e\n  \u003c/dd\u003e\n\n  \u003cdt\u003elayout_options\u003c/dt\u003e\n  \u003cdd\u003e\n    Special options only used for rendering the layout. Example:\n    \u003ctt\u003eset :rdoc, :layout_options =\u003e { :views =\u003e 'views/layouts' }\u003c/tt\u003e\n  \u003c/dd\u003e\n\u003c/dl\u003e\n\nTemplates are assumed to be located directly under the `./views`\ndirectory. To use a different views directory:\n\n```ruby\nset :views, settings.root + '/templates'\n```\n\n\nOne important thing to remember is that you always have to reference\ntemplates with symbols, even if they're in a subdirectory (in this case,\nuse: `:'subdir/template'` or `'subdir/template'.to_sym`). You must use a\nsymbol because otherwise rendering methods will render any strings\npassed to them directly.\n\n### Literal Templates\n\n```ruby\nget '/' do\n  haml '%div.title Hello World'\nend\n```\n\nRenders the template string. You can optionally specify `:path` and\n`:line` for a clearer backtrace if there is a filesystem path or line\nassociated with that string:\n\n```ruby\nget '/' do\n  haml '%div.title Hello World', :path =\u003e 'examples/file.haml', :line =\u003e 3\nend\n```\n\n### Available Template Languages\n\nSome languages have multiple implementations. To specify what implementation\nto use (and to be thread-safe), you should simply require it first:\n\n```ruby\nrequire 'rdiscount'\nget('/') { markdown :index }\n```\n\n#### Haml Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"http://haml.info/\" title=\"haml\"\u003ehaml\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.haml\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003ehaml :index, :format =\u003e :html5\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Erb Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/jeremyevans/erubi\" title=\"erubi\"\u003eerubi\u003c/a\u003e\n      or erb (included in Ruby)\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extensions\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.erb\u003c/tt\u003e, \u003ctt\u003e.rhtml\u003c/tt\u003e or \u003ctt\u003e.erubi\u003c/tt\u003e (Erubi only)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003eerb :index\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Builder Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/jimweirich/builder\" title=\"builder\"\u003ebuilder\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.builder\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003ebuilder { |xml| xml.em \"hi\" }\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nIt also takes a block for inline templates (see [example](#inline-templates)).\n\n#### Nokogiri Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"http://www.nokogiri.org/\" title=\"nokogiri\"\u003enokogiri\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.nokogiri\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003enokogiri { |xml| xml.em \"hi\" }\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nIt also takes a block for inline templates (see [example](#inline-templates)).\n\n#### Sass Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/ntkme/sass-embedded-host-ruby\" title=\"sass-embedded\"\u003esass-embedded\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.sass\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003esass :stylesheet, :style =\u003e :expanded\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Scss Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/ntkme/sass-embedded-host-ruby\" title=\"sass-embedded\"\u003esass-embedded\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.scss\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003escss :stylesheet, :style =\u003e :expanded\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Liquid Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://shopify.github.io/liquid/\" title=\"liquid\"\u003eliquid\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.liquid\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003eliquid :index, :locals =\u003e { :key =\u003e 'value' }\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nSince you cannot call Ruby methods (except for `yield`) from a Liquid\ntemplate, you almost always want to pass locals to it.\n\n#### Markdown Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\n      Anyone of:\n        \u003ca href=\"https://github.com/davidfstr/rdiscount\" title=\"RDiscount\"\u003eRDiscount\u003c/a\u003e,\n        \u003ca href=\"https://github.com/vmg/redcarpet\" title=\"RedCarpet\"\u003eRedCarpet\u003c/a\u003e,\n        \u003ca href=\"https://kramdown.gettalong.org/\" title=\"kramdown\"\u003ekramdown\u003c/a\u003e,\n        \u003ca href=\"https://github.com/gjtorikian/commonmarker\" title=\"commonmarker\"\u003ecommonmarker\u003c/a\u003e\n        \u003ca href=\"https://github.com/alphabetum/pandoc-ruby\" title=\"pandoc\"\u003epandoc\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extensions\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.markdown\u003c/tt\u003e, \u003ctt\u003e.mkd\u003c/tt\u003e and \u003ctt\u003e.md\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003emarkdown :index, :layout_engine =\u003e :erb\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nIt is not possible to call methods from Markdown, nor to pass locals to it.\nYou therefore will usually use it in combination with another rendering\nengine:\n\n```ruby\nerb :overview, :locals =\u003e { :text =\u003e markdown(:introduction) }\n```\n\nNote that you may also call the `markdown` method from within other\ntemplates:\n\n```ruby\n%h1 Hello From Haml!\n%p= markdown(:greetings)\n```\n\nSince you cannot call Ruby from Markdown, you cannot use layouts written in\nMarkdown. However, it is possible to use another rendering engine for the\ntemplate than for the layout by passing the `:layout_engine` option.\n\n#### RDoc Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"http://rdoc.sourceforge.net/\" title=\"RDoc\"\u003eRDoc\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.rdoc\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003erdoc :README, :layout_engine =\u003e :erb\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nIt is not possible to call methods from RDoc, nor to pass locals to it. You\ntherefore will usually use it in combination with another rendering engine:\n\n```ruby\nerb :overview, :locals =\u003e { :text =\u003e rdoc(:introduction) }\n```\n\nNote that you may also call the `rdoc` method from within other templates:\n\n```ruby\n%h1 Hello From Haml!\n%p= rdoc(:greetings)\n```\n\nSince you cannot call Ruby from RDoc, you cannot use layouts written in\nRDoc. However, it is possible to use another rendering engine for the\ntemplate than for the layout by passing the `:layout_engine` option.\n\n#### AsciiDoc Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"http://asciidoctor.org/\" title=\"Asciidoctor\"\u003eAsciidoctor\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.asciidoc\u003c/tt\u003e, \u003ctt\u003e.adoc\u003c/tt\u003e and \u003ctt\u003e.ad\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003easciidoc :README, :layout_engine =\u003e :erb\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nSince you cannot call Ruby methods directly from an AsciiDoc template, you\nalmost always want to pass locals to it.\n\n#### Markaby Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://markaby.github.io/\" title=\"Markaby\"\u003eMarkaby\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.mab\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003emarkaby { h1 \"Welcome!\" }\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nIt also takes a block for inline templates (see [example](#inline-templates)).\n\n#### RABL Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/nesquena/rabl\" title=\"Rabl\"\u003eRabl\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.rabl\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003erabl :index\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Slim Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://slim-template.github.io/\" title=\"Slim Lang\"\u003eSlim Lang\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.slim\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003eslim :index\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n#### Yajl Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDependency\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/brianmario/yajl-ruby\" title=\"yajl-ruby\"\u003eyajl-ruby\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eFile Extension\u003c/td\u003e\n    \u003ctd\u003e\u003ctt\u003e.yajl\u003c/tt\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eExample\u003c/td\u003e\n    \u003ctd\u003e\n      \u003ctt\u003e\n        yajl :index,\n             :locals =\u003e { :key =\u003e 'qux' },\n             :callback =\u003e 'present',\n             :variable =\u003e 'resource'\n      \u003c/tt\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\nThe template source is evaluated as a Ruby string, and the\nresulting json variable is converted using `#to_json`:\n\n```ruby\njson = { :foo =\u003e 'bar' }\njson[:baz] = key\n```\n\nThe `:callback` and `:variable` options can be used to decorate the rendered\nobject:\n\n```javascript\nvar resource = {\"foo\":\"bar\",\"baz\":\"qux\"};\npresent(resource);\n```\n\n### Accessing Variables in Templates\n\nTemplates are evaluated within the same context as route handlers. Instance\nvariables set in route handlers are directly accessible by templates:\n\n```ruby\nget '/:id' do\n  @foo = Foo.find(params['id'])\n  haml '%h1= @foo.name'\nend\n```\n\nOr, specify an explicit Hash of local variables:\n\n```ruby\nget '/:id' do\n  foo = Foo.find(params['id'])\n  haml '%h1= bar.name', :locals =\u003e { :bar =\u003e foo }\nend\n```\n\nThis is typically used when rendering templates as partials from within\nother templates.\n\n### Templates with `yield` and nested layouts\n\nA layout is usually just a template that calls `yield`.\nSuch a template can be used either through the `:template` option as\ndescribed above, or it can be rendered with a block as follows:\n\n```ruby\nerb :post, :layout =\u003e false do\n  erb :index\nend\n```\n\nThis code is mostly equivalent to `erb :index, :layout =\u003e :post`.\n\nPassing blocks to rendering methods is most useful for creating nested\nlayouts:\n\n```ruby\nerb :main_layout, :layout =\u003e false do\n  erb :admin_layout do\n    erb :user\n  end\nend\n```\n\nThis can also be done in fewer lines of code with:\n\n```ruby\nerb :admin_layout, :layout =\u003e :main_layout do\n  erb :user\nend\n```\n\nCurrently, the following rendering methods accept a block: `erb`, `haml`,\n`liquid`, `slim `. Also, the general `render` method accepts a block.\n\n### Inline Templates\n\nTemplates may be defined at the end of the source file:\n\n```ruby\nrequire 'sinatra'\n\nget '/' do\n  haml :index\nend\n\n__END__\n\n@@ layout\n%html\n  != yield\n\n@@ index\n%div.title Hello world.\n```\n\nNOTE: Inline templates defined in the source file that requires Sinatra are\nautomatically loaded. Call `enable :inline_templates` explicitly if you\nhave inline templates in other source files.\n\n### Named Templates\n\nTemplates may also be defined using the top-level `template` method:\n\n```ruby\ntemplate :layout do\n  \"%html\\n  =yield\\n\"\nend\n\ntemplate :index do\n  '%div.title Hello World!'\nend\n\nget '/' do\n  haml :index\nend\n```\n\nIf a template named \"layout\" exists, it will be used each time a template\nis rendered. You can individually disable layouts by passing\n`:layout =\u003e false` or disable them by default via\n`set :haml, :layout =\u003e false`:\n\n```ruby\nget '/' do\n  haml :index, :layout =\u003e !request.xhr?\nend\n```\n\n### Associating File Extensions\n\nTo associate a file extension with a template engine, use\n`Tilt.register`. For instance, if you like to use the file extension\n`tt` for Haml templates, you can do the following:\n\n```ruby\nTilt.register Tilt[:haml], :tt\n```\n\n### Adding Your Own Template Engine\n\nFirst, register your engine with Tilt, then create a rendering method:\n\n```ruby\nTilt.register MyAwesomeTemplateEngine, :myat\n\nhelpers do\n  def myat(*args) render(:myat, *args) end\nend\n\nget '/' do\n  myat :index\nend\n```\n\nRenders `./views/index.myat`. Learn more about\n[Tilt](https://github.com/rtomayko/tilt#readme).\n\n### Using Custom Logic for Template Lookup\n\nTo implement your own template lookup mechanism you can write your\nown `#find_template` method:\n\n```ruby\nconfigure do\n  set :views, [ './views/a', './views/b' ]\nend\n\ndef find_template(views, name, engine, \u0026block)\n  Array(views).each do |v|\n    super(v, name, engine, \u0026block)\n  end\nend\n```\n\n## Filters\n\nBefore filters are evaluated before each request within the same context\nas the routes will be and can modify the request and response. Instance\nvariables set in filters are accessible by routes and templates:\n\n```ruby\nbefore do\n  @note = 'Hi!'\n  request.path_info = '/foo/bar/baz'\nend\n\nget '/foo/*' do\n  @note #=\u003e 'Hi!'\n  params['splat'] #=\u003e 'bar/baz'\nend\n```\n\nAfter filters are evaluated after each request within the same context\nas the routes will be and can also modify the request and response.\nInstance variables set in before filters and routes are accessible by\nafter filters:\n\n```ruby\nafter do\n  puts response.status\nend\n```\n\nNote: Unless you use the `body` method rather than just returning a\nString from the routes, the body will not yet be available in the after\nfilter, since it is generated later on.\n\nFilters optionally take a pattern, causing them to be evaluated only if the\nrequest path matches that pattern:\n\n```ruby\nbefore '/protected/*' do\n  authenticate!\nend\n\nafter '/create/:slug' do |slug|\n  session[:last_slug] = slug\nend\n```\n\nLike routes, filters also take conditions:\n\n```ruby\nbefore :agent =\u003e /Songbird/ do\n  # ...\nend\n\nafter '/blog/*', :host_name =\u003e 'example.com' do\n  # ...\nend\n```\n\n## Helpers\n\nUse the top-level `helpers` method to define helper methods for use in\nroute handlers and templates:\n\n```ruby\nhelpers do\n  def bar(name)\n    \"#{name}bar\"\n  end\nend\n\nget '/:name' do\n  bar(params['name'])\nend\n```\n\nAlternatively, helper methods can be separately defined in a module:\n\n```ruby\nmodule FooUtils\n  def foo(name) \"#{name}foo\" end\nend\n\nmodule BarUtils\n  def bar(name) \"#{name}bar\" end\nend\n\nhelpers FooUtils, BarUtils\n```\n\nThe effect is the same as including the modules in the application class.\n\n### Using Sessions\n\nA session is used to keep state during requests. If activated, you have one\nsession hash per user session:\n\n```ruby\nenable :sessions\n\nget '/' do\n  \"value = \" \u003c\u003c session[:value].inspect\nend\n\nget '/:value' do\n  session['value'] = params['value']\nend\n```\n\n#### Session Secret Security\n\nTo improve security, the session data in the cookie is signed with a session\nsecret using `HMAC-SHA1`. This session secret should optimally be a\ncryptographically secure random value of an appropriate length which for\n`HMAC-SHA1` is greater than or equal to 64 bytes (512 bits, 128 hex\ncharacters). You would be advised not to use a secret that is less than 32\nbytes of randomness (256 bits, 64 hex characters). It is therefore **very\nimportant** that you don't just make the secret up, but instead use a secure\nrandom number generator to create it. Humans are extremely bad at generating\nrandom values.\n\nBy default, a 32 byte secure random session secret is generated for you by\nSinatra, but it will change with every restart of your application. If you\nhave multiple instances of your application, and you let Sinatra generate the\nkey, each instance would then have a different session key which is probably\nnot what you want.\n\nFor better security and usability it's\n[recommended](https://12factor.net/config) that you generate a secure random\nsecret and store it in an environment variable on each host running your\napplication so that all of your application instances will share the same\nsecret. You should periodically rotate this session secret to a new value.\nHere are some examples of how you might create a 64-byte secret and set it:\n\n**Session Secret Generation**\n\n```text\n$ ruby -e \"require 'securerandom'; puts SecureRandom.hex(64)\"\n99ae8af...snip...ec0f262ac\n```\n\n**Session Secret Environment Variable**\n\nSet a `SESSION_SECRET` environment variable for Sinatra to the value you\ngenerated. Make this value persistent across reboots of your host. Since the\nmethod for doing this will vary across systems this is for illustrative\npurposes only:\n\n```bash\n# echo \"export SESSION_SECRET=99ae8af...snip...ec0f262ac\" \u003e\u003e ~/.bashrc\n```\n\n**Session Secret App Config**\n\nSet up your app config to fail-safe to a secure random secret\nif the `SESSION_SECRET` environment variable is not available:\n\n```ruby\nrequire 'securerandom'\nset :session_secret, ENV.fetch('SESSION_SECRET') { SecureRandom.hex(64) }\n```\n\n#### Session Config\n\nIf you want to configure it further, you may also store a hash with options\nin the `sessions` setting:\n\n```ruby\nset :sessions, :domain =\u003e 'foo.com'\n```\n\nTo share your session across other apps on subdomains of foo.com, prefix the\ndomain with a *.* like this instead:\n\n```ruby\nset :sessions, :domain =\u003e '.foo.com'\n```\n\n#### Choosing Your Own Session Middleware\n\nNote that `enable :sessions` actually stores all data in a cookie. This\nmight not always be what you want (storing lots of data will increase your\ntraffic, for instance). You can use any Rack session middleware in order to\ndo so, one of the following methods can be used:\n\n```ruby\nenable :sessions\nset :session_store, Rack::Session::Pool\n```\n\nOr to set up sessions with a hash of options:\n\n```ruby\nset :sessions, :expire_after =\u003e 2592000\nset :session_store, Rack::Session::Pool\n```\n\nAnother option is to **not** call `enable :sessions`, but instead pull in\nyour middleware of choice as you would any other middleware.\n\nIt is important to note that when using this method, session based\nprotection **will not be enabled by default**.\n\nThe Rack middleware to do that will also need to be added:\n\n```ruby\nuse Rack::Session::Pool, :expire_after =\u003e 2592000\nuse Rack::Protection::RemoteToken\nuse Rack::Protection::SessionHijacking\n```\n\nSee '[Configuring attack protection](#configuring-attack-protection)' for more information.\n\n### Halting\n\nTo immediately stop a request within a filter or route use:\n\n```ruby\nhalt\n```\n\nYou can also specify the status when halting:\n\n```ruby\nhalt 410\n```\n\nOr the body:\n\n```ruby\nhalt 'this will be the body'\n```\n\nOr both:\n\n```ruby\nhalt 401, 'go away!'\n```\n\nWith headers:\n\n```ruby\nhalt 402, {'Content-Type' =\u003e 'text/plain'}, 'revenge'\n```\n\nIt is of course possible to combine a template with `halt`:\n\n```ruby\nhalt erb(:error)\n```\n\n### Passing\n\nA route can punt processing to the next matching route using `pass`:\n\n```ruby\nget '/guess/:who' do\n  pass unless params['who'] == 'Frank'\n  'You got me!'\nend\n\nget '/guess/*' do\n  'You missed!'\nend\n```\n\nThe route block is immediately exited and control continues with the next\nmatching route. If no matching route is found, a 404 is returned.\n\n### Triggering Another Route\n\nSometimes `pass` is not what you want, instead, you would like to get the\nresult of calling another route. Simply use `call` to achieve this:\n\n```ruby\nget '/foo' do\n  status, headers, body = call env.merge(\"PATH_INFO\" =\u003e '/bar')\n  [status, headers, body.map(\u0026:upcase)]\nend\n\nget '/bar' do\n  \"bar\"\nend\n```\n\nNote that in the example above, you would ease testing and increase\nperformance by simply moving `\"bar\"` into a helper used by both `/foo` and\n`/bar`.\n\nIf you want the request to be sent to the same application instance rather\nthan a duplicate, use `call!` instead of `call`.\n\nCheck out the Rack specification if you want to learn more about `call`.\n\n### Setting Body, Status Code, and Headers\n\nIt is possible and recommended to set the status code and response body with\nthe return value of the route block. However, in some scenarios, you might\nwant to set the body at an arbitrary point in the execution flow. You can do\nso with the `body` helper method. If you do so, you can use that method from\nthereon to access the body:\n\n```ruby\nget '/foo' do\n  body \"bar\"\nend\n\nafter do\n  puts body\nend\n```\n\nIt is also possible to pass a block to `body`, which will be executed by the\nRack handler (this can be used to implement streaming, [see \"Return Values\"](#return-values)).\n\nSimilar to the body, you can also set the status code and headers:\n\n```ruby\nget '/foo' do\n  status 418\n  headers \\\n    \"Allow\"   =\u003e \"BREW, POST, GET, PROPFIND, WHEN\",\n    \"Refresh\" =\u003e \"Refresh: 20; https://ietf.org/rfc/rfc2324.txt\"\n  body \"I'm a teapot!\"\nend\n```\n\nLike `body`, `headers` and `status` with no arguments can be used to access\ntheir current values.\n\n### Streaming Responses\n\nSometimes you want to start sending out data while still generating parts of\nthe response body. In extreme examples, you want to keep sending data until\nthe client closes the connection. You can use the `stream` helper to avoid\ncreating your own wrapper:\n\n```ruby\nget '/' do\n  stream do |out|\n    out \u003c\u003c \"It's gonna be legen -\\n\"\n    sleep 0.5\n    out \u003c\u003c \" (wait for it) \\n\"\n    sleep 1\n    out \u003c\u003c \"- dary!\\n\"\n  end\nend\n```\n\nThis allows you to implement streaming APIs,\n[Server Sent Events](https://w3c.github.io/eventsource/), and can be used as\nthe basis for [WebSockets](https://en.wikipedia.org/wiki/WebSocket). It can\nalso be used to increase throughput if some but not all content depends on a\nslow resource.\n\nNote that the streaming behavior, especially the number of concurrent\nrequests, highly depends on the webserver used to serve the application.\nSome servers might not even support streaming at all. If the server does not\nsupport streaming, the body will be sent all at once after the block passed\nto `stream` finishes executing. Streaming does not work at all with Shotgun.\n\nIf the optional parameter is set to `keep_open`, it will not call `close` on\nthe stream object, allowing you to close it at any later point in the\nexecution flow.\n\nYou can have a look at the [chat example](https://github.com/sinatra/sinatra/blob/main/examples/chat.rb)\n\nIt's also possible for the client to close the connection when trying to\nwrite to the socket. Because of this, it's recommended to check\n`out.closed?` before trying to write.\n\n### Logging\n\nIn the request scope, the `logger` helper exposes a `Logger` instance:\n\n```ruby\nget '/' do\n  logger.info \"loading data\"\n  # ...\nend\n```\n\nThis logger will automatically take your Rack handler's logging settings into\naccount. If logging is disabled, this method will return a dummy object, so\nyou do not have to worry about it in your routes and filters.\n\nNote that logging is only enabled for `Sinatra::Application` by default, so\nif you inherit from `Sinatra::Base`, you probably want to enable it yourself:\n\n```ruby\nclass MyApp \u003c Sinatra::Base\n  configure :production, :development do\n    enable :logging\n  end\nend\n```\n\nTo avoid any logging middleware to be set up, set the `logging` option to\n`nil`. However, keep in mind that `logger` will in that case return `nil`. A\ncommon use case is when you want to set your own logger. Sinatra will use\nwhatever it will find in `env['rack.logger']`.\n\n### Mime Types\n\nWhen using `send_file` or static files you may have mime types Sinatra\ndoesn't understand. Use `mime_type` to register them by file extension:\n\n```ruby\nconfigure do\n  mime_type :foo, 'text/foo'\nend\n```\n\nYou can also use it with the `content_type` helper:\n\n```ruby\nget '/' do\n  content_type :foo\n  \"foo foo foo\"\nend\n```\n\n### Generating URLs\n\nFor generating URLs you should use the `url` helper method, for instance, in\nHaml:\n\n```ruby\n%a{:href =\u003e url('/foo')} foo\n```\n\nIt takes reverse proxies and Rack routers into account - if present.\n\nThis method is also aliased to `to` (see [below](#browser-redirect) for an example).\n\n### Browser Redirect\n\nYou can trigger a browser redirect with the `redirect` helper method:\n\n```ruby\nget '/foo' do\n  redirect to('/bar')\nend\n```\n\nAny additional parameters are handled like arguments passed to `halt`:\n\n```ruby\nredirect to('/bar'), 303\nredirect 'http://www.google.com/', 'wrong place, buddy'\n```\n\nYou can also easily redirect back to the page the user came from with\n`redirect back`:\n\n```ruby\nget '/foo' do\n  \"\u003ca href='/bar'\u003edo something\u003c/a\u003e\"\nend\n\nget '/bar' do\n  do_something\n  redirect back\nend\n```\n\nTo pass arguments with a redirect, either add them to the query:\n\n```ruby\nredirect to('/bar?sum=42')\n```\n\nOr use a session:\n\n```ruby\nenable :sessions\n\nget '/foo' do\n  session[:secret] = 'foo'\n  redirect to('/bar')\nend\n\nget '/bar' do\n  session[:secret]\nend\n```\n\n### Cache Control\n\nSetting your headers correctly is the foundation for proper HTTP caching.\n\nYou can easily set the Cache-Control header like this:\n\n```ruby\nget '/' do\n  cache_control :public\n  \"cache it!\"\nend\n```\n\nPro tip: Set up caching in a before filter:\n\n```ruby\nbefore do\n  cache_control :public, :must_revalidate, :max_age =\u003e 60\nend\n```\n\nIf you are using the `expires` helper to set the corresponding header,\n`Cache-Control` will be set automatically for you:\n\n```ruby\nbefore do\n  expires 500, :public, :must_revalidate\nend\n```\n\nTo properly use caches, you should consider using `etag` or `last_modified`.\nIt is recommended to call those helpers *before* doing any heavy lifting, as\nthey will immediately flush a response if the client already has the current\nversion in its cache:\n\n```ruby\nget \"/article/:id\" do\n  @article = Article.find params['id']\n  last_modified @article.updated_at\n  etag @article.sha1\n  erb :article\nend\n```\n\nIt is also possible to use a\n[weak ETag](https://en.wikipedia.org/wiki/HTTP_ETag#Strong_and_weak_validation):\n\n```ruby\netag @article.sha1, :weak\n```\n\nThese helpers will not do any caching for you, but rather feed the necessary\ninformation to your cache. If you are looking for a quick\nreverse-proxy caching solution, try\n[rack-cache](https://github.com/rtomayko/rack-cache#readme):\n\n```ruby\nrequire \"rack/cache\"\nrequire \"sinatra\"\n\nuse Rack::Cache\n\nget '/' do\n  cache_control :public, :max_age =\u003e 36000\n  sleep 5\n  \"hello\"\nend\n```\n\nUse the `:static_cache_control` setting (see [below](#cache-control)) to add\n`Cache-Control` header info to static files.\n\nAccording to RFC 2616, your application should behave differently if the\nIf-Match or If-None-Match header is set to `*`, depending on whether the\nresource requested is already in existence. Sinatra assumes resources for\nsafe (like get) and idempotent (like put) requests are already in existence,\nwhereas other resources (for instance post requests) are treated as new\nresources. You can change this behavior by passing in a `:new_resource`\noption:\n\n```ruby\nget '/create' do\n  etag '', :new_resource =\u003e true\n  Article.create\n  erb :new_article\nend\n```\n\nIf you still want to use a weak ETag, pass in a `:kind` option:\n\n```ruby\netag '', :new_resource =\u003e true, :kind =\u003e :weak\n```\n\n### Sending Files\n\nTo return the contents of a file as the response, you can use the `send_file`\nhelper method:\n\n```ruby\nget '/' do\n  send_file 'foo.png'\nend\n```\n\nIt also takes options:\n\n```ruby\nsend_file 'foo.png', :type =\u003e :jpg\n```\n\nThe options are:\n\n\u003cdl\u003e\n  \u003cdt\u003efilename\u003c/dt\u003e\n    \u003cdd\u003eFile name to be used in the response,\n    defaults to the real file name.\u003c/dd\u003e\n  \u003cdt\u003elast_modified\u003c/dt\u003e\n    \u003cdd\u003eValue for Last-Modified header, defaults to the file's mtime.\u003c/dd\u003e\n\n  \u003cdt\u003etype\u003c/dt\u003e\n    \u003cdd\u003eValue for Content-Type header, guessed from the file extension if\n    missing.\u003c/dd\u003e\n\n  \u003cdt\u003edisposition\u003c/dt\u003e\n    \u003cdd\u003e\n      Value for Content-Disposition header, possible values: \u003ctt\u003enil\u003c/tt\u003e\n      (default), \u003ctt\u003e:attachment\u003c/tt\u003e and \u003ctt\u003e:inline\u003c/tt\u003e\n    \u003c/dd\u003e\n\n  \u003cdt\u003elength\u003c/dt\u003e\n    \u003cdd\u003eValue for Content-Length header, defaults to file size.\u003c/dd\u003e\n\n  \u003cdt\u003estatus\u003c/dt\u003e\n    \u003cdd\u003e\n      Status code to be sent. Useful when sending a static file as an error\n      page. If supported by the Rack handler, other means than streaming\n      from the Ruby process will be used. If you use this helper method,\n      Sinatra will automatically handle range requests.\n    \u003c/dd\u003e\n\u003c/dl\u003e\n\n### Accessing the Request Object\n\nThe incoming request object can be accessed from request level (filter,\nroutes, error handlers) through the `request` method:\n\n```ruby\n# app running on http://example.com/example\nget '/foo' do\n  t = %w[text/css text/html application/javascript]\n  request.accept              # ['text/html', '*/*']\n  request.accept? 'text/xml'  # true\n  request.preferred_type(t)   # 'text/html'\n  request.body                # request body sent by the client (see below)\n  request.scheme              # \"http\"\n  request.script_name         # \"/example\"\n  request.path_info           # \"/foo\"\n  request.port                # 80\n  request.request_method      # \"GET\"\n  request.query_string        # \"\"\n  request.content_length      # length of request.body\n  request.media_type          # media type of request.body\n  request.host                # \"example.com\"\n  request.get?                # true (similar methods for other verbs)\n  request.form_data?          # false\n  request[\"some_param\"]       # value of some_param parameter. [] is a shortcut to the params hash.\n  request.referrer            # the referrer of the client or '/'\n  request.user_agent          # user agent (used by :agent condition)\n  request.cookies             # hash of browser cookies\n  request.xhr?                # is this an ajax request?\n  request.url                 # \"http://example.com/example/foo\"\n  request.path                # \"/example/foo\"\n  request.ip                  # client IP address\n  request.secure?             # false (would be true over ssl)\n  request.forwarded?          # true (if running behind a reverse proxy)\n  request.env                 # raw env hash handed in by Rack\nend\n```\n\nSome options, like `script_name` or `path_info`, can also be written:\n\n```ruby\nbefore { request.path_info = \"/\" }\n\nget \"/\" do\n  \"all requests end up here\"\nend\n```\n\nThe `request.body` is an IO or StringIO object:\n\n```ruby\npost \"/api\" do\n  request.body.rewind  # in case someone already read it\n  data = JSON.parse request.body.read\n  \"Hello #{data['name']}!\"\nend\n```\n\n### Attachments\n\nYou can use the `attachment` helper to tell the browser the response should\nbe stored on disk rather than displayed in the browser:\n\n```ruby\nget '/' do\n  attachment\n  \"store it!\"\nend\n```\n\nYou can also pass it a file name:\n\n```ruby\nget '/' do\n  attachment \"info.txt\"\n  \"store it!\"\nend\n```\n\n### Dealing with Date and Time\n\nSinatra offers a `time_for` helper method that generates a Time object from\nthe given value. It is also able to convert `DateTime`, `Date` and similar\nclasses:\n\n```ruby\nget '/' do\n  pass if Time.now \u003e time_for('Dec 23, 2016')\n  \"still time\"\nend\n```\n\nThis method is used internally by `expires`, `last_modified` and akin. You\ncan therefore easily extend the behavior of those methods by overriding\n`time_for` in your application:\n\n```ruby\nhelpers do\n  def time_for(value)\n    case value\n    when :yesterday then Time.now - 24*60*60\n    when :tomorrow  then Time.now + 24*60*60\n    else super\n    end\n  end\nend\n\nget '/' do\n  last_modified :yesterday\n  expires :tomorrow\n  \"hello\"\nend\n```\n\n### Looking Up Template Files\n\nThe `find_template` helper is used to find template files for rendering:\n\n```ruby\nfind_template settings.views, 'foo', Tilt[:haml] do |file|\n  puts \"could be #{file}\"\nend\n```\n\nThis is not really useful. But it is useful that you can actually override\nthis method to hook in your own lookup mechanism. For instance, if you want\nto be able to use more than one view directory:\n\n```ruby\nset :views, ['views', 'templates']\n\nhelpers do\n  def find_template(views, name, engine, \u0026block)\n    Array(views).each { |v| super(v, name, engine, \u0026block) }\n  end\nend\n```\n\nAnother example would be using different directories for different engines:\n\n```ruby\nset :views, :haml =\u003e 'templates', :default =\u003e 'views'\n\nhelpers do\n  def find_template(views, name, engine, \u0026block)\n    _, folder = views.detect { |k,v| engine == Tilt[k] }\n    folder ||= views[:default]\n    super(folder, name, engine, \u0026block)\n  end\nend\n```\n\nYou can also easily wrap this up in an extension and share it with others!\n\nNote that `find_template` does not check if the file really exists but\nrather calls the given block for all possible paths. This is not a\nperformance issue, since `render` will use `break` as soon as a file is\nfound. Also, template locations (and content) will be cached if you are not\nrunning in development mode. You should keep that in mind if you write a\nreally crazy method.\n\n## Configuration\n\nRun once, at startup, in any environment:\n\n```ruby\nconfigure do\n  # setting one option\n  set :option, 'value'\n\n  # setting multiple options\n  set :a =\u003e 1, :b =\u003e 2\n\n  # same as `set :option, true`\n  enable :option\n\n  # same as `set :option, false`\n  disable :option\n\n  # you can also have dynamic settings with blocks\n  set(:css_dir) { File.join(views, 'css') }\nend\n```\n\nRun only when the environment (`APP_ENV` environment variable) is set to\n`:production`:\n\n```ruby\nconfigure :production do\n  ...\nend\n```\n\nRun when the environment is set to either `:production` or `:test`:\n\n```ruby\nconfigure :production, :test do\n  ...\nend\n```\n\nYou can access those options via `settings`:\n\n```ruby\nconfigure do\n  set :foo, 'bar'\nend\n\nget '/' do\n  settings.foo? # =\u003e true\n  settings.foo  # =\u003e 'bar'\n  ...\nend\n```\n\n### Configuring attack protection\n\nSinatra is using\n[Rack::Protection](https://github.com/sinatra/sinatra/tree/main/rack-protection#readme) to\ndefend your application against common, opportunistic attacks. You can\neasily disable this behavior (which will open up your application to tons\nof common vulnerabilities):\n\n```ruby\ndisable :protection\n```\n\nTo skip a single defense layer, set `protection` to an options hash:\n\n```ruby\nset :protection, :except =\u003e :path_traversal\n```\nYou can also hand in an array in order to disable a list of protections:\n\n```ruby\nset :protection, :except =\u003e [:path_traversal, :remote_token]\n```\n\nBy default, Sinatra will only set up session based protection if `:sessions`\nhave been enabled. See '[Using Sessions](#using-sessions)'. Sometimes you may want to set up\nsessions \"outside\" of the Sinatra app, such as in the config.ru or with a\nseparate `Rack::Builder` instance. In that case, you can still set up session\nbased protection by passing the `:session` option:\n\n```ruby\nset :protection, :session =\u003e true\n```\n\n### Available Settings\n\n\u003cdl\u003e\n  \u003cdt\u003eabsolute_redirects\u003c/dt\u003e\n    \u003cdd\u003e\n      If disabled, Sinatra will allow relative redirects, however, Sinatra\n      will no longer conform with RFC 2616 (HTTP 1.1), which only allows\n      absolute redirects.\n    \u003c/dd\u003e\n    \u003cdd\u003e\n      Enable if your app is running behind a reverse proxy that has not been\n      set up properly. Note that the \u003ctt\u003eurl\u003c/tt\u003e helper will still produce\n      absolute URLs, unless you pass in \u003ctt\u003efalse\u003c/tt\u003e as the second\n      parameter.\n    \u003c/dd\u003e\n    \u003cdd\u003eDisabled by default.\u003c/dd\u003e\n\n  \u003cdt\u003eadd_charset\u003c/dt\u003e\n    \u003cdd\u003e\n      Mime types the \u003ctt\u003econtent_type\u003c/tt\u003e helper will automatically add the\n      charset info to. You should add to it rather than overriding this\n      option: \u003ctt\u003esettings.add_charset \u003c\u003c \"application/foobar\"\u003c/tt\u003e\n    \u003c/dd\u003e\n\n  \u003cdt\u003eapp_file\u003c/dt\u003e\n    \u003cdd\u003e\n      Path to the main application file, used to detect project root, views\n      and public folder and inline templates.\n    \u003c/dd\u003e\n\n  \u003cdt\u003ebind\u003c/dt\u003e\n    \u003cdd\u003e\n      IP address to bind to (default: \u003ctt\u003e0.0.0.0\u003c/tt\u003e \u003cem\u003eor\u003c/em\u003e\n      \u003ctt\u003elocalhost\u003c/tt\u003e if your `environment` is set to development). Only\n      used for built-in server.\n    \u003c/dd\u003e\n\n  \u003cdt\u003edefault_content_type\u003c/dt\u003e\n  \u003cdd\u003e\n    Content-Type to assume if unknown (defaults to \u003ctt\u003e\"text/html\"\u003c/tt\u003e). Set\n    to \u003ctt\u003enil\u003c/tt\u003e to not set a default Content-Type on every response; when\n    configured so, you must set the Content-Type manually when emitting content\n    or the user-agent will have to sniff it (or, if \u003ctt\u003enosniff\u003c/tt\u003e is enabled\n    in Rack::Protection::XSSHeader, assume \u003ctt\u003eapplication/octet-stream\u003c/tt\u003e).\n  \u003c/dd\u003e\n\n  \u003cdt\u003edefault_encoding\u003c/dt\u003e\n    \u003cdd\u003eEncoding to assume if unknown (defaults to \u003ctt\u003e\"utf-8\"\u003c/tt\u003e).\u003c/dd\u003e\n\n  \u003cdt\u003edump_errors\u003c/dt\u003e\n    \u003cdd\u003eDisplay errors in the log. Enabled by default unless environment is \"test\".\u003c/dd\u003e\n\n  \u003cdt\u003eenvironment\u003c/dt\u003e\n    \u003cdd\u003e\n      Current environment. Defaults to \u003ctt\u003eENV['APP_ENV']\u003c/tt\u003e, or\n      \u003ctt\u003e\"development\"\u003c/tt\u003e if not available.\n    \u003c/dd\u003e\n\n  \u003cdt\u003ehost_authorization\u003c/dt\u003e\n  \u003cdd\u003e\n    \u003cp\u003e\n      You can pass a hash of options to \u003ctt\u003ehost_authorization\u003c/tt\u003e,\n      to be used by the \u003ctt\u003eRack::Protection::HostAuthorization\u003c/tt\u003e middleware.\n    \u003c/p\u003e\n    \u003cp\u003e\n      The middleware can block requests with unrecognized hostnames, to prevent DNS rebinding\n      and other host header attacks. It checks the \u003ctt\u003eHost\u003c/tt\u003e, \u003ctt\u003eX-Forwarded-Host\u003c/tt\u003e\n      and \u003ctt\u003eForwarded\u003c/tt\u003e headers.\n    \u003c/p\u003e\n    \u003cp\u003e\n      Useful options are:\n      \u003cul\u003e\n        \u003cli\u003e\u003ctt\u003epermitted_hosts\u003c/tt\u003e – an array of hostnames (and \u003ctt\u003eIPAddr\u003c/tt\u003e objects) your app recognizes\n          \u003cul\u003e\n            \u003cli\u003ein the \u003ctt\u003edevelopment\u003c/tt\u003e environment, it is set to \u003ctt\u003e.localhost\u003c/tt\u003e, \u003ctt\u003e.test\u003c/tt\u003e and any IPv4/IPv6 address\u003c/li\u003e\n            \u003cli\u003eif empty, any hostname is permitted (the default for any other environment)\u003c/li\u003e\n          \u003c/ul\u003e\n        \u003c/li\u003e\n        \u003cli\u003e\u003ctt\u003estatus\u003c/tt\u003e – the HTTP status code used in the response when a request is blocked (defaults to \u003ctt\u003e403\u003c/tt\u003e)\u003c/li\u003e\n        \u003cli\u003e\u003ctt\u003emessage\u003c/tt\u003e – the body used in the response when a request is blocked (defaults to \u003ctt\u003eHost not permitted\u003c/tt\u003e)\u003c/li\u003e\n        \u003cli\u003e\u003ctt\u003eallow_if\u003c/tt\u003e – supply a \u003ctt\u003eProc\u003c/tt\u003e to use custom allow/deny logic, the proc is passed the request environment\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/p\u003e\n  \u003c/dd\u003e\n\n  \u003cdt\u003elogging\u003c/dt\u003e\n    \u003cdd\u003eUse the logger.\u003c/dd\u003e\n\n  \u003cdt\u003elock\u003c/dt\u003e\n    \u003cdd\u003e\n      Places a lock around every request, only running processing on request\n      per Ruby process concurrently.\n    \u003c/dd\u003e\n    \u003cdd\u003eEnabled if your app is not thread-safe. Disabled by default.\u003c/dd\u003e\n\n  \u003cdt\u003emethod_override\u003c/dt\u003e\n    \u003cdd\u003e\n      Use \u003ctt\u003e_method\u003c/tt\u003e magic to allow put/delete forms in browsers that\n      don't support it.\n    \u003c/dd\u003e\n\n  \u003cdt\u003emustermann_opts\u003c/dt\u003e\n  \u003cdd\u003e\n    A default hash of options to pass to Mustermann.new when compiling routing\n    paths.\n  \u003c/dd\u003e\n\n  \u003cdt\u003eport\u003c/dt\u003e\n    \u003cdd\u003ePort to listen on. Only used for built-in server.\u003c/dd\u003e\n\n  \u003cdt\u003eprefixed_redirects\u003c/dt\u003e\n    \u003cdd\u003e\n      Whether or not to insert \u003ctt\u003erequest.script_name\u003c/tt\u003e into redirects\n      if no absolute path is given. That way \u003ctt\u003eredirect '/foo'\u003c/tt\u003e would\n        behave like \u003ctt\u003eredirect to('/foo')\u003c/tt\u003e. Disabled by default.\n    \u003c/dd\u003e\n\n  \u003cdt\u003eprotection\u003c/dt\u003e\n    \u003cdd\u003e\n      Whether or not to enable web attack protections. See protection section\n      above.\n    \u003c/dd\u003e\n\n  \u003cdt\u003epublic_dir\u003c/dt\u003e\n    \u003cdd\u003eAlias for \u003ctt\u003epublic_folder\u003c/tt\u003e. See below.\u003c/dd\u003e\n\n  \u003cdt\u003epublic_folder\u003c/dt\u003e\n    \u003cdd\u003e\n      Path to the folder public files are served from. Only used if static\n      file serving is enabled (see \u003ctt\u003estatic\u003c/tt\u003e setting below). Inferred\n      from \u003ctt\u003eapp_file\u003c/tt\u003e setting if not set.\n    \u003c/dd\u003e\n\n  \u003cdt\u003equiet\u003c/dt\u003e\n    \u003cdd\u003e\n      Disables logs generated by Sinatra's start and stop commands.\n      \u003ctt\u003efalse\u003c/tt\u003e by default.\n    \u003c/dd\u003e\n\n  \u003cdt\u003ereload_templates\u003c/dt\u003e\n    \u003cdd\u003e\n      Whether or not to reload templates between requests. Enabled in\n      development mode.\n    \u003c/dd\u003e\n\n  \u003cdt\u003eroot\u003c/dt\u003e\n    \u003cdd\u003e\n      Path to project root folder. Inferred from \u003ctt\u003eapp_file\u003c/tt\u003e setting\n      if not set.\n    \u003c/dd\u003e\n\n  \u003cdt\u003eraise_errors\u003c/dt\u003e\n    \u003cdd\u003e\n      Raise unhandled errors (will stop application). Enabled by default when\n      \u003ctt\u003eenvironment\u003c/tt\u003e is set to \u003ctt\u003e\"test\"\u003c/tt\u003e, disabled otherwise.\n    \u003c/dd\u003e\n    \u003cdd\u003e\n      Any explicitly defined error handlers always override this setting. See \n      the \"Error\" section below.\n    \u003c/dd\u003e\n\n  \u003cdt\u003erun\u003c/dt\u003e\n    \u003cdd\u003e\n      If enabled, Sinatra will handle starting the web server. Do not\n      enable if using rackup or other means.\n    \u003c/dd\u003e\n\n  \u003cdt\u003erunning\u003c/dt\u003e\n    \u003cdd\u003eIs the built-in server running now? Do not change this setting!\u003c/dd\u003e\n\n  \u003cdt\u003eserver\u003c/dt\u003e\n    \u003cdd\u003e\n      Server or list of servers to use for built-in server. Order indicates\n      priority, default depends on Ruby implementation.\n    \u003c/dd\u003e\n\n  \u003cdt\u003eserver_settings\u003c/dt\u003e\n    \u003cdd\u003e\n      You can pass a hash of options to \u003ctt\u003eserver_settings\u003c/tt\u003e,\n      such as \u003ctt\u003eHost\u003c/tt\u003e or \u003ctt\u003ePort\u003c/tt\u003e.\n    \u003c/dd\u003e\n\n  \u003cdt\u003esessions\u003c/dt\u003e\n    \u003cdd\u003e\n      Enable cookie-based sessions support using\n      \u003ctt\u003eRack::Session::Cookie\u003c/tt\u003e. See 'Using Sessions' section for more\n      information.\n    \u003c/dd\u003e\n\n  \u003cdt\u003esession_store\u003c/dt\u003e\n    \u003cdd\u003e\n      The Rack session middleware used. Defaults to\n      \u003ctt\u003eRack::Session::Cookie\u003c/tt\u003e. See 'Using Sessions' section for more\n      information.\n    \u003c/dd\u003e\n\n  \u003cdt\u003eshow_exceptions\u003c/dt\u003e\n    \u003cdd\u003e\n      Show a stack trace in the browser when an exception happens. Enabled by\n      default when \u003ctt\u003eenvironment\u003c/tt\u003e is set to \u003ctt\u003e\"development\"\u003c/tt\u003e,\n      disabled otherwise.\n    \u003c/dd\u003e\n    \u003cdd\u003e\n      Can also be set to \u003ctt\u003e:after_handler\u003c/tt\u003e to trigger app-specified\n      error handling before showing a stack trace in the browser.\n    \u003c/dd\u003e\n\n  \u003cdt\u003estatic\u003c/dt\u003e\n    \u003cdd\u003eWhether Sinatra should handle serving static files.\u003c/dd\u003e\n    \u003cdd\u003eDisable when using a server able to do this on its own.\u003c/dd\u003e\n    \u003cdd\u003eDisabling will boost performance.\u003c/dd\u003e\n    \u003cdd\u003e\n      Enabled by default in classic style, disabled for modular apps.\n    \u003c/dd\u003e\n\n  \u003cdt\u003estatic_cache_control\u003c/dt\u003e\n    \u003cdd\u003e\n      When Sinatra is serving static files, set this to add\n      \u003ctt\u003eCache-Control\u003c/tt\u003e headers to the responses. Uses the\n      \u003ctt\u003ecache_control\u003c/tt\u003e helper. Disabled by default.\n    \u003c/dd\u003e\n    \u003cdd\u003e\n      Use an explicit array when setting multiple values:\n      \u003ctt\u003eset :static_cache_control, [:public, :max_age =\u003e 300]\u003c/tt\u003e\n    \u003c/dd\u003e\n\n  \u003cdt\u003estatic_headers\u003c/dt\u003e\n    \u003cdd\u003e\n      Allows you to define custom header settings for static file responses.\n    \u003c/dd\u003e\n    \u003cdd\u003e\n      For example: \u003cbr\u003e\n      \u003ctt\u003eset :static_headers, {'access-control-allow-origin' =\u003e '*', 'x-static-asset' =\u003e 'served-by-sinatra'}\u003c/tt\u003e\n    \u003c/dd\u003e\n\n\n  \u003cdt\u003ethreaded\u003c/dt\u003e\n    \u003cdd\u003e\n      If set to \u003ctt\u003etrue\u003c/tt\u003e, will tell server to use\n      \u003ctt\u003eEventMachine.defer\u003c/tt\u003e for processing the request.\n    \u003c/dd\u003e\n\n  \u003cdt\u003etraps\u003c/dt\u003e\n    \u003cdd\u003eWhether Sinatra should handle system signals.\u003c/dd\u003e\n\n  \u003cdt\u003eviews\u003c/dt\u003e\n    \u003cdd\u003e\n      Path to the views folder. Inferred from \u003ctt\u003eapp_file\u003c/tt\u003e setting if\n      not set.\n    \u003c/dd\u003e\n\n  \u003cdt\u003ex_cascade\u003c/dt\u003e\n    \u003cdd\u003e\n      Whether or not to set the X-Cascade header if no route matches.\n      Defaults to \u003ctt\u003etrue\u003c/tt\u003e.\n    \u003c/dd\u003e\n\u003c/dl\u003e\n\n## Lifecycle Events\n\nThere are 2 lifecycle events currently exposed by Sinatra. One when the server starts and one when it stops.\n\nThey can be used like this:\n\n```ruby\non_start do\n  puts \"===== Booting up =====\"\nend\n\non_stop do\n  puts \"===== Shutting down =====\"\nend\n```\n\nNote that these callbacks only work when using Sinatra to start the web server.\n\n## Environments\n\nThere are three predefined `environments`: `\"development\"`,\n`\"production\"` and `\"test\"`. Environments can be set through the\n`APP_ENV` environment variable. The default value is `\"development\"`.\nIn the `\"development\"` environment all templates are reloaded between\nrequests, and special `not_found` and `error` handlers display stack\ntraces in your browser. In the `\"production\"` and `\"test\"` environments,\ntemplates are cached by default.\n\nTo run different environments, set the `APP_ENV` environment variable:\n\n```shell\nAPP_ENV=production ruby my_app.rb\n```\n\nYou can use predefined methods: `development?`, `test?` and `production?` to\ncheck the current environment setting:\n\n```ruby\nget '/' do\n  if settings.development?\n    \"development!\"\n  else\n    \"not development!\"\n  end\nend\n```\n\n## Error Handling\n\nError handlers run within the same context as routes and before filters,\nwhich means you get all the goodies it has to offer, like `haml`, `erb`,\n`halt`, etc.\n\n### Not Found\n\nWhen a `Sinatra::NotFound` exception is raised, or the response's status\ncode is 404, the `not_found` handler is invoked:\n\n```ruby\nnot_found do\n  'This is nowhere to be found.'\nend\n```\n\n### Error\n\nThe `error` handler is invoked any time an exception is raised from a route\nblock or a filter. But note in development it will only run if you set the\nshow exceptions option to `:after_handler`:\n\n```ruby\nset :show_exceptions, :after_handler\n```\n\nA catch-all error handler can be defined with `error` and a block:\n\n```ruby\nerror do\n  'Sorry there was a nasty error'\nend\n```\n\nThe exception object can be obtained from the `sinatra.error` Rack variable:\n\n```ruby\nerror do\n  'Sorry there was a nasty error - ' + env['sinatra.error'].message\nend\n```\n\nPass an error class as an argument to create handlers for custom errors:\n\n```ruby\nerror MyCustomError do\n  'So what happened was...' + env['sinatra.error'].message\nend\n```\n\nThen, if this happens:\n\n```ruby\nget '/' do\n  raise MyCustomError, 'something bad'\nend\n```\n\nYou get this:\n\n```\nSo what happened was... something bad\n```\n\nAlternatively, you can install an error handler for a status code:\n\n```ruby\nerror 403 do\n  'Access forbidden'\nend\n\nget '/secret' do\n  403\nend\n```\n\nOr a range:\n\n```ruby\nerror 400..510 do\n  'Boom'\nend\n```\n\nSinatra installs special `not_found` and `error` handlers when\nrunning under the development environment to display nice stack traces\nand additional debugging information in your browser.\n\n### Behavior with `raise_errors` option\n\nWhen `raise_errors` option is `true`, errors that are unhandled are raised \noutside of the application. Additionally, any errors that would have been \ncaught by the catch-all error handler are raised.\n\nFor example, consider the following configuration:\n\n```ruby\n# First handler\nerror MyCustomError do\n  'A custom message'\nend\n\n# Second handler\nerror do\n  'A catch-all message'\nend\n```\n\nIf `raise_errors` is `false`:\n\n* When `MyCustomError` or descendant is raised, the first handler is invoked.\n  The HTTP response body will contain `\"A custom message\"`.\n* When any other error is raised, the second handler is invoked. The HTTP \n  response body will contain `\"A catch-all message\"`.\n\nIf `raise_errors` is `true`:\n\n* When `MyCustomError` or descendant is raised, the behavior is identical to \n  when `raise_errors` is `false`, described above.\n* When any other error is raised, the second handler is *not* invoked, and \n  the error is raised outside of the application.\n  * If the environment is `production`, the HTTP response body will contain \n    a generic error message, e.g. `\"An unhandled lowlevel error occurred. The\n    application logs may have details.\"`\n  * If the environment is not `production`, the HTTP response body will contain\n    the verbose error backtrace.\n  * Regardless of environment, if `show_exceptions` is set to `:after_handler`, \n    the HTTP response body will contain the verbose error backtrace.\n\nIn the `test` environment, `raise_errors` is set to `true` by default. This \nmeans that in order to write a test for a catch-all error handler, \n`raise_errors` must temporarily be set to `false` for that particular test.\n\n## Rack Middleware\n\nSinatra rides on [Rack](https://rack.github.io/), a minimal standard\ninterface for Ruby web frameworks. One of Rack's most interesting\ncapabilities for application developers is support for \"middleware\" --\ncomponents that sit between the server and your application monitoring\nand/or manipulating the HTTP request/response to provide various types\nof common functionality.\n\nSinatra makes building Rack middleware pipelines a cinch via a top-level\n`use` method:\n\n```ruby\nrequire 'sinatra'\nrequire 'my_custom_middleware'\n\nuse Rack::Lint\nuse MyCustomMiddleware\n\nget '/hello' do\n  'Hello World'\nend\n```\n\nThe semantics of `use` are identical to those defined for the\n[Rack::Builder](https://www.rubydoc.info/github/rack/rack/main/Rack/Builder) DSL\n(most frequently used from rackup files). For example, the `use` method\naccepts multiple/variable args as well as blocks:\n\n```ruby\nuse Rack::Auth::Basic do |username, password|\n  username == 'admin' \u0026\u0026 password == 'secret'\nend\n```\n\nRack is distributed with a variety of standard middleware for logging,\ndebugging, URL routing, authentication, and session handling. Sinatra uses\nmany of these components automatically based on configuration so you\ntypically don't have to `use` them explicitly.\n\nYou can find useful middleware in\n[rack](https://github.com/rack/rack/tree/main/lib/rack),\n[rack-contrib](https://github.com/rack/rack-contrib#readme),\nor in the [Rack wiki](https://github.com/rack/rack/wiki/List-of-Middleware).\n\n## Testing\n\nSinatra tests can be written using any Rack-based testing library or\nframework.\n[Rack::Test](https://www.rubydoc.info/github/rack/rack-test/main/frames)\nis recommended:\n\n```ruby\nrequire 'my_sinatra_app'\nrequire 'minitest/autorun'\nrequire 'rack/test'\n\nclass MyAppTest \u003c Minitest::Test\n  include Rack::Test::Methods\n\n  def app\n    Sinatra::Application\n  end\n\n  def test_my_default\n    get '/'\n    assert_equal 'Hello World!', last_response.body\n  end\n\n  def test_with_params\n    get '/meet', :name =\u003e 'Frank'\n    assert_equal 'Hello Frank!', last_response.body\n  end\n\n  def test_with_user_agent\n    get '/', {}, 'HTTP_USER_AGENT' =\u003e 'Songbird'\n    assert_equal \"You're using Songbird!\", last_response.body\n  end\nend\n```\n\nNote: If you are using Sinatra in the modular style, replace\n`Sinatra::Application` above with the class name of your app.\n\n## Sinatra::Base - Middleware, Libraries, and Modular Apps\n\nDefining your app at the top-level works well for micro-apps but has\nconsiderable drawbacks when building reusable components such as Rack\nmiddleware, Rails metal, simple libraries with a server component, or even\nSinatra extensions. The top-level assumes a micro-app style configuration\n(e.g., a single application file, `./public` and `./views`\ndirectories, logging, exception detail page, etc.). That's where\n`Sinatra::Base` comes into play:\n\n```ruby\nrequire 'sinatra/base'\n\nclass MyApp \u003c Sinatra::Base\n  set :sessions, true\n  set :foo, 'bar'\n\n  get '/' do\n    'Hello world!'\n  end\nend\n```\n\nThe methods available to `Sinatra::Base` subclasses are exactly the same\nas those available via the top-level DSL. Most top-level apps can be\nconverted to `Sinatra::Base` components with two modifications:\n\n* Your file should require `sinatra/base` instead of `sinatra`;\n  otherwise, all of Sinatra's DSL methods are imported into the main\n  namespace.\n* Put your app's routes, error handlers, filters, and options in a subclass\n  of `Sinatra::Base`.\n\n`Sinatra::Base` is a blank slate. Most options are disabled by default,\nincluding the built-in server. See [Configuring\nSettings](http://www.sinatrarb.com/configuration.html) for details on\navailable options and their behavior. If you want behavior more similar\nto when you define your app at the top level (also known as Classic\nstyle), you can subclass `Sinatra::Application`:\n\n```ruby\nrequire 'sinatra/base'\n\nclass MyApp \u003c Sinatra::Application\n  get '/' do\n    'Hello world!'\n  end\nend\n```\n\n### Modular vs. Classic Style\n\nContrary to common belief, there is nothing wrong with the classic\nstyle. If it suits your application, you do not have to switch to a\nmodular application.\n\nThe main disadvantage of using the classic style rather than the modular\nstyle is that you will only have one Sinatra application per Ruby\nprocess. If you plan to use more than one, switch to the modular style.\nThere is no reason you cannot mix the modular and classic styles.\n\nIf switching from one style to the other, you should be aware of\nslightly different default settings:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eSetting\u003c/th\u003e\n    \u003cth\u003eClassic\u003c/th\u003e\n    \u003cth\u003eModular\u003c/th\u003e\n    \u003cth\u003eModular\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003eapp_file\u003c/td\u003e\n    \u003ctd\u003efile loading sinatra\u003c/td\u003e\n    \u003ctd\u003efile subclassing Sinatra::Base\u003c/td\u003e\n    \u003ctd\u003efile subclassing Sinatra::Application\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003erun\u003c/td\u003e\n    \u003ctd\u003e$0 == app_file\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003elogging\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003emethod_override\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003einline_templates\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n    \u003ctd\u003efalse\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd\u003estatic\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n    \u003ctd\u003eFile.exist?(public_folder)\u003c/td\u003e\n    \u003ctd\u003etrue\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Serving a Modular Application\n\nThere are two common options for starting a modular app, actively\nstarting with `run!`:\n\n```ruby\n# my_app.rb\nrequire 'sinatra/base'\n\nclass MyApp \u003c Sinatra::Base\n  # ... app code here ...\n\n  # start the server if ruby file executed directly\n  run! if app_file == $0\nend\n```\n\nStart with:\n\n```shell\nruby my_app.rb\n```\n\nOr with a `config.ru` file, which allows using any Rack handler:\n\n```ruby\n# config.ru (run with rackup)\nrequire './my_app'\nrun MyApp\n```\n\nRun:\n\n```shell\nrackup -p 4567\n```\n\n### Using a Classic Style Application with a config.ru\n\nWrite your app file:\n\n```ruby\n# app.rb\nrequire 'sinatra'\n\nget '/' do\n  'Hello world!'\nend\n```\n\nAnd a corresponding `config.ru`:\n\n```ruby\nrequire './app'\nrun Sinatra::Application\n```\n\n### When to use a config.ru?\n\nA `config.ru` file is recommended if:\n\n* You want to deploy with a different Rack handler (Passenger, Unicorn,\n  Heroku, ...).\n* You want to use more than one subclass of `Sinatra::Base`.\n* You want to use Sinatra only for middleware, and not as an endpoint.\n\n**There is no need to switch to a `config.ru` simply because you\nswitched to the modular style, and you don't have to use the modular\nstyle for running with a `config.ru`.**\n\n### Using Sinatra as Middleware\n\nNot only is Sinatra able to use other Rack middleware, any Sinatra\napplication can, in turn, be added in front of any Rack endpoint as\nmiddleware itself. This endpoint could be another Sinatra application,\nor any other Rack-based application (Rails/Hanami/Roda/...):\n\n```ruby\nrequire 'sinatra/base'\n\nclass LoginScreen \u003c Sinatra::Base\n  enable :sessions\n\n  get('/login') { haml :login }\n\n  post('/login') do\n    if params['name'] == 'admin' \u0026\u0026 params['password'] == 'admin'\n      session['user_name'] = params['name']\n    else\n      redirect '/login'\n    end\n  end\nend\n\nclass MyApp \u003c Sinatra::Base\n  # middleware will run before filters\n  use LoginScreen\n\n  before do\n    unless session['user_name']\n      halt \"Access denied, please \u003ca href='/login'\u003elogin\u003c/a\u003e.\"\n    end\n  end\n\n  get('/') { \"Hello #{session['user_name']}.\" }\nend\n```\n\n### Dynamic Application Creation\n\nSometimes you want to create new applications at runtime without having to\nassign them to a constant. You can do this with `Sinatra.new`:\n\n```ruby\nrequire 'sinatra/base'\nmy_app = Sinatra.new { get('/') { \"hi\" } }\nmy_app.run!\n```\n\nIt takes the application to inherit from as an optional argument:\n\n```ruby\n# config.ru (run with rackup)\nrequire 'sinatra/base'\n\ncontroller = Sinatra.new do\n  enable :logging\n  helpers MyHelpers\nend\n\nmap('/a') do\n  run Sinatra.new(controller) { get('/') { 'a' } }\nend\n\nmap('/b') do\n  run Sinatra.new(controller) { get('/') { 'b' } }\nend\n```\n\nThis is especially useful for testing Sinatra extensions or using Sinatra in\nyour own library.\n\nThis also makes using Sinatra as middleware extremely easy:\n\n```ruby\nrequire 'sinatra/base'\n\nuse Sinatra do\n  get('/') { ... }\nend\n\nrun RailsProject::Application\n```\n\n## Scopes and Binding\n\nThe scope you are currently in determines what methods and variables are\navailable.\n\n### Application/Class Scope\n\nEvery Sinatra application corresponds to a subclass of `Sinatra::Base`.\nIf you are using the top-level DSL (`require 'sinatra'`), then this\nclass is `Sinatra::Application`, otherwise it is the subclass you\ncreated explicitly. At the class level, you have methods like `get` or\n`before`, but you cannot access the `request` or `session` objects, as\nthere is only a single application class for all requests.\n\nOptions created via `set` are methods at class level:\n\n```ruby\nclass MyApp \u003c Sinatra::Base\n  # Hey, I'm in the application scope!\n  set :foo, 42\n  foo # =\u003e 42\n\n  get '/foo' do\n    # Hey, I'm no longer in the application scope!\n  end\nend\n```\n\nYou have the application scope binding inside:\n\n* Your application class body\n* Methods defined by extensions\n* The block passed to `helpers`\n* Procs/blocks used as a value for `set`\n* The block passed to `Sinatra.new`\n\nYou can reach the scope object (the class) like this:\n\n* Via the object passed to configure blocks (`configure { |c| ... }`)\n* `settings` from within the request scope\n\n### Request/Instance Scope\n\nFor every incoming request, a new instance of your application class is\ncreated, and all handler blocks run in that scope. From within this scope you\ncan access the `request` and `session` objects or call rendering methods like\n`erb` or `haml`. You can access the application scope from within the request\nscope via the `settings` helper:\n\n```ruby\nclass MyApp \u003c Sinatra::Base\n  # Hey, I'm in the application scope!\n  get '/define_route/:name' do\n    # Request scope for '/define_route/:name'\n    @value = 42\n\n    settings.get(\"/#{params['name']}\") do\n      # Request scope for \"/#{params['name']}\"\n      @value # =\u003e nil (not the same request)\n    end\n\n    \"Route defined!\"\n  end\nend\n```\n\nYou have the request scope binding inside:\n\n* get, head, post, put, delete, options, patch, link and unlink blocks\n* before and after filters\n* helper methods\n* templates/views\n\n### Delegation Scope\n\nThe delegation scope just forwards methods to the class scope. However, it\ndoes not behave exactly like the class scope, as you do not have the class\nbinding. Only methods explicitly marked for delegation are available, and you\ndo not share variables/state with the class scope (read: you have a different\n`self`). You can explicitly add method delegations by calling\n`Sinatra::Delegator.delegate :method_name`.\n\nYou have the delegate scope binding inside:\n\n* The top-level binding, if you did `require \"sinatra\"`\n* An object extended with the `Sinatra::Delegator` mixin\n\nHave a look at the code for yourself: here's the\n[Sinatra::Delegator mixin](https://github.com/sinatra/sinatra/blob/ca06364/lib/sinatra/base.rb#L1609-1633)\nbeing [extending the main object](https://github.com/sinatra/sinatra/blob/ca06364/lib/sinatra/main.rb#L28-30).\n\n## Command Line\n\nSinatra applications can be run directly:\n\n```shell\nruby myapp.rb [-h] [-x] [-q] [-e ENVIRONMENT] [-p PORT] [-o HOST] [-s HANDLER]\n```\n\nOptions are:\n\n```\n-h # help\n-p # set the port (default is 4567)\n-o # set the host (default is 0.0.0.0)\n-e # set the environment (default is development)\n-s # specify rack server/handler (default is puma)\n-q # turn on quiet mode for server (default is off)\n-x # turn on the mutex lock (default is off)\n```\n\n### Multi-threading\n\n_Paraphrasing from\n[this StackOverflow answer](https://stackoverflow.com/a/6282999/5245129)\nby Konstantin_\n\nSinatra doesn't impose any concurrency model but leaves that to the\nunderlying Rack handler (server) like Puma or Falcon. Sinatra\nitself is thread-safe, so there won't be any problem if the Rack handler\nuses a threaded model of concurrency.\n\n## Requirement\n\nThe following Ruby versions are officially supported:\n\u003cdl\u003e\n  \u003cdt\u003eRuby\u003c/dt\u003e\n  \u003cdd\u003e\n    \u003ca href=\"https://www.ruby-lang.org/en/downloads/\"\u003eThe stable releases\u003c/a\u003e are fully supported and recommended.\n  \u003c/dd\u003e\n\n  \u003cdt\u003eTruffleRuby\u003c/dt\u003e\n  \u003cdd\u003e\n    The latest stable release of TruffleRuby is supported.\n  \u003c/dd\u003e\n\n  \u003cdt\u003eJRuby\u003c/dt\u003e\n  \u003cdd\u003e\n    The latest stable release of JRuby is supported. It is not\n    recommended to use C extensions with JRuby.\n  \u003c/dd\u003e\n\u003c/dl\u003e\n\nVersions of Ruby before 2.7.8 are no longer supported as of Sinatra 4.0.0.\n\nSinatra should work on any operating system supported by the chosen Ruby\nimplementation.\n\nRunning Sinatra on a not officially supported Ruby flavor means that if things only break there we assume it's not our issue but theirs.\n\n## The Bleeding Edge\n\nIf you would like to use Sinatra's latest bleeding-edge code, feel free\nto run your application against the main branch, it should be rather\nstable.\n\nWe also push out prerelease gems from time to time, so you can do a\n\n```shell\ngem install sinatra --pre\n```\n\nto get some of the latest features.\n\n### With Bundler\n\nIf you want to run your application with the latest Sinatra, using\n[Bundler](https://bundler.io) is the recommended way.\n\nFirst, install bundler, if you haven't:\n\n```shell\ngem install bundler\n```\n\nThen, in your project directory, create a `Gemfile`:\n\n```ruby\nsource 'https://rubygems.org'\ngem 'sinatra', :github =\u003e 'sinatra/sinatra'\n\n# other dependencies\ngem 'haml'                    # for instance, if you use haml\n```\n\nNote that you will have to list all your application's dependencies in\nthe `Gemfile`. Sinatra's direct dependencies (Rack and Tilt) will,\nhowever, be automatically fetched and added by Bundler.\n\nNow you can run your app like this:\n\n```shell\nbundle exec ruby myapp.rb\n```\n\n## Versioning\n\nSinatra follows [Semantic Versioning](https://semver.org/), both SemVer and\nSemVerTag.\n\n## Further Reading\n\n* [Project Website](https://sinatrarb.com/) - Additional documentation,\n  news, and links to other resources.\n* [Contributing](https://sinatrarb.com/contributing) - Find a bug? Need\n  help? Have a patch?\n* [Issue tracker](https://github.com/sinatra/sinatra/issues)\n* [Twitter](https://twitter.com/sinatra)\n* [Mailing List](https://groups.google.com/forum/#!forum/sinatrarb)\n* IRC: [#sinatra](irc://chat.freenode.net/#sinatra) on [Freenode](https://freenode.net)\n* [Sinatra \u0026 Friends](https://discord.gg/ncjsfsNHh7) on Discord\n* [Sinatra Book](https://github.com/sinatra/sinatra-book) - Cookbook Tutorial\n* [Sinatra Recipes](http://recipes.sinatrarb.com/) - Community contributed\n  recipes\n* API documentation for the [latest release](https://www.rubydoc.info/gems/sinatra)\n  or the [current HEAD](https://www.rubydoc.info/github/sinatra/sinatra) on\n  [RubyDoc](https://www.rubydoc.info/)\n* [CI Actions](https://github.com/sinatra/sinatra/actions)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","rspec","multithreading","background-jobs","sidekiq","devise","crash-reporting"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/21","html_url":"https://ruby.ecosyste.ms/projects/21"}