{"id":390,"name":null,"description":"Easy Diffing in Ruby","url":"https://github.com/samg/diffy","last_synced_at":"2026-04-30T04:03:18.773Z","repository":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1306,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-03-25T09:55:24.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-03-21T23:16:24.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31097211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T11:37:01.486Z","status":"ssl_error","status_checked_at":"2026-03-28T11:36:50.178Z","response_time":79,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"samg","name":"Sam Goldstein","uuid":"22148","kind":"user","description":null,"email":"","website":null,"location":"Portland OR","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22148?u=eeb649f06c11cc96846beb3f405bb59aacad1bd1\u0026v=4","repositories_count":44,"last_synced_at":"2023-04-09T06:36:30.884Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/samg","funding_links":[],"total_stars":2783,"followers":null,"following":null,"created_at":"2022-11-02T16:22:20.273Z","updated_at":"2024-03-25T17:37:10.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg/repositories"},"packages":[{"id":13804219,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/samg/diffy","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:18:08.414Z","latest_release_published_at":"2026-02-13T18:18:08.414Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-13T19:23:27.105Z","created_at":"2026-02-13T18:18:08.223Z","updated_at":"2026-03-13T19:23:27.429Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1303,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-02-13T07:50:00.776Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-02-06T21:27:20.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29411138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"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"}},"repo_metadata_updated_at":"2026-02-13T18:19:30.137Z","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-diffy?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-diffy/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":13605344,"name":"ruby-diffy","ecosystem":"debian","description":null,"homepage":"http://github.com/samg/diffy","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:19:50.765Z","latest_release_published_at":"2026-02-11T11:19:50.765Z","latest_release_number":"3.2.1-1","last_synced_at":"2026-03-13T20:01:50.100Z","created_at":"2026-02-11T11:19:50.576Z","updated_at":"2026-03-13T20:01:50.100Z","registry_url":"https://tracker.debian.org/pkg/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":"https://packages.debian.org/buster/ruby-diffy","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.1.5","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 11~), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1302,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-01-28T21:05:28.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-01-22T22:02:44.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"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"}},"repo_metadata_updated_at":"2026-02-11T15:15:05.048Z","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-diffy?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-diffy/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-04-27T18:20:39.693Z","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":13566307,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/samg/diffy","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:38:08.877Z","latest_release_published_at":"2026-02-11T06:38:08.877Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-11T14:11:31.946Z","created_at":"2026-02-11T06:38:08.712Z","updated_at":"2026-03-11T14:11:32.150Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1302,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-01-28T21:05:28.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-01-22T22:02:44.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"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"}},"repo_metadata_updated_at":"2026-02-11T14:56:16.984Z","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-diffy?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-diffy/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":13750951,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/samg/diffy","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:12:33.615Z","latest_release_published_at":"2026-02-13T07:12:33.615Z","latest_release_number":"3.3.0-1","last_synced_at":"2026-03-13T14:28:33.247Z","created_at":"2026-02-13T07:12:33.445Z","updated_at":"2026-03-13T14:28:33.481Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1302,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-01-28T21:05:28.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-01-22T22:02:44.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"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"}},"repo_metadata_updated_at":"2026-02-13T07:13:01.722Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":0.559588626739262,"forks_count":0.542463317029791,"docker_downloads_count":null,"average":0.27551298594226326},"purl":"pkg:deb/ubuntu/ruby-diffy?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-diffy/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":13530180,"name":"ruby-diffy","ecosystem":"debian","description":null,"homepage":"http://github.com/samg/diffy","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:29:17.854Z","latest_release_published_at":"2026-02-10T23:29:17.854Z","latest_release_number":"3.3.0-1","last_synced_at":"2026-03-14T04:23:59.564Z","created_at":"2026-02-10T23:29:17.636Z","updated_at":"2026-03-14T04:23:59.564Z","registry_url":"https://tracker.debian.org/pkg/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":"https://packages.debian.org/bullseye/ruby-diffy","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1302,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-01-28T21:05:28.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-01-22T22:02:44.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"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"}},"repo_metadata_updated_at":"2026-02-11T14:26:33.980Z","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-diffy?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-diffy/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":13950381,"name":"ruby-diffy","ecosystem":"guix","description":"Convenient diffing in ruby","homepage":"https://github.com/samg/diffy","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/samg/diffy","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:55:55.756Z","latest_release_published_at":"2026-03-02T18:55:55.756Z","latest_release_number":"3.2.1","last_synced_at":"2026-04-27T16:20:05.952Z","created_at":"2026-03-02T18:55:55.581Z","updated_at":"2026-04-27T16:20:07.157Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-diffy/3.2.1/","install_command":"guix install ruby-diffy","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n12785","metadata":{"location":"gnu/packages/ruby-xyz.scm:12785","variable_name":"ruby-diffy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-27T16:20:07.129Z","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-diffy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-diffy/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31165,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"guix-mirror","metadata":{"funded_packages_count":286},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-04-03T06:23:21.396Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":13668793,"name":"ruby-diffy","ecosystem":"debian","description":null,"homepage":"https://github.com/samg/diffy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/samg/diffy","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:21:20.339Z","latest_release_published_at":"2026-02-12T12:21:20.339Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-14T15:02:31.723Z","created_at":"2026-02-12T12:21:20.065Z","updated_at":"2026-03-14T15:02:31.724Z","registry_url":"https://tracker.debian.org/pkg/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":"https://packages.debian.org/trixie/ruby-diffy","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:22:00.292Z","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-diffy?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-diffy/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":13466559,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/samg/diffy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:26:49.797Z","latest_release_published_at":"2026-02-09T16:26:49.797Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-09T17:04:37.070Z","created_at":"2026-02-09T16:26:49.524Z","updated_at":"2026-03-09T17:32:28.030Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","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-diffy?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-diffy/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":13778707,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/samg/diffy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:15:41.685Z","latest_release_published_at":"2026-02-13T13:15:41.685Z","latest_release_number":"3.3.0-1","last_synced_at":"2026-03-13T22:41:36.000Z","created_at":"2026-02-13T13:15:40.760Z","updated_at":"2026-03-13T22:41:36.001Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.5.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:15:42.262Z","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-diffy?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-diffy/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":12214313,"name":"diffy","ecosystem":"rubygems","description":"Convenient diffing in ruby","homepage":"http://github.com/samg/diffy","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":[],"namespace":null,"versions_count":34,"first_release_published_at":"2010-11-23T02:55:38.144Z","latest_release_published_at":"2025-06-09T15:24:46.921Z","latest_release_number":"3.4.4","last_synced_at":"2026-04-27T16:31:23.837Z","created_at":"2025-10-07T02:27:49.005Z","updated_at":"2026-04-27T16:34:42.949Z","registry_url":"https://gem.coop/gems/diffy","install_command":"gem install diffy -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/diffy/","metadata":{"funding":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1306,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-03-25T09:55:24.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-03-21T23:16:24.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31097211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T11:37:01.486Z","status":"ssl_error","status_checked_at":"2026-03-28T11:36:50.178Z","response_time":79,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"samg","name":"Sam Goldstein","uuid":"22148","kind":"user","description":null,"email":"","website":null,"location":"Portland OR","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22148?u=eeb649f06c11cc96846beb3f405bb59aacad1bd1\u0026v=4","repositories_count":44,"last_synced_at":"2023-04-09T06:36:30.884Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/samg","funding_links":[],"total_stars":2783,"followers":null,"following":null,"created_at":"2022-11-02T16:22:20.273Z","updated_at":"2024-03-25T17:37:10.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg/repositories"},"tags":[{"name":"3.4.0","sha":"6c7b6db734056d1692fb26bc5ce06d81de27dd18","kind":"commit","published_at":"2020-08-07T16:27:10.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.4.0","html_url":"https://github.com/samg/diffy/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"fbfc4e0954c7793fdaccc374f61f3681b1ec1efe","kind":"commit","published_at":"2018-12-30T05:02:45.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.3.0","html_url":"https://github.com/samg/diffy/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0/manifests"},{"name":"3.1.0","sha":"24123ab774bf36bdb56e50ab5498f25f1bbd14f4","kind":"commit","published_at":"2015-12-17T07:01:57.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.1.0","html_url":"https://github.com/samg/diffy/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0/manifests"},{"name":"3.0.7","sha":"dd705616aa50484b41404b25d84228361828a6b9","kind":"commit","published_at":"2014-10-12T16:54:51.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.7","html_url":"https://github.com/samg/diffy/releases/tag/3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7/manifests"},{"name":"3.0.6","sha":"1f1ed75d46751b71650dd82c08de911d6a4cb427","kind":"commit","published_at":"2014-07-25T05:06:58.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.6","html_url":"https://github.com/samg/diffy/releases/tag/3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6/manifests"},{"name":"3.0.5","sha":"f0a6887a45c1eee6e254475d1de0d6a982c17031","kind":"commit","published_at":"2014-06-20T04:31:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.5","html_url":"https://github.com/samg/diffy/releases/tag/3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5/manifests"},{"name":"3.0.4","sha":"303dd37786b3b10fbfa2ed20f3b5ac73ee8e5113","kind":"commit","published_at":"2014-04-15T02:32:50.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.4","html_url":"https://github.com/samg/diffy/releases/tag/3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4/manifests"},{"name":"3.0.3","sha":"8b22cb4233bc197d8e9d91346ac141e3508140ab","kind":"commit","published_at":"2014-03-16T21:40:08.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.3","html_url":"https://github.com/samg/diffy/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"c2d6e4d7fbeff00fb39838fec7c7158a9a5feb5f","kind":"commit","published_at":"2014-02-28T06:12:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.2","html_url":"https://github.com/samg/diffy/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"49b50a6d9f7385a54e489551cb81bde4a7e2c41e","kind":"commit","published_at":"2013-07-16T06:09:25.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.1","html_url":"https://github.com/samg/diffy/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"c02b866fcf0e7f0e7fb608f511c327059b408cbd","kind":"commit","published_at":"2013-07-15T05:49:40.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.0","html_url":"https://github.com/samg/diffy/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0/manifests"},{"name":"2.0.7","sha":"d15a43b71689ac7007e26a7dd0c3ae69a3e579ce","kind":"commit","published_at":"2012-05-31T15:42:38.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.7","html_url":"https://github.com/samg/diffy/releases/tag/2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7/manifests"},{"name":"2.0.6","sha":"d091bd7f7bef8702df645337d7ce99f158c4aaf9","kind":"commit","published_at":"2012-03-04T01:58:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.6","html_url":"https://github.com/samg/diffy/releases/tag/2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6/manifests"},{"name":"2.0.5","sha":"e560cd2c4cd415c772d745bad9575320da72275f","kind":"commit","published_at":"2011-11-22T04:12:37.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.5","html_url":"https://github.com/samg/diffy/releases/tag/2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5/manifests"},{"name":"2.0.4","sha":"bebfa3fd0d45d8b806ed88a772fcecb0f4f876da","kind":"commit","published_at":"2011-09-11T16:49:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.4","html_url":"https://github.com/samg/diffy/releases/tag/2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4/manifests"},{"name":"2.0.3","sha":"1ff1b05cb3d004e57fca7d6d5c4c49f639863569","kind":"commit","published_at":"2011-07-20T14:49:15.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.3","html_url":"https://github.com/samg/diffy/releases/tag/2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3/manifests"},{"name":"2.0.2","sha":"7b10ea2b592958337ad380cc0f85882ccc3c6c50","kind":"commit","published_at":"2011-06-20T16:45:49.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.2","html_url":"https://github.com/samg/diffy/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2/manifests"},{"name":"2.0.1","sha":"6178b960951c2f3402288baf876fc0bdda31fed5","kind":"commit","published_at":"2010-12-08T04:55:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.1","html_url":"https://github.com/samg/diffy/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"9d872dc6db627037de5ed0464858d0c90effaf41","kind":"commit","published_at":"2010-11-21T03:42:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.0","html_url":"https://github.com/samg/diffy/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-27T16:34:42.922Z","dependent_packages_count":0,"downloads":101795881,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.2622302002681777,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.17896535317271509,"average":0.1102988883602232},"purl":"pkg:gem/diffy?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/diffy","docker_dependents_count":385,"docker_downloads_count":551006244,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-15T21:00:25.573Z","issues_count":53,"pull_requests_count":52,"avg_time_to_close_issue":10748520.578947369,"avg_time_to_close_pull_request":24378475.163265307,"issues_closed_count":19,"pull_requests_closed_count":49,"pull_request_authors_count":45,"issue_authors_count":48,"avg_comments_per_issue":1.8679245283018868,"avg_comments_per_pull_request":1.5576923076923077,"merged_pull_requests_count":30,"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":2078254.0,"past_year_avg_time_to_close_pull_request":1889.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":2.5,"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/samg%2Fdiffy/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/diffy/codemeta","maintainers":[{"uuid":"2717","login":"samg","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://gem.coop/profiles/samg","role":null,"created_at":"2025-10-07T15:46:01.554Z","updated_at":"2025-10-07T15:46:01.554Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/samg/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190339,"maintainers_count":67463,"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":13712248,"name":"ruby-diffy","ecosystem":"debian","description":null,"homepage":"https://github.com/samg/diffy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/samg/diffy","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:28:17.591Z","latest_release_published_at":"2026-02-12T23:28:17.591Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-13T23:43:14.068Z","created_at":"2026-02-12T23:28:17.313Z","updated_at":"2026-03-13T23:43:14.069Z","registry_url":"https://tracker.debian.org/pkg/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":"https://packages.debian.org/bookworm/ruby-diffy","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:28:18.213Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-diffy?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-diffy/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":190832,"name":"diffy","ecosystem":"rubygems","description":"Convenient diffing in ruby","homepage":"http://github.com/samg/diffy","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":[],"namespace":null,"versions_count":34,"first_release_published_at":"2010-11-23T02:55:38.144Z","latest_release_published_at":"2025-06-09T15:24:46.921Z","latest_release_number":"3.4.4","last_synced_at":"2026-04-27T22:12:35.691Z","created_at":"2022-04-05T20:50:28.199Z","updated_at":"2026-04-27T22:12:35.691Z","registry_url":"https://rubygems.org/gems/diffy","install_command":"gem install diffy -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/diffy/","metadata":{"funding":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2023-10-13T19:16:07.000Z","size":162,"stargazers_count":1258,"open_issues_count":42,"forks_count":103,"subscribers_count":26,"default_branch":"main","last_synced_at":"2024-09-07T04:11:48.724Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2024-09-05T10:26:04.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":199,"total_committers":34,"mean_commits":5.852941176470588,"dds":0.6683417085427136,"last_synced_commit":"85b18fa6b659f724937dea58ebbc0564f4475c8c"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":218341896,"owners_count":16315356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"samg","name":"Sam Goldstein","uuid":"22148","kind":"user","description":null,"email":"","website":null,"location":"Portland OR","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22148?u=eeb649f06c11cc96846beb3f405bb59aacad1bd1\u0026v=4","repositories_count":44,"last_synced_at":"2023-04-09T06:36:30.884Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/samg","funding_links":[],"total_stars":2783,"followers":null,"following":null,"created_at":"2022-11-02T16:22:20.273Z","updated_at":"2024-03-25T17:37:10.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg/repositories"},"tags":[{"name":"3.4.0","sha":"6c7b6db734056d1692fb26bc5ce06d81de27dd18","kind":"commit","published_at":"2020-08-07T16:27:10.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.4.0","html_url":"https://github.com/samg/diffy/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"fbfc4e0954c7793fdaccc374f61f3681b1ec1efe","kind":"commit","published_at":"2018-12-30T05:02:45.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.3.0","html_url":"https://github.com/samg/diffy/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0/manifests"},{"name":"3.1.0","sha":"24123ab774bf36bdb56e50ab5498f25f1bbd14f4","kind":"commit","published_at":"2015-12-17T07:01:57.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.1.0","html_url":"https://github.com/samg/diffy/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0/manifests"},{"name":"3.0.7","sha":"dd705616aa50484b41404b25d84228361828a6b9","kind":"commit","published_at":"2014-10-12T16:54:51.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.7","html_url":"https://github.com/samg/diffy/releases/tag/3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7/manifests"},{"name":"3.0.6","sha":"1f1ed75d46751b71650dd82c08de911d6a4cb427","kind":"commit","published_at":"2014-07-25T05:06:58.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.6","html_url":"https://github.com/samg/diffy/releases/tag/3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6/manifests"},{"name":"3.0.5","sha":"f0a6887a45c1eee6e254475d1de0d6a982c17031","kind":"commit","published_at":"2014-06-20T04:31:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.5","html_url":"https://github.com/samg/diffy/releases/tag/3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5/manifests"},{"name":"3.0.4","sha":"303dd37786b3b10fbfa2ed20f3b5ac73ee8e5113","kind":"commit","published_at":"2014-04-15T02:32:50.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.4","html_url":"https://github.com/samg/diffy/releases/tag/3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4/manifests"},{"name":"3.0.3","sha":"8b22cb4233bc197d8e9d91346ac141e3508140ab","kind":"commit","published_at":"2014-03-16T21:40:08.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.3","html_url":"https://github.com/samg/diffy/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"c2d6e4d7fbeff00fb39838fec7c7158a9a5feb5f","kind":"commit","published_at":"2014-02-28T06:12:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.2","html_url":"https://github.com/samg/diffy/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"49b50a6d9f7385a54e489551cb81bde4a7e2c41e","kind":"commit","published_at":"2013-07-16T06:09:25.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.1","html_url":"https://github.com/samg/diffy/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"c02b866fcf0e7f0e7fb608f511c327059b408cbd","kind":"commit","published_at":"2013-07-15T05:49:40.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.0","html_url":"https://github.com/samg/diffy/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0/manifests"},{"name":"2.0.7","sha":"d15a43b71689ac7007e26a7dd0c3ae69a3e579ce","kind":"commit","published_at":"2012-05-31T15:42:38.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.7","html_url":"https://github.com/samg/diffy/releases/tag/2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7/manifests"},{"name":"2.0.6","sha":"d091bd7f7bef8702df645337d7ce99f158c4aaf9","kind":"commit","published_at":"2012-03-04T01:58:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.6","html_url":"https://github.com/samg/diffy/releases/tag/2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6/manifests"},{"name":"2.0.5","sha":"e560cd2c4cd415c772d745bad9575320da72275f","kind":"commit","published_at":"2011-11-22T04:12:37.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.5","html_url":"https://github.com/samg/diffy/releases/tag/2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5/manifests"},{"name":"2.0.4","sha":"bebfa3fd0d45d8b806ed88a772fcecb0f4f876da","kind":"commit","published_at":"2011-09-11T16:49:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.4","html_url":"https://github.com/samg/diffy/releases/tag/2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4/manifests"},{"name":"2.0.3","sha":"1ff1b05cb3d004e57fca7d6d5c4c49f639863569","kind":"commit","published_at":"2011-07-20T14:49:15.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.3","html_url":"https://github.com/samg/diffy/releases/tag/2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3/manifests"},{"name":"2.0.2","sha":"7b10ea2b592958337ad380cc0f85882ccc3c6c50","kind":"commit","published_at":"2011-06-20T16:45:49.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.2","html_url":"https://github.com/samg/diffy/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2/manifests"},{"name":"2.0.1","sha":"6178b960951c2f3402288baf876fc0bdda31fed5","kind":"commit","published_at":"2010-12-08T04:55:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.1","html_url":"https://github.com/samg/diffy/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"9d872dc6db627037de5ed0464858d0c90effaf41","kind":"commit","published_at":"2010-11-21T03:42:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.0","html_url":"https://github.com/samg/diffy/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0/manifests"}]},"repo_metadata_updated_at":"2024-09-09T16:24:12.062Z","dependent_packages_count":211,"downloads":101812304,"downloads_period":"total","dependent_repos_count":6198,"rankings":{"downloads":0.35403262675483105,"dependent_repos_count":0.4086707329311671,"dependent_packages_count":0.18510052296473054,"stargazers_count":1.7300208516854183,"forks_count":2.59642510676732,"docker_downloads_count":0.21074698096586789,"average":0.9141661370115558},"purl":"pkg:gem/diffy","advisories":[{"uuid":"GSA_kwCzR0hTQS01d3c5LTlxcDIteDUyNM4AAs80","url":"https://github.com/advisories/GHSA-5ww9-9qp2-x524","title":"Improper handling of double quotes in file name in Diffy in Windows environment","description":"The function that calls the diff tool in versions of Diffy prior to 3.4.1 does not properly handle double quotes in a filename when run in a Windows environment. This allows attackers to execute arbitrary commands via a crafted string.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-06-24T00:00:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-33127","https://github.com/samg/diffy/commit/478f392082b66d38f54a02b4bb9c41be32fd6593","https://github.com/samg/diffy/blob/56fd935aea256742f7352b050592542d3d153bf6/CHANGELOG#L1","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/diffy/CVE-2022-33127.yml","https://github.com/advisories/GHSA-5ww9-9qp2-x524"],"source_kind":"github","identifiers":["GHSA-5ww9-9qp2-x524","CVE-2022-33127"],"repository_url":"https://github.com/samg/diffy","blast_radius":0.0,"created_at":"2022-12-21T16:12:16.932Z","updated_at":"2026-04-27T13:09:32.286Z","epss_percentage":0.0054,"epss_percentile":0.67523,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01d3c5LTlxcDIteDUyNM4AAs80","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS01d3c5LTlxcDIteDUyNM4AAs80","packages":[{"ecosystem":"rubygems","package_name":"diffy","versions":[{"first_patched_version":"3.4.1","vulnerable_version_range":"\u003c 3.4.1"}],"purl":"pkg:gem/diffy","statistics":{"dependent_packages_count":211,"dependent_repos_count":6198,"downloads":101765323,"downloads_period":"total"},"affected_versions":["1.1.0","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.0.10","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.1.0","3.2.0","3.2.1","3.3.0","3.4.0"],"unaffected_versions":["3.4.1","3.4.2","3.4.3","3.4.4"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01d3c5LTlxcDIteDUyNM4AAs80/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/diffy","docker_dependents_count":385,"docker_downloads_count":551006244,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/diffy/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2024-09-09T16:24:11.316Z","issues_count":52,"pull_requests_count":50,"avg_time_to_close_issue":7599419.705882353,"avg_time_to_close_pull_request":23863623.127659574,"issues_closed_count":17,"pull_requests_closed_count":47,"pull_request_authors_count":43,"issue_authors_count":47,"avg_comments_per_issue":1.7884615384615385,"avg_comments_per_pull_request":1.5,"merged_pull_requests_count":28,"bot_issues_count":0,"bot_pull_requests_count":0,"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":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":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":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/diffy/codemeta","maintainers":[{"uuid":"2717","login":"samg","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://rubygems.org/profiles/samg","role":null,"created_at":"2022-11-08T09:20:13.423Z","updated_at":"2022-11-08T09:20:13.423Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/samg/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205486,"maintainers_count":68455,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12214597,"name":"dirb","ecosystem":"rubygems","description":"This gem has been renamed to diffy. `gem install diffy`","homepage":"http://github.com/samg/diffy/tree/master","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2010-06-29T03:15:35.427Z","latest_release_published_at":"2011-02-06T18:55:24.322Z","latest_release_number":"2.0.2","last_synced_at":"2026-04-22T00:01:25.606Z","created_at":"2025-10-07T02:28:18.517Z","updated_at":"2026-04-22T00:07:07.766Z","registry_url":"https://gem.coop/gems/dirb","install_command":"gem install dirb -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/dirb/","metadata":{"funding":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1306,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-03-25T09:55:24.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-03-21T23:16:24.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31097211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T11:37:01.486Z","status":"ssl_error","status_checked_at":"2026-03-28T11:36:50.178Z","response_time":79,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"samg","name":"Sam Goldstein","uuid":"22148","kind":"user","description":null,"email":"","website":null,"location":"Portland OR","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22148?u=eeb649f06c11cc96846beb3f405bb59aacad1bd1\u0026v=4","repositories_count":44,"last_synced_at":"2023-04-09T06:36:30.884Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/samg","funding_links":[],"total_stars":2783,"followers":null,"following":null,"created_at":"2022-11-02T16:22:20.273Z","updated_at":"2024-03-25T17:37:10.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg/repositories"},"tags":[{"name":"3.4.0","sha":"6c7b6db734056d1692fb26bc5ce06d81de27dd18","kind":"commit","published_at":"2020-08-07T16:27:10.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.4.0","html_url":"https://github.com/samg/diffy/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"fbfc4e0954c7793fdaccc374f61f3681b1ec1efe","kind":"commit","published_at":"2018-12-30T05:02:45.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.3.0","html_url":"https://github.com/samg/diffy/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0/manifests"},{"name":"3.1.0","sha":"24123ab774bf36bdb56e50ab5498f25f1bbd14f4","kind":"commit","published_at":"2015-12-17T07:01:57.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.1.0","html_url":"https://github.com/samg/diffy/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0/manifests"},{"name":"3.0.7","sha":"dd705616aa50484b41404b25d84228361828a6b9","kind":"commit","published_at":"2014-10-12T16:54:51.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.7","html_url":"https://github.com/samg/diffy/releases/tag/3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7/manifests"},{"name":"3.0.6","sha":"1f1ed75d46751b71650dd82c08de911d6a4cb427","kind":"commit","published_at":"2014-07-25T05:06:58.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.6","html_url":"https://github.com/samg/diffy/releases/tag/3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6/manifests"},{"name":"3.0.5","sha":"f0a6887a45c1eee6e254475d1de0d6a982c17031","kind":"commit","published_at":"2014-06-20T04:31:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.5","html_url":"https://github.com/samg/diffy/releases/tag/3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5/manifests"},{"name":"3.0.4","sha":"303dd37786b3b10fbfa2ed20f3b5ac73ee8e5113","kind":"commit","published_at":"2014-04-15T02:32:50.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.4","html_url":"https://github.com/samg/diffy/releases/tag/3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4/manifests"},{"name":"3.0.3","sha":"8b22cb4233bc197d8e9d91346ac141e3508140ab","kind":"commit","published_at":"2014-03-16T21:40:08.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.3","html_url":"https://github.com/samg/diffy/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"c2d6e4d7fbeff00fb39838fec7c7158a9a5feb5f","kind":"commit","published_at":"2014-02-28T06:12:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.2","html_url":"https://github.com/samg/diffy/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"49b50a6d9f7385a54e489551cb81bde4a7e2c41e","kind":"commit","published_at":"2013-07-16T06:09:25.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.1","html_url":"https://github.com/samg/diffy/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"c02b866fcf0e7f0e7fb608f511c327059b408cbd","kind":"commit","published_at":"2013-07-15T05:49:40.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.0","html_url":"https://github.com/samg/diffy/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0/manifests"},{"name":"2.0.7","sha":"d15a43b71689ac7007e26a7dd0c3ae69a3e579ce","kind":"commit","published_at":"2012-05-31T15:42:38.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.7","html_url":"https://github.com/samg/diffy/releases/tag/2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7/manifests"},{"name":"2.0.6","sha":"d091bd7f7bef8702df645337d7ce99f158c4aaf9","kind":"commit","published_at":"2012-03-04T01:58:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.6","html_url":"https://github.com/samg/diffy/releases/tag/2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6/manifests"},{"name":"2.0.5","sha":"e560cd2c4cd415c772d745bad9575320da72275f","kind":"commit","published_at":"2011-11-22T04:12:37.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.5","html_url":"https://github.com/samg/diffy/releases/tag/2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5/manifests"},{"name":"2.0.4","sha":"bebfa3fd0d45d8b806ed88a772fcecb0f4f876da","kind":"commit","published_at":"2011-09-11T16:49:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.4","html_url":"https://github.com/samg/diffy/releases/tag/2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4/manifests"},{"name":"2.0.3","sha":"1ff1b05cb3d004e57fca7d6d5c4c49f639863569","kind":"commit","published_at":"2011-07-20T14:49:15.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.3","html_url":"https://github.com/samg/diffy/releases/tag/2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3/manifests"},{"name":"2.0.2","sha":"7b10ea2b592958337ad380cc0f85882ccc3c6c50","kind":"commit","published_at":"2011-06-20T16:45:49.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.2","html_url":"https://github.com/samg/diffy/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2/manifests"},{"name":"2.0.1","sha":"6178b960951c2f3402288baf876fc0bdda31fed5","kind":"commit","published_at":"2010-12-08T04:55:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.1","html_url":"https://github.com/samg/diffy/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"9d872dc6db627037de5ed0464858d0c90effaf41","kind":"commit","published_at":"2010-11-21T03:42:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.0","html_url":"https://github.com/samg/diffy/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-22T00:07:07.766Z","dependent_packages_count":0,"downloads":36529,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":18.667005493317184,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.222335164439062},"purl":"pkg:gem/dirb?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/dirb","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/dirb","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/dirb/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-15T21:00:25.573Z","issues_count":53,"pull_requests_count":52,"avg_time_to_close_issue":10748520.578947369,"avg_time_to_close_pull_request":24378475.163265307,"issues_closed_count":19,"pull_requests_closed_count":49,"pull_request_authors_count":45,"issue_authors_count":48,"avg_comments_per_issue":1.8679245283018868,"avg_comments_per_pull_request":1.5576923076923077,"merged_pull_requests_count":30,"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":2078254.0,"past_year_avg_time_to_close_pull_request":1889.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":2.5,"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/samg%2Fdiffy/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dirb/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dirb/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dirb/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dirb/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/dirb/codemeta","maintainers":[{"uuid":"2717","login":"samg","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://gem.coop/profiles/samg","role":null,"created_at":"2025-10-07T15:46:42.583Z","updated_at":"2025-10-07T15:46:42.583Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/samg/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190339,"maintainers_count":67463,"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":191119,"name":"dirb","ecosystem":"rubygems","description":"This gem has been renamed to diffy. `gem install diffy`","homepage":"http://github.com/samg/diffy/tree/master","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/samg/diffy","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2010-06-29T03:15:35.427Z","latest_release_published_at":"2011-02-06T18:55:24.322Z","latest_release_number":"2.0.2","last_synced_at":"2026-04-22T00:01:25.836Z","created_at":"2022-04-05T20:52:16.401Z","updated_at":"2026-04-22T00:07:07.789Z","registry_url":"https://rubygems.org/gems/dirb","install_command":"gem install dirb -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/dirb/","metadata":{"funding":null},"repo_metadata":{"id":959175,"uuid":"745996","full_name":"samg/diffy","owner":"samg","description":"Easy Diffing in Ruby","archived":false,"fork":false,"pushed_at":"2025-06-09T15:24:52.000Z","size":163,"stargazers_count":1306,"open_issues_count":41,"forks_count":105,"subscribers_count":21,"default_branch":"main","last_synced_at":"2026-03-25T09:55:24.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubygems.org/gems/diffy","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/samg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"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}},"created_at":"2010-06-29T02:49:04.000Z","updated_at":"2026-03-21T23:16:24.000Z","dependencies_parsed_at":"2024-01-03T01:18:52.362Z","dependency_job_id":"d5d5b2b2-acbf-4ac6-ab70-91f7450bc49d","html_url":"https://github.com/samg/diffy","commit_stats":{"total_commits":201,"total_committers":35,"mean_commits":5.742857142857143,"dds":0.6716417910447761,"last_synced_commit":"830689b3730fbc4ace8e9be9a8e73df0ff652e5d"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/samg/diffy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","download_url":"https://codeload.github.com/samg/diffy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/sbom","scorecard":{"id":797447,"data":{"date":"2025-08-11","repo":{"name":"github.com/samg/diffy","commit":"72dc29ff5a5b3b873a5993da58dc2068989477df"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"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":"Code-Review","score":4,"reason":"Found 10/21 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":2,"reason":"3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2","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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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 19 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-23T09:25:08.699Z","repository_id":959175,"created_at":"2025-08-23T09:25:08.702Z","updated_at":"2025-08-23T09:25:08.702Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31097211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-28T11:37:01.486Z","status":"ssl_error","status_checked_at":"2026-03-28T11:36:50.178Z","response_time":79,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"samg","name":"Sam Goldstein","uuid":"22148","kind":"user","description":null,"email":"","website":null,"location":"Portland OR","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22148?u=eeb649f06c11cc96846beb3f405bb59aacad1bd1\u0026v=4","repositories_count":44,"last_synced_at":"2023-04-09T06:36:30.884Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/samg","funding_links":[],"total_stars":2783,"followers":null,"following":null,"created_at":"2022-11-02T16:22:20.273Z","updated_at":"2024-03-25T17:37:10.753Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samg/repositories"},"tags":[{"name":"3.4.0","sha":"6c7b6db734056d1692fb26bc5ce06d81de27dd18","kind":"commit","published_at":"2020-08-07T16:27:10.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.4.0","html_url":"https://github.com/samg/diffy/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.4.0/manifests"},{"name":"3.3.0","sha":"fbfc4e0954c7793fdaccc374f61f3681b1ec1efe","kind":"commit","published_at":"2018-12-30T05:02:45.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.3.0","html_url":"https://github.com/samg/diffy/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.3.0/manifests"},{"name":"3.1.0","sha":"24123ab774bf36bdb56e50ab5498f25f1bbd14f4","kind":"commit","published_at":"2015-12-17T07:01:57.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.1.0","html_url":"https://github.com/samg/diffy/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.1.0/manifests"},{"name":"3.0.7","sha":"dd705616aa50484b41404b25d84228361828a6b9","kind":"commit","published_at":"2014-10-12T16:54:51.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.7","html_url":"https://github.com/samg/diffy/releases/tag/3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.7/manifests"},{"name":"3.0.6","sha":"1f1ed75d46751b71650dd82c08de911d6a4cb427","kind":"commit","published_at":"2014-07-25T05:06:58.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.6","html_url":"https://github.com/samg/diffy/releases/tag/3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.6/manifests"},{"name":"3.0.5","sha":"f0a6887a45c1eee6e254475d1de0d6a982c17031","kind":"commit","published_at":"2014-06-20T04:31:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.5","html_url":"https://github.com/samg/diffy/releases/tag/3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.5/manifests"},{"name":"3.0.4","sha":"303dd37786b3b10fbfa2ed20f3b5ac73ee8e5113","kind":"commit","published_at":"2014-04-15T02:32:50.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.4","html_url":"https://github.com/samg/diffy/releases/tag/3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.4/manifests"},{"name":"3.0.3","sha":"8b22cb4233bc197d8e9d91346ac141e3508140ab","kind":"commit","published_at":"2014-03-16T21:40:08.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.3","html_url":"https://github.com/samg/diffy/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"c2d6e4d7fbeff00fb39838fec7c7158a9a5feb5f","kind":"commit","published_at":"2014-02-28T06:12:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.2","html_url":"https://github.com/samg/diffy/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"49b50a6d9f7385a54e489551cb81bde4a7e2c41e","kind":"commit","published_at":"2013-07-16T06:09:25.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.1","html_url":"https://github.com/samg/diffy/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"c02b866fcf0e7f0e7fb608f511c327059b408cbd","kind":"commit","published_at":"2013-07-15T05:49:40.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/3.0.0","html_url":"https://github.com/samg/diffy/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/3.0.0/manifests"},{"name":"2.0.7","sha":"d15a43b71689ac7007e26a7dd0c3ae69a3e579ce","kind":"commit","published_at":"2012-05-31T15:42:38.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.7","html_url":"https://github.com/samg/diffy/releases/tag/2.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.7/manifests"},{"name":"2.0.6","sha":"d091bd7f7bef8702df645337d7ce99f158c4aaf9","kind":"commit","published_at":"2012-03-04T01:58:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.6","html_url":"https://github.com/samg/diffy/releases/tag/2.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.6/manifests"},{"name":"2.0.5","sha":"e560cd2c4cd415c772d745bad9575320da72275f","kind":"commit","published_at":"2011-11-22T04:12:37.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.5","html_url":"https://github.com/samg/diffy/releases/tag/2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.5/manifests"},{"name":"2.0.4","sha":"bebfa3fd0d45d8b806ed88a772fcecb0f4f876da","kind":"commit","published_at":"2011-09-11T16:49:18.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.4","html_url":"https://github.com/samg/diffy/releases/tag/2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.4/manifests"},{"name":"2.0.3","sha":"1ff1b05cb3d004e57fca7d6d5c4c49f639863569","kind":"commit","published_at":"2011-07-20T14:49:15.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.3","html_url":"https://github.com/samg/diffy/releases/tag/2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.3/manifests"},{"name":"2.0.2","sha":"7b10ea2b592958337ad380cc0f85882ccc3c6c50","kind":"commit","published_at":"2011-06-20T16:45:49.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.2","html_url":"https://github.com/samg/diffy/releases/tag/2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.2/manifests"},{"name":"2.0.1","sha":"6178b960951c2f3402288baf876fc0bdda31fed5","kind":"commit","published_at":"2010-12-08T04:55:02.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.1","html_url":"https://github.com/samg/diffy/releases/tag/2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.1/manifests"},{"name":"2.0.0","sha":"9d872dc6db627037de5ed0464858d0c90effaf41","kind":"commit","published_at":"2010-11-21T03:42:30.000Z","download_url":"https://codeload.github.com/samg/diffy/tar.gz/2.0.0","html_url":"https://github.com/samg/diffy/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/samg/diffy@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/tags/2.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-22T00:07:07.788Z","dependent_packages_count":1,"downloads":36529,"downloads_period":"total","dependent_repos_count":3,"rankings":{"downloads":17.74893975073554,"dependent_repos_count":12.706480304955528,"dependent_packages_count":7.660595792743188,"stargazers_count":1.6930105431977458,"forks_count":2.537821674826774,"docker_downloads_count":null,"average":8.469369613291756},"purl":"pkg:gem/dirb","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/dirb","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/dirb","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/dirb/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-15T21:00:25.573Z","issues_count":53,"pull_requests_count":52,"avg_time_to_close_issue":10748520.578947369,"avg_time_to_close_pull_request":24378475.163265307,"issues_closed_count":19,"pull_requests_closed_count":49,"pull_request_authors_count":45,"issue_authors_count":48,"avg_comments_per_issue":1.8679245283018868,"avg_comments_per_pull_request":1.5576923076923077,"merged_pull_requests_count":30,"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":2078254.0,"past_year_avg_time_to_close_pull_request":1889.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":2.5,"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/samg%2Fdiffy/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dirb/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dirb/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dirb/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dirb/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/dirb/codemeta","maintainers":[{"uuid":"2717","login":"samg","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://rubygems.org/profiles/samg","role":null,"created_at":"2022-11-08T09:21:41.769Z","updated_at":"2022-11-08T09:21:41.769Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/samg/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205486,"maintainers_count":68455,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":13406535,"name":"ruby-diffy","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/samg/diffy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/samg/diffy","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T15:04:28.308Z","latest_release_published_at":"2026-02-06T15:04:28.308Z","latest_release_number":"3.4.2-1","last_synced_at":"2026-03-06T16:47:06.988Z","created_at":"2026-02-06T15:04:27.317Z","updated_at":"2026-03-06T16:47:06.989Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-diffy","install_command":"apt-get install ruby-diffy","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-diffy","standards_version":"4.6.1","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, ruby-rspec","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":{},"purl":"pkg:deb/ubuntu/ruby-diffy?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-diffy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-diffy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-diffy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-diffy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-diffy/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-diffy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-diffy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-diffy/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}}],"commits":{"id":3149,"full_name":"samg/diffy","default_branch":"main","total_commits":203,"total_committers":35,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":5.8,"dds":0.5566502463054187,"past_year_total_commits":2,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.5,"last_synced_at":"2026-04-26T02:04:26.609Z","last_synced_commit":"72dc29ff5a5b3b873a5993da58dc2068989477df","created_at":"2023-03-07T09:16:43.496Z","updated_at":"2026-04-26T02:03:16.701Z","committers":[{"name":"Sam Goldstein","email":"sam@aboutus.org","login":"samg","count":90},{"name":"Sam Goldstein","email":"sgrock@gmail.org","login":null,"count":41},{"name":"Abinoam P. Marques Jr","email":"abinoam@gmail.com","login":"abinoam","count":8},{"name":"Sam Goldstein","email":"sgoldstein@gitlab.com","login":null,"count":7},{"name":"Quinn","email":"chaffeqa@gmail.com","login":"chaffeqa","count":7},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":6},{"name":"Sam Goldstein","email":"sam@stackery.io","login":null,"count":4},{"name":"Runar Skaare Tveiten","email":"runar@tveiten.io","login":"runar","count":4},{"name":"Peter M. Goldstein","email":"peter.m.goldstein@gmail.com","login":"petergoldstein","count":3},{"name":"danielpizarro","email":"daniel@firenxis.com","login":"danielpizarro","count":3},{"name":"sshaw","email":"skye.shaw@gmail.com","login":"sshaw","count":3},{"name":"Bernhard Weichel","email":"github.com@nospam.weichel21.de","login":"bwl21","count":2},{"name":"Lincoln Ritter","email":"lincoln.ritter@gmail.com","login":"lritter","count":2},{"name":"toshimaru","email":"me@toshimaru.net","login":"toshimaru","count":2},{"name":"ti","email":"tidev@drwholdings.com","login":null,"count":1},{"name":"Sam Goldstein","email":"sam@newrelic.com","login":null,"count":1},{"name":"Bryan Ricker","email":"bricker88@gmail.com","login":"bricker","count":1},{"name":"printercu","email":"printercu@gmail.com","login":"printercu","count":1},{"name":"bollard","email":"ryanwballard@gmail.com","login":"bollard","count":1},{"name":"Yuichi Tateno","email":"hotchpotch@gmail.com","login":"hotchpotch","count":1},{"name":"Tony Ta","email":"tonyta.tt@gmail.com","login":"tonyta","count":1},{"name":"Tomás Pollak","email":"tomaspollak@gmail.com","login":"tomas","count":1},{"name":"Santiago Castro","email":"santi.1410@hotmail.com","login":"bryant1410","count":1},{"name":"Sam Umbach","email":"samumbach@gmail.com","login":"sumbach","count":1},{"name":"Sam Bostock","email":"sam.bostock@shopify.com","login":"sambostock","count":1},{"name":"Richard Stiller","email":"night_zocker@gmx.de","login":"Lexanius","count":1},{"name":"Pankaj Tyagi","email":"ptyagi@sycamoreinformatics.com","login":"ptyagi16","count":1},{"name":"P-SiZK","email":"54477535+P-SiZK","login":"P-SiZK","count":1},{"name":"Nigel Thorne","email":"github@nigelthorne.com","login":"NigelThorne","count":1},{"name":"Kerri Miller","email":"kerrizor@kerrizor.com","login":"kerrizor","count":1},{"name":"Jason Barnabe","email":"jason.barnabe@gmail.com","login":"JasonBarnabe","count":1},{"name":"Jakub Jirutka","email":"jakub@jirutka.cz","login":"jirutka","count":1},{"name":"J Smith","email":"dark.panda@gmail.com","login":"dark-panda","count":1},{"name":"Evgeniy Krokhmal","email":"ekrokhmal@cleverua.com","login":"keo64","count":1},{"name":"Claudio Bley","email":"claudio.bley@gmail.com","login":"avdv","count":1}],"past_year_committers":[{"name":"P-SiZK","email":"54477535+P-SiZK","login":"P-SiZK","count":1},{"name":"Sam Goldstein","email":"sgoldstein@gitlab.com","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:07.369Z","repositories_count":6220884,"commits_count":899948428,"contributors_count":34881236,"owners_count":1146589,"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":"samg/diffy","html_url":"https://github.com/samg/diffy","last_synced_at":"2026-04-15T21:00:25.573Z","status":"error","issues_count":53,"pull_requests_count":52,"avg_time_to_close_issue":10748520.578947369,"avg_time_to_close_pull_request":24378475.163265307,"issues_closed_count":19,"pull_requests_closed_count":49,"pull_request_authors_count":45,"issue_authors_count":48,"avg_comments_per_issue":1.8679245283018868,"avg_comments_per_pull_request":1.5576923076923077,"merged_pull_requests_count":30,"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":2078254.0,"past_year_avg_time_to_close_pull_request":1889.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":2.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-12T09:51:07.632Z","updated_at":"2026-04-15T21:00:25.574Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/samg%2Fdiffy/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":46,"CONTRIBUTOR":7},"pull_request_author_associations_count":{"CONTRIBUTOR":31,"NONE":23},"issue_authors":{"JasonBarnabe":3,"aptituz":2,"ninewise":2,"sshaw":2,"ssriram":1,"wwboynton":1,"bmesuere":1,"marcamillion":1,"ptyagi16":1,"PragTob":1,"dkowis":1,"yamada153":1,"wscourge":1,"bnd5k":1,"jaymzh":1,"MisterTakaashi":1,"michiomochi":1,"rahul-cloud66":1,"avdv":1,"harmanbirdi":1,"luccasmaso":1,"paulgoetze":1,"fgarcia":1,"finkelm":1,"davidbodow-st":1,"axle07":1,"marlinpierce":1,"tracyloisel":1,"jeremylynch":1,"mmrZHdK":1,"tehryanx":1,"entrity":1,"dmuldoon":1,"Ocado-NickBrown":1,"ouroboros8":1,"cirosantilli":1,"adrianodennanni":1,"tadast":1,"erkolson":1,"busebse":1,"kaich":1,"ablce9":1,"farooqyousuf":1,"marxwolf":1,"vinay-keshava":1,"retronoodle":1,"andrewhavens":1,"mkenny":1},"pull_request_authors":{"olleolleolle":3,"rogeriochaves":3,"petergoldstein":3,"toshimaru":2,"P-SiZK":2,"jDeppen":2,"jhoffner":1,"jirutka":1,"kerrizor":1,"NigelThorne":1,"Earlopain":1,"mainameiz":1,"bollard":1,"musaffa":1,"ignatenkobrain":1,"avdv":1,"JasonBarnabe":1,"kurttomlinson":1,"tonyta":1,"ouroboros8":1,"printercu":1,"akozl":1,"dark-panda":1,"runar":1,"ohookins":1,"RobWu":1,"joelash":1,"sumbach":1,"tomas":1,"danielpizarro":1,"ptyagi16":1,"keo64":1,"ngiger":1,"sambostock":1,"abinoam":1,"ashleydavies":1,"bryant1410":1,"stephengroat":1,"rtrv":1,"sshaw":1,"bricker":1,"gogainda":1,"chaffeqa":1,"wilg":1,"Lexanius":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-28T00:00:08.715Z","repositories_count":14435147,"issues_count":34366597,"pull_requests_count":112638795,"authors_count":11247416,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":1,"NONE":1},"past_year_issue_authors":{"tracyloisel":1},"past_year_pull_request_authors":{"P-SiZK":2},"maintainers":[],"active_maintainers":[]},"events":{"total":{"PullRequestEvent":4,"ForkEvent":3,"IssuesEvent":3,"WatchEvent":38,"IssueCommentEvent":10,"PushEvent":4},"last_year":{"PullRequestEvent":2,"ForkEvent":1,"IssuesEvent":1,"WatchEvent":20,"IssueCommentEvent":4,"PushEvent":2}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-06T00:00:32.766Z","updated_at":"2022-07-06T00:00:32.766Z","repository_link":"https://github.com/samg/diffy/blob/main/Gemfile","dependencies":[{"id":107310472,"package_name":"rubysl","ecosystem":"rubygems","requirements":"~\u003e 2.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"diffy.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-06T00:00:32.771Z","updated_at":"2022-07-06T00:00:32.771Z","repository_link":"https://github.com/samg/diffy/blob/main/diffy.gemspec","dependencies":[{"id":107310473,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":107310474,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]}],"score":31.75098907105133,"created_at":"2024-12-15T21:38:07.927Z","updated_at":"2026-04-30T04:03:18.776Z","avatar_url":"https://github.com/samg.png","language":"Ruby","monthly_downloads":0,"readme":"Diffy - Easy Diffing With Ruby [![Build Status](https://travis-ci.org/samg/diffy.svg?branch=master)](https://travis-ci.org/samg/diffy)\n============================\n\nNeed diffs in your ruby app?  Diffy has you covered.  It provides a convenient\nway to generate a diff from two strings or files.  Instead of reimplementing\nthe LCS diff algorithm Diffy uses battle tested Unix diff to generate diffs,\nand focuses on providing a convenient interface, and getting out of your way.\n\nSupported Formats\n-----------------\n\nIt provides several built in format options which can be passed to\n`Diffy::Diff#to_s`.\n\n* `:text`         - Plain text output\n* `:color`        - ANSI colorized text suitable for use in a terminal\n* `:html`         - HTML output.  Since version 2.0 this format does inline highlighting of the character changes between lines.\n* `:html_simple`  - HTML output without inline highlighting.  This may be useful in situations where high performance is required or simpler output is desired.\n\nA default format can be set like so:\n\n    Diffy::Diff.default_format = :html\n\nInstallation\n------------\n\n### on Unix\n\n    gem install diffy\n\n### on Windows:\n\n1.  Ensure that you have a working `diff` on your machine and in your search path.\n\n    There are several options:\n\n\t1.  Install [Diff::LCS](https://github.com/halostatue/diff-lcs), which includes `ldiff`. [RSpec](https://www.relishapp.com/rspec/docs/gettingstarted)\n\t\tdepends on Diff::LCS so you may already have it installed.\n\t\t\n\t1.  If you're using [RubyInstaller](http://rubyinstaller.org), install the [devkit](http://rubyinstaller.org/add-ons/devkit).\n\n\t1.  Install unxutils \u003chttp://sourceforge.net/projects/unxutils\u003e\n\n        note that these tools contain diff 2.7 which has a different handling\n        of whitespace in the diff results. This makes Diffy spec tests\n        yielding one fail on Windows.\n\n    1.  Install these two individually from the gnuwin32 project\n        \u003chttp://gnuwin32.sourceforge.net/\u003e\n\n        note that this delivers diff 2.8 which makes Diffy spec pass\n        even on Windows.\n\n\n2.   Install the gem by\n\n         gem install diffy\n\n\nGetting Started\n---------------\n\nHere's an example of using Diffy to diff two strings\n\n    $ irb\n    \u003e\u003e string1 = \u003c\u003c-TXT\n    \u003e\" Hello how are you\n    \u003e\" I'm fine\n    \u003e\" That's great\n    \u003e\" TXT\n    =\u003e \"Hello how are you\\nI'm fine\\nThat's great\\n\"\n    \u003e\u003e string2 = \u003c\u003c-TXT\n    \u003e\" Hello how are you?\n    \u003e\" I'm fine\n    \u003e\" That's swell\n    \u003e\" TXT\n    =\u003e \"Hello how are you?\\nI'm fine\\nThat's swell\\n\"\n    \u003e\u003e puts Diffy::Diff.new(string1, string2)\n    -Hello how are you\n    +Hello how are you?\n     I'm fine\n    -That's great\n    +That's swell\n\nHTML Output\n---------------\n\nOutputing the diff as html is easy too.  Here's an example using the\n`:html_simple` formatter.\n\n    \u003e\u003e puts Diffy::Diff.new(string1, string2).to_s(:html_simple)\n    \u003cdiv class=\"diff\"\u003e\n      \u003cul\u003e\n        \u003cli class=\"del\"\u003e\u003cdel\u003eHello how are you\u003c/del\u003e\u003c/li\u003e\n        \u003cli class=\"ins\"\u003e\u003cins\u003eHello how are you?\u003c/ins\u003e\u003c/li\u003e\n        \u003cli class=\"unchanged\"\u003e\u003cspan\u003eI'm fine\u003c/span\u003e\u003c/li\u003e\n        \u003cli class=\"del\"\u003e\u003cdel\u003eThat's great\u003c/del\u003e\u003c/li\u003e\n        \u003cli class=\"ins\"\u003e\u003cins\u003eThat's swell\u003c/ins\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/div\u003e\n\nThe `:html` formatter will give you inline highlighting a la github.\n\n    \u003e\u003e puts Diffy::Diff.new(\"foo\\n\", \"Foo\\n\").to_s(:html)\n    \u003cdiv class=\"diff\"\u003e\n      \u003cul\u003e\n        \u003cli class=\"del\"\u003e\u003cdel\u003e\u003cstrong\u003ef\u003c/strong\u003eoo\u003c/del\u003e\u003c/li\u003e\n        \u003cli class=\"ins\"\u003e\u003cins\u003e\u003cstrong\u003eF\u003c/strong\u003eoo\u003c/ins\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/div\u003e\n\nThere's some pretty nice css provided in `Diffy::CSS`.\n\n    \u003e\u003e puts Diffy::CSS\n    .diff{overflow:auto;}\n    .diff ul{background:#fff;overflow:auto;font-size:13px;list-style:none;margin:0;padding:0;display:table;width:100%;}\n    .diff del, .diff ins{display:block;text-decoration:none;}\n    .diff li{padding:0; display:table-row;margin: 0;height:1em;}\n    .diff li.ins{background:#dfd; color:#080}\n    .diff li.del{background:#fee; color:#b00}\n    .diff li:hover{background:#ffc}\n    /* try 'whitespace:pre;' if you don't want lines to wrap */\n    .diff del, .diff ins, .diff span{white-space:pre-wrap;font-family:courier;}\n    .diff del strong{font-weight:normal;background:#fcc;}\n    .diff ins strong{font-weight:normal;background:#9f9;}\n    .diff li.diff-comment { display: none; }\n    .diff li.diff-block-info { background: none repeat scroll 0 0 gray; }\n\n\nThere's also a colorblind-safe version of the pallete provided in `Diffy::CSS_COLORBLIND_1`.\n\n\nSide-by-side comparisons\n------------------------\n\nSide-by-side comparisons, or split views as called by some, are supported by\nusing the `Diffy::SplitDiff` class.  This class takes a diff returned from\n`Diffy::Diff` and splits it in two parts (or two sides): left and right.  The\nleft side represents deletions while the right side represents insertions.\n\nThe class is used as follows:\n\n```\nDiffy::SplitDiff.new(string1, string2, options = {})\n```\n\nThe optional options hash is passed along to the main `Diff::Diff` class, so\nall default options such as full diff output are supported.  The output format\nmay be changed by passing the format with the options hash (see below), and all\ndefault formats are supported.\n\nUnlike `Diffy::Diff`, `Diffy::SplitDiff` does not use `#to_s` to output\nthe resulting diff.  Instead, two self-explanatory methods are used to output\nthe diff: `#left` and `#right`.  Using the earlier example, this is what they\nlook like in action:\n\n```\n\u003e\u003e puts Diffy::SplitDiff.new(string1, string2).left\n-Hello how are you\n I'm fine\n-That's great\n```\n\n```\n\u003e\u003e puts Diffy::SplitDiff.new(string1, string2).right\n+Hello how are you?\n I'm fine\n+That's swell\n```\n\n### Changing the split view output format\n\nThe output format may be changed by passing the format with the options hash:\n\n```\nDiffy::SplitDiff.new(string1, string2, :format =\u003e :html)\n```\n\nThis will result in the following:\n\n```\n\u003e\u003e puts Diffy::SplitDiff.new(string1, string2, :format =\u003e :html).left\n\u003cdiv class=\"diff\"\u003e\n  \u003cul\u003e\n    \u003cli class=\"del\"\u003e\u003cdel\u003eHello how are you\u003c/del\u003e\u003c/li\u003e\n    \u003cli class=\"unchanged\"\u003e\u003cspan\u003eI\u0026#39;m fine\u003c/span\u003e\u003c/li\u003e\n    \u003cli class=\"del\"\u003e\u003cdel\u003eThat\u0026#39;s \u003cstrong\u003egreat\u003c/strong\u003e\u003c/del\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n```\n\n```\n\u003e\u003e puts Diffy::SplitDiff.new(string1, string2, :format =\u003e :html).right\n\u003cdiv class=\"diff\"\u003e\n  \u003cul\u003e\n    \u003cli class=\"ins\"\u003e\u003cins\u003eHello how are you\u003cstrong\u003e?\u003c/strong\u003e\u003c/ins\u003e\u003c/li\u003e\n    \u003cli class=\"unchanged\"\u003e\u003cspan\u003eI\u0026#39;m fine\u003c/span\u003e\u003c/li\u003e\n    \u003cli class=\"ins\"\u003e\u003cins\u003eThat\u0026#39;s \u003cstrong\u003eswell\u003c/strong\u003e\u003c/ins\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n```\n\n\nOther Diff Options\n------------------\n\n### Diffing files instead of strings\n\nYou can diff files instead of strings by using the `:source` option.\n\n    \u003e\u003e puts Diffy::Diff.new('/tmp/foo', '/tmp/bar', :source =\u003e 'files')\n\n### Full Diff Output\n\nBy default Diffy removes the superfluous diff output.  This is because its\ndefault is to show the complete diff'ed file (`diff -U10000` is the default).\n\nDiffy does support full output, just use the `:include_diff_info =\u003e true`\noption when initializing:\n\n    \u003e\u003e Diffy::Diff.new(\"foo\\nbar\\n\", \"foo\\nbar\\nbaz\\n\", :include_diff_info =\u003e true).to_s(:text)\n    =\u003e--- /Users/chaffeqa/Projects/stiwiki/tmp/diffy20111116-82153-ie27ex\t2011-11-16 20:16:41.000000000 -0500\n    +++ /Users/chaffeqa/Projects/stiwiki/tmp/diffy20111116-82153-wzrhw5\t2011-11-16 20:16:41.000000000 -0500\n    @@ -1,2 +1,3 @@\n     foo\n     bar\n    +baz\n\nAnd even deals a bit with the formatting!\n\n### Empty Diff Behavior\n\nBy default Diffy will return empty string if there are no\ndifferences in inputs. In previous versions the full text of its first input\nwas returned in this case. To restore this behaviour simply use the\n`:allow_empty_diff =\u003e false` option when initializing.\n\n### Plus and Minus symbols in HTML output\n\nBy default Diffy doesn't include the `+`, `-`, and ` ` at the beginning of line for\nHTML output.\n\nYou can use the `:include_plus_and_minus_in_html` option to include those\nsymbols in the output.\n\n    \u003e\u003e puts Diffy::Diff.new(string1, string2, :include_plus_and_minus_in_html =\u003e true).to_s(:html_simple)\n    \u003cdiv class=\"diff\"\u003e\n      \u003cul\u003e\n        \u003cli class=\"del\"\u003e\u003cdel\u003e\u003cspan class=\"symbol\"\u003e-\u003c/span\u003eHello how are you\u003c/del\u003e\u003c/li\u003e\n        \u003cli class=\"ins\"\u003e\u003cins\u003e\u003cspan class=\"symbol\"\u003e+\u003c/span\u003eHello how are you?\u003c/ins\u003e\u003c/li\u003e\n        \u003cli class=\"unchanged\"\u003e\u003cspan class=\"symbol\"\u003e \u003c/span\u003e\u003cspan\u003eI'm fine\u003c/span\u003e\u003c/li\u003e\n        \u003cli class=\"del\"\u003e\u003cdel\u003e\u003cspan class=\"symbol\"\u003e-\u003c/span\u003eThat's great\u003c/del\u003e\u003c/li\u003e\n        \u003cli class=\"ins\"\u003e\u003cins\u003e\u003cspan class=\"symbol\"\u003e+\u003c/span\u003eThat's swell\u003c/ins\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/div\u003e\n\n### Number of lines of context around changes\n\nYou can use the `:context` option to override the number of lines of context\nthat are shown around each change (this defaults to 10000 to show the full\nfile).\n\n    \u003e\u003e puts Diffy::Diff.new(\"foo\\nfoo\\nBAR\\nbang\\nbaz\", \"foo\\nfoo\\nbar\\nbang\\nbaz\", :context =\u003e 1)\n     foo\n    -BAR\n    +bar\n     bang\n\n\n### Overriding the command line options passed to diff.\n\nYou can use the `:diff` option to override the command line options that are\npassed to unix diff. They default to `-U10000`.  This option will noop if\ncombined with the `:context` option.\n\n    \u003e\u003e puts Diffy::Diff.new(\" foo\\nbar\\n\", \"foo\\nbar\\n\", :diff =\u003e \"-w\")\n      foo\n     bar\n\n### `:ignore_crlf` when doing HTML compares\n\nYou can make the HTML output ignore the CRLF by passing the `:ignore_crlf` option a truthy value.\n\n    \u003e\u003e puts Diffy::Diff.new(\" foo\\nbar\\n\", \"foo\\r\\nbar\\r\\n\", ignore_crlf: true).to_s(:html)\n      \"\u003cdiv class=\\\"diff\\\"\u003e\u003c/div\u003e\"\n\n\n\nDefault Diff Options\n--------------------\n\nYou can set the default options for new `Diffy::Diff`s using the\n`Diffy::Diff.default_options` and `Diffy::Diff.default_options=` methods.\nOptions passed to `Diffy::Diff.new` will be merged into the default options.\n\n    \u003e\u003e Diffy::Diff.default_options\n    =\u003e {:diff=\u003e\"-U10000\", :source=\u003e\"strings\", :include_diff_info=\u003efalse, :include_plus_and_minus_in_html=\u003efalse}\n    \u003e\u003e Diffy::Diff.default_options.merge!(:source =\u003e 'files')\n    =\u003e {:diff=\u003e\"-U10000\", :source=\u003e\"files\", :include_diff_info=\u003efalse, :include_plus_and_minus_in_html=\u003efalse}\n\n\nCustom Formats\n--------------\n\nDiffy tries to make generating your own custom formatted output easy.\n`Diffy::Diff` provides an enumerable interface which lets you iterate over\nlines in the diff.\n\n    \u003e\u003e Diffy::Diff.new(\"foo\\nbar\\n\", \"foo\\nbar\\nbaz\\n\").each do |line|\n    \u003e*   case line\n    \u003e\u003e   when /^\\+/ then puts \"line #{line.chomp} added\"\n    \u003e\u003e   when /^-/ then puts \"line #{line.chomp} removed\"\n    \u003e\u003e   end\n    \u003e\u003e end\n    line +baz added\n    =\u003e [\" foo\\n\", \" bar\\n\", \"+baz\\n\"]\n\nYou can also use `Diffy::Diff#each_chunk` to iterate each grouping of additions,\ndeletions, and unchanged in a diff.\n\n    \u003e\u003e Diffy::Diff.new(\"foo\\nbar\\nbang\\nbaz\\n\", \"foo\\nbar\\nbing\\nbong\\n\").each_chunk.to_a\n    =\u003e [\" foo\\n bar\\n\", \"-bang\\n-baz\\n\", \"+bing\\n+bong\\n\"]\n\nUse `#map`, `#inject`, or any of Enumerable's methods.  Go crazy.\n\n\nTesting\n------------\n\nDiffy includes a full set of rspec tests.  When contributing please include\ntests for your changes.\n\n[![Build Status](https://secure.travis-ci.org/samg/diffy.png)](http://travis-ci.org/samg/diffy)\n\n---------------------------------------------------------------------\n\nReport bugs or request features at http://github.com/samg/diffy/issues\n\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","agent","apm-agent","crash-reporting","feature-flag","ruby-gem","sinatra"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/390","html_url":"https://ruby.ecosyste.ms/projects/390"}