List projects by filters
list_projectsList drupal.org projects after filters, largest install base first, paged. Examples: "top modules without an 11.4 branch", "themes over 10k installs without security coverage". One project: project_profile. Its pending records: project_upgrade_report.
Filters combine: type, min_installs, security (covered, not-covered, revoked), core_minor (+ missing), era (d8plus, pre_d8). All apply to count and rows.
core_minor reads the composer constraint of the newest release on each development branch. A minor counts when any patch of it satisfies the constraint. An unreleased tip change is not seen. missing=true keeps projects with no branch declaring it: the upgrade gap list.
Row: machine_name, title, type, installs, security, status, dev_branches (branch, installs, core_minors, era), latest_release. count: projects. next_offset is absent on the last page.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| era | No | Filter: d8plus (Drupal 8+ code) or pre_d8, on any development branch. | |
| type | No | Filter: project_module, project_theme, project_distribution, project_general, project_theme_engine, project_translation. | |
| limit | No | Projects per page, 1 to 100 (default 50). | |
| offset | No | Skip this many projects in the same ranked order. Pass the previous page's next_offset. | |
| missing | No | Invert core_minor: keep projects whose development branches do not declare it. | |
| security | No | Filter: security advisory coverage: covered, not-covered, revoked. | |
| core_minor | No | Filter: a core minor in 11.4.x form. Keeps projects where the newest release on some development branch declares support for it. With missing=true, keeps projects with no such branch. | |
| min_installs | No | Filter: reported install base at or above this. |