Releases · published
Tool releases: September 2026
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
This post lists the tools whose latest release is dated within 30 days before that tool's metrics fetch date. The table below comes from the GitHub and GitLab APIs. Each row shows the release tag and release date; the fetch date is in the table footnote and in the hover text of each value.
What counts as a latest release
For a GitHub repository, the latest release is the release that the GitHub API returns as the repository's latest. When a repository has no published release, the first tag returned by the host's tags endpoint takes its place. The date of a tag is the date of the commit the tag points to.
For a GitLab repository, the latest release is the most recent release, or the first tag when no release exists. Every listed tool passed the inclusion rule that requires at least one release or tag (inclusion rules). The field definitions are on the methodology page (metrics).
How the 30-day window is counted
The window is counted per tool, backwards from that tool's fetch date. A release enters the table when its date falls within the 30 days before the tool's fetch date. The date the site was built plays no part in the window.
Tools fetched on different days have windows that end on different days. By default the table is sorted by release date, newest first. FreeQATools fetches metrics once a month in the update run (updates).
How to read a row
Each row shows the tool, its release tag and release date, and its other listed metrics. The fetch date is in the table footnote and in the hover text of each value. The tag is the name the project gave the release or tag, copied from the API without changes. The release date is the publication date of a release, or the commit date for a tag.
The fetch date is the day FreeQATools read the repository through the API. Each project follows its own versioning scheme. For that reason the table neither sorts nor compares tools by tag. A row records that a release exists in the window; it does not describe the release's content.
Where release history lives
FreeQATools stores the latest release of each tool, not its full release history. Each monthly snapshot keeps the latest release as of that month's fetch. The full history is on the repository's own releases page.
Each tool page links to the repository's releases page under Changelog when the API reports a release or tag for the tool. The tool pages are listed on the tools page. Changes between two monthly snapshots appear on the trends page once a second snapshot exists.
Latest releases in the 30 days before each fetch
84 listed tools have a latest release or tag dated within 30 days before the date their metrics were fetched.
| CodeceptJS | 4,2401 | 2026-09-2214.2.0 | 2026-09-221 | MIT | JavaScript | active |
|---|---|---|---|---|---|---|
| DeepEval | 18,3931 | 2026-09-221python-v4.2.4 | 2026-09-221 | Apache-2.0 | Python | active |
| Cucumber JVM | 2,8351 | 2026-09-221v7.34.9 | 2026-09-221 | MIT | Java | active |
| supertest | 14,4041 | 2026-09-221v7.3.0 | 2026-09-221 | MIT | JavaScript | active |
| Hoverfly | 2,5221 | 2026-09-211v1.12.15 | 2026-09-211 | Apache-2.0 | Go | active |
| k6 | 31,5481 | 2026-09-211v2.3.0 | 2026-09-221 | AGPL-3.0 | Go | active |
| WebDriverAgent | 1,7931 | 2026-09-211v16.12.10 | 2026-09-211 | BSD-3-Clause | Objective-C | active |
| ChaosBlade | 6,5211 | 2026-09-211blade-ai-v0.7.2 | 2026-07-281 | Apache-2.0 | Python | active |
| WebdriverIO | 9,8401 | 2026-09-201v9.32.0 | 2026-09-221 | MIT | TypeScript | active |
| kube-monkey | 3,0801 | 2026-09-201v0.7.0 | 2026-09-201 | Apache-2.0 | Go | active |
| Patrol | 1,4331 | 2026-09-201patrol-v4.11.0-dev.1 | 2026-09-171 | Apache-2.0 | Dart | active |
| Schemathesis | 3,6181 | 2026-09-191v4.27.5 | 2026-09-221 | MIT | Python | active |
| Cppcheck | 6,7551 | 2026-09-1912.22.0 | 2026-09-221 | GPL-3.0 | C++ | active |
| Selenide | 1,9111 | 2026-09-191v7.18.2 | 2026-09-211 | MIT | Java | active |
| ESLint | 27,5161 | 2026-09-181v10.11.0 | 2026-09-221 | MIT | JavaScript | active |
| Lighthouse | 30,7991 | 2026-09-181v13.5.0 | 2026-09-181 | Apache-2.0 | JavaScript | active |
| Jest | 45,4631 | 2026-09-181v30.5.2 | 2026-09-181 | MIT | TypeScript | active |
| Promptfoo | 25,3711 | 2026-09-1810.123.1 | 2026-09-221 | MIT | TypeScript | active |
| Ginkgo | 9,0561 | 2026-09-171v2.33.0 | 2026-09-221 | MIT | Go | active |
| Locust | 28,1771 | 2026-09-1712.46.6 | 2026-09-211 | MIT | Python | active |
| Kiwi TCMS | 1,2601 | 2026-09-171v16.5 | 2026-09-221 | GPL-2.0 | Python | active |
| Mocha | 22,8971 | 2026-09-171v12.0.2 | 2026-09-191 | MIT | JavaScript | active |
| Pest | 11,7231 | 2026-09-171v5.2.1 | 2026-09-181 | MIT | PHP | active |
| Pact Python | 6841 | 2026-09-171pact-python/3.4.1 | 2026-09-211 | MIT | Python | active |
| LitmusChaos | 5,6191 | 2026-09-1713.32.0 | 2026-09-221 | Apache-2.0 | Go | active |
| Pact Broker | 7451 | 2026-09-171v2.121.2 | 2026-09-211 | MIT | Ruby | active |
| Ruff | 49,7311 | 2026-09-1610.16.8 | 2026-09-221 | MIT | Rust | active |
| Pact Go | 9551 | 2026-09-161v2.8.0 | 2026-09-211 | MIT | Go | active |
| Mockoon | 8,4171 | 2026-09-161v9.9.0 | 2026-09-201 | MIT | TypeScript | active |
| Gauge | 3,1891 | 2026-09-161v1.6.38 | 2026-09-161 | Apache-2.0 | Go | active |
| Cypress | 51,0211 | 2026-09-151v16.1.0 | 2026-09-221 | MIT | TypeScript | active |
| Playwright for Python | 15,0151 | 2026-09-151v1.63.0 | 2026-09-151 | Apache-2.0 | Python | active |
| MockServer | 4,9741 | 2026-09-151mockserver-8.0.0 | 2026-09-221 | Apache-2.0 | Java | active |
| Vitest | 17,1431 | 2026-09-151v5.0.1 | 2026-09-181 | MIT | TypeScript | active |
| EvoMaster | 7821 | 2026-09-151v6.2.0 | 2026-09-221 | LGPL-3.0 | Kotlin | active |
| PHPUnit | 20,0521 | 2026-09-15113.3.4 | 2026-09-221 | BSD-3-Clause | PHP | active |
| Testplane | 8301 | 2026-09-141v9.2.3 | 2026-09-141 | MIT | TypeScript | active |
| Faker | 19,4051 | 2026-09-141v40.39.0 | 2026-09-151 | MIT | Python | active |
| Pact Ruby | 2,1911 | 2026-09-141v2.1.0 | 2026-09-181 | MIT | Ruby | active |
| Robot Framework | 11,9061 | 2026-09-141v7.5 | 2026-09-211 | Apache-2.0 | Python | active |
| Giskard | 5,8341 | 2026-09-141giskard-checks/v1.0.4 | 2026-09-211 | Apache-2.0 | Python | active |
| Appium UiAutomator2 Driver | 8821 | 2026-09-141v8.7.0 | 2026-09-141 | Apache-2.0 | TypeScript | active |
| OSV-Scanner | 11,0731 | 2026-09-141v2.6.0 | 2026-09-221 | Apache-2.0 | Go | active |
| Coverage.py | 3,4091 | 2026-09-1317.16.1 | 2026-09-211 | Apache-2.0 | Python | active |
| DOM Testing Library | 3,3321 | 2026-09-131v10.4.2 | 2026-09-131 | MIT | JavaScript | active |
| mutmut | 1,4481 | 2026-09-1213.8.0 | 2026-09-121 | BSD-3-Clause | Python | active |
| xUnit.net | 4,6051 | 2026-09-121v3-4.0.1 | 2026-09-221 | Apache-2.0 | C# | active |
| PHPStan | 14,1061 | 2026-09-1212.2.14 | 2026-09-221 | MIT | PHP | active |
| sitespeed.io | 5,0301 | 2026-09-111v42.7.0 | 2026-09-111 | MIT | JavaScript | active |
| Stryker.NET | 2,0861 | 2026-09-111dotnet-stryker@5.0.0 | 2026-09-221 | Apache-2.0 | C# | active |
| Kotest | 4,7891 | 2026-09-101v6.2.5 | 2026-09-171 | Apache-2.0 | Kotlin | active |
| Semgrep | 16,7251 | 2026-09-101v1.177.0 | 2026-09-221 | LGPL-2.1 | C | active |
| RuboCop | 12,9051 | 2026-09-101v1.91.0 | 2026-09-221 | MIT | Ruby | active |
| Pester | 3,3451 | 2026-09-0916.2.0 | 2026-09-091 | Apache-2.0 | PowerShell | active |
| ffuf | 16,7031 | 2026-09-091v2.3.0 | 2026-09-091 | MIT | Go | active |
| garak | 9,3301 | 2026-09-091v0.17.0 | 2026-09-161 | Apache-2.0 | Python | active |
| Selenium | 34,5111 | 2026-09-091selenium-4.49.0 | 2026-09-221 | Apache-2.0 | Java | active |
| Hypothesis | 9,0031 | 2026-09-081v6.168.0 | 2026-09-081 | MPL-2.0 | Python | active |
| equal-access | 7781 | 2026-09-0814.0.34 | 2026-09-081 | Apache-2.0 | JavaScript | active |
| Accessibility Insights for Web | 9521 | 2026-09-081web@2.49.0 | 2026-09-151 | MIT | TypeScript | active |
| Specmatic | 3971 | 2026-09-0712.54.1 | 2026-09-221 | MIT | Kotlin | active |
| Behat | 3,9701 | 2026-09-071v3.33.0 | 2026-09-181 | MIT | PHP | active |
| Pact JS | 1,8151 | 2026-09-071v17.1.4 | 2026-09-221 | MIT | TypeScript | active |
| Playwright | 96,5071 | 2026-09-041v1.63.0 | 2026-09-221 | Apache-2.0 | TypeScript | active |
| TruLens | 3,5701 | 2026-09-031trulens-2.14.0 | 2026-09-221 | MIT | Python | active |
| Allure Report | 5,5411 | 2026-09-0312.46.1 | 2026-09-031 | Apache-2.0 | HTML | active |
| Krkn | 5031 | 2026-09-031v5.2.9 | 2026-09-221 | Apache-2.0 | Python | active |
| Infection | 2,2431 | 2026-09-0210.35.4 | 2026-09-221 | BSD-3-Clause | PHP | active |
| SonarQube | 11,0101 | 2026-09-02126.9.0.129388 | 2026-09-211 | LGPL-3.0 | Java | active |
| AFL++ | 6,7651 | 2026-09-021v5.03c | 2026-09-021 | AGPL-3.0 | C | active |
| Visual Regression Tracker | 7161 | 2026-09-0115.8.0 | 2026-09-011 | Apache-2.0 | Shell | active |
| Language Model Evaluation Harness | 14,0551 | 2026-08-311v0.4.13 | 2026-09-141 | MIT | Python | active |
| Maestro | 15,7521 | 2026-08-311cli-2.10.0 | 2026-09-181 | Apache-2.0 | Kotlin | active |
| Checkstyle | 9,5711 | 2026-08-301checkstyle-14.1.0 | 2026-09-221 | LGPL-2.1 | Java | active |
| Fortio | 3,7271 | 2026-08-291v1.75.3 | 2026-08-291 | Apache-2.0 | Go | active |
| Pylint | 5,7251 | 2026-08-291v4.0.8 | 2026-09-221 | GPL-2.0 | Python | active |
| Pa11y | 4,5361 | 2026-08-28110.0.0 | 2026-08-281 | LGPL-3.0 | JavaScript | active |
| action-junit-report | 4281 | 2026-08-281v6.5.0 | 2026-09-081 | Apache-2.0 | TypeScript | active |
| golangci-lint | 19,3941 | 2026-08-271v2.13.2 | 2026-09-201 | GPL-3.0 | Go | active |
| React Testing Library | 19,6561 | 2026-08-271v16.3.3 | 2026-08-271 | MIT | JavaScript | active |
| Responses | 4,3421 | 2026-08-2610.26.3 | 2026-09-161 | Apache-2.0 | Python | active |
| Catch2 | 21,4891 | 2026-08-251v3.16.0 | 2026-09-141 | BSL-1.0 | C++ | active |
| OWASP Nettacker | 5,6121 | 2026-08-2410.4.1 | 2026-09-221 | Apache-2.0 | Python | active |
| Appium | 21,9961 | 2026-08-241@appium/docutils@3.0.0 | 2026-09-221 | Apache-2.0 | TypeScript | active |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.