{"id":349,"name":null,"description":"EventMachine based WebSocket server","url":"https://github.com/igrigorik/em-websocket","last_synced_at":"2026-05-24T05:00:49.262Z","repository":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1688,"open_issues_count":26,"forks_count":188,"subscribers_count":40,"default_branch":"master","last_synced_at":"2026-05-22T18:46:54.501Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2026-04-10T21:29:13.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33421921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"packages":[{"id":13605376,"name":"ruby-em-websocket","ecosystem":"debian","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:20:01.731Z","latest_release_published_at":"2026-02-11T11:20:01.731Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-13T05:00:59.258Z","created_at":"2026-02-11T11:20:01.545Z","updated_at":"2026-03-13T05:00:59.259Z","registry_url":"https://tracker.debian.org/pkg/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":"https://packages.debian.org/buster/ruby-em-websocket","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:05.280Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-em-websocket?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-05-22T18:14:24.960Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13750986,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:12:53.061Z","latest_release_published_at":"2026-02-13T07:12:53.061Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-13T20:21:48.218Z","created_at":"2026-02-13T07:12:52.905Z","updated_at":"2026-03-13T20:21:48.219Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:12:54.295Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13778754,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:16:10.610Z","latest_release_published_at":"2026-02-13T13:16:10.610Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-13T22:41:51.540Z","created_at":"2026-02-13T13:16:10.347Z","updated_at":"2026-03-13T22:41:51.541Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:16:11.428Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13804269,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:18:42.247Z","latest_release_published_at":"2026-02-13T18:18:42.247Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-14T02:19:48.948Z","created_at":"2026-02-13T18:18:41.651Z","updated_at":"2026-03-14T02:19:48.948Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:19:30.194Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13950341,"name":"ruby-em-websocket","ecosystem":"guix","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:55:06.774Z","latest_release_published_at":"2026-03-02T18:55:06.774Z","latest_release_number":"0.5.1","last_synced_at":"2026-04-27T16:18:45.659Z","created_at":"2026-03-02T18:55:06.593Z","updated_at":"2026-04-27T16:19:04.196Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-em-websocket/0.5.1/","install_command":"guix install ruby-em-websocket","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n13501","metadata":{"location":"gnu/packages/ruby-xyz.scm:13501","variable_name":"ruby-em-websocket"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-27T16:19:04.170Z","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-em-websocket","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31408,"maintainers_count":0,"namespaces_count":0,"keywords_count":1627,"github":"guix-mirror","metadata":{"funded_packages_count":352},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-05-07T05:00:22.550Z","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":13530217,"name":"ruby-em-websocket","ecosystem":"debian","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:29:41.063Z","latest_release_published_at":"2026-02-10T23:29:41.063Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-14T06:22:29.984Z","created_at":"2026-02-10T23:29:40.867Z","updated_at":"2026-03-14T06:22:29.984Z","registry_url":"https://tracker.debian.org/pkg/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":"https://packages.debian.org/bullseye/ruby-em-websocket","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:26:35.140Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-em-websocket?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":12221339,"name":"em-websocket","ecosystem":"rubygems","description":"EventMachine based WebSocket server","homepage":"http://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2009-12-22T14:56:46.424Z","latest_release_published_at":"2021-11-11T05:04:02.478Z","latest_release_number":"0.5.3","last_synced_at":"2026-05-22T15:02:16.047Z","created_at":"2025-10-07T02:40:59.410Z","updated_at":"2026-05-22T15:10:00.170Z","registry_url":"https://gem.coop/gems/em-websocket","install_command":"gem install em-websocket -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/em-websocket/","metadata":{"funding":null},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1688,"open_issues_count":26,"forks_count":188,"subscribers_count":40,"default_branch":"master","last_synced_at":"2026-05-15T13:09:19.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2026-04-10T21:29:13.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33347489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"online","status_checked_at":"2026-05-22T02:00:06.671Z","response_time":265,"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":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2026-05-22T15:10:00.170Z","dependent_packages_count":0,"downloads":57741100,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.4801219769346807,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.40280503695533465,"average":0.22073175347250384},"purl":"pkg:gem/em-websocket?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/em-websocket","docker_dependents_count":1062,"docker_downloads_count":279856195,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-30T18:00:45.416Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/em-websocket/codemeta","maintainers":[{"uuid":"99","login":"mloughran","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://gem.coop/profiles/mloughran","role":null,"created_at":"2025-10-07T16:51:56.600Z","updated_at":"2025-10-07T16:51:56.600Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/mloughran/packages"},{"uuid":"1142","login":"igrigorik","name":null,"email":null,"url":null,"packages_count":32,"html_url":"https://gem.coop/profiles/igrigorik","role":null,"created_at":"2025-10-07T16:51:56.451Z","updated_at":"2025-10-07T16:51:56.451Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/igrigorik/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":192140,"maintainers_count":67790,"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":8679440,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-22T20:50:54.000Z","latest_release_published_at":"2023-04-22T20:50:54.000Z","latest_release_number":"0.5.3-r2","last_synced_at":"2026-03-18T09:19:05.342Z","created_at":"2023-12-20T10:33:28.231Z","updated_at":"2026-03-18T09:19:05.342Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.373Z","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:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1283,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2024-10-30T16:13:34.810Z","updated_at":"2024-10-30T16:13:34.810Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.19","url":"https://pkgs.alpinelinux.org/packages?branch=v3.19","ecosystem":"alpine","default":false,"packages_count":23031,"maintainers_count":392,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-12-20T09:51:56.346Z","updated_at":"2026-04-27T18:20:23.384Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/namespaces"}},{"id":13566344,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:38:34.730Z","latest_release_published_at":"2026-02-11T06:38:34.730Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-12T01:19:10.984Z","created_at":"2026-02-11T06:38:34.432Z","updated_at":"2026-03-12T01:19:10.984Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:56:17.904Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":10415146,"name":"github.com/igrigorik/em-websocket","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":null,"versions_count":17,"first_release_published_at":"2010-08-24T03:42:53.000Z","latest_release_published_at":"2021-11-11T05:02:05.000Z","latest_release_number":"v0.5.3","last_synced_at":"2026-05-23T04:22:26.986Z","created_at":"2024-06-21T05:09:09.267Z","updated_at":"2026-05-23T04:22:26.986Z","registry_url":"https://pkg.go.dev/github.com/igrigorik/em-websocket","install_command":"go get github.com/igrigorik/em-websocket","documentation_url":"https://pkg.go.dev/github.com/igrigorik/em-websocket#section-documentation","metadata":{},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.363Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":6.9084630874839235,"dependent_packages_count":6.471761518307064,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.690112302895494},"purl":"pkg:golang/github.com/igrigorik/em-websocket","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/igrigorik/em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/igrigorik/em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/igrigorik/em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Figrigorik%2Fem-websocket/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2147083,"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":10347079,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-12-27T16:04:18.000Z","latest_release_published_at":"2023-12-27T16:04:18.000Z","latest_release_number":"0.5.3-r3","last_synced_at":"2026-03-20T15:14:08.170Z","created_at":"2024-06-11T11:21:45.577Z","updated_at":"2026-03-20T15:14:08.170Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.388Z","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:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1318,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2024-06-12T02:05:28.027Z","updated_at":"2024-06-12T02:05:28.027Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.20","url":"https://pkgs.alpinelinux.org/packages?branch=v3.20","ecosystem":"alpine","default":false,"packages_count":24162,"maintainers_count":405,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-06-07T11:51:39.915Z","updated_at":"2026-04-27T18:20:23.245Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/namespaces"}},{"id":5302741,"name":"rb-em-websocket","ecosystem":"conda","description":null,"homepage":"https://rubygems.org/gems/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2019-08-29T17:55:40.000Z","latest_release_published_at":"2019-08-29T17:55:40.000Z","latest_release_number":"0.5.1","last_synced_at":"2026-04-02T23:25:21.816Z","created_at":"2022-10-03T16:13:21.948Z","updated_at":"2026-04-02T23:25:21.817Z","registry_url":"https://anaconda.org/conda-forge/rb-em-websocket","install_command":"conda install -c conda-forge rb-em-websocket","documentation_url":null,"metadata":{},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.374Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":1,"rankings":{"downloads":null,"dependent_repos_count":24.33754179350267,"dependent_packages_count":28.97350167174011,"stargazers_count":9.68611208144119,"forks_count":12.834971804980288,"docker_downloads_count":null,"average":18.958031837916064},"purl":"pkg:conda/rb-em-websocket?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/rb-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/rb-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/rb-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/rb-em-websocket/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org"},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-04-27T18:20:20.507Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":11141667,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-12-27T16:04:18.000Z","latest_release_published_at":"2023-12-27T16:04:18.000Z","latest_release_number":"0.5.3-r3","last_synced_at":"2026-04-03T06:21:55.825Z","created_at":"2024-12-07T13:51:50.513Z","updated_at":"2026-04-03T06:21:55.825Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.378Z","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:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1371,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2024-12-10T15:37:17.194Z","updated_at":"2024-12-10T15:37:17.194Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.21","url":"https://pkgs.alpinelinux.org/packages?branch=v3.21","ecosystem":"alpine","default":false,"packages_count":25393,"maintainers_count":413,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-12-06T12:06:36.014Z","updated_at":"2026-04-27T18:20:22.676Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/namespaces"}},{"id":11768345,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2025-04-22T21:19:27.000Z","latest_release_published_at":"2025-04-22T21:19:27.000Z","latest_release_number":"0.5.3-r4","last_synced_at":"2026-04-03T06:22:05.079Z","created_at":"2025-06-07T19:33:41.824Z","updated_at":"2026-04-03T06:22:05.079Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.366Z","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:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1430,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2025-06-08T18:07:38.132Z","updated_at":"2025-06-08T18:07:38.132Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.22","url":"https://pkgs.alpinelinux.org/packages?branch=v3.22","ecosystem":"alpine","default":false,"packages_count":26322,"maintainers_count":422,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2025-06-05T10:49:56.987Z","updated_at":"2026-04-27T18:20:22.527Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/namespaces"}},{"id":198710,"name":"em-websocket","ecosystem":"rubygems","description":"EventMachine based WebSocket server","homepage":"http://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2009-12-22T14:56:46.424Z","latest_release_published_at":"2021-11-11T05:04:02.478Z","latest_release_number":"0.5.3","last_synced_at":"2026-05-23T17:30:36.127Z","created_at":"2022-04-05T21:44:28.239Z","updated_at":"2026-05-23T17:30:44.617Z","registry_url":"https://rubygems.org/gems/em-websocket","install_command":"gem install em-websocket -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/em-websocket/","metadata":{"funding":null},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1688,"open_issues_count":26,"forks_count":188,"subscribers_count":40,"default_branch":"master","last_synced_at":"2026-05-07T19:41:21.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2026-04-10T21:29:13.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33067476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2026-05-23T17:30:44.585Z","dependent_packages_count":152,"downloads":57768583,"downloads_period":"total","dependent_repos_count":411081,"rankings":{"downloads":0.44769795162855014,"dependent_repos_count":0.04181487717576744,"dependent_packages_count":0.2263578684448211,"stargazers_count":1.2366053010113625,"forks_count":1.9245994134766562,"docker_downloads_count":0.5842932170693904,"average":0.7435614381344245},"purl":"pkg:gem/em-websocket","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/em-websocket","docker_dependents_count":1062,"docker_downloads_count":279856195,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/em-websocket/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-30T18:00:45.416Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/em-websocket/codemeta","maintainers":[{"uuid":"99","login":"mloughran","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://rubygems.org/profiles/mloughran","role":null,"created_at":"2022-11-08T10:14:42.037Z","updated_at":"2022-11-08T10:14:42.037Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/mloughran/packages"},{"uuid":"1142","login":"igrigorik","name":null,"email":null,"url":null,"packages_count":32,"html_url":"https://rubygems.org/profiles/igrigorik","role":null,"created_at":"2022-11-08T10:14:42.028Z","updated_at":"2022-11-08T10:14:42.028Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/igrigorik/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":207303,"maintainers_count":68781,"namespaces_count":0,"keywords_count":18627,"github":"rubygems","metadata":{"funded_packages_count":7375},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-05-13T05:11:24.133Z","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":13011894,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2025-04-22T21:19:27.000Z","latest_release_published_at":"2025-04-22T21:19:27.000Z","latest_release_number":"0.5.3-r4","last_synced_at":"2026-04-09T01:03:43.572Z","created_at":"2026-01-31T01:52:34.812Z","updated_at":"2026-04-09T01:03:43.573Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{},"repo_metadata_updated_at":null,"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:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1474,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2026-03-03T16:29:54.359Z","updated_at":"2026-03-03T16:29:54.359Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.23","url":"https://pkgs.alpinelinux.org/packages?branch=v3.23","ecosystem":"alpine","default":false,"packages_count":27569,"maintainers_count":427,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2026-01-24T14:35:50.739Z","updated_at":"2026-04-27T18:20:22.382Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/namespaces"}},{"id":13712295,"name":"ruby-em-websocket","ecosystem":"debian","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:28:40.691Z","latest_release_published_at":"2026-02-12T23:28:40.691Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-13T15:47:09.639Z","created_at":"2026-02-12T23:28:40.547Z","updated_at":"2026-03-13T15:47:09.639Z","registry_url":"https://tracker.debian.org/pkg/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":"https://packages.debian.org/bookworm/ruby-em-websocket","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:28:41.287Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-em-websocket?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13466596,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:28:03.691Z","latest_release_published_at":"2026-02-09T16:28:03.691Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-09T17:05:05.823Z","created_at":"2026-02-09T16:28:01.657Z","updated_at":"2026-03-09T17:32:24.231Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":6050868,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":4,"first_release_published_at":"2022-04-04T17:24:23.000Z","latest_release_published_at":"2025-04-22T21:19:27.000Z","latest_release_number":"0.5.3-r4","last_synced_at":"2026-03-23T15:01:16.028Z","created_at":"2023-01-31T18:24:33.620Z","updated_at":"2026-03-23T15:01:16.036Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.381Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":14.64073262366938,"stargazers_count":6.011271133375078,"forks_count":7.854571070757671,"average":7.126643706950532},"purl":"pkg:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1816,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2023-01-31T21:28:26.173Z","updated_at":"2023-01-31T21:28:26.173Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-edge","url":"https://pkgs.alpinelinux.org/packages?branch=edge","ecosystem":"alpine","default":false,"packages_count":39425,"maintainers_count":879,"namespaces_count":3,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community","testing"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.616Z","updated_at":"2026-04-27T18:20:22.267Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/namespaces"}},{"id":6133649,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2022-04-04T17:24:23.000Z","latest_release_published_at":"2022-04-04T17:24:23.000Z","latest_release_number":"0.5.3-r1","last_synced_at":"2026-03-19T11:12:47.514Z","created_at":"2023-01-31T22:16:05.972Z","updated_at":"2026-03-19T11:12:47.514Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.16/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.378Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":27.31114632857897,"stargazers_count":4.590009978282562,"forks_count":5.282620179609086,"average":9.295944121617655},"purl":"pkg:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.16","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1011,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2023-02-01T12:09:58.825Z","updated_at":"2023-02-01T12:09:58.825Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.16","url":"https://pkgs.alpinelinux.org/packages?branch=v3.16","ecosystem":"alpine","default":false,"packages_count":17040,"maintainers_count":328,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.662Z","updated_at":"2026-04-27T18:20:24.295Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.16/namespaces"}},{"id":13721797,"name":"ruby-em-websocket","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T01:03:02.359Z","latest_release_published_at":"2026-02-13T01:03:02.359Z","latest_release_number":"0.5.1-2","last_synced_at":"2026-03-13T04:14:23.156Z","created_at":"2026-02-13T01:03:02.175Z","updated_at":"2026-03-13T04:14:23.156Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-em-websocket","standards_version":"4.2.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, rake, ruby-eventmachine (\u003e= 0.12.9), ruby-http-parser.rb (\u003e= 0.6.0), ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T01:03:03.291Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-em-websocket?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13668830,"name":"ruby-em-websocket","ecosystem":"debian","description":null,"homepage":"https://github.com/igrigorik/em-websocket","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:22:18.657Z","latest_release_published_at":"2026-02-12T12:22:18.657Z","latest_release_number":"0.5.3-1","last_synced_at":"2026-03-14T18:07:54.821Z","created_at":"2026-02-12T12:22:17.938Z","updated_at":"2026-03-14T18:07:54.822Z","registry_url":"https://tracker.debian.org/pkg/ruby-em-websocket","install_command":"apt-get install ruby-em-websocket","documentation_url":"https://packages.debian.org/trixie/ruby-em-websocket","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"ruby-em-websocket","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-eventmachine, ruby-http-parser.rb, ruby-em-http-request \u003c!nocheck\u003e, ruby-rspec \u003c!nocheck\u003e, ruby-em-spec \u003c!nocheck\u003e, ruby-websocket \u003c!nocheck\u003e","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:23:13.386Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-em-websocket?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-em-websocket/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":7781271,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-22T20:50:54.000Z","latest_release_published_at":"2023-04-22T20:50:54.000Z","latest_release_number":"0.5.3-r2","last_synced_at":"2026-03-14T16:56:49.188Z","created_at":"2023-05-22T14:49:08.235Z","updated_at":"2026-03-14T16:56:49.189Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.396Z","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":5.88499326716872,"forks_count":7.017106378734228,"docker_downloads_count":null,"average":3.2255249114757367},"purl":"pkg:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1182,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2023-05-23T08:20:16.401Z","updated_at":"2023-05-23T08:20:16.401Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.18","url":"https://pkgs.alpinelinux.org/packages?branch=v3.18","ecosystem":"alpine","default":false,"packages_count":20068,"maintainers_count":367,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-05-22T10:43:30.622Z","updated_at":"2026-04-27T18:20:23.557Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/namespaces"}},{"id":6168331,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2021-11-14T00:15:11.000Z","latest_release_published_at":"2021-11-14T00:15:11.000Z","latest_release_number":"0.5.3-r0","last_synced_at":"2026-03-12T13:11:46.921Z","created_at":"2023-02-01T00:03:03.976Z","updated_at":"2026-03-12T13:11:46.921Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.15/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.393Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":25.58491517941603,"stargazers_count":4.29463328498455,"forks_count":5.183830484959324,"average":8.765844737339975},"purl":"pkg:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.15","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":828,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2023-02-04T04:31:27.811Z","updated_at":"2023-02-04T04:31:27.811Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.15","url":"https://pkgs.alpinelinux.org/packages?branch=v3.15","ecosystem":"alpine","default":false,"packages_count":15857,"maintainers_count":287,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.684Z","updated_at":"2026-04-27T18:20:24.922Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.15/namespaces"}},{"id":6086230,"name":"ruby-em-websocket","ecosystem":"alpine","description":"EventMachine based WebSocket server","homepage":"https://github.com/igrigorik/em-websocket","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/igrigorik/em-websocket","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2022-04-04T17:24:23.000Z","latest_release_published_at":"2022-04-04T17:24:23.000Z","latest_release_number":"0.5.3-r1","last_synced_at":"2026-04-03T06:26:36.004Z","created_at":"2023-01-31T20:08:24.310Z","updated_at":"2026-04-03T06:26:36.005Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.17/community/x86_64/ruby-em-websocket","install_command":"apk add ruby-em-websocket","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":46149920,"uuid":"444184","full_name":"igrigorik/em-websocket","owner":"igrigorik","description":"EventMachine based WebSocket server","archived":false,"fork":false,"pushed_at":"2021-11-11T05:02:55.000Z","size":396,"stargazers_count":1689,"open_issues_count":26,"forks_count":188,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-10-11T15:31:57.959Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/","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/igrigorik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rdoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-21T00:32:43.000Z","updated_at":"2025-10-07T18:55:41.000Z","dependencies_parsed_at":"2022-08-28T22:01:26.786Z","dependency_job_id":null,"html_url":"https://github.com/igrigorik/em-websocket","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/igrigorik/em-websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/sbom","scorecard":{"id":482873,"data":{"date":"2025-08-11","repo":{"name":"github.com/igrigorik/em-websocket","commit":"3c9e39509c366ab66f479f9d688015b289f66f91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/22 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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE: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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 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-19T17:03:31.243Z","repository_id":46149920,"created_at":"2025-08-19T17:03:31.243Z","updated_at":"2025-08-19T17:03:31.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"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-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"igrigorik","name":"Ilya Grigorik","uuid":"10652","kind":"user","description":"Building merchant+web platform capabilities to supercharge commerce at @Shopify.","email":"","website":"https://ilya.grigorik.com","location":"Portland, OR","twitter":"igrigorik","company":"Shopify","icon_url":"https://avatars.githubusercontent.com/u/10652?u=978457b974ccc4bbf423f4c9d1e844632a18f710\u0026v=4","repositories_count":76,"last_synced_at":"2024-04-14T07:02:01.011Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/igrigorik","funding_links":[],"total_stars":24990,"followers":8670,"following":153,"created_at":"2022-11-02T16:20:21.195Z","updated_at":"2024-04-14T07:02:19.970Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrigorik/repositories"},"tags":[{"name":"v0.5.3","sha":"3c9e39509c366ab66f479f9d688015b289f66f91","kind":"commit","published_at":"2021-11-11T05:02:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"526aa130586463b90f27716dff6e5f7fb67f4b39","kind":"tag","published_at":"2020-09-23T22:06:41.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"afbe65cd9eb999d0aab15de527227c0d74bad249","kind":"tag","published_at":"2014-04-23T17:15:54.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"3a7ac209e39393250a89de2ff42b44dab8142d2f","kind":"tag","published_at":"2013-03-05T17:21:33.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.5.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"59d6fe314bddd372119af1754e1848cc329b74d3","kind":"tag","published_at":"2013-01-22T23:27:20.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.4.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"04b0770657b9ab8c5fca524301ebb7218cee2bb5","kind":"tag","published_at":"2012-07-12T08:59:26.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.8","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"389651165e3bda256b44ab5c88805f44a927124b","kind":"tag","published_at":"2012-07-11T12:20:34.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.7","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"ca98c114c474445c08e97166fb85bb79e582fb3a","kind":"tag","published_at":"2011-12-23T19:11:48.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.6","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"534c99f2b8e41ffeab9675a0452df5fa25bc8d43","kind":"tag","published_at":"2011-10-24T16:41:55.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.5","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"5d922713798c1cc772618da53942548c126b5554","kind":"tag","published_at":"2011-10-24T00:05:01.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"e2b3e5fe1710c6416e64480e8c990ebe991029b1","kind":"tag","published_at":"2011-10-21T16:55:05.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.3","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"1e8354db1a06f408e98ce2f1f2e83d9093da3706","kind":"tag","published_at":"2011-10-17T11:56:07.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.2","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"1fc0920a7b4f46ef216e374ee3ce84e4ea92bc14","kind":"tag","published_at":"2011-07-28T13:07:51.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"63456929cbed85fdd0a1b3227e9be11c0fed4055","kind":"tag","published_at":"2011-05-06T16:39:40.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.3.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"866290409c35b1557017fac3c12b701af71f8d2d","kind":"commit","published_at":"2011-03-01T23:46:29.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.1","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"df8d2c117b5ff43a499c2893513a8ee5c1c0257f","kind":"tag","published_at":"2010-11-23T16:50:30.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.2.0","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.2.0/manifests"},{"name":"v0.1.4","sha":"8887ee0af42973b1e0999008ce26e483ffd1da51","kind":"commit","published_at":"2010-08-24T03:42:53.000Z","download_url":"https://codeload.github.com/igrigorik/em-websocket/tar.gz/v0.1.4","html_url":"https://github.com/igrigorik/em-websocket/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/igrigorik/em-websocket@v0.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/tags/v0.1.4/manifests"}]},"repo_metadata_updated_at":"2025-10-13T03:11:43.382Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":27.253845290221175,"stargazers_count":5.916694734478501,"forks_count":6.635230717413271,"average":9.951442685528237},"purl":"pkg:apk/alpine/ruby-em-websocket?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.17","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/ruby-em-websocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/ruby-em-websocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/ruby-em-websocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T19:38:50.177Z","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/ruby-em-websocket/codemeta","maintainers":[{"uuid":"jakub@jirutka.cz","login":null,"name":"Jakub Jirutka","email":"jakub@jirutka.cz","url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","packages_count":1129,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Jakub Jirutka","role":null,"created_at":"2023-02-01T05:26:28.019Z","updated_at":"2023-02-01T05:26:28.019Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers/jakub@jirutka.cz/packages"}],"registry":{"name":"alpine-v3.17","url":"https://pkgs.alpinelinux.org/packages?branch=v3.17","ecosystem":"alpine","default":false,"packages_count":17817,"maintainers_count":352,"namespaces_count":2,"keywords_count":0,"github":"alpinelinux","metadata":{"repos":["main","community"]},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.642Z","updated_at":"2026-04-27T18:20:23.689Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/namespaces"}}],"commits":{"id":2967,"full_name":"igrigorik/em-websocket","default_branch":"master","total_commits":314,"total_committers":37,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":8.486486486486486,"dds":0.3694267515923567,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-05-23T04:21:48.730Z","last_synced_commit":"3c9e39509c366ab66f479f9d688015b289f66f91","created_at":"2023-03-07T09:15:47.247Z","updated_at":"2026-05-23T04:21:43.403Z","committers":[{"name":"Martyn Loughran","email":"me@mloughran.com","login":"mloughran","count":198},{"name":"Ilya Grigorik","email":"ilya@igvita.com","login":"igrigorik","count":40},{"name":"Glenn Rempe","email":"glenn@rempe.us","login":"grempe","count":11},{"name":"Hiroshi Ichikawa","email":"gimite@gmail.com","login":"gimite","count":9},{"name":"Makoto Inoue","email":"makoto@new-bamboo.co.uk","login":null,"count":7},{"name":"Bernard Potocki","email":"b.potocki@imanel.org","login":null,"count":6},{"name":"richo","email":"richo@psych0tik.net","login":"richo","count":3},{"name":"Jonathan Hoskin","email":"jonathan.hoskin@visfleet.com","login":null,"count":3},{"name":"Bernard Potocki","email":"bernard.potocki@gmail.com","login":null,"count":2},{"name":"Bernard Potocki","email":"bernard.potocki@imanel.org","login":"imanel","count":2},{"name":"Christian Larsen","email":"christianl@me.com","login":"christianl","count":2},{"name":"JamesVorder","email":"jamesvorder@gmail.com","login":"JamesVorder","count":2},{"name":"Jason Willems","email":"jason@willems.ca","login":"at1as","count":2},{"name":"Micheil Smith","email":"micheil@brandedcode.com","login":"miksago","count":2},{"name":"Steve Agalloco","email":"steve.agalloco@gmail.com","login":"stve","count":2},{"name":"zimbatm","email":"zimbatm@zimbatm.com","login":"zimbatm","count":2},{"name":"kyubuns","email":"jp@ex.cx","login":null,"count":1},{"name":"Ben Koski","email":"bkoski@nytimes.com","login":"bkoski","count":1},{"name":"dan sinclair","email":"dj2@everburning.com","login":"dj2","count":1},{"name":"Scott Tadman","email":"github@tadman.ca","login":"tadman","count":1},{"name":"Pavel Forkert","email":"fxposter@gmail.com","login":"fxposter","count":1},{"name":"Paulo Fagiani","email":"pfagiani@gmail.com","login":"fagiani","count":1},{"name":"Patricio Mac Adden","email":"patriciomacadden@gmail.com","login":"patriciomacadden","count":1},{"name":"Nikita Vasilyev","email":"me@elv1s.ru","login":"NV","count":1},{"name":"Mo Morsi","email":"mmorsi@redhat.com","login":"movitto","count":1},{"name":"Matt Colyer","email":"matt@colyer.name","login":"mcolyer","count":1},{"name":"Matt Aimonetti","email":"mattaimonetti@gmail.com","login":"mattetti","count":1},{"name":"Markus Fenske","email":"iblue@gmx.net","login":"iblue","count":1},{"name":"Jim Fisher","email":"jameshfisher@gmail.com","login":"jameshfisher","count":1},{"name":"Jan Lelis","email":"mail@janlelis.de","login":"janlelis","count":1},{"name":"Igor Wiedler","email":"igor@wiedler.ch","login":"igorw","count":1},{"name":"Dirk von Grünigen","email":"dirk@vongruenigen.com","login":"vongruenigen","count":1},{"name":"Dingding Ye","email":"yedingding@gmail.com","login":"sishen","count":1},{"name":"Daniel Waterworth","email":"Da.Waterworth@gmail.com","login":"danielwaterworth","count":1},{"name":"Daniel Pietzsch","email":"pietzsch.daniel@gmail.com","login":"danielpietzsch","count":1},{"name":"Chris Marshall","email":"chris@chrismar035.com","login":"codegoalie","count":1},{"name":"Bernerd Schaefer","email":"bj.schaefer@gmail.com","login":"bernerdschaefer","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-24T00:00:21.472Z","repositories_count":6240132,"commits_count":884573062,"contributors_count":34909567,"owners_count":1156780,"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":"igrigorik/em-websocket","html_url":"https://github.com/igrigorik/em-websocket","last_synced_at":"2026-04-30T18:00:45.416Z","status":"error","issues_count":66,"pull_requests_count":36,"avg_time_to_close_issue":18716033.978723403,"avg_time_to_close_pull_request":9994147.515151516,"issues_closed_count":47,"pull_requests_closed_count":33,"pull_request_authors_count":32,"issue_authors_count":61,"avg_comments_per_issue":2.8636363636363638,"avg_comments_per_pull_request":2.8333333333333335,"merged_pull_requests_count":19,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-10T16:49:23.326Z","updated_at":"2026-04-30T18:00:45.416Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrigorik%2Fem-websocket/issues","issue_labels_count":{"feature":4},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":61,"COLLABORATOR":4,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":23,"NONE":15,"COLLABORATOR":1},"issue_authors":{"mloughran":4,"SamSaffron":2,"sbrun":2,"shokai":1,"chrisallick":1,"lilijreey":1,"cybercent":1,"famince":1,"NicholasMata":1,"iguha0":1,"cmoulliard":1,"anand-zz":1,"nealAR":1,"taf2":1,"andrewhavens":1,"pboettcher":1,"etm":1,"bawNg":1,"Suryansh-Bhadouria-007":1,"fulldecent":1,"royaltm":1,"singpolyma":1,"sandlerr":1,"sethcall":1,"seven1240":1,"fwoeck":1,"matti":1,"kekoziar":1,"awood":1,"damian-rzeszot":1,"IMcPwn":1,"bliaxiong":1,"UlyssesZh":1,"carlosagp":1,"stoivo":1,"richmolj":1,"AJFaraday":1,"lstroud":1,"sgentile":1,"SyedTayyab":1,"davesag":1,"Gargron":1,"JokerCatz":1,"erickhsiao":1,"wakemaster39":1,"samuil":1,"AvnerCohen":1,"imanel":1,"jonahx":1,"jarmo":1,"blshkv":1,"Reasoning-Technology":1,"arlyxiao":1,"sodabrew":1,"jShaf":1,"stackus":1,"KeJunMao":1,"JothamB":1,"ghost":1,"CapsE":1,"aslakhellesoy":1},"pull_request_authors":{"taketo1113":4,"jonathanhoskin":2,"richo":2,"stve":2,"bkoski":1,"fagiani":1,"at1as":1,"vongruenigen":1,"KellyMahan":1,"dj2":1,"ThisIsMissEm":1,"ghost":1,"deivid-rodriguez":1,"gimite":1,"shokai":1,"tadman":1,"patriciomacadden":1,"gorlowski":1,"kyubuns":1,"foysavas":1,"johnnaegle":1,"iblue":1,"lilijreey":1,"kpeng":1,"janlelis":1,"zimbatm":1,"fliebe92":1,"jameshfisher":1,"codegoalie":1,"JamesVorder":1,"imanel":1,"movitto":1,"Inversion-des":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-20T00:00:29.037Z","repositories_count":14638466,"issues_count":34020494,"pull_requests_count":111485704,"authors_count":11266959,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"fliebe92":1},"maintainers":[{"login":"mloughran","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mloughran"},{"login":"jameshfisher","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jameshfisher"}],"active_maintainers":[]},"events":{"total":{"PullRequestEvent":3,"ForkEvent":5,"WatchEvent":7},"last_year":{"PullRequestEvent":1,"ForkEvent":2,"WatchEvent":3}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-08-28T22:01:26.341Z","updated_at":"2022-08-28T22:01:26.341Z","repository_link":"https://github.com/igrigorik/em-websocket/blob/master/Gemfile","dependencies":[{"id":3066585071,"package_name":"em-websocket-client","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":3066585072,"package_name":"em-spec","ecosystem":"rubygems","requirements":"~\u003e 0.2.6","direct":true,"kind":"runtime","optional":false},{"id":3066585073,"package_name":"em-http-request","ecosystem":"rubygems","requirements":"~\u003e 1.1.1","direct":true,"kind":"runtime","optional":false},{"id":3066585074,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3.5.0","direct":true,"kind":"runtime","optional":false},{"id":3066585075,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"em-websocket.gemspec","sha":null,"kind":"manifest","created_at":"2022-08-28T22:01:26.646Z","updated_at":"2022-08-28T22:01:26.646Z","repository_link":"https://github.com/igrigorik/em-websocket/blob/master/em-websocket.gemspec","dependencies":[{"id":3066586793,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"\u003e= 0.12.9","direct":true,"kind":"runtime","optional":false},{"id":3066586794,"package_name":"http_parser.rb","ecosystem":"rubygems","requirements":"~\u003e 0","direct":true,"kind":"runtime","optional":false}]}],"score":31.388667202998796,"created_at":"2024-12-15T21:38:07.827Z","updated_at":"2026-05-24T05:00:49.280Z","avatar_url":"https://github.com/igrigorik.png","language":"Ruby","monthly_downloads":0,"readme":"# EM-WebSocket\n\n[![Gem Version](https://badge.fury.io/rb/em-websocket.png)](http://rubygems.org/gems/em-websocket)\n[![Analytics](https://ga-beacon.appspot.com/UA-71196-10/em-websocket/readme)](https://github.com/igrigorik/ga-beacon)\n\nEventMachine based, async, Ruby WebSocket server. Take a look at examples directory, or check out the blog post: [Ruby \u0026 Websockets: TCP for the Web](http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/).\n\n## Simple server example\n\n```ruby\nrequire 'em-websocket'\n\nEM.run {\n  EM::WebSocket.run(:host =\u003e \"0.0.0.0\", :port =\u003e 8080) do |ws|\n    ws.onopen { |handshake|\n      puts \"WebSocket connection open\"\n\n      # Access properties on the EM::WebSocket::Handshake object, e.g.\n      # path, query_string, origin, headers\n\n      # Publish message to the client\n      ws.send \"Hello Client, you connected to #{handshake.path}\"\n    }\n\n    ws.onclose { puts \"Connection closed\" }\n\n    ws.onmessage { |msg|\n      puts \"Recieved message: #{msg}\"\n      ws.send \"Pong: #{msg}\"\n    }\n  end\n}\n```\n\n## Protocols supported, and protocol specific functionality\n\nSupports all WebSocket protocols in use in the wild (and a few that are not): drafts 75, 76, 1-17, rfc.\n\nWhile some of the changes between protocols are unimportant from the point of view of application developers, a few drafts did introduce new functionality. It's possible to easily test for this functionality by using\n\n### Ping \u0026 pong supported\n\nCall `ws.pingable?` to check whether ping \u0026 pong is supported by the protocol in use.\n\nIt's possible to send a ping frame (`ws.ping(body = '')`), which the client must respond to with a pong, or the server can send an unsolicited pong frame (`ws.pong(body = '')`) which the client should not respond to. These methods can be used regardless of protocol version; they return true if the protocol supports ping\u0026pong or false otherwise.\n\nWhen receiving a ping, the server will automatically respond with a pong as the spec requires (so you should _not_ write an onping handler that replies with a pong), however it is possible to bind to ping \u0026 pong events if desired by using the `onping` and `onpong` methods.\n\n### Healthchecks\n\nIt's possible to send a regular `HTTP GET` request to the `/healthcheck` endpoint and receive a `200` response from the server.\n\n### Close codes and reasons\n\nA WebSocket connection can be closed cleanly, regardless of protocol, by calling `ws.close(code = nil, body = nil)`.\n\nEarly protocols just close the TCP connection, draft 3 introduced a close handshake, and draft 6 added close codes and reasons to the close handshake. Call `ws.supports_close_codes?` to check whether close codes are supported (i.e. the protocol version is 6 or above).\n\nThe `onclose` callback is passed a hash which may contain following keys (depending on the protocol version):\n\n* `was_clean`: boolean indicating whether the connection was closed via the close handshake.\n* `code`: the close code. There are two special close codes which the server may set (as defined in the WebSocket spec):\n  * 1005: no code was supplied\n  * 1006: abnormal closure (the same as `was_clean: false`)\n* `reason`: the close reason\n\nAcceptable close codes are defined in the WebSocket rfc (\u003chttp://tools.ietf.org/html/rfc6455#section-7.4\u003e). The following codes can be supplies when calling `ws.close(code)`:\n\n* 1000: a generic normal close\n* range 3xxx: reserved for libraries, frameworks, and applications (and can be registered with IANA)\n* range 4xxx: for private use\n\nIf unsure use a code in the 4xxx range. em-websocket may also close a connection with one of the following close codes:\n\n* 1002: WebSocket protocol error.\n* 1009: Message too big to process. By default em-websocket will accept frames up to 10MB in size. If a frame is larger than this the connection will be closed without reading the frame data. The limit can be overriden globally (`EM::WebSocket.max_frame_size = bytes`) or on a specific connection (`ws.max_frame_size = bytes`).\n\n## Secure server\n\nIt is possible to accept secure `wss://` connections by passing `:secure =\u003e true` when opening the connection. Pass a `:tls_options` hash containing keys as described in http://www.rubydoc.info/github/eventmachine/eventmachine/EventMachine/Connection:start_tls\n\n**Warning**: Safari 5 does not currently support prompting on untrusted SSL certificates therefore using a self signed certificate may leave you scratching your head.\n\n```ruby\nEM::WebSocket.start({\n  :host =\u003e \"0.0.0.0\",\n  :port =\u003e 443,\n  :secure =\u003e true,\n  :tls_options =\u003e {\n    :private_key_file =\u003e \"/private/key\",\n    :cert_chain_file =\u003e \"/ssl/certificate\"\n  }\n}) do |ws|\n  # ...\nend\n```\n\nIt's possible to check whether an incoming connection is secure by reading `handshake.secure?` in the onopen callback.\n\n## Running behind an SSL Proxy/Terminator, like Stunnel\n\nThe `:secure_proxy =\u003e true` option makes it possible to use em-websocket behind a secure SSL proxy/terminator like [Stunnel](http://www.stunnel.org/) which does the actual encryption \u0026 decryption.\n\nNote that this option is only required to support drafts 75 \u0026 76 correctly (e.g. Safari 5.1.x \u0026 earlier, and Safari on iOS 5.x \u0026 earlier).\n\n```ruby\nEM::WebSocket.start({\n  :host =\u003e \"0.0.0.0\",\n  :port =\u003e 8080,\n  :secure_proxy =\u003e true\n}) do |ws|\n  # ...\nend\n```\n\n## Handling errors\n\nThere are two kinds of errors that need to be handled -- WebSocket protocol errors and errors in application code.\n\nWebSocket protocol errors (for example invalid data in the handshake or invalid message frames) raise errors which descend from `EM::WebSocket::WebSocketError`. Such errors are rescued internally and the WebSocket connection will be closed immediately or an error code sent to the browser in accordance to the WebSocket specification. It is possible to be notified in application code of such errors by including an `onerror` callback.\n\n```ruby\nws.onerror { |error|\n  if error.kind_of?(EM::WebSocket::WebSocketError)\n    # ...\n  end\n}\n```\n\nApplication errors are treated differently. If no `onerror` callback has been defined these errors will propagate to the EventMachine reactor, typically causing your program to terminate. If you wish to handle exceptions, simply supply an `onerror callback` and check for exceptions which are not descendant from `EM::WebSocket::WebSocketError`.\n\nIt is also possible to log all errors when developing by including the `:debug =\u003e true` option when initialising the WebSocket server.\n\n## Emulating WebSockets in older browsers\n\nIt is possible to emulate WebSockets in older browsers using flash emulation. For example take a look at the [web-socket-js](https://github.com/gimite/web-socket-js) project.\n\nUsing flash emulation does require some minimal support from em-websocket which is enabled by default. If flash connects to the WebSocket port and requests a policy file (which it will do if it fails to receive a policy file on port 843 after a timeout), em-websocket will return one. Also see \u003chttps://github.com/igrigorik/em-websocket/issues/61\u003e for an example policy file server which you can run on port 843.\n\n## Examples \u0026 Projects using em-websocket\n\n* [Pusher](http://pusher.com) - Realtime Messaging Service\n* [Livereload](https://github.com/mockko/livereload) - LiveReload applies CSS/JS changes to Safari or Chrome w/o reloading\n* [Twitter AMQP WebSocket Example](http://github.com/rubenfonseca/twitter-amqp-websocket-example)\n* examples/multicast.rb - broadcast all ruby tweets to all subscribers\n* examples/echo.rb - server \u003c\u003e client exchange via a websocket\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rack","sinatra","rubygems","feature-flag"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/349","html_url":"https://ruby.ecosyste.ms/projects/349"}