{"id":12349276,"name":"user_agent_parser","ecosystem":"rubygems","description":"A simple, comprehensive Ruby gem for parsing user agent strings\nwith the help of BrowserScope's UserAgent database\n","homepage":"https://github.com/ua-parser/uap-ruby","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ua-parser/uap-ruby","keywords_array":[],"namespace":null,"versions_count":38,"first_release_published_at":"2012-05-02T01:52:04.309Z","latest_release_published_at":"2026-02-12T11:54:04.606Z","latest_release_number":"2.21.0","last_synced_at":"2026-09-27T05:41:06.820Z","created_at":"2025-10-07T06:44:47.172Z","updated_at":"2026-09-27T05:41:06.945Z","registry_url":"https://gem.coop/gems/user_agent_parser","install_command":"gem install user_agent_parser -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/user_agent_parser/","metadata":{"funding":null},"repo_metadata":{"id":37450980,"uuid":"4198247","full_name":"ua-parser/uap-ruby","owner":"ua-parser","description":"A simple, comprehensive Ruby gem for parsing user agent strings with the help of BrowserScope's UA database","archived":false,"fork":false,"pushed_at":"2026-02-12T11:52:38.000Z","size":236,"stargazers_count":259,"open_issues_count":8,"forks_count":42,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-09-09T18:13:47.301Z","etag":null,"topics":["browserscope","parse","ruby","useragent","useragentparser"],"latest_commit_sha":null,"homepage":null,"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/ua-parser.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-05-02T00:59:14.000Z","updated_at":"2026-05-23T01:24:22.000Z","dependencies_parsed_at":"2023-02-16T22:45:24.450Z","dependency_job_id":"d33f9faf-9bef-4707-b8bf-08848588f837","html_url":"https://github.com/ua-parser/uap-ruby","commit_stats":{"total_commits":217,"total_committers":26,"mean_commits":8.346153846153847,"dds":0.7649769585253456,"last_synced_commit":"3ad9cd7987e602cdf13531870c5ca8d2b7e03109"},"previous_names":["toolmantim/user_agent_parser"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/ua-parser/uap-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ua-parser","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37430511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-18T02:00:15.364Z","response_time":89,"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":"ua-parser","name":"ua-parser","uuid":"1764972","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1764972?v=4","repositories_count":19,"last_synced_at":"2024-10-29T21:13:55.390Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ua-parser","funding_links":[],"total_stars":3338,"followers":37,"following":0,"created_at":"2022-11-02T16:27:06.061Z","updated_at":"2024-10-29T21:13:55.390Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ua-parser","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ua-parser/repositories"},"tags":[{"name":"v2.21.0","sha":"38dc9d19771e03071a14204146d3305a742e8270","kind":"commit","published_at":"2026-02-12T11:51:50.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.21.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.21.0/manifests"},{"name":"v2.20.0","sha":"9b65f3c27ea979cf05dcc17b2f28c2ba42f72e7c","kind":"commit","published_at":"2025-07-21T13:39:35.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.20.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.20.0/manifests"},{"name":"v2.19.0","sha":"195d27813c4e7dab1a766f0e9f31d0856100230b","kind":"tag","published_at":"2024-12-11T00:48:23.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.19.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.19.0/manifests"},{"name":"v2.18.0","sha":"9c4db5232aa8eeba05864772a0c4c7d8eaf384dc","kind":"tag","published_at":"2024-06-04T18:20:39.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.18.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.18.0/manifests"},{"name":"v2.17.0","sha":"8c67213524fcc757562e4b31e0d1172c3573c609","kind":"tag","published_at":"2024-02-24T00:31:07.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.17.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.17.0/manifests"},{"name":"v2.16.0","sha":"092eb10ed49ea9570f52a46f7ff2a0fe20e7667f","kind":"tag","published_at":"2023-06-08T00:54:55.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.16.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.16.0/manifests"},{"name":"v2.15.0","sha":"397d81817b70f9656e8754839eb935f46e3f3007","kind":"tag","published_at":"2023-04-13T01:50:30.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.15.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.15.0/manifests"},{"name":"v2.14.0","sha":"64ff3c003ae2c615dfd459b1f20901c4f87aebe5","kind":"tag","published_at":"2023-01-31T20:18:57.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.14.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.14.0/manifests"},{"name":"v2.13.0","sha":"312c331937c3af81626794de8e24b9d71cde906f","kind":"tag","published_at":"2022-10-21T17:12:35.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.13.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.13.0/manifests"},{"name":"v2.12.0","sha":"ae7777e50c7a28c11c2b9acea858d3c7da4dec68","kind":"tag","published_at":"2022-10-21T01:03:02.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.12.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.12.0/manifests"},{"name":"v2.10.0","sha":"23023d213f035e0387cd245a0bc9339cdbc9d362","kind":"tag","published_at":"2022-04-18T23:37:51.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.10.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.10.0/manifests"},{"name":"v2.11.0","sha":"c24a36de7f34974614f40904742d0b77a2aba544","kind":"tag","published_at":"2022-04-18T23:36:45.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.11.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.11.0/manifests"},{"name":"v2.9.0","sha":"d659e39ff77ca2a0beb2fa2908a377f2491a7423","kind":"commit","published_at":"2022-01-28T03:04:25.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.9.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.9.0/manifests"},{"name":"v2.8.0","sha":"ae0cabfdb220720858f33cf9357715fab4f770ea","kind":"commit","published_at":"2021-11-02T19:15:33.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.8.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.8.0/manifests"},{"name":"v2.7.0","sha":"20f83225c34015c0a77321711206ababfcb860fe","kind":"commit","published_at":"2020-05-25T07:48:50.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.7.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.7.0/manifests"},{"name":"v2.6.0","sha":"bca5614891b0f52ebeff02849909affeb1b434ef","kind":"commit","published_at":"2020-03-06T12:58:06.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.6.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.6.0/manifests"},{"name":"v2.5.3","sha":"b7e1a0608a7a220e4a05c1a85b0c57bc0d13f4a6","kind":"commit","published_at":"2020-01-30T11:55:46.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.5.3","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.3/manifests"},{"name":"v2.5.2","sha":"94c08aad8e12daba5361866ed7ed971e665199ab","kind":"commit","published_at":"2019-10-28T09:52:44.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.5.2","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.2/manifests"},{"name":"v2.5.1","sha":"502f6544a888e4b76be9df7db54020e8f1aad6da","kind":"commit","published_at":"2019-01-08T08:42:09.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.5.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.1/manifests"},{"name":"v2.5.0","sha":"7f695579e39dfb89501cfee9e7bf8f01967a7ba5","kind":"commit","published_at":"2018-10-10T12:17:23.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.5.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.5.0/manifests"},{"name":"v2.4.1","sha":"7fd454f7669ebf591af0973cd22c99a319e6371b","kind":"commit","published_at":"2017-10-02T02:28:23.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.4.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"d1cae506fbb4ce9908cbbf776d8785927ce485c3","kind":"tag","published_at":"2017-09-11T18:14:54.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.4.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.4.0/manifests"},{"name":"v2.3.2","sha":"bfbc513ef86e2093de5783c897ab72342e65ad65","kind":"commit","published_at":"2017-07-18T20:14:28.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.3.2","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"3e4cf83a5e42885c18259975ab587c17a67f911c","kind":"commit","published_at":"2017-05-07T04:28:21.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.3.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"8aa8017b9675a55c161362143a4422bb11778c80","kind":"tag","published_at":"2015-10-07T03:48:37.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.3.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"b8a5c79daf2cb2fb1ff530fab8d8bfc5aef1e8c2","kind":"tag","published_at":"2014-11-08T14:07:57.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.2.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.2.0/manifests"},{"name":"v2.1.5","sha":"2e2b9e7d0673e1f3776448988488a34ba1499796","kind":"tag","published_at":"2014-05-08T15:19:02.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.5","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.5/manifests"},{"name":"v2.1.4","sha":"f372eafa32b63c4f32738ef0d483c776f0b2e594","kind":"commit","published_at":"2014-03-13T08:04:00.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.4","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.4/manifests"},{"name":"v2.1.3","sha":"c58781d3309e7f8b6ff0e5eb01ceed99b9589d88","kind":"tag","published_at":"2014-03-13T07:22:34.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.3","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"ac46ab11416e8f45955255a2ff9633720a654e19","kind":"tag","published_at":"2014-01-30T21:51:45.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.2","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"5ce0f648af4c5bde4489b39a035de38257b8a5e4","kind":"tag","published_at":"2013-10-28T23:44:11.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"3a3ed7677d9ad90507e77508b77c51084bf62d7c","kind":"tag","published_at":"2013-05-09T00:15:11.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.1.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"0c38efe68d40499d66a9855c1eefdb47ec93eac5","kind":"tag","published_at":"2013-02-18T12:08:03.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v2.0.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"562f04d8560563046c40441281c0f6359fc67d9c","kind":"tag","published_at":"2012-11-10T12:29:51.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v1.0.2","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"2d26c00a8661a4aa9bbbd0e4ff24ef9a86c1725f","kind":"tag","published_at":"2012-06-03T22:45:46.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v1.0.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"af27a304f526a4aef067aa7a56c5a901a68f6334","kind":"tag","published_at":"2012-06-03T22:21:08.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v1.0.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v1.0.0/manifests"},{"name":"v0.1.2","sha":"91071bc1d14afd539631eb7bebab0d5c67e533a2","kind":"tag","published_at":"2012-05-06T08:01:33.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v0.1.2","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"10aaf4264625b8cb641fa9b14587d6640e605591","kind":"tag","published_at":"2012-05-02T01:58:14.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v0.1.1","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"312aabcb38fcc613fadf60d07821caeb4e2a7422","kind":"commit","published_at":"2012-05-02T01:50:43.000Z","download_url":"https://codeload.github.com/ua-parser/uap-ruby/tar.gz/v0.1.0","html_url":"https://github.com/ua-parser/uap-ruby/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ua-parser/uap-ruby@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-09-27T05:41:06.944Z","dependent_packages_count":0,"downloads":43513491,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.6271388950461434,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":1.5851476209269761,"average":0.5530716289932799},"purl":"pkg:gem/user_agent_parser?repository_url=https://gem.coop","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXBjcXEtNTk2Mi1odmN3","url":"https://github.com/advisories/GHSA-pcqq-5962-hvcw","title":"Denial of Service in uap-core when processing crafted User-Agent strings","description":"### Impact\nSome regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings.\n\n### Patches\nPlease update `uap-ruby` to \u0026gt;= v2.6.0\n\n### For more information\nhttps://github.com/ua-parser/uap-core/security/advisories/GHSA-cmcx-xhr8-3w9p\n\nReported in `uap-core` by Ben Caller @bcaller","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-03-10T18:02:49.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/ua-parser/uap-ruby/security/advisories/GHSA-pcqq-5962-hvcw","https://github.com/ua-parser/uap-ruby/commit/2bb18268f4c5ba7d4ba0e21c296bf6437063da3a","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/user_agent_parser/GHSA-pcqq-5962-hvcw.yml","https://github.com/advisories/GHSA-pcqq-5962-hvcw"],"source_kind":"github","identifiers":["GHSA-pcqq-5962-hvcw"],"repository_url":"https://github.com/ua-parser/uap-ruby","blast_radius":0.0,"created_at":"2022-12-21T16:13:25.816Z","updated_at":"2025-05-22T17:12:57.000Z","epss_percentage":null,"epss_percentile":null,"packages":[{"ecosystem":"rubygems","package_name":"user_agent_parser","versions":[{"first_patched_version":"2.6.0","vulnerable_version_range":"\u003c 2.6.0"}],"purl":"pkg:gem/user_agent_parser","statistics":{"dependent_packages_count":19,"dependent_repos_count":387,"downloads":36755867,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.1","0.1.2","1.0.0","1.0.1","1.0.2","2.0.0","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.2.0","2.3.0","2.3.1","2.3.2","2.4.0","2.4.1","2.5.0","2.5.1","2.5.2","2.5.3"],"unaffected_versions":["2.6.0","2.7.0","2.8.0","2.9.0","2.10.0","2.11.0","2.12.0","2.13.0","2.14.0","2.15.0","2.16.0","2.17.0","2.18.0","2.20.0"]}]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWNtY3gteGhyOC0zdzlw","url":"https://github.com/advisories/GHSA-cmcx-xhr8-3w9p","title":"Denial of Service in uap-core when processing crafted User-Agent strings","description":"### Impact\n\nSome regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings.\n\n### Patches\n\nPlease update uap-core to \u0026amp;amp;gt;= v0.7.3\n\nDownstream packages such as uap-python, uap-ruby etc which depend upon uap-core follow different version schemes.\n\n### Details\n\nEach vulnerable regular expression reported here contains 3 overlapping capture groups. Backtracking has approximately cubic time complexity with respect to the length of the user-agent string.\n\n#### Regex 1:\n\n```\n\\bSmartWatch *\\( *([^;]+) *; *([^;]+) *;\n```\n\nis vulnerable in portion ` *([^;]+) *` and can be attacked with\n\n```python\n\u0026amp;amp;quot;SmartWatch(\u0026amp;amp;quot; + (\u0026amp;amp;quot; \u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n```\ne.g.\n```\nSmartWatch(                                   z\n```\n\n\n#### Regex 2:\n\n```\n; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\\d+[^\\);]+)[^\\);]*\\)\n```\n\nis vulnerable in portion `\\d+[^\\);]+[^\\);]*` and can be attacked with\n\n```python\n\u0026amp;amp;quot;;A Build HuaweiA\u0026amp;amp;quot; + (\u0026amp;amp;quot;4\u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n```\n\n\n#### Regex 3:\n\n```\n(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\\)\n```\n\nis vulnerable in portion ` *([^;]*) *` and can be attacked with\n\n```python\n\u0026amp;amp;quot;HbbTV/0.0.0 (;LGE;\u0026amp;amp;quot; + (\u0026amp;amp;quot; \u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n```\n\n#### Regex 4:\n\n```\n(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;\n```\n\nis vulnerable in portions ` *(?:CUS:([^;]*)|([^;]+)) *` and ` *([^;]*) *` and can be attacked with\n\n```python\n\u0026amp;amp;quot;HbbTV/0.0.0 (;CUS:;\u0026amp;amp;quot; + (\u0026amp;amp;quot; \u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n\u0026amp;amp;quot;HbbTV/0.0.0 (;\u0026amp;amp;quot; + (\u0026amp;amp;quot; \u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n\u0026amp;amp;quot;HbbTV/0.0.0 (;z;\u0026amp;amp;quot; + (\u0026amp;amp;quot; \u0026amp;amp;quot; * 3500) + \u0026amp;amp;quot;z\u0026amp;amp;quot;\n```\n\nReported by Ben Caller @bcaller","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-02-20T23:26:10.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/ua-parser/uap-core/security/advisories/GHSA-cmcx-xhr8-3w9p","https://github.com/ua-parser/uap-core/commit/0afd61ed85396a3b5316f18bfd1edfaadf8e88e1","https://nvd.nist.gov/vuln/detail/CVE-2020-5243","https://github.com/ua-parser/uap-ruby/security/advisories/GHSA-pcqq-5962-hvcw","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/user_agent_parser/CVE-2020-5243.yml","https://github.com/advisories/GHSA-cmcx-xhr8-3w9p"],"source_kind":"github","identifiers":["GHSA-cmcx-xhr8-3w9p","CVE-2020-5243"],"repository_url":"https://github.com/ua-parser/uap-core","blast_radius":0.0,"created_at":"2022-12-21T16:13:26.055Z","updated_at":"2025-10-30T23:07:33.911Z","epss_percentage":0.00805,"epss_percentile":0.72888,"packages":[{"ecosystem":"rubygems","package_name":"user_agent_parser","versions":[{"first_patched_version":"2.6.0","vulnerable_version_range":"\u003c 2.6.0"}],"purl":"pkg:gem/user_agent_parser","statistics":{"dependent_packages_count":19,"dependent_repos_count":387,"downloads":36755867,"downloads_period":"total"},"affected_versions":["0.1.0","0.1.1","0.1.2","1.0.0","1.0.1","1.0.2","2.0.0","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.2.0","2.3.0","2.3.1","2.3.2","2.4.0","2.4.1","2.5.0","2.5.1","2.5.2","2.5.3"],"unaffected_versions":["2.6.0","2.7.0","2.8.0","2.9.0","2.10.0","2.11.0","2.12.0","2.13.0","2.14.0","2.15.0","2.16.0","2.17.0","2.18.0","2.20.0"]}]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/user_agent_parser","docker_dependents_count":30,"docker_downloads_count":344146,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/user_agent_parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/user_agent_parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-26T04:17:51.406Z","issues_count":13,"pull_requests_count":106,"avg_time_to_close_issue":57791990.14285714,"avg_time_to_close_pull_request":5952639.32038835,"issues_closed_count":7,"pull_requests_closed_count":103,"pull_request_authors_count":30,"issue_authors_count":13,"avg_comments_per_issue":1.7692307692307692,"avg_comments_per_pull_request":0.6320754716981132,"merged_pull_requests_count":85,"bot_issues_count":0,"bot_pull_requests_count":2,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":6433.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ua-parser%2Fuap-ruby/issues","maintainers":[{"login":"nijikon","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nijikon"},{"login":"opti","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/opti"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/user_agent_parser/codemeta","maintainers":[{"uuid":"604","login":"jnunemaker","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://gem.coop/profiles/jnunemaker","role":null,"created_at":"2025-10-10T00:39:15.392Z","updated_at":"2025-10-10T00:39:15.392Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/jnunemaker/packages"},{"uuid":"70400","login":"opti","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://gem.coop/profiles/opti","role":null,"created_at":"2025-10-10T00:39:15.318Z","updated_at":"2025-10-10T00:39:15.318Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/opti/packages"},{"uuid":"836","login":"toolmantim","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://gem.coop/profiles/toolmantim","role":null,"created_at":"2025-10-10T00:39:15.356Z","updated_at":"2025-10-10T00:39:15.356Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/toolmantim/packages"},{"uuid":"83661","login":"wallin","name":null,"email":null,"url":null,"packages_count":8,"html_url":"https://gem.coop/profiles/wallin","role":null,"created_at":"2025-10-10T00:39:15.502Z","updated_at":"2025-10-10T00:39:15.502Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/wallin/packages"},{"uuid":"81","login":null,"name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://gem.coop/profiles/","role":null,"created_at":"2025-10-10T00:39:15.466Z","updated_at":"2025-10-10T00:39:15.466Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/81/packages"},{"uuid":"98386","login":"tomaszpajor","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://gem.coop/profiles/tomaszpajor","role":null,"created_at":"2025-10-10T00:39:15.573Z","updated_at":"2025-10-10T00:39:15.573Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/tomaszpajor/packages"},{"uuid":"66132","login":"deverton","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://gem.coop/profiles/deverton","role":null,"created_at":"2025-10-10T00:39:15.429Z","updated_at":"2025-10-10T00:39:15.429Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/deverton/packages"},{"uuid":"94595","login":"efouts","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://gem.coop/profiles/efouts","role":null,"created_at":"2025-10-10T00:39:15.536Z","updated_at":"2025-10-10T00:39:15.536Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/efouts/packages"}]}