{"id":1614619,"name":"diff","ecosystem":"npm","description":"A JavaScript text diff implementation.","homepage":null,"licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/kpdecker/jsdiff","keywords_array":["diff","jsdiff","compare","patch","text","json","css","javascript"],"namespace":null,"versions_count":55,"first_release_published_at":"2011-03-29T17:19:02.881Z","latest_release_published_at":"2026-03-23T11:24:30.551Z","latest_release_number":"8.0.4","last_synced_at":"2026-04-12T20:11:07.091Z","created_at":"2022-04-09T11:53:48.310Z","updated_at":"2026-04-13T14:13:06.322Z","registry_url":"https://www.npmjs.com/package/diff","install_command":"npm install diff","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"8.0.4","tmp":"3.5.1"}},"repo_metadata":{"id":37336389,"uuid":"1542219","full_name":"kpdecker/jsdiff","owner":"kpdecker","description":"A javascript text differencing implementation.","archived":false,"fork":false,"pushed_at":"2026-04-07T15:32:02.000Z","size":2273,"stargazers_count":9109,"open_issues_count":15,"forks_count":531,"subscribers_count":91,"default_branch":"master","last_synced_at":"2026-04-07T17:26:52.733Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kpdecker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2011-03-29T16:25:28.000Z","updated_at":"2026-04-07T13:45:10.000Z","dependencies_parsed_at":"2023-02-05T02:02:16.714Z","dependency_job_id":"ba051430-3a82-45b8-b126-f5b707ea64a6","html_url":"https://github.com/kpdecker/jsdiff","commit_stats":{"total_commits":511,"total_committers":86,"mean_commits":5.941860465116279,"dds":0.538160469667319,"last_synced_commit":"5aa838309b6829e767e47e4fa16d8fd09c3336a0"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/kpdecker/jsdiff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpdecker","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/sbom","scorecard":{"id":568915,"data":{"date":"2025-08-11","repo":{"name":"github.com/kpdecker/jsdiff","commit":"8cd6e0c658c3b5360c70128625927dc2887f05e2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":1,"reason":"Found 4/28 approved changesets -- score normalized to 1","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":"Maintained","score":10,"reason":"12 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 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"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T15:47:07.928Z","repository_id":37336389,"created_at":"2025-08-20T15:47:07.928Z","updated_at":"2025-08-20T15:47:07.928Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31567602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"kpdecker","name":"Kevin Decker","uuid":"196390","kind":"user","description":"","email":"","website":"http://www.incaseofstairs.com/","location":"Chicago, IL","twitter":"kpdecker","company":null,"icon_url":"https://avatars.githubusercontent.com/u/196390?v=4","repositories_count":130,"last_synced_at":"2024-04-14T15:23:51.354Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kpdecker","funding_links":[],"total_stars":8380,"followers":445,"following":38,"created_at":"2022-11-02T16:20:30.957Z","updated_at":"2024-04-14T15:24:05.118Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpdecker","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpdecker/repositories"},"tags":[{"name":"v3.5.1","sha":"e8bb42240c6adbbcdad7754f37b094081c9e7112","kind":"commit","published_at":"2026-01-23T09:19:43.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.5.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.5.1/manifests"},{"name":"v4.0.4","sha":"f06f3e4cacad5955caf891a8a02c5bb1c954bcb5","kind":"tag","published_at":"2026-01-20T13:14:09.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v4.0.4","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v4.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v4.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.4/manifests"},{"name":"v5.2.2","sha":"b7b6339dea15baa636bebe7092ec1cbabf001dea","kind":"tag","published_at":"2026-01-20T13:06:49.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v5.2.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v5.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v5.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.2/manifests"},{"name":"v5.2.1","sha":"b5377abefc55cd424e82308515cfbdc4d53ad8a1","kind":"commit","published_at":"2026-01-20T12:53:45.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v5.2.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v5.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.1/manifests"},{"name":"v8.0.3","sha":"13576bfbcc444ce48f71cfd1e08529bd13962411","kind":"commit","published_at":"2026-01-14T12:22:30.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v8.0.3","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v8.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.3/manifests"},{"name":"v8.0.2","sha":"4f5c473662bedd672809b689771037d5401bdcc6","kind":"commit","published_at":"2025-05-22T13:43:44.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v8.0.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v8.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.2/manifests"},{"name":"v8.0.1","sha":"a5cf0db7c8ab3c2b3dc0de2e4e3afd754ba544de","kind":"tag","published_at":"2025-05-13T13:30:08.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v8.0.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.1/manifests"},{"name":"v8.0.0","sha":"f87a74cf43053f103f6011e3948b6595b9dfa126","kind":"commit","published_at":"2025-05-12T11:05:25.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v8.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v8.0.0/manifests"},{"name":"7.0.0","sha":"ad8f0eb9f4cea9a4b6abdede878e7a3d0f555a73","kind":"commit","published_at":"2024-09-06T22:08:41.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/7.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/7.0.0/manifests"},{"name":"v6.0.0","sha":"e80648d06dd3dd967622dc418bcad821b003ed4a","kind":"commit","published_at":"2024-09-02T19:05:49.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v6.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v6.0.0/manifests"},{"name":"v5.2.0","sha":"370a9df73e12f3f4f4f6f001ac19617c4f9c1052","kind":"commit","published_at":"2024-02-12T16:04:24.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v5.2.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.2.0/manifests"},{"name":"v5.1.0","sha":"f4cc58c57ae355ccf9fcd442a0d8f9497a02b3c1","kind":"commit","published_at":"2022-05-06T21:08:04.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v5.1.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.1.0/manifests"},{"name":"v5.0.0","sha":"d358a573dc38fb89dd5ee296805e29f75c932a58","kind":"tag","published_at":"2020-11-08T02:45:15.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v5.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v5.0.0/manifests"},{"name":"v4.0.2","sha":"94b63ff1e152d5611d1571a13a3e06f1d723f4cd","kind":"tag","published_at":"2020-01-13T04:48:44.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v4.0.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v4.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.2/manifests"},{"name":"v4.0.1","sha":"305a2b33da24c4a5cd1a547529ce06ecb00cb0a5","kind":"tag","published_at":"2019-01-07T02:49:16.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v4.0.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"84d12ca26ae06631ac70151d75b919d78638c060","kind":"tag","published_at":"2019-01-06T03:24:04.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v4.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v4.0.0/manifests"},{"name":"v3.5.0","sha":"e9ab94893a77f1f7d7ea8483b873083e6c6a390a","kind":"tag","published_at":"2018-03-05T04:22:21.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.5.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.5.0/manifests"},{"name":"v3.4.0","sha":"e03e1fc6d2d8c37ff5adf616f198228dc8ab1b74","kind":"tag","published_at":"2017-10-07T16:38:00.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.4.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.4.0/manifests"},{"name":"v3.3.1","sha":"e0b8260dc4bbbe6abaed6da3a5170b7c24565da4","kind":"tag","published_at":"2017-09-03T19:30:30.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.3.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.3.1/manifests"},{"name":"v3.3.0","sha":"2a7ae3edf035c1a6be2f28443b67cf3da757410b","kind":"tag","published_at":"2017-07-06T02:40:28.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.3.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.3.0/manifests"},{"name":"v3.2.0","sha":"becde77e9f7aa31944480cf2a335815cd44d2d12","kind":"tag","published_at":"2016-12-26T15:59:11.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.2.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"870aa158609ecdba74b11fbda62f583318481c68","kind":"tag","published_at":"2016-11-27T19:57:11.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.1.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.1.0/manifests"},{"name":"v3.0.1","sha":"5eb1d28c179950af570eed49af1abb72d8ac1fd2","kind":"tag","published_at":"2016-10-09T18:22:19.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.0.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"19860aacce2790d11e3e2a21ba7f61cd9d2c81f4","kind":"tag","published_at":"2016-08-23T12:17:37.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v3.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v3.0.0/manifests"},{"name":"v2.2.3","sha":"ec007c364e88c37ccc6b3f94a4cfe163d8389b85","kind":"tag","published_at":"2016-05-31T20:06:36.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.2.3","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.3/manifests"},{"name":"v2.2.2","sha":"215195fabd356a11aa840d289b193bb44b3b9f44","kind":"tag","published_at":"2016-03-13T06:45:58.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.2.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"0b8e83f6208c98f28d5a833b32d86b44fdabea1c","kind":"tag","published_at":"2015-11-13T04:26:02.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.2.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"9aefc2a5286e7b30ba24b2e01cc897854e0c75c2","kind":"tag","published_at":"2015-10-29T06:46:20.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.2.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.2.0/manifests"},{"name":"v2.1.3","sha":"1ed5805338054d96c38f731795665b8b2437c7d1","kind":"tag","published_at":"2015-09-30T05:22:54.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.1.3","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"f1caf8724e81fb063836feb989af13724ffbc11d","kind":"tag","published_at":"2015-09-24T01:52:56.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.1.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"429eb33baa461a51b148dae31c3796a8066c112c","kind":"tag","published_at":"2015-09-09T16:34:59.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.1.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"06ba84588d3398ddc5855129bdc7649bd64e0ac3","kind":"tag","published_at":"2015-08-27T07:42:18.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.1.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"ed26acd876b04ddfb0baadcf068c15ba9279c68a","kind":"tag","published_at":"2015-08-08T18:31:45.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.0.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"b4c1a138739a29e4e5cee141107431b673562bef","kind":"tag","published_at":"2015-08-07T21:00:06.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.0.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"60eaa1ad5e5566ffb1442b3dea7fab0e8c76f7fc","kind":"tag","published_at":"2015-08-07T20:34:38.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v2.0.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v2.0.0/manifests"},{"name":"v1.4.0","sha":"27a750e9116e6ade6303bc24a9be72f6845e00ed","kind":"tag","published_at":"2015-05-06T14:31:20.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.4.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.4.0/manifests"},{"name":"v1.3.2","sha":"2b9ec732289f8c9c9a94c167cbd6a2c1591f5d12","kind":"tag","published_at":"2015-03-31T02:42:25.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.3.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"018333d019ce280be622d08355e76545244ffca1","kind":"tag","published_at":"2015-03-13T15:47:05.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.3.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"b7f143cbbe959d5ccc5c4ef3c5aef69d61503c68","kind":"tag","published_at":"2015-03-02T18:32:40.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.3.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.3.0/manifests"},{"name":"v1.2.2","sha":"5199cc4ee4f16b33f5bfddd4d70e2df8338caf60","kind":"tag","published_at":"2015-01-26T22:55:22.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.2.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"d041c27fe4218fee299f27f9276324b1517cf0ee","kind":"tag","published_at":"2014-12-26T19:33:41.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.2.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"8527fe43fbdd206c3b9fdeed767478746edaa82e","kind":"tag","published_at":"2014-11-29T23:05:54.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.2.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"4677fb2fa59dfb8374f312767ad9805b8a57f78b","kind":"tag","published_at":"2014-11-25T07:58:31.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.1.0","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.1.0/manifests"},{"name":"v1.0.8","sha":"ae33afbe1b525b2f86141c97524296632811d099","kind":"tag","published_at":"2013-12-23T02:05:22.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.8","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.8/manifests"},{"name":"v1.0.7","sha":"c6614d942c91cb0bbed977d90eb55d6c2d73a449","kind":"tag","published_at":"2013-09-12T04:28:00.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.7","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"95dfbd1b0ced4b4b3ad3853685dd516a8f308dd4","kind":"tag","published_at":"2013-08-30T06:37:36.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.6","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"4661b9ddb6d3f995b29cc6cb4523ce20d9b28212","kind":"tag","published_at":"2013-07-02T04:00:46.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.5","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"bf0075e1d4cfa0663bc20b8eb341f0e3f103bb4e","kind":"commit","published_at":"2012-10-20T02:19:21.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.4","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"5b5b6ac22c4a6fa4a02a50c384633714207d2d27","kind":"commit","published_at":"2012-04-16T00:12:05.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.3","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"dd580dc3569429fc0683459e80afad142ed5e78b","kind":"commit","published_at":"2011-12-24T20:51:43.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.2","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"005073cf7f4f181b4498b3321a44bc7a8547ac8b","kind":"commit","published_at":"2011-05-08T17:50:53.000Z","download_url":"https://codeload.github.com/kpdecker/jsdiff/tar.gz/v1.0.1","html_url":"https://github.com/kpdecker/jsdiff/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kpdecker/jsdiff@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/tags/v1.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-12T20:13:47.344Z","dependent_packages_count":4153,"downloads":381996525,"downloads_period":"last-month","dependent_repos_count":1554502,"rankings":{"downloads":0.0064068795649016895,"dependent_repos_count":0.02294429519396417,"dependent_packages_count":0.020863428326731142,"stargazers_count":1.164628329797685,"forks_count":1.7020395780878148,"docker_downloads_count":0.004764089932875616,"average":0.48694110015066205},"purl":"pkg:npm/diff","advisories":[{"uuid":"GSA_kwCzR0hTQS03M3JyLWhoNGctZnBneM4ABRGj","url":"https://github.com/advisories/GHSA-73rr-hh4g-fpgx","title":"jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch","description":"### Impact\n\nAttempting to parse a patch whose filename headers contain the line break characters `\\r`, `\\u2028`, or `\\u2029` can cause the `parsePatch` method to enter an infinite loop. It then consumes memory without limit until the process crashes due to running out of memory.\n\nApplications are therefore likely to be vulnerable to a denial-of-service attack if they call `parsePatch` with a user-provided patch as input. A large payload is not needed to trigger the vulnerability, so size limits on user input do not provide any protection. Furthermore, some applications may be vulnerable even when calling `parsePatch` on a patch generated by the application itself if the user is nonetheless able to control the filename headers (e.g. by directly providing the filenames of the files to be diffed).\n\nThe `applyPatch` method is similarly affected if (and only if) called with a string representation of a patch as an argument, since under the hood it parses that string using `parsePatch`. Other methods of the library are unaffected.\n\nFinally, a second and lesser bug - a ReDOS - also exhibits when those same line break characters are present in a patch's *patch* header (also known as its \"leading garbage\"). A maliciously-crafted patch header of length *n* can take `parsePatch` O(*n*³) time to parse.\n\n### Patches\n\nAll vulnerabilities described are fixed in v8.0.3.\n\n### Workarounds\n\nIf using a version of jsdiff earlier than v8.0.3, do not attempt to parse patches that contain any of these characters: `\\r`, `\\u2028`, or `\\u2029`.\n\n### References\n\nPR that fixed the bug: https://github.com/kpdecker/jsdiff/pull/649\n\n\n### CVE Notes\n\nNote that although the advisory describes two bugs, they each enable exactly the same attack vector (that an attacker who controls input to `parsePatch` can cause a DOS). Fixing one bug without fixing the other therefore does not fix the vulnerability and does not provide any security benefit. Therefore we assume that the bugs cannot possibly constitute Independently Fixable Vulnerabilities in the sense of CVE CNA rule 4.2.11, but rather that this advisory is properly construed under the rules as describing a single Vulnerability.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2026-01-14T21:34:12.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U","references":["https://github.com/kpdecker/jsdiff/security/advisories/GHSA-73rr-hh4g-fpgx","https://github.com/kpdecker/jsdiff/pull/649","https://github.com/kpdecker/jsdiff/commit/15a1585230748c8ae6f8274c202e0c87309142f5","https://github.com/kpdecker/jsdiff/issues/653","https://nvd.nist.gov/vuln/detail/CVE-2026-24001","https://github.com/advisories/GHSA-73rr-hh4g-fpgx"],"source_kind":"github","identifiers":["GHSA-73rr-hh4g-fpgx","CVE-2026-24001"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-01-14T22:00:08.040Z","updated_at":"2026-04-13T13:01:36.119Z","epss_percentage":0.0002,"epss_percentile":0.05135,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03M3JyLWhoNGctZnBneM4ABRGj","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03M3JyLWhoNGctZnBneM4ABRGj","packages":[{"ecosystem":"npm","package_name":"diff","versions":[{"first_patched_version":"5.2.2","vulnerable_version_range":"\u003e= 5.0.0, \u003c 5.2.2"},{"first_patched_version":"8.0.3","vulnerable_version_range":"\u003e= 6.0.0, \u003c 8.0.3"}],"purl":"pkg:npm/diff"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03M3JyLWhoNGctZnBneM4ABRGj/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWg2Y2gtdjg0cC13NnA5","url":"https://github.com/advisories/GHSA-h6ch-v84p-w6p9","title":"Regular Expression Denial of Service (ReDoS)","description":"A vulnerability was found in diff before v3.5.0, the affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) attacks.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-06-13T18:58:54.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/kpdecker/jsdiff/commit/2aec4298639bf30fb88a00b356bf404d3551b8c0","https://bugzilla.redhat.com/show_bug.cgi?id=1552148","https://snyk.io/vuln/npm:diff:20180305","https://www.npmjs.com/advisories/1631","https://www.whitesourcesoftware.com/vulnerability-database/WS-2018-0590","https://github.com/advisories/GHSA-h6ch-v84p-w6p9"],"source_kind":"github","identifiers":["GHSA-h6ch-v84p-w6p9"],"repository_url":"https://github.com/kpdecker/jsdiff","blast_radius":0.0,"created_at":"2022-12-21T16:13:29.350Z","updated_at":"2026-04-05T20:03:32.552Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWg2Y2gtdjg0cC13NnA5","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWg2Y2gtdjg0cC13NnA5","packages":[{"ecosystem":"npm","package_name":"diff","versions":[{"first_patched_version":"3.5.0","vulnerable_version_range":"\u003c 3.5.0"}],"purl":"pkg:npm/diff"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWg2Y2gtdjg0cC13NnA5/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/diff","docker_dependents_count":48165,"docker_downloads_count":13300026642,"usage_url":"https://repos.ecosyste.ms/usage/npm/diff","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/diff/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-02T14:12:11.265Z","issues_count":203,"pull_requests_count":319,"avg_time_to_close_issue":91912506.32183908,"avg_time_to_close_pull_request":7691104.579124579,"issues_closed_count":174,"pull_requests_closed_count":297,"pull_request_authors_count":38,"issue_authors_count":169,"avg_comments_per_issue":2.0098522167487687,"avg_comments_per_pull_request":0.5862068965517241,"merged_pull_requests_count":239,"bot_issues_count":0,"bot_pull_requests_count":73,"past_year_issues_count":19,"past_year_pull_requests_count":48,"past_year_avg_time_to_close_issue":1638681.0909090908,"past_year_avg_time_to_close_pull_request":178913.2380952381,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":42,"past_year_pull_request_authors_count":8,"past_year_issue_authors_count":19,"past_year_avg_comments_per_issue":1.3157894736842104,"past_year_avg_comments_per_pull_request":0.3541666666666667,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":8,"past_year_merged_pull_requests_count":36,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpdecker%2Fjsdiff/issues","maintainers":[{"login":"ExplodingCabbage","count":216,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ExplodingCabbage"}],"active_maintainers":[{"login":"ExplodingCabbage","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ExplodingCabbage"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/diff/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/diff/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/diff/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/diff/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/diff/codemeta","maintainers":[{"uuid":"kpdecker","login":"kpdecker","name":null,"email":"kpdecker@gmail.com","url":null,"packages_count":58,"html_url":"https://www.npmjs.com/~kpdecker","role":null,"created_at":"2022-11-10T11:33:23.257Z","updated_at":"2022-11-10T11:33:23.257Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/kpdecker/packages"},{"uuid":"explodingcabbage","login":"explodingcabbage","name":null,"email":"markrobertamery+npm@gmail.com","url":null,"packages_count":10,"html_url":"https://www.npmjs.com/~explodingcabbage","role":null,"created_at":"2024-08-19T23:43:45.461Z","updated_at":"2024-08-19T23:43:45.461Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/explodingcabbage/packages"}]}