Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 368734,
"has_wiki": true,
"homepage": "http://serenity-bdd.info",
"languages": {
"CSS": 1179114,
"HTML": 106327243,
"Java": 7547595,
"SCSS": 70764,
"XSLT": 980,
"Shell": 4015,
"Groovy": 1251121,
"Kotlin": 403850,
"Gherkin": 169343,
"FreeMarker": 465606,
"JavaScript": 11347438,
"TypeScript": 780
},
"pushed_at": "2026-07-16T07:40:15Z",
"created_at": "2014-11-05T03:44:57Z",
"owner_type": "Organization",
"updated_at": "2026-07-16T07:40:26Z",
"description": "Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun.",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": "NOASSERTION",
"primary_language": "HTML",
"significant_languages": [
"HTML"
]
},
"owner": {
"blog": "http://serenity-bdd.info",
"name": "Serenity BDD",
"type": "Organization",
"login": "serenity-bdd",
"company": null,
"location": null,
"followers": 206,
"avatar_url": "https://avatars.githubusercontent.com/u/9455201?v=4",
"created_at": "2014-10-30T01:01:30Z",
"is_verified": null,
"public_repos": 66,
"account_age_days": 4286
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "4.0.1",
"kind": "patch",
"published_at": "2024-01-10T10:32:56Z"
},
{
"tag": "3.6.7",
"kind": "patch",
"published_at": "2023-02-01T10:34:00Z"
},
{
"tag": "3.2.0",
"kind": "minor",
"published_at": "2022-02-11T14:09:15Z"
},
{
"tag": "3.1.20",
"kind": "patch",
"published_at": "2022-01-30T20:52:10Z"
},
{
"tag": "3.1.15",
"kind": "patch",
"published_at": "2021-12-23T19:00:29Z"
},
{
"tag": "serenity-bdd-3.1.0",
"kind": "other",
"published_at": "2021-11-26T13:17:45Z"
},
{
"tag": "2.6.0",
"kind": "minor",
"published_at": "2021-08-31T20:33:09Z"
},
{
"tag": "v2.3.10",
"kind": "patch",
"published_at": "2021-01-03T22:37:41Z"
},
{
"tag": "v2.3.9",
"kind": "patch",
"published_at": "2020-12-08T11:08:54Z"
},
{
"tag": "v2.3.8",
"kind": "patch",
"published_at": "2020-11-12T21:03:50Z"
},
{
"tag": "v1.1.37-rc.6",
"kind": "prerelease",
"published_at": "2016-06-29T15:44:27Z"
},
{
"tag": "v1.1.37-rc.5",
"kind": "prerelease",
"published_at": "2016-06-21T18:29:14Z"
},
{
"tag": "v1.1.37-rc.4",
"kind": "prerelease",
"published_at": "2016-06-21T18:29:02Z"
},
{
"tag": "v1.1.37-rc.3",
"kind": "prerelease",
"published_at": "2016-06-21T18:28:53Z"
},
{
"tag": "v1.1.37-rc.2",
"kind": "prerelease",
"published_at": "2016-06-21T18:28:39Z"
},
{
"tag": "v1.1.37-rc.1",
"kind": "prerelease",
"published_at": "2016-06-21T18:28:21Z"
},
{
"tag": "v1.1.36",
"kind": "patch",
"published_at": "2016-06-07T21:40:34Z"
},
{
"tag": "v1.1.35",
"kind": "patch",
"published_at": "2016-06-02T06:24:12Z"
},
{
"tag": "v1.1.34",
"kind": "patch",
"published_at": "2016-06-02T06:23:53Z"
},
{
"tag": "v1.1.32-rc.2",
"kind": "prerelease",
"published_at": "2016-06-02T06:22:56Z"
},
{
"tag": "v1.1.32-rc.1",
"kind": "prerelease",
"published_at": "2016-05-04T19:40:18Z"
},
{
"tag": "v1.1.31",
"kind": "patch",
"published_at": "2016-04-20T07:05:34Z"
},
{
"tag": "v1.1.30",
"kind": "patch",
"published_at": "2016-04-20T07:04:18Z"
},
{
"tag": "v1.1.29-rc.3",
"kind": "prerelease",
"published_at": "2016-04-05T13:56:44Z"
},
{
"tag": "v1.1.29-rc.2",
"kind": "prerelease",
"published_at": "2016-03-28T04:50:50Z"
},
{
"tag": "v1.1.29-rc.1",
"kind": "prerelease",
"published_at": "2016-03-03T06:10:12Z"
},
{
"tag": "v1.1.28",
"kind": "patch",
"published_at": "2016-03-02T17:33:47Z"
},
{
"tag": "v1.1.27",
"kind": "patch",
"published_at": "2016-03-01T07:20:11Z"
},
{
"tag": "v1.1.26",
"kind": "patch",
"published_at": "2016-02-18T18:09:51Z"
},
{
"tag": "v1.1.26-rc.3",
"kind": "prerelease",
"published_at": "2016-02-18T18:09:35Z"
},
{
"tag": "v1.1.26-rc.2",
"kind": "prerelease",
"published_at": "2016-02-18T18:09:25Z"
},
{
"tag": "v1.1.26-rc.1",
"kind": "prerelease",
"published_at": "2016-02-18T18:09:13Z"
},
{
"tag": "v1.1.25",
"kind": "patch",
"published_at": "2016-02-18T18:09:00Z"
},
{
"tag": "v1.1.25-rc.6",
"kind": "prerelease",
"published_at": "2016-02-18T18:08:44Z"
},
{
"tag": "v1.1.25-rc.5",
"kind": "prerelease",
"published_at": "2016-02-18T18:08:35Z"
},
{
"tag": "v1.1.25-rc.4",
"kind": "prerelease",
"published_at": "2016-02-18T18:08:26Z"
},
{
"tag": "v1.1.25-rc.3",
"kind": "prerelease",
"published_at": "2016-02-18T18:08:11Z"
},
{
"tag": "v1.1.25-rc.2",
"kind": "prerelease",
"published_at": "2016-02-18T18:08:01Z"
},
{
"tag": "v1.1.25-rc.1",
"kind": "prerelease",
"published_at": "2016-02-18T18:07:50Z"
},
{
"tag": "v1.1.24",
"kind": "patch",
"published_at": "2016-02-18T18:07:41Z"
},
{
"tag": "v1.1.22-rc.15",
"kind": "prerelease",
"published_at": "2016-02-18T18:07:32Z"
},
{
"tag": "v1.1.22-rc.14",
"kind": "prerelease",
"published_at": "2016-02-18T18:07:22Z"
},
{
"tag": "v1.1.22-rc.13",
"kind": "prerelease",
"published_at": "2016-02-18T18:07:12Z"
},
{
"tag": "v1.1.22-rc.12",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:56Z"
},
{
"tag": "v1.1.22-rc.11",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:46Z"
},
{
"tag": "v1.1.22-rc.10",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:35Z"
},
{
"tag": "v1.1.22-rc.9",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:25Z"
},
{
"tag": "v1.1.22-rc.8",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:15Z"
},
{
"tag": "v1.1.22-rc.7",
"kind": "prerelease",
"published_at": "2016-02-18T18:06:06Z"
},
{
"tag": "v1.1.22-rc.6",
"kind": "prerelease",
"published_at": "2016-02-18T18:05:58Z"
},
{
"tag": "v1.1.22-rc.4",
"kind": "prerelease",
"published_at": "2016-02-18T18:05:44Z"
},
{
"tag": "v1.1.22-rc.3",
"kind": "prerelease",
"published_at": "2016-02-18T18:05:33Z"
},
{
"tag": "v1.1.22-rc.2",
"kind": "prerelease",
"published_at": "2016-02-18T18:04:50Z"
},
{
"tag": "v1.1.22-rc.1",
"kind": "prerelease",
"published_at": "2016-02-18T18:04:33Z"
},
{
"tag": "v1.1.21",
"kind": "patch",
"published_at": "2016-02-18T18:04:23Z"
},
{
"tag": "v1.1.20",
"kind": "patch",
"published_at": "2016-02-18T18:04:13Z"
},
{
"tag": "v1.1.19",
"kind": "patch",
"published_at": "2016-02-18T18:04:06Z"
},
{
"tag": "v1.1.18-rc.2",
"kind": "prerelease",
"published_at": "2016-02-18T18:03:54Z"
},
{
"tag": "v1.1.18-rc.1",
"kind": "prerelease",
"published_at": "2016-02-18T18:03:39Z"
},
{
"tag": "v1.1.17",
"kind": "patch",
"published_at": "2016-02-18T18:03:30Z"
},
{
"tag": "v1.1.17-rc.4",
"kind": "prerelease",
"published_at": "2016-02-18T18:03:22Z"
},
{
"tag": "v1.1.17-rc.3",
"kind": "prerelease",
"published_at": "2016-02-18T18:03:12Z"
},
{
"tag": "v1.1.17-rc.2",
"kind": "prerelease",
"published_at": "2016-02-18T18:03:02Z"
},
{
"tag": "v1.1.17-rc.1",
"kind": "prerelease",
"published_at": "2016-02-18T18:02:51Z"
},
{
"tag": "v1.1.16",
"kind": "patch",
"published_at": "2016-02-18T18:02:39Z"
},
{
"tag": "v1.1.15",
"kind": "patch",
"published_at": "2016-02-18T18:02:29Z"
},
{
"tag": "v1.1.14",
"kind": "patch",
"published_at": "2016-02-18T18:02:11Z"
},
{
"tag": "v1.1.13",
"kind": "patch",
"published_at": "2016-02-18T18:02:00Z"
},
{
"tag": "v1.1.12",
"kind": "patch",
"published_at": "2016-02-18T18:01:50Z"
},
{
"tag": "v1.1.11",
"kind": "patch",
"published_at": "2016-02-18T18:01:42Z"
},
{
"tag": "v1.1.10",
"kind": "patch",
"published_at": "2016-02-18T18:01:34Z"
},
{
"tag": "v1.1.9",
"kind": "patch",
"published_at": "2016-02-18T18:01:25Z"
},
{
"tag": "v1.1.8",
"kind": "patch",
"published_at": "2016-02-18T18:01:17Z"
},
{
"tag": "v1.1.7",
"kind": "patch",
"published_at": "2016-02-18T18:01:00Z"
},
{
"tag": "v1.1.6",
"kind": "patch",
"published_at": "2016-02-18T18:00:51Z"
},
{
"tag": "v1.1.5",
"kind": "patch",
"published_at": "2016-02-18T18:00:39Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2016-02-18T18:00:28Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2016-02-18T18:00:06Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2016-02-18T17:59:58Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2016-02-18T17:59:47Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2016-02-18T17:59:36Z"
},
{
"tag": "v1.0.64",
"kind": "patch",
"published_at": "2016-02-18T17:59:22Z"
},
{
"tag": "v1.0.62",
"kind": "patch",
"published_at": "2016-02-18T17:59:13Z"
},
{
"tag": "v1.0.61",
"kind": "patch",
"published_at": "2016-02-18T16:48:41Z"
},
{
"tag": "v1.0.59",
"kind": "patch",
"published_at": "2016-02-18T16:48:27Z"
},
{
"tag": "v1.0.58",
"kind": "patch",
"published_at": "2016-02-18T16:48:06Z"
},
{
"tag": "v1.0.57",
"kind": "patch",
"published_at": "2016-02-18T16:47:56Z"
},
{
"tag": "v1.0.56",
"kind": "patch",
"published_at": "2016-02-18T16:47:49Z"
},
{
"tag": "v1.0.54",
"kind": "patch",
"published_at": "2016-02-18T16:47:40Z"
},
{
"tag": "v1.0.53",
"kind": "patch",
"published_at": "2016-02-18T16:47:05Z"
},
{
"tag": "v1.0.52",
"kind": "patch",
"published_at": "2016-02-18T16:46:49Z"
},
{
"tag": "v1.0.51",
"kind": "patch",
"published_at": "2016-02-18T16:46:25Z"
},
{
"tag": "v1.0.50",
"kind": "patch",
"published_at": "2016-02-18T16:46:11Z"
},
{
"tag": "v1.0.49",
"kind": "patch",
"published_at": "2016-02-18T16:46:00Z"
},
{
"tag": "v1.0.48",
"kind": "patch",
"published_at": "2016-02-18T16:45:40Z"
},
{
"tag": "v1.0.47",
"kind": "patch",
"published_at": "2016-02-18T16:45:21Z"
},
{
"tag": "v1.0.46",
"kind": "patch",
"published_at": "2016-02-18T16:45:02Z"
},
{
"tag": "v1.0.45",
"kind": "patch",
"published_at": "2016-02-18T16:44:50Z"
},
{
"tag": "v1.0.44",
"kind": "patch",
"published_at": "2016-02-18T16:44:35Z"
},
{
"tag": "v1.0.43",
"kind": "patch",
"published_at": "2016-02-18T16:44:26Z"
}
],
"recent_commits": [
{
"oid": "5ad4ad7dd31ffe5513541caec69a36ec757f7ea6",
"body": "…tatus\n\nhttpbin.org has been intermittently (and at times entirely) unavailable,\nreturning 503s from its load balancer instead of the responses these\ntests expected, which was failing CI:\n\n- should_share_cookies_with_browser only cared about Playwright's own\n cookie-sharing between the browser and \n[…]\nld_add_custom_headers and should_get_failed_requests_via_helper\nalso depend on httpbin.org and are currently affected by the same\noutage, but were not part of the CI failure this fixes, so left as-is.",
"is_bot": false,
"headline": "fix: stop two Playwright tests from depending on httpbin.org's live s…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-07-16T07:39:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e6aa3a16a6cda65d972ebc7ba91322915ee32bdc",
"body": "WireMockExtension defaulted its stub-mapping files root to an absolute\npath on one developer's machine (/Users/john/Projects/Serenity/...)\nand unconditionally re-applied it via withRootDirectory(), silently\noverriding any classpath-based or relative configuration a test had\nalready set up. On CI (an\n[…]\niles.root system property);\notherwise leave the caller's own WireMockConfiguration untouched.\nVerified by running the module test suite from a git worktree checked\nout under a different absolute path.",
"is_bot": false,
"headline": "fix: remove hardcoded developer-machine path from WireMock test adapter",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-07-15T06:29:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "44ae2f1ad16fb9811429ac1b509cf0db2d1ec8d0",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-07-15T05:58:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "561d460dd4f1aecb35fb5a840f749f328c3d82e7",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.11",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-07-15T05:58:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2e8c6ef0ae8f82b6955c14e2ccfcf00222f285a",
"body": "Bump selenium.version (4.43.0 -> 4.46.0) and htmlunit.driver.version\n(4.43.0 -> 4.45.0) to pick up the latest stable WebDriver releases.\n\nSelenium 4.45.0 dropped the bundled devtools-v145 module, so\nDevToolsTest was updated to use the v150 Chrome DevTools Protocol\npackage that ships with 4.46.0.\n\nVe\n[…]\n full reactor test run; all Selenium-dependent modules\npass. The only failures are pre-existing external-network flakiness in\nserenity-screenplay-playwright (Playwright-based, no Selenium\ndependency).",
"is_bot": false,
"headline": "chore(deps): upgrade Selenium to 4.46.0",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-07-15T05:52:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5e459fc759b692eb518194061e7f549ffb7a08ef",
"body": "…S (#3738)\n\nCo-authored-by: Daniel Pascalau <daniel.pascalau@masabi.com>",
"is_bot": false,
"headline": "fix: SerenityReporterParallel fails to attach screenshots FOR_FAILURE…",
"author_name": "dpascalau",
"author_login": "dpascalau",
"committed_at": "2026-06-04T11:27:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1b360d794009f736273630a42fbdd6284a8535f",
"body": "…d silence debug output\n\nSummary:\n\nAdd a test-only `WireMockExtension` junit5 adapter and update related tests/resources so WireMock mappings are reliably loaded during test runs.\n\nDetails:\n- Add `WireMockExtension` (test) that supports a `filesRoot` builder option and reads the `wiremock.files.root\n[…]\n=WhenUsingSessionFilterRegressionTest\n\nIf you want debug output from the WireMock adapter for diagnostics, run with `-Dwiremock.debug=true`.\n\nSigned-off-by: automated test-fix patch (wiremock adapter)",
"is_bot": false,
"headline": "test: make WireMock junit5 adapter resilient to mapping resolution an…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-05-14T17:01:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "77b50d879b98a889ca4a481b3f8537fc2c20ef6f",
"body": "…d silence debug output\n\nAdd filesRoot support and system property override; apply withRootDirectory reflectively when provided; add heuristic to discover mapping directories under src/test/resources/wiremock and target/test-classes/wiremock; gate debug output behind -Dwiremock.debug; add reflective startRecording/stopRecording and RuntimeInfo.getHttpBaseUrl compatibility. (test-only changes)",
"is_bot": false,
"headline": "test: make WireMock junit5 adapter resilient to mapping resolution an…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-05-14T08:15:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b02dd32174d957d96eb865f40571033dcf301d5",
"body": "…-io,commons-codec,dnsjava,wiremock) to mitigate Dependabot findings",
"is_bot": false,
"headline": "chore(deps): bump vulnerable dependencies (jackson,gson,guava,commons…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-05-12T20:01:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57372a2432c400471f0e8bb3df284026ced5c645",
"body": "…Sleeper; use Thread.sleep; update Wait.until generics and FluentWait usages",
"is_bot": false,
"headline": "Selenium compatibility: remove use of org.openqa.selenium.support.ui.…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-05-12T19:52:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ba07ca69c54bff8e2ff3ba8c8804e6ef2630a76",
"body": null,
"is_bot": false,
"headline": "Updated smoketests to the latest version",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-04-08T17:02:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2976ff0089f3fcb8e6333058bc53f24b39e36ca5",
"body": "…3710)\n\nReplace AnonymousPerformableFunction with PerformableQuestionPredicate,\nwhich routes failures through handleException() and checks\nBlackBox.isUsingSoftAssertions() before throwing. This matches the\nbehavior of all other Ensure assertion classes.\n\nAlso adds 5.3.11 release notes covering this fix and #3673.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Ensure.that(question, predicate) now respects soft assertions (#…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-04-07T18:48:44Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4e03f0ea481f7a2da514cf5b7ecb20a01be06623",
"body": "…tables (#3673)\n\nplainHtmlCompatible() already converts accented characters to HTML entities,\nbut the Freemarker outputformat 'HTML' directive was escaping them again,\ncausing characters like á, é, ñ to render as literal entity text.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Prevent double HTML escaping of accented characters in Examples …",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-04-07T17:54:02Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "da7c8480b52a3d6f9e803521803f4015b56fd960",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T20:09:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ddecb484c0acdf6fc557da0121b39f32b6f1e68",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.10",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T20:09:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4747cd8890a62b67df7e3f016e301e63887cd5b6",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T19:55:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ffa6f6628f85a6e5d5b392fcabb92f62b0a2af12",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.9",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T19:55:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd0a2f7f3483d07f05cfae8e081f92af4a24a7fc",
"body": "Pre-existing compilation error in CompleteATodo.java — an incomplete\nAssertions.assertThat() statement on line 38.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Remove stray Assertions.assertThat() in smoke test",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:37:36Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3953d3702356b6edbb324a6d9f64b7ec5e584205",
"body": "The parent version was stuck at 5.0.0-SNAPSHOT, causing CI to fail\nwith a non-resolvable parent POM error.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Update smoke tests parent POM version to 5.3.9-SNAPSHOT",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:33:22Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9f59e556091f7298059c8dd59466bab5c55e6283",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Update 5.3.9 release notes to reflect plexus-utils revert",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:24:32Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1d84fb37a0f73e88724f6b1d39740edbd19ccc1a",
"body": "plexus-utils 4.x removed the org.codehaus.plexus.util package, breaking\nMockito mocking of MavenProject (which references Xpp3Dom). The CVE\n(directory traversal in extractFile) is not exercised by the plugin.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Revert plexus-utils to 3.2.1 to fix CI build failure",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:23:29Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d2c0c362de86a4ac9ca5ebf9a2251bf21d0a4506",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.9 release notes and update version table",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:04:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4721bbf771a05c8a80023b49ec4b15979ff25164",
"body": "Without toString(), questions created via QuestionBuilder displayed\nas class@hashcode in report output instead of the defined subject.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Add toString() to QuestionWithDefinedSubject (#3661)",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:04:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6ddee511e0fa36040518dc76374826e05f32bf0b",
"body": "- jackson-core 2.20.1 → 2.21.1 (GHSA-72hv-8253-57qq, DoS via async parser)\n- plexus-utils 3.2.1 → 4.0.3 (CVE-2025-67030, directory traversal)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Update dependencies to resolve security vulnerabilities",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:04:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "41469c031bf17bdc2f8e854e69ef7ed170fbc4fb",
"body": "…l (#3719)\n\nPage source recording was hardcoded to disabled in PageSourceRecorder.\nRemoved the hardcoded shouldRecordPageSource() method and fixed the\ndefault in SoundEngineer to false, so recording is properly controlled\nby the serenity.store.html config (ALWAYS, FAILURES, NEVER).\n\nAlso added htmlS\n[…]\nin the\nscreenshot carousel can link to its corresponding page source file,\nand updated the Freemarker template to render the link.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Re-enable page source recording controlled by serenity.store.htm…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T19:04:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "431ccea21682189113487e1bb7f5c3c6d2375a87",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T16:09:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2751b9b35e1bfb0a8402dc11a6f5546ef7d4538",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.8",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-29T16:09:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7cdb2eb0b7cd1e50da57c6166305960e527d880",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.8 release notes and update version table",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T16:02:30Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3301124c39c041a19d2c9308621af02061b0fe4a",
"body": "Screenshot descriptions containing quote characters broke the img title\nattribute, causing raw HTML to render as visible text on the last slide.\nFixed by applying Freemarker ?html escaping to the caption.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Fix raw HTML leaking in screenshot carousel captions",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T15:49:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "993b68dfab8ea083baa685559886f7ef5b92a15b",
"body": "… (#3714)\n\nPR #3575 accidentally negated the condition in updatePageObject(),\nso the WebDriver was only injected into PageObjects when no driver\nwas available. This left @FindBy fields uninitialized, causing NPEs.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Fix @FindBy NullPointerException caused by inverted driver check…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T15:41:36Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2c3d04cc8940000dc5be7a12efda54f4956264e0",
"body": "…3722)\n\nThe screenshotCount index in default.ftl was being double-incremented\nfor group steps - once when rendering children and again after the\ngroup's nested table. This caused the Swiper carousel to open the\nwrong screenshot, with the offset growing larger as more group steps\nwere processed.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Fix screenshot navigation opening wrong screenshot in reports (#…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T15:41:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "16d44efd17983b38fddc726bab150c8486826672",
"body": "* Aligned Interaction implementation with Task\n\n* AnonymousInteraction methods return instances that implement Interaction interface\n\n* AnonymousTask methods return instances that implement Task interface\n\n* Fixed return types\n\n* Corrected types\n\n* Reverted Task and Interaction return types back to Performable\n\n---------\n\nCo-authored-by: Gilbert Blom <g.blom@dmg.eu>",
"is_bot": false,
"headline": "Issue/anonymous interaction.class #3726 (#3729)",
"author_name": "TrimbleGlob",
"author_login": "TrimbleGlob",
"committed_at": "2026-03-29T15:25:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10541789a829cc488424af520ef4753c4c28ebbb",
"body": "…limitations\n\nAtlassian's API token restrictions (mandatory expiration, limited scopes,\nand permission changes) make it impractical to reliably test and maintain\nthe Jira integration. Key changes:\n\n- Mark JerseyJiraClient, JiraStepListener, JiraUpdater, and\n JIRARequirementsProvider as @Deprecated\n\n[…]\n alongside Basic auth\n- Rename password field to token for clarity\n- Add deprecation notice to README with commercial support link\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: Deprecate Jira integration modules due to Atlassian API token …",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-29T15:23:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "012e0845d0751052ca033aa3b6bc5105c3e18d6a",
"body": "…731)",
"is_bot": false,
"headline": "fix: Actor abilities/facts not recorded in Cucumber parallel mode (#3…",
"author_name": "lsmarsden",
"author_login": "lsmarsden",
"committed_at": "2026-03-29T08:57:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "757bbe022ff38898476af5205e458afc97879207",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.7 release notes and update version table",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T15:38:59Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b1b8af8654a6eeacc893797d0e8eea649161a786",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-17T15:34:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1c7a2277b6491e39e7dfa7ffa01010bee57a96e",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.7",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-17T15:34:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a62c9546d61201e05a916a3006be5de4a3b7fa3",
"body": "- Add parent POM to serenity-bom so it inherits publishing config,\n fixing \"distributionManagement not specified\" deploy failure\n- Fix releaseProfiles from \"release\" to \"deploy\" to match actual\n profile name in root POM\n- Upgrade all workflows: checkout v3/v4 -> v6, setup-java v3/v4 -> v5,\n cache\n[…]\nFix pr-build.yml JDK 11/adopt -> JDK 17/temurin\n- Replace deprecated GabrielBB/xvfb-action@v1 with xvfb-run in\n Firefox smoketest\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Fix release workflow and upgrade all CI actions to Node.js 24",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T15:29:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4d5a6795b26c4ed7975c8332a7983cf979b9e322",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-17T14:26:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10a33521e1cb8c84e2e8c0f5c0ef8a9d78a82359",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.6",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-17T14:26:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d4be04209f9bf51dae8f46d28abba0464b83032",
"body": "…eractionsTest\n\nThe TinyMCE editor at the-internet.herokuapp.com/iframe now loads in\nread-only mode (contenteditable=\"false\"), causing 5 Playwright test\nfailures. Replace with local HTML fixtures to eliminate the flaky\nexternal dependency.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Replace external test site with local fixtures in WithinFrameInt…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T13:57:12Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "70d41dc9b3bc3013d6c21eb7fa8243a1e01dd8ce",
"body": "Upgrade checkout, setup-java, and cache actions from v3 to v4 to\nresolve Node.js 20 deprecation warnings. Replace coactions/setup-xvfb\naction (no Node.js 24 support) with direct xvfb-run command.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Upgrade CI actions to v4 and replace deprecated xvfb action",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T13:08:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e9fa464e7ee9e9a05a9bebf6d7898149aeb8b843",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.6 release notes and update version table",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T12:34:19Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6cf0349d7e44717d069739522c54e286e301def7",
"body": "Add a Bill of Materials (BOM) POM so consumers can import a single\ndependency to align all Serenity module versions. Bump project version\nfrom 5.3.5-SNAPSHOT to 5.3.6-SNAPSHOT across all modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add serenity-bom module and bump version to 5.3.6-SNAPSHOT",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-17T12:34:19Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7be9f04d8412f58518cb1a019ab1e4a18cc80e07",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-14T18:23:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc1d6f03d6565c4b72ab847333904641f78a0670",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.5",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-14T18:23:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93b79dc87d19072cc2d65a9b695da4fdeaa1836e",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.5 release notes and update version table",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-14T18:13:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bcca0e31aff68268fcec5214d83a6f65600c6189",
"body": "The Copilot-authored PR accidentally modified gradle/wrapper/gradle-wrapper.jar\nand added a gradlew script. This is a Maven project — these changes are not needed.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "revert: Remove accidental gradle wrapper changes from #3725",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-14T18:11:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a1ff50f5af993b0d3b57acc60b2cfb2a1557a34d",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/serenity-bdd/serenity-core",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-14T18:04:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d9e6d478e0881e7b85b2996ab2b77dd37c9d382",
"body": "…htStepListener\n\nThe takeScreenshots() interface methods were called by the framework on\nevery step completion without permission checks, writing screenshot and\nHTML source files unconditionally. The replay variants (stepFinished with\nList, stepFailed with List) were also re-capturing screenshots that had\nalready been written during takeScreenshots(), causing double writes in\nthe Cucumber session path.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Gate takeScreenshots() and prevent duplicate capture in Playwrig…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-14T18:03:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e7007e7a05f17307e7539ca77341e64cf55fa0c4",
"body": "…s enabled (#3727)\n\nPreviously, StepInterceptor swallowed all exceptions when soft assertions\nwere active, including RuntimeExceptions and checked exceptions. Only\nAssertionErrors should be suppressed by soft assertions — runtime errors\nlike NoSuchElementException or NullPointerException must propagate\nimmediately to terminate the test.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: RuntimeException not treated as hard failure when soft assertion…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-13T18:29:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "18ea7ab4533217fb5e1435591e4160ee055361fc",
"body": "* Initial plan\n\n* Add comprehensive tests for WithinFrame interactions\n\nCo-authored-by: wakaleo <55986+wakaleo@users.noreply.github.com>\n\n* Add comprehensive documentation for SwitchTo and WithinFrame\n\nCo-authored-by: wakaleo <55986+wakaleo@users.noreply.github.com>\n\n* Final summary - implementation\n[…]\n55986+wakaleo@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: wakaleo <55986+wakaleo@users.noreply.github.com>",
"is_bot": false,
"headline": "Add tests and documentation for Playwright context switching (#3725)",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-03-13T17:44:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0f970eed9c88c3a337c882b06efff63228899d9d",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-12T17:29:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6174943417100a53c508766e9c1a4d075730e4d",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.4",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-03-12T17:29:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "063a845b96ab66cd292240cf0bf4d45cabdb3e46",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.4 release notes for Playwright screenshot permission fixes",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-12T17:15:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "0445507270dcd663c0d964f3a246eef82ae7627a",
"body": "…Listener\n\nPlaywrightStepListener was capturing screenshots at every step boundary\nwithout checking ScreenshotPermission, producing 100+ artifacts even\nwith serenity.take.screenshots=FOR_FAILURES. It also always captured\npage source HTML regardless of serenity.store.html.\n\nNow mirrors BaseStepListen\n[…]\nL setting.\n\nAlso ensures Photographer creates the output directory before writing\nscreenshot files, fixing IOException in full test suite runs.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Respect screenshot and HTML source permissions in PlaywrightStep…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-12T17:00:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "552469451d422c1081b2c53b683b78678a8d4dbe",
"body": "…_STORE_HTML\n\nHTML page source in BrowseTheWebWithPlaywright.takeScreenShot() is now\ncontrolled by the SERENITY_STORE_HTML property (ALWAYS, NEVER, FAILURES),\nmatching the SoundEngineer approach used in the WebDriver code.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Conditionally record HTML source in Playwright based on SERENITY…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-03-09T18:26:33Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c203555d4cd1e036710e45a98f436c9b020e6947",
"body": "…pabilities\n\nTwo issues caused @Feature-annotated requirements to be misclassified:\n\n1. TestAnnotations.getClassTags() did not walk the enclosing class chain,\n so JUnit 5 @Nested inner classes did not inherit @Feature, @WithTag etc.\n from their outer class.\n\n2. TestOutcomeRequirementsTagProvider\n[…]\nded overrideRequirementTypesFromAnnotationTags() to correct requirement\ntypes when they match annotation-based feature tags from test outcomes.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Ensure @Feature annotations appear on Features tab instead of Ca…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-28T21:00:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4f87204593b10c3ae30ee9eb1da18b2d45cfe2b9",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-27T13:39:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8164c2d590561dccdec63fc3c21bd4c170bd7d1",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.3",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-27T13:39:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8324c951680fd1b7ab570ac67c2e433b7b0cdb4a",
"body": "Safely resolve Java methods from MethodSource when frameworks like Spock\nreport display names instead of actual method names, preventing\nexceptions during manual test annotation detection.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Handle alternative test frameworks in JUnit 5 method resolution",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T13:33:05Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d07156e261d6d08ce075e9e40e423068d20dfa27",
"body": "PlaywrightCast now accepts a Playwright OptionsFactory via\nwithOptions(), letting Cucumber/Screenplay tests reuse the same\nconfiguration class used with @UsePlaywright.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add OptionsFactory support to PlaywrightCast",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T13:32:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7393bcff582708ae0b5ba639fc5797bafc025273",
"body": "PlaywrightStepListener now captures full-page screenshots and HTML\nsource at step completion and on failure, populating Serenity reports\nwith visual evidence automatically.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add Playwright screenshot capture in step listener",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T13:32:47Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9f2d62cd991a477d7900f54a3615f2e46e91149f",
"body": "…laywright Page injection\n\nIntroduce a StepParameterProvider SPI that allows modules to supply\nconstructor arguments for @Steps-annotated step libraries. StepFactory\nnow queries registered providers when explicit parameters are not given.\n\nThe serenity-playwright module ships a PlaywrightPageProvide\n[…]\n to inject a lazy Page proxy, so step libraries can declare a\nPage constructor parameter and receive the current Playwright page\nautomatically.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add SPI-based constructor parameter resolution with automatic P…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T13:32:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "422c4c02bebef095900f8c19238d54fd92e2c9d0",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.3 release notes and update README version tables",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T13:28:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a14a667bf59c9137e5465448d1f50bc3b38cde5b",
"body": "…ght.baseurl, playwright.slowmo\n\nAllow users to configure browser channel, base URL, and slow-mo delay\nvia serenity.conf, serenity.properties, or -D flags without needing\ncode changes or a custom OptionsFactory.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add Serenity property fallbacks for playwright.channel, playwri…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-27T08:42:48Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8b3e1c7a4ee197e924a0c50e57581489fe69f3bb",
"body": "…solution\n\nPlaywrightBrowserManager and BrowseTheWebWithPlaywright contained\nnear-identical logic for translating Playwright's Options object into\nlaunch/context/connect parameters. Extract a shared PlaywrightOptionsResolver\nutility so both classes delegate to the same code. Also improve variable\nnaming in lifecycle methods and promote cleanup failure logging from\ndebug to warn level so resource leaks are visible.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: Extract PlaywrightOptionsResolver to deduplicate Options re…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-26T19:50:42Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bcb4e26c989e937b2d012e1a30f693c7bb460559",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-26T11:21:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cec75e3a62ec6b8239d7486a5e90234d477a603b",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.2",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-26T11:21:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0abdc2c5392e7181707a912f53490477bfdd8aad",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.2 release notes and update README version tables",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-26T09:21:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "919a09ebbedea0193b54c7d7a5095ab2c0ce6c47",
"body": "Extract runtime options storage into standalone CucumberRuntimeOptions\nclass to prevent NoClassDefFoundError when JUnit 4 is not on the\nclasspath (e.g. JUnit 5 + Cucumber setups). The reporters and other\ncallers now reference this new class instead of CucumberWithSerenity,\nwhich extends JUnit 4's ParentRunner.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Decouple RuntimeOptions storage from JUnit 4 class hierarchy",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-26T09:16:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "cfedbb7f42b524275b189bdfdc4bce9f762b261f",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-24T18:46:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b1ab9dbf307b537963f173e3da6b8d9b29f0d76",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.1",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-24T18:46:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b5aa644251e50a93914477ae20028f79a2c9702",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.3.1 release notes and update README version tables",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-24T18:38:48Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "fc14da1f54fac2dad96fb4dbf9ed505834e6a33f",
"body": "… for @Nested tests\n\nJUnit 5 @Nested inner classes now inherit requirements annotations from\ntheir enclosing (outer) class, so annotations like @Feature on the outer\nclass and @Story on the nested class correctly produce a hierarchical\nrequirements path (e.g. \"Product Catalog/Searching by keyword\").\n[…]\nth EpicFeatureStoryAnnotations.forClass() and Story.fromAnnotationsOn()\nnow walk the enclosing class chain in addition to the superclass chain.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Inherit @Epic/@Feature/@Story annotations from enclosing classes…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-24T18:29:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e75cbe9d5c2f09c9a0a909010a8319acfb42b9e9",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-24T09:54:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b547c0561a0b4a2fa00522c7a489f5101948a2b",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.3.0",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-24T09:54:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7ebefd4a53db4060a85fb32a6b087bccd17a02f",
"body": "…ements hierarchies\n\nIntroduces Allure-style string annotations for defining a three-level requirements\nhierarchy (Epic > Feature > Story) without boilerplate marker classes. Adds @DisplayName\nas default story name when @Story is absent. Bumps version to 5.3.0-SNAPSHOT.\n\nBREAKING CHANGE: @Story.value() changed from Class<?> to String. Existing\n@Story(SomeClass.class) must migrate to @Story(storyClass = SomeClass.class).\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add string-based @Epic, @Feature, @Story annotations for requir…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-24T09:15:15Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "aba478f2b7eec3f40c31c1686a8a7ab32821b64a",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-22T19:14:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1175278003b2a82e4ff480b235a3ff492f78fdd0",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.2.4",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-22T19:14:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4429ef962a63cce84b55760c34c03af7f8cd3beb",
"body": "…sertJ 3.27.7, Byte Buddy 1.18.5, SLF4J 2.0.17\n\nUpdate release notes and README version tables to reflect dependency changes.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(deps): Update Selenium 4.41.0, Cucumber 7.34.2, JUnit 6.0.3, As…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T19:06:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ba5436b7262f31fad41dd73110fe7597dca0fdc5",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.2.4 release notes and update README version tables",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T18:30:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b66ead058b71cdc1766af9e533f1edbde157d36e",
"body": "… (issue #3723)\n\nThe \"Total Execution Time\" label was misleading when tests run in parallel,\nas it shows the sum of all individual test durations rather than wall clock\ntime. Renamed to \"Cumulative Test Time\" with a subtitle clarifying it is the\nsum of all individual test durations. Also added duration formatting tests\nconfirming the underlying calculation is correct.\n\nCloses #3723\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(reports): Rename \"Total Execution Time\" to \"Cumulative Test Time\"…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T18:24:19Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8f0a6efb71e56db37fde618b22015fdec59f09c8",
"body": "Add @ExtendWith(SerenityJUnit5Extension.class) and\n@ExtendWith(SerenityPlaywrightExtension.class) to the integration test\nfor proper Serenity reporting and screenshot capture, consistent with\nthe established annotation pattern.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(test): Add Serenity extensions to @UsePlaywright integration test",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T16:50:38Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4408e24ee28b12c29fe62913da004064d111b062",
"body": "…UsePlaywright support\n\nAllow Screenplay actors to wrap an externally-provided Page (e.g. from\n@UsePlaywright) instead of creating a duplicate browser instance. The new\nwithPage() factory method creates a lightweight ability that reuses the\nexisting browser session and skips resource cleanup on teardown since the\nexternal owner manages the lifecycle.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(screenplay): Add BrowseTheWebWithPlaywright.withPage(Page) for @…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T16:36:53Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "557049724bca756465b07b7d0090891dacd915fb",
"body": "Add release notes for 5.2.3 highlighting @UsePlaywright support\nfor simplified browser lifecycle management. Update version\ncompatibility tables in README with 5.2.3 entries.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add 5.2.3 release notes and update README version tables",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T15:54:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b4e1502db2b80115557716f99e8f0956cdd8822f",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-22T15:36:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73516ef04ced7a80255157d12ec6e56c8f99fb4b",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.2.3",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-22T15:36:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2300f18ebb931913ca7e6537d60e0ae5c0e8d63",
"body": "…y extensions\n\nSerenityPlaywrightExtension now detects @UsePlaywright and cooperates\nwith Playwright's own parameter resolution instead of competing with it.\nUses InvocationInterceptor to capture Page instances from method\nparameters and register them with Serenity for screenshot capture.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(playwright): Support @UsePlaywright annotation alongside Serenit…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-22T15:01:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b5f75908006d5be634574a537d9d2846602418c5",
"body": "The @Unroll test method name had '#consequence without a closing single\nquote, causing method lookup failures in SerenityTestExecutionListener.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(screenplay): Add missing closing quote in Spock test method name",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-03T19:16:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6921fd09e98c042c00ee35843ce4bf075dcdb225",
"body": "New module containing verified, working code examples for tutorials:\n\nREST API Testing (36 tests):\n- Basic REST operations (GET, POST, PUT, PATCH, DELETE)\n- Screenplay pattern for API testing (tasks, questions)\n- Authentication patterns (Basic Auth, Bearer tokens)\n- Data-driven tests with parameteri\n[…]\ninst real APIs (JSONPlaceholder, ReqRes, Restful-Booker)\n- Thread-safe test state management\n- JUnit 5 integration\n\nRun: mvn verify -Ptutorials\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add serenity-tutorials module with working code samples",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-03T19:16:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "972bc1fd2423e790e8d1959c93a261c2ae771a75",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-02T14:59:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86de052ca3cbd0ce2c30a59c294d33158af107fd",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.2.2",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-02T14:59:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9343f6d810a93c92d3f75eb39b93d5dbda101f0b",
"body": "Added documentation for:\n- CheckConsole.forErrors/forWarnings/forErrorsAndWarnings\n- CheckConsole.andReportOnly() mode\n- ReportConsoleMessages.all/errors/warnings/errorsAndWarnings\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add CheckConsole and ReportConsoleMessages to 5.2.2 release notes",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-02T14:26:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bbb222e74944ec950c5c91a6c1be6651f53ca528",
"body": "…ions\n\nNew features:\n- CheckConsole.forErrors() - Fails test if console errors are found\n- CheckConsole.forWarnings() - Fails test if console warnings are found\n- CheckConsole.forErrorsAndWarnings() - Fails test if either are found\n- CheckConsole.forErrors().andReportOnly() - Reports without failing\n[…]\ngs\n\nBug fix:\n- APIRequestTest: Use programmatic cookie setting instead of httpbin.org\n redirect endpoint for more reliable cookie sharing test\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(playwright): Add CheckConsole and ReportConsoleMessages interact…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-02T13:36:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "bd090beed17aa8b5596eee42a0dbf36ead38fbad",
"body": "…bles\n\nAdd comprehensive release notes documenting:\n- 5.2.0: Complete Serenity Screenplay Playwright integration\n- 5.2.1: UI element factories, visual testing, accessibility, device emulation\n- 5.2.2: Session persistence, API testing, network capture, failure evidence\n\nUpdate README version tables to include 5.2.x releases.\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: Add release notes for 5.2.0, 5.2.1, 5.2.2 and update version ta…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-02T12:39:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f65bbc49cfab1a4075e07cbf674b126ee5b18181",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/serenity-bdd/serenity-core",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-02T11:48:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad0485a5869fb58bcb3c14dbfd5bb3db8dfe97b0",
"body": "…vidence capture\n\n- Add SaveSessionState and RestoreSessionState for session persistence\n - Save cookies, localStorage, sessionStorage to JSON file\n - Restore session state in new browser contexts\n - Enables test isolation with shared authentication state\n\n- Add API testing integration via APIReq\n[…]\nquests interaction to monitor traffic\n - NetworkRequests questions to query captured requests\n - Filter by URL, method, status, glob patterns\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(playwright): Add session persistence, API testing, and failure e…",
"author_name": "John Ferguson Smart",
"author_login": "wakaleo",
"committed_at": "2026-02-02T11:46:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0195c92e16227e94a79cf58168b040717a163c0b",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare for next development iteration",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-01T21:58:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9088c51740466ebf7ef6d68e64073717a8e95a42",
"body": null,
"is_bot": false,
"headline": "[ci skip] prepare release 5.2.1",
"author_name": "GitHub Actions",
"author_login": "actions-user",
"committed_at": "2026-02-01T21:58:37Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 247,
"latest_release_at": "2024-01-10T10:32:56Z",
"latest_release_tag": "4.0.1",
"releases_from_tags": false,
"days_since_last_push": 8,
"active_weeks_last_year": 22,
"days_since_latest_release": 926,
"mean_days_between_releases": 128.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 75,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "net.serenity-bdd:serenity-cli",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-cli",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 234,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:26Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
},
{
"name": "net.serenity-bdd:serenity-core",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-core",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 537,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:24Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
},
{
"name": "net.serenity-bdd:serenity-junit",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-junit",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 566,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:32Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
},
{
"name": "net.serenity-bdd:serenity-model",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-model",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 365,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:44Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
},
{
"name": "net.serenity-bdd:serenity-stats",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-stats",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 338,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:47Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
},
{
"name": "net.serenity-bdd:serenity-bitbar",
"exists": true,
"license": "The Apache Software License, Version 2.0",
"keywords": [],
"ecosystem": "maven",
"matches_repo": null,
"registry_url": "https://central.sonatype.com/artifact/net.serenity-bdd/serenity-bitbar",
"is_deprecated": false,
"latest_version": "5.3.11",
"repository_url": null,
"versions_count": 151,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-15T06:09:21Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
}
]
},
"popularity": {
"forks": 544,
"stars": 755,
"watchers": 89,
"fork_history": {
"days": [
{
"date": "2014-11-08",
"count": 1
},
{
"date": "2014-11-20",
"count": 1
},
{
"date": "2014-11-21",
"count": 1
},
{
"date": "2014-12-04",
"count": 1
},
{
"date": "2015-01-19",
"count": 1
},
{
"date": "2015-01-21",
"count": 2
},
{
"date": "2015-03-05",
"count": 1
},
{
"date": "2015-03-23",
"count": 1
},
{
"date": "2015-03-30",
"count": 1
},
{
"date": "2015-03-31",
"count": 1
},
{
"date": "2015-04-30",
"count": 1
},
{
"date": "2015-05-10",
"count": 1
},
{
"date": "2015-05-20",
"count": 1
},
{
"date": "2015-06-03",
"count": 1
},
{
"date": "2015-06-04",
"count": 1
},
{
"date": "2015-06-07",
"count": 1
},
{
"date": "2015-07-08",
"count": 1
},
{
"date": "2015-07-12",
"count": 1
},
{
"date": "2015-07-21",
"count": 2
},
{
"date": "2015-07-28",
"count": 1
},
{
"date": "2015-08-07",
"count": 2
},
{
"date": "2015-08-12",
"count": 1
},
{
"date": "2015-08-20",
"count": 1
},
{
"date": "2015-08-31",
"count": 2
},
{
"date": "2015-09-04",
"count": 1
},
{
"date": "2015-09-14",
"count": 2
},
{
"date": "2015-09-15",
"count": 2
},
{
"date": "2015-09-17",
"count": 1
},
{
"date": "2015-09-21",
"count": 1
},
{
"date": "2015-09-25",
"count": 1
},
{
"date": "2015-10-09",
"count": 2
},
{
"date": "2015-10-20",
"count": 1
},
{
"date": "2015-10-22",
"count": 1
},
{
"date": "2015-10-29",
"count": 1
},
{
"date": "2015-11-16",
"count": 1
},
{
"date": "2015-11-17",
"count": 1
},
{
"date": "2015-11-26",
"count": 1
},
{
"date": "2015-12-21",
"count": 1
},
{
"date": "2015-12-23",
"count": 1
},
{
"date": "2016-01-26",
"count": 1
},
{
"date": "2016-01-27",
"count": 1
},
{
"date": "2016-02-17",
"count": 1
},
{
"date": "2016-02-28",
"count": 1
},
{
"date": "2016-03-02",
"count": 1
},
{
"date": "2016-03-04",
"count": 1
},
{
"date": "2016-04-01",
"count": 1
},
{
"date": "2016-04-02",
"count": 1
},
{
"date": "2016-04-13",
"count": 1
},
{
"date": "2016-04-14",
"count": 1
},
{
"date": "2016-04-28",
"count": 1
},
{
"date": "2016-05-09",
"count": 1
},
{
"date": "2016-05-16",
"count": 1
},
{
"date": "2016-05-26",
"count": 1
},
{
"date": "2016-06-03",
"count": 1
},
{
"date": "2016-06-07",
"count": 1
},
{
"date": "2016-06-15",
"count": 1
},
{
"date": "2016-06-17",
"count": 1
},
{
"date": "2016-06-20",
"count": 1
},
{
"date": "2016-06-21",
"count": 1
},
{
"date": "2016-06-23",
"count": 1
},
{
"date": "2016-06-26",
"count": 1
},
{
"date": "2016-07-06",
"count": 1
},
{
"date": "2016-07-18",
"count": 1
},
{
"date": "2016-08-18",
"count": 1
},
{
"date": "2016-08-25",
"count": 1
},
{
"date": "2016-08-26",
"count": 1
},
{
"date": "2016-08-30",
"count": 1
},
{
"date": "2016-09-16",
"count": 1
},
{
"date": "2016-09-17",
"count": 1
},
{
"date": "2016-10-18",
"count": 1
},
{
"date": "2016-10-25",
"count": 1
},
{
"date": "2016-10-29",
"count": 1
},
{
"date": "2016-11-08",
"count": 1
},
{
"date": "2016-11-11",
"count": 1
},
{
"date": "2016-11-18",
"count": 1
},
{
"date": "2016-11-23",
"count": 1
},
{
"date": "2016-12-20",
"count": 2
},
{
"date": "2016-12-23",
"count": 1
},
{
"date": "2017-01-12",
"count": 1
},
{
"date": "2017-01-15",
"count": 1
},
{
"date": "2017-01-30",
"count": 2
},
{
"date": "2017-02-04",
"count": 1
},
{
"date": "2017-02-19",
"count": 1
},
{
"date": "2017-02-23",
"count": 1
},
{
"date": "2017-03-01",
"count": 1
},
{
"date": "2017-03-04",
"count": 1
},
{
"date": "2017-03-06",
"count": 1
},
{
"date": "2017-03-21",
"count": 1
},
{
"date": "2017-03-22",
"count": 1
},
{
"date": "2017-03-30",
"count": 1
},
{
"date": "2017-04-06",
"count": 1
},
{
"date": "2017-04-27",
"count": 1
},
{
"date": "2017-05-07",
"count": 1
},
{
"date": "2017-05-11",
"count": 1
},
{
"date": "2017-05-14",
"count": 1
},
{
"date": "2017-05-29",
"count": 1
},
{
"date": "2017-06-09",
"count": 1
},
{
"date": "2017-06-23",
"count": 1
},
{
"date": "2017-07-14",
"count": 1
},
{
"date": "2017-07-17",
"count": 1
},
{
"date": "2017-07-21",
"count": 1
},
{
"date": "2017-07-26",
"count": 1
},
{
"date": "2017-08-13",
"count": 1
},
{
"date": "2017-08-29",
"count": 2
},
{
"date": "2017-08-30",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-04",
"count": 1
},
{
"date": "2017-09-26",
"count": 1
},
{
"date": "2017-10-02",
"count": 1
},
{
"date": "2017-10-07",
"count": 1
},
{
"date": "2017-10-16",
"count": 1
},
{
"date": "2017-10-17",
"count": 1
},
{
"date": "2017-10-18",
"count": 1
},
{
"date": "2017-10-25",
"count": 1
},
{
"date": "2017-11-23",
"count": 1
},
{
"date": "2017-11-24",
"count": 1
},
{
"date": "2017-12-10",
"count": 1
},
{
"date": "2017-12-16",
"count": 1
},
{
"date": "2017-12-19",
"count": 1
},
{
"date": "2017-12-29",
"count": 1
},
{
"date": "2018-01-09",
"count": 1
},
{
"date": "2018-01-13",
"count": 1
},
{
"date": "2018-01-23",
"count": 1
},
{
"date": "2018-01-30",
"count": 1
},
{
"date": "2018-02-02",
"count": 1
},
{
"date": "2018-02-06",
"count": 1
},
{
"date": "2018-02-12",
"count": 1
},
{
"date": "2018-02-16",
"count": 1
},
{
"date": "2018-03-05",
"count": 1
},
{
"date": "2018-03-08",
"count": 2
},
{
"date": "2018-03-12",
"count": 1
},
{
"date": "2018-03-26",
"count": 1
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-04-04",
"count": 1
},
{
"date": "2018-04-10",
"count": 2
},
{
"date": "2018-04-12",
"count": 1
},
{
"date": "2018-04-13",
"count": 1
},
{
"date": "2018-05-08",
"count": 1
},
{
"date": "2018-05-14",
"count": 1
},
{
"date": "2018-05-24",
"count": 1
},
{
"date": "2018-06-14",
"count": 1
},
{
"date": "2018-06-15",
"count": 1
},
{
"date": "2018-06-28",
"count": 1
},
{
"date": "2018-07-03",
"count": 1
},
{
"date": "2018-07-09",
"count": 1
},
{
"date": "2018-07-12",
"count": 1
},
{
"date": "2018-07-23",
"count": 1
},
{
"date": "2018-08-05",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-08-25",
"count": 1
},
{
"date": "2018-08-30",
"count": 2
},
{
"date": "2018-09-05",
"count": 1
},
{
"date": "2018-09-06",
"count": 1
},
{
"date": "2018-09-28",
"count": 1
},
{
"date": "2018-10-03",
"count": 1
},
{
"date": "2018-10-04",
"count": 1
},
{
"date": "2018-10-08",
"count": 1
},
{
"date": "2018-10-10",
"count": 1
},
{
"date": "2018-10-16",
"count": 2
},
{
"date": "2018-10-20",
"count": 1
},
{
"date": "2018-10-22",
"count": 1
},
{
"date": "2018-10-23",
"count": 1
},
{
"date": "2018-10-25",
"count": 1
},
{
"date": "2018-10-29",
"count": 1
},
{
"date": "2018-11-09",
"count": 1
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-15",
"count": 1
},
{
"date": "2018-11-23",
"count": 1
},
{
"date": "2018-11-26",
"count": 1
},
{
"date": "2018-11-27",
"count": 1
},
{
"date": "2018-11-28",
"count": 2
},
{
"date": "2018-12-11",
"count": 2
},
{
"date": "2018-12-13",
"count": 1
},
{
"date": "2018-12-28",
"count": 1
},
{
"date": "2019-01-16",
"count": 1
},
{
"date": "2019-01-17",
"count": 1
},
{
"date": "2019-01-22",
"count": 1
},
{
"date": "2019-02-06",
"count": 1
},
{
"date": "2019-02-08",
"count": 1
},
{
"date": "2019-02-10",
"count": 1
},
{
"date": "2019-02-13",
"count": 1
},
{
"date": "2019-02-19",
"count": 1
},
{
"date": "2019-02-25",
"count": 1
},
{
"date": "2019-03-04",
"count": 1
},
{
"date": "2019-03-12",
"count": 2
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-03-26",
"count": 1
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-03-28",
"count": 1
},
{
"date": "2019-04-09",
"count": 1
},
{
"date": "2019-04-10",
"count": 1
},
{
"date": "2019-04-11",
"count": 3
},
{
"date": "2019-04-14",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-04-29",
"count": 1
},
{
"date": "2019-05-04",
"count": 1
},
{
"date": "2019-05-15",
"count": 1
},
{
"date": "2019-05-17",
"count": 1
},
{
"date": "2019-05-20",
"count": 1
},
{
"date": "2019-05-21",
"count": 1
},
{
"date": "2019-05-24",
"count": 2
},
{
"date": "2019-05-31",
"count": 1
},
{
"date": "2019-06-04",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-06-13",
"count": 1
},
{
"date": "2019-06-24",
"count": 1
},
{
"date": "2019-06-25",
"count": 1
},
{
"date": "2019-06-28",
"count": 1
},
{
"date": "2019-07-12",
"count": 1
},
{
"date": "2019-07-15",
"count": 2
},
{
"date": "2019-07-25",
"count": 1
},
{
"date": "2019-08-01",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-08-27",
"count": 3
},
{
"date": "2019-08-28",
"count": 1
},
{
"date": "2019-09-01",
"count": 1
},
{
"date": "2019-09-03",
"count": 1
},
{
"date": "2019-09-09",
"count": 2
},
{
"date": "2019-09-16",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-09-20",
"count": 1
},
{
"date": "2019-09-23",
"count": 2
},
{
"date": "2019-10-16",
"count": 1
},
{
"date": "2019-10-25",
"count": 1
},
{
"date": "2019-10-29",
"count": 1
},
{
"date": "2019-10-30",
"count": 1
},
{
"date": "2019-11-02",
"count": 1
},
{
"date": "2019-11-06",
"count": 1
},
{
"date": "2019-11-12",
"count": 1
},
{
"date": "2019-11-24",
"count": 1
},
{
"date": "2019-11-26",
"count": 2
},
{
"date": "2019-12-02",
"count": 1
},
{
"date": "2019-12-03",
"count": 1
},
{
"date": "2019-12-26",
"count": 1
},
{
"date": "2019-12-31",
"count": 1
},
{
"date": "2020-01-09",
"count": 1
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-21",
"count": 1
},
{
"date": "2020-01-23",
"count": 2
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-01-30",
"count": 1
},
{
"date": "2020-02-01",
"count": 1
},
{
"date": "2020-02-15",
"count": 1
},
{
"date": "2020-02-25",
"count": 1
},
{
"date": "2020-03-04",
"count": 1
},
{
"date": "2020-03-06",
"count": 1
},
{
"date": "2020-03-09",
"count": 1
},
{
"date": "2020-03-11",
"count": 1
},
{
"date": "2020-03-13",
"count": 1
},
{
"date": "2020-03-15",
"count": 1
},
{
"date": "2020-03-21",
"count": 1
},
{
"date": "2020-03-23",
"count": 1
},
{
"date": "2020-04-02",
"count": 1
},
{
"date": "2020-04-07",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-19",
"count": 1
},
{
"date": "2020-04-20",
"count": 1
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-07",
"count": 1
},
{
"date": "2020-05-28",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-04",
"count": 1
},
{
"date": "2020-06-10",
"count": 2
},
{
"date": "2020-06-11",
"count": 2
},
{
"date": "2020-06-23",
"count": 2
},
{
"date": "2020-06-26",
"count": 1
},
{
"date": "2020-06-27",
"count": 1
},
{
"date": "2020-06-30",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-07-07",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-16",
"count": 1
},
{
"date": "2020-07-17",
"count": 1
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-07-21",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-24",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-07-31",
"count": 1
},
{
"date": "2020-08-01",
"count": 1
},
{
"date": "2020-08-09",
"count": 1
},
{
"date": "2020-08-20",
"count": 1
},
{
"date": "2020-08-26",
"count": 1
},
{
"date": "2020-08-31",
"count": 1
},
{
"date": "2020-09-01",
"count": 2
},
{
"date": "2020-09-07",
"count": 1
},
{
"date": "2020-09-09",
"count": 1
},
{
"date": "2020-09-14",
"count": 1
},
{
"date": "2020-09-22",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-24",
"count": 1
},
{
"date": "2020-10-15",
"count": 1
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2020-11-02",
"count": 1
},
{
"date": "2020-11-17",
"count": 1
},
{
"date": "2020-11-20",
"count": 1
},
{
"date": "2020-11-24",
"count": 1
},
{
"date": "2020-12-01",
"count": 1
},
{
"date": "2020-12-12",
"count": 1
},
{
"date": "2020-12-26",
"count": 1
},
{
"date": "2020-12-28",
"count": 1
},
{
"date": "2021-01-02",
"count": 1
},
{
"date": "2021-01-04",
"count": 1
},
{
"date": "2021-01-10",
"count": 1
},
{
"date": "2021-01-18",
"count": 1
},
{
"date": "2021-01-26",
"count": 1
},
{
"date": "2021-01-27",
"count": 1
},
{
"date": "2021-02-09",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-19",
"count": 2
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-03-12",
"count": 1
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-25",
"count": 2
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-12",
"count": 1
},
{
"date": "2021-04-16",
"count": 1
},
{
"date": "2021-04-17",
"count": 1
},
{
"date": "2021-04-22",
"count": 1
},
{
"date": "2021-05-07",
"count": 1
},
{
"date": "2021-05-10",
"count": 1
},
{
"date": "2021-05-13",
"count": 1
},
{
"date": "2021-05-25",
"count": 1
},
{
"date": "2021-07-06",
"count": 1
},
{
"date": "2021-07-10",
"count": 1
},
{
"date": "2021-07-21",
"count": 2
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-11",
"count": 2
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-08-24",
"count": 2
},
{
"date": "2021-08-26",
"count": 1
},
{
"date": "2021-09-24",
"count": 1
},
{
"date": "2021-10-21",
"count": 1
},
{
"date": "2021-10-22",
"count": 1
},
{
"date": "2021-10-25",
"count": 1
},
{
"date": "2021-11-10",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2021-12-06",
"count": 2
},
{
"date": "2021-12-19",
"count": 1
},
{
"date": "2021-12-22",
"count": 2
},
{
"date": "2022-01-05",
"count": 1
},
{
"date": "2022-01-11",
"count": 1
},
{
"date": "2022-01-14",
"count": 1
},
{
"date": "2022-01-18",
"count": 1
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-01-27",
"count": 1
},
{
"date": "2022-02-04",
"count": 1
},
{
"date": "2022-02-10",
"count": 2
},
{
"date": "2022-02-15",
"count": 1
},
{
"date": "2022-02-16",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-04-28",
"count": 1
},
{
"date": "2022-04-29",
"count": 2
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-12",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-23",
"count": 1
},
{
"date": "2022-05-25",
"count": 1
},
{
"date": "2022-06-06",
"count": 1
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-28",
"count": 1
},
{
"date": "2022-07-25",
"count": 1
},
{
"date": "2022-08-06",
"count": 1
},
{
"date": "2022-08-22",
"count": 1
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-24",
"count": 1
},
{
"date": "2022-10-02",
"count": 1
},
{
"date": "2022-10-14",
"count": 1
},
{
"date": "2022-10-17",
"count": 1
},
{
"date": "2022-10-18",
"count": 1
},
{
"date": "2022-10-25",
"count": 1
},
{
"date": "2022-10-28",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-01",
"count": 1
},
{
"date": "2022-11-11",
"count": 1
},
{
"date": "2022-11-14",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-12-20",
"count": 1
},
{
"date": "2022-12-21",
"count": 1
},
{
"date": "2022-12-22",
"count": 1
},
{
"date": "2023-01-12",
"count": 1
},
{
"date": "2023-01-13",
"count": 1
},
{
"date": "2023-01-31",
"count": 1
},
{
"date": "2023-02-10",
"count": 1
},
{
"date": "2023-02-16",
"count": 1
},
{
"date": "2023-03-01",
"count": 1
},
{
"date": "2023-03-23",
"count": 1
},
{
"date": "2023-03-27",
"count": 3
},
{
"date": "2023-03-29",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-05-15",
"count": 1
},
{
"date": "2023-06-05",
"count": 1
},
{
"date": "2023-06-07",
"count": 1
},
{
"date": "2023-06-13",
"count": 1
},
{
"date": "2023-06-14",
"count": 2
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-22",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-02",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2023-07-10",
"count": 1
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-13",
"count": 1
},
{
"date": "2023-07-16",
"count": 1
},
{
"date": "2023-08-07",
"count": 1
},
{
"date": "2023-08-20",
"count": 1
},
{
"date": "2023-08-21",
"count": 1
},
{
"date": "2023-08-22",
"count": 1
},
{
"date": "2023-09-07",
"count": 1
},
{
"date": "2023-09-09",
"count": 1
},
{
"date": "2023-09-14",
"count": 1
},
{
"date": "2023-09-26",
"count": 1
},
{
"date": "2023-09-27",
"count": 1
},
{
"date": "2023-09-30",
"count": 1
},
{
"date": "2023-10-06",
"count": 1
},
{
"date": "2023-10-11",
"count": 1
},
{
"date": "2023-10-21",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2024-01-06",
"count": 1
},
{
"date": "2024-01-25",
"count": 1
},
{
"date": "2024-03-18",
"count": 1
},
{
"date": "2024-04-12",
"count": 1
},
{
"date": "2024-04-14",
"count": 1
},
{
"date": "2024-04-15",
"count": 1
},
{
"date": "2024-05-06",
"count": 1
},
{
"date": "2024-05-14",
"count": 1
},
{
"date": "2024-05-29",
"count": 1
},
{
"date": "2024-06-12",
"count": 1
},
{
"date": "2024-09-03",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-24",
"count": 1
},
{
"date": "2024-10-15",
"count": 1
},
{
"date": "2024-10-16",
"count": 1
},
{
"date": "2024-10-31",
"count": 1
},
{
"date": "2024-11-15",
"count": 1
},
{
"date": "2024-11-18",
"count": 1
},
{
"date": "2024-12-05",
"count": 2
},
{
"date": "2024-12-06",
"count": 1
},
{
"date": "2024-12-26",
"count": 1
},
{
"date": "2025-01-21",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-02-23",
"count": 1
},
{
"date": "2025-03-04",
"count": 1
},
{
"date": "2025-03-14",
"count": 1
},
{
"date": "2025-03-15",
"count": 1
},
{
"date": "2025-03-19",
"count": 1
},
{
"date": "2025-04-20",
"count": 1
},
{
"date": "2025-04-29",
"count": 1
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-14",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-20",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-07-04",
"count": 1
},
{
"date": "2025-07-09",
"count": 1
},
{
"date": "2025-07-26",
"count": 1
},
{
"date": "2025-07-30",
"count": 1
},
{
"date": "2025-08-18",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-10-02",
"count": 1
},
{
"date": "2025-11-06",
"count": 1
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-09",
"count": 1
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-23",
"count": 1
},
{
"date": "2026-02-27",
"count": 1
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-04",
"count": 1
},
{
"date": "2026-05-14",
"count": 1
},
{
"date": "2026-05-18",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
}
],
"complete": true,
"collected": 538,
"total_forks": 544
},
"star_history": null,
"open_issues_and_prs": 437
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"demos",
"examples",
"sample",
"samples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"pom.xml",
"serenity-ant-task/build.gradle",
"serenity-ant-task/pom.xml",
"serenity-appium-screenplay-poc/pom.xml",
"serenity-appium/pom.xml",
"serenity-asciidoc/build.gradle",
"serenity-assertions/build.gradle",
"serenity-assertions/pom.xml",
"serenity-bitbar/build.gradle",
"serenity-bitbar/pom.xml",
"serenity-bom/pom.xml",
"serenity-browsermob-plugin/build.gradle",
"serenity-browsermob-plugin/pom.xml",
"serenity-browserstack/build.gradle",
"serenity-browserstack/pom.xml",
"serenity-cli/pom.xml",
"serenity-core/build.gradle",
"serenity-core/pom.xml",
"serenity-crossbrowsertesting/build.gradle",
"serenity-crossbrowsertesting/pom.xml",
"serenity-cucumber/pom.xml",
"serenity-ensure/build.gradle",
"serenity-ensure/pom.xml",
"serenity-jira-plugin/pom.xml",
"serenity-jira-requirements-provider/pom.xml",
"serenity-json-summary-report/build.gradle",
"serenity-json-summary-report/pom.xml",
"serenity-junit/build.gradle",
"serenity-junit/pom.xml",
"serenity-junit5/build.gradle",
"serenity-junit5/pom.xml",
"serenity-lambdatest/pom.xml",
"serenity-maven-plugin/pom.xml",
"serenity-mobile-screenplay-example/pom.xml",
"serenity-model/build.gradle",
"serenity-model/pom.xml",
"serenity-model/src/test/resources/resourcelist/pom.xml",
"serenity-navigator-report/build.gradle",
"serenity-navigator-report/pom.xml",
"serenity-playwright-demo/pom.xml",
"serenity-playwright/pom.xml",
"serenity-report-resources/build.gradle",
"serenity-report-resources/pom.xml",
"serenity-reports-configuration/build.gradle",
"serenity-reports-configuration/pom.xml",
"serenity-reports/build.gradle",
"serenity-reports/pom.xml",
"serenity-rest-assured/build.gradle",
"serenity-rest-assured/pom.xml",
"serenity-sample-alternative-resources/build.gradle",
"serenity-sample-alternative-resources/pom.xml",
"serenity-saucelabs/build.gradle",
"serenity-saucelabs/pom.xml",
"serenity-screenplay-playwright/pom.xml",
"serenity-screenplay-rest/build.gradle",
"serenity-screenplay-rest/pom.xml",
"serenity-screenplay-webdriver/build.gradle",
"serenity-screenplay-webdriver/pom.xml",
"serenity-screenplay/build.gradle",
"serenity-screenplay/pom.xml",
"serenity-selenoid/pom.xml",
"serenity-shutterbug/build.gradle",
"serenity-shutterbug/pom.xml",
"serenity-single-page-report/build.gradle",
"serenity-single-page-report/pom.xml",
"serenity-smoketests/build.gradle",
"serenity-smoketests/pom.xml",
"serenity-spock/pom.xml",
"serenity-spring/build.gradle",
"serenity-spring/pom.xml",
"serenity-stats/build.gradle",
"serenity-stats/pom.xml",
"serenity-tutorials/pom.xml",
"serenity-zalenium/build.gradle",
"serenity-zalenium/pom.xml"
],
"largest_source_bytes": 521054,
"source_files_sampled": 4161,
"oversized_source_files": 168,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 16298
},
"dependencies": {
"manifests": [
"pom.xml",
"serenity-ant-task/build.gradle",
"serenity-ant-task/pom.xml",
"serenity-appium-screenplay-poc/pom.xml",
"serenity-appium/pom.xml",
"serenity-asciidoc/build.gradle",
"serenity-assertions/build.gradle",
"serenity-assertions/pom.xml",
"serenity-bitbar/build.gradle",
"serenity-bitbar/pom.xml",
"serenity-bom/pom.xml",
"serenity-browsermob-plugin/build.gradle",
"serenity-browsermob-plugin/pom.xml",
"serenity-browserstack/build.gradle",
"serenity-browserstack/pom.xml",
"serenity-cli/pom.xml",
"serenity-core/build.gradle",
"serenity-core/pom.xml",
"serenity-crossbrowsertesting/build.gradle",
"serenity-crossbrowsertesting/pom.xml",
"serenity-cucumber/pom.xml",
"serenity-ensure/build.gradle",
"serenity-ensure/pom.xml",
"serenity-jira-plugin/pom.xml",
"serenity-jira-requirements-provider/pom.xml",
"serenity-json-summary-report/build.gradle",
"serenity-json-summary-report/pom.xml",
"serenity-junit/build.gradle",
"serenity-junit/pom.xml",
"serenity-junit5/build.gradle",
"serenity-junit5/pom.xml",
"serenity-lambdatest/pom.xml",
"serenity-maven-plugin/pom.xml",
"serenity-mobile-screenplay-example/pom.xml",
"serenity-model/build.gradle",
"serenity-model/pom.xml",
"serenity-navigator-report/build.gradle",
"serenity-navigator-report/pom.xml",
"serenity-playwright-demo/pom.xml",
"serenity-playwright/pom.xml",
"serenity-report-resources/build.gradle",
"serenity-report-resources/pom.xml",
"serenity-reports-configuration/build.gradle",
"serenity-reports-configuration/pom.xml",
"serenity-reports/build.gradle",
"serenity-reports/pom.xml",
"serenity-rest-assured/build.gradle",
"serenity-rest-assured/pom.xml",
"serenity-sample-alternative-resources/build.gradle",
"serenity-sample-alternative-resources/pom.xml",
"serenity-saucelabs/build.gradle",
"serenity-saucelabs/pom.xml",
"serenity-screenplay-playwright/pom.xml",
"serenity-screenplay-rest/build.gradle",
"serenity-screenplay-rest/pom.xml",
"serenity-screenplay-webdriver/build.gradle",
"serenity-screenplay-webdriver/pom.xml",
"serenity-screenplay/build.gradle",
"serenity-screenplay/pom.xml",
"serenity-selenoid/pom.xml",
"serenity-shutterbug/build.gradle",
"serenity-shutterbug/pom.xml",
"serenity-single-page-report/build.gradle",
"serenity-single-page-report/pom.xml",
"serenity-smoketests/build.gradle",
"serenity-smoketests/pom.xml",
"serenity-spock/pom.xml",
"serenity-spring/build.gradle",
"serenity-spring/pom.xml",
"serenity-stats/build.gradle",
"serenity-stats/pom.xml",
"serenity-tutorials/pom.xml",
"serenity-zalenium/build.gradle",
"serenity-zalenium/pom.xml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "com.fasterxml.jackson.core:jackson-core",
"direct": true,
"version": "2.21.3",
"severity": "high",
"ecosystem": "maven",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-r7wm-3cxj-wff9"
],
"fixed_version": "3.2.1",
"advisory_count": 1,
"oldest_advisory_days": 3
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"direct": true,
"version": "2.21.3",
"severity": "high",
"ecosystem": "maven",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-3pjw-73gf-8qr5",
"GHSA-5gvw-p9qm-jgwh",
"GHSA-5hh8-q8hv-fr38",
"GHSA-5jmj-h7xm-6q6v",
"GHSA-9fxm-vc8v-hj55",
"GHSA-hgj6-7826-r7m5",
"GHSA-j3rv-43j4-c7qm",
"GHSA-mhm7-754m-9p8w",
"GHSA-rcqc-6cw3-h962",
"GHSA-rmj7-2vxq-3g9f"
],
"fixed_version": "3.2.1",
"advisory_count": 10,
"oldest_advisory_days": 31
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 2
},
"advisory_count": 11,
"affected_count": 2,
"assessed_count": 183,
"malicious_count": 0,
"assessed_package": "maven:net.serenity-bdd:serenity-core@5.3.11",
"unassessed_count": 0,
"direct_affected_count": 2
},
"ecosystems": [
"maven"
],
"dependencies": [
{
"name": "io.netty:netty-handler",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "4.2.1.Final"
},
{
"name": "org.apache.httpcomponents.client5:httpclient5",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "5.4.4"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy-all",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy-json",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy-xml",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.mockito:mockito-core",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${mockito.version}"
},
{
"name": "io.rest-assured:rest-assured",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${restassured.version}"
},
{
"name": "net.bytebuddy:byte-buddy",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${byte-buddy.version}"
},
{
"name": "net.java.dev.jna:jna",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "5.18.1"
},
{
"name": "net.bytebuddy:byte-buddy-agent",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${byte-buddy.version}"
},
{
"name": "org.objenesis:objenesis",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "3.4"
},
{
"name": "org.freemarker:freemarker",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${freemarker.version}"
},
{
"name": "joda-time:joda-time",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${joda-time.version}"
},
{
"name": "com.google.guava:guava",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${guava.version}"
},
{
"name": "org.hamcrest:hamcrest",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${hamcrest.version}"
},
{
"name": "org.slf4j:slf4j-api",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${slf4j.version}"
},
{
"name": "dnsjava:dnsjava",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "3.6.4"
},
{
"name": "org.apache.commons:commons-lang3",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.lang.version}"
},
{
"name": "commons-io:commons-io",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.io.version}"
},
{
"name": "org.apache.commons:commons-text",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.text.version}"
},
{
"name": "commons-net:commons-net",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.net.version}"
},
{
"name": "org.apache.commons:commons-compress",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.compress.version}"
},
{
"name": "commons-codec:commons-codec",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.codec.version}"
},
{
"name": "com.google.code.gson:gson",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${gson.version}"
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${jackson.version}"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${jackson.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-java",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-api",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-support",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-chrome-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-firefox-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-edge-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-ie-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-safari-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.seleniumhq.selenium:selenium-opera-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${selenium.version}"
},
{
"name": "org.htmlunit:htmlunit",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${htmlunit.version}"
},
{
"name": "org.seleniumhq.selenium:htmlunit3-driver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${htmlunit.driver.version}"
},
{
"name": "net.java.dev.jna:jna-platform",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${jna-platform.version}"
},
{
"name": "io.appium:java-client",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${appium.version}"
},
{
"name": "com.opencsv:opencsv",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${opencsv.version}"
},
{
"name": "com.typesafe:config",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${typesafe.version}"
},
{
"name": "org.imgscalr:imgscalr-lib",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${imgscalr.version}"
},
{
"name": "org.awaitility:awaitility",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${awaitility.version}"
},
{
"name": "javax.annotation:javax.annotation-api",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "1.3.2"
},
{
"name": "org.fluentlenium:fluentlenium-core",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${fluentlenium.version}"
},
{
"name": "com.jhlabs:filters",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${filters.version}"
},
{
"name": "com.paulhammant:ngwebdriver",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${ngwebdriver.version}"
},
{
"name": "org.springframework:spring-context-support",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${spring.version}"
},
{
"name": "com.thoughtworks.xstream:xstream",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${xstream.version}"
},
{
"name": "com.google.jimfs:jimfs",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${jimfs.version}"
},
{
"name": "org.thymeleaf:thymeleaf",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${thymeleaf.version}"
},
{
"name": "org.javassist:javassist",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${javassist.version}"
},
{
"name": "org.knowm.xchart:xchart",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${xchart.version}"
},
{
"name": "io.cucumber:cucumber-bom",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${cucumber.version}"
},
{
"name": "org.junit:junit-bom",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${junit5.version}"
},
{
"name": "org.apache.groovy:groovy-all",
"manifest": "pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-ant-task/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.ant:ant",
"manifest": "serenity-ant-task/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ant.version}"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"manifest": "serenity-appium-screenplay-poc/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.cucumber.version}"
},
{
"name": "net.serenity-bdd:serenity-core",
"manifest": "serenity-appium/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.version}"
},
{
"name": "net.serenity-bdd:serenity-junit",
"manifest": "serenity-appium/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.version}"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"manifest": "serenity-appium/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.cucumber.version}"
},
{
"name": "org.slf4j:slf4j-simple",
"manifest": "serenity-appium/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.7.7"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-assertions/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-junit",
"manifest": "serenity-assertions/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay",
"manifest": "serenity-assertions/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.assertj:assertj-core",
"manifest": "serenity-assertions/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-bitbar/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.httpcomponents:httpcore",
"manifest": "serenity-bitbar/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.4.15"
},
{
"name": "org.apache.httpcomponents:httpclient",
"manifest": "serenity-bitbar/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.5.13"
},
{
"name": "com.testdroid:testdroid-api",
"manifest": "serenity-bitbar/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.22"
},
{
"name": "com.fasterxml.woodstox:woodstox-core",
"manifest": "serenity-bitbar/pom.xml",
"ecosystem": "maven",
"version_constraint": "6.5.1"
},
{
"name": "net.serenity-bdd:serenity-model",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-core",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-report-resources",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-sample-alternative-resources",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-rest",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-playwright",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-junit5",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-junit",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-assertions",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-ensure",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-rest-assured",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-reports",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-reports-configuration",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-stats",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-single-page-report",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-json-summary-report",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-navigator-report",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-spring",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-playwright",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-browserstack",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-saucelabs",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-lambdatest",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-crossbrowsertesting",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-zalenium",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-selenoid",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-bitbar",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-browsermob-plugin",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-shutterbug",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-ant-task",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-cli",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-jira-plugin",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-jira-requirements-provider",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"manifest": "serenity-bom/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.lightbody.bmp:browsermob-core",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${browsermob.version}"
},
{
"name": "io.netty:netty-all",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.2.1.Final"
},
{
"name": "org.bouncycastle:bcprov-jdk18on",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.78"
},
{
"name": "org.opentest4j:opentest4j",
"manifest": "serenity-browsermob-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${opentest.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-browserstack/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.httpcomponents:httpcore",
"manifest": "serenity-browserstack/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.4.15"
},
{
"name": "org.apache.httpcomponents:httpclient",
"manifest": "serenity-browserstack/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.5.14"
},
{
"name": "com.browserstack:browserstack-local-java",
"manifest": "serenity-browserstack/pom.xml",
"ecosystem": "maven",
"version_constraint": "${browserstack.local.version}"
},
{
"name": "org.json:json",
"manifest": "serenity-browserstack/pom.xml",
"ecosystem": "maven",
"version_constraint": "20231013"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-cli/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports",
"manifest": "serenity-cli/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "args4j:args4j",
"manifest": "serenity-cli/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.33"
},
{
"name": "ch.qos.logback:logback-classic",
"manifest": "serenity-cli/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.5.19"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-report-resources",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.google.code.gson:gson",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "commons-codec:commons-codec",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "commons-io:commons-io",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.httpcomponents:httpclient",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.5.13"
},
{
"name": "org.seleniumhq.selenium:selenium-java",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-api",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-support",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-chrome-driver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-firefox-driver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-edge-driver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:selenium-ie-driver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.htmlunit:htmlunit",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.seleniumhq.selenium:htmlunit3-driver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.appium:java-client",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.groovy:groovy",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.sf.opencsv:opencsv",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3"
},
{
"name": "org.apache.commons:commons-lang3",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.commons:commons-compress",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.fluentlenium:fluentlenium-core",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.jhlabs:filters",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.paulhammant:ngwebdriver",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "joda-time:joda-time",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.hamcrest:hamcrest",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.google.jimfs:jimfs",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.mockito:mockito-core",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "javax.xml.bind:jaxb-api",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.1"
},
{
"name": "com.sun.xml.bind:jaxb-core",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.0.1"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.3"
},
{
"name": "javax.activation:activation",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1.1"
},
{
"name": "net.java.dev.jna:jna",
"manifest": "serenity-core/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jna.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-crossbrowsertesting/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-crossbrowsertesting/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.konghq:unirest-java",
"manifest": "serenity-crossbrowsertesting/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.11.10"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-crossbrowsertesting/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "junit:junit",
"manifest": "serenity-crossbrowsertesting/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "junit:junit",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "io.cucumber:cucumber-core",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.cucumber:cucumber-java",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.cucumber:cucumber-junit",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.commons:commons-csv",
"manifest": "serenity-cucumber/pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.csv.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-ensure/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay",
"manifest": "serenity-ensure/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay-webdriver",
"manifest": "serenity-ensure/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-ensure/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "org.assertj:assertj-core",
"manifest": "serenity-ensure/pom.xml",
"ecosystem": "maven",
"version_constraint": "${assertj.version}"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.glassfish.jersey.core:jersey-client",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.38"
},
{
"name": "org.glassfish.jersey.inject:jersey-hk2",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.38"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.hamcrest:hamcrest-all",
"manifest": "serenity-jira-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-jira-requirements-provider/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-jira-plugin",
"manifest": "serenity-jira-requirements-provider/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "serenity-jira-requirements-provider/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.slf4j:slf4j-simple",
"manifest": "serenity-jira-requirements-provider/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-jira-requirements-provider/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-stats",
"manifest": "serenity-json-summary-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-json-summary-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports",
"manifest": "serenity-json-summary-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports-configuration",
"manifest": "serenity-json-summary-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-json-summary-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-junit/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "junit:junit",
"manifest": "serenity-junit/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-junit/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "jakarta.xml.bind:jakarta.xml.bind-api",
"manifest": "serenity-junit/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.0.0"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"manifest": "serenity-junit/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.0.3"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.junit.jupiter:junit-jupiter-api",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.jupiter:junit-jupiter-params",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.vintage:junit-vintage-engine",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.junit.platform:junit-platform-launcher",
"manifest": "serenity-junit5/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-lambdatest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"manifest": "serenity-lambdatest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"manifest": "serenity-lambdatest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-lambdatest/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "junit:junit",
"manifest": "serenity-lambdatest/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.serenity-bdd:serenity-core",
"manifest": "serenity-maven-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.codehaus.plexus:plexus-classworlds",
"manifest": "serenity-maven-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.6.0"
},
{
"name": "org.codehaus.plexus:plexus-component-annotations",
"manifest": "serenity-maven-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.1.0"
},
{
"name": "org.codehaus.plexus:plexus-utils",
"manifest": "serenity-maven-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.2.1"
},
{
"name": "org.apache.commons:commons-lang3",
"manifest": "serenity-maven-plugin/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.cucumber:cucumber-java",
"manifest": "serenity-mobile-screenplay-example/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cucumber.version}"
},
{
"name": "io.cucumber:cucumber-junit",
"manifest": "serenity-mobile-screenplay-example/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cucumber.version}"
},
{
"name": "net.serenity-bdd:serenity-core",
"manifest": "serenity-mobile-screenplay-example/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"manifest": "serenity-mobile-screenplay-example/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"manifest": "serenity-mobile-screenplay-example/pom.xml",
"ecosystem": "maven",
"version_constraint": "${serenity.version}"
},
{
"name": "${project.groupId}:serenity-report-resources",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.commons:commons-lang3",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "commons-io:commons-io",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.commons:commons-text",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "commons-net:commons-net",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "commons-codec:commons-codec",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.google.guava:guava",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.slf4j:slf4j-api",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.hamcrest:hamcrest",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.jsoup:jsoup",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jsoup.version}"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jackson.version}"
},
{
"name": "com.thoughtworks.xstream:xstream",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${xstream.version}"
},
{
"name": "joda-time:joda-time",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${joda-time.version}"
},
{
"name": "io.cucumber:cucumber-core",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.cucumber:cucumber-java",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.google.code.gson:gson",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.opencsv:opencsv",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.typesafe:config",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.imgscalr:imgscalr-lib",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.awaitility:awaitility",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.freemarker:freemarker",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "io.github.classgraph:classgraph",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.8.184"
},
{
"name": "com.github.ben-manes.caffeine:caffeine",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.2.3"
},
{
"name": "org.ehcache:ehcache",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ehcache.version}"
},
{
"name": "net.sourceforge.jexcelapi:jxl",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.6.12"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.bytebuddy:byte-buddy",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.bytebuddy:byte-buddy-agent",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.objenesis:objenesis",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "com.vladsch.flexmark:flexmark-all",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "0.64.8"
},
{
"name": "org.apache.pdfbox:pdfbox",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.0.6"
},
{
"name": "com.vladsch.flexmark:flexmark-ext-resizable-image",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "0.64.8"
},
{
"name": "com.vladsch.flexmark:flexmark-ext-tables",
"manifest": "serenity-model/pom.xml",
"ecosystem": "maven",
"version_constraint": "0.64.8"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-stats",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.commons:commons-compress",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${commons.compress.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib-jdk8",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "org.jsoup:jsoup",
"manifest": "serenity-navigator-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jsoup.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.microsoft.playwright:playwright",
"manifest": "serenity-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${playwright.version}"
},
{
"name": "org.junit.jupiter:junit-jupiter-api",
"manifest": "serenity-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-junit5",
"manifest": "serenity-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-reports-configuration/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-reports-configuration/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-stats",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports-configuration",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.vladsch.flexmark:flexmark-all",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "0.64.8"
},
{
"name": "com.ibm.icu:icu4j",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "72.1"
},
{
"name": "es.nitaur.markdown:txtmark",
"manifest": "serenity-reports/pom.xml",
"ecosystem": "maven",
"version_constraint": "0.16"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.apache.httpcomponents:httpclient",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.5.13"
},
{
"name": "io.rest-assured:rest-assured",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.groovy:groovy-json",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.groovy:groovy-xml",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.apache.groovy:groovy",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.opentest4j:opentest4j",
"manifest": "serenity-rest-assured/pom.xml",
"ecosystem": "maven",
"version_constraint": "${opentest.version}"
},
{
"name": "junit:junit",
"manifest": "serenity-sample-alternative-resources/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-saucelabs/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-rest-assured",
"manifest": "serenity-saucelabs/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-junit",
"manifest": "serenity-saucelabs/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"manifest": "serenity-saucelabs/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "junit:junit",
"manifest": "serenity-saucelabs/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-playwright",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-junit",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-junit5",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.microsoft.playwright:playwright",
"manifest": "serenity-screenplay-playwright/pom.xml",
"ecosystem": "maven",
"version_constraint": "${playwright.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-screenplay-rest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-rest-assured",
"manifest": "serenity-screenplay-rest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay",
"manifest": "serenity-screenplay-rest/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.assertj:assertj-core",
"manifest": "serenity-screenplay-rest/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-screenplay-webdriver/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-screenplay",
"manifest": "serenity-screenplay-webdriver/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-screenplay/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "junit:junit",
"manifest": "serenity-screenplay/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.serenity-bdd:serenity-model",
"manifest": "serenity-screenplay/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.opentest4j:opentest4j",
"manifest": "serenity-screenplay/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.3.0"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-selenoid/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-shutterbug/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "com.assertthat:selenium-shutterbug",
"manifest": "serenity-shutterbug/pom.xml",
"ecosystem": "maven",
"version_constraint": "${shutterbug.version}"
},
{
"name": "org.projectlombok:lombok",
"manifest": "serenity-shutterbug/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.18.34"
},
{
"name": "${project.groupId}:serenity-stats",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "${project.groupId}:serenity-reports-configuration",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "org.thymeleaf:thymeleaf",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.javassist:javassist",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.knowm.xchart:xchart",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.thymeleaf.extras:thymeleaf-extras-java8time",
"manifest": "serenity-single-page-report/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.0.4.RELEASE"
},
{
"name": "net.serenity-bdd:serenity-core",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-junit",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.slf4j:slf4j-simple",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "net.serenity-bdd:serenity-single-page-report",
"manifest": "serenity-smoketests/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.thucydides:thucydides-core",
"manifest": "serenity-spock/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.spockframework:spock-core",
"manifest": "serenity-spock/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.2-M1-groovy-4.0"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "net.serenity-bdd:serenity-junit",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "junit:junit",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": null
},
{
"name": "org.springframework:spring-test",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": "${spring.version}"
},
{
"name": "org.springframework:spring-context",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": "${spring.version}"
},
{
"name": "org.springframework:spring-context-support",
"manifest": "serenity-spring/pom.xml",
"ecosystem": "maven",
"version_constraint": "${spring.version}"
},
{
"name": "${project.groupId}:serenity-model",
"manifest": "serenity-stats/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"manifest": "serenity-stats/pom.xml",
"ecosystem": "maven",
"version_constraint": "${kotlin.version}"
},
{
"name": "${project.groupId}:serenity-core",
"manifest": "serenity-zalenium/pom.xml",
"ecosystem": "maven",
"version_constraint": "${project.version}"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "args4j:args4j",
"direct": true,
"version": "2.33",
"ecosystem": "maven"
},
{
"name": "ch.qos.logback:logback-classic",
"direct": true,
"version": "1.5.16",
"ecosystem": "maven"
},
{
"name": "ch.qos.logback:logback-classic",
"direct": true,
"version": "1.5.19",
"ecosystem": "maven"
},
{
"name": "com.assertthat:selenium-shutterbug",
"direct": true,
"version": "0.9.5",
"ecosystem": "maven"
},
{
"name": "com.browserstack:browserstack-local-java",
"direct": true,
"version": "1.0.6",
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"direct": true,
"version": "2.21.3",
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"direct": true,
"version": "2.17.0",
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"direct": true,
"version": "2.21.3",
"ecosystem": "maven"
},
{
"name": "com.fasterxml.woodstox:woodstox-core",
"direct": true,
"version": "6.5.1",
"ecosystem": "maven"
},
{
"name": "com.github.ben-manes.caffeine:caffeine",
"direct": true,
"version": "3.2.3",
"ecosystem": "maven"
},
{
"name": "com.google.code.gson:gson",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.google.code.gson:gson",
"direct": true,
"version": "2.14.0",
"ecosystem": "maven"
},
{
"name": "com.google.guava:guava",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.google.guava:guava",
"direct": true,
"version": "33.6.0-jre",
"ecosystem": "maven"
},
{
"name": "com.google.jimfs:jimfs",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.google.jimfs:jimfs",
"direct": true,
"version": "1.3.1",
"ecosystem": "maven"
},
{
"name": "com.ibm.icu:icu4j",
"direct": true,
"version": "72.1",
"ecosystem": "maven"
},
{
"name": "com.jhlabs:filters",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.jhlabs:filters",
"direct": true,
"version": "2.0.235",
"ecosystem": "maven"
},
{
"name": "com.konghq:unirest-java",
"direct": true,
"version": "3.11.10",
"ecosystem": "maven"
},
{
"name": "com.microsoft.playwright:playwright",
"direct": true,
"version": "1.58.0",
"ecosystem": "maven"
},
{
"name": "com.microsoft.playwright:playwright",
"direct": true,
"version": "1.59.0",
"ecosystem": "maven"
},
{
"name": "com.opencsv:opencsv",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.opencsv:opencsv",
"direct": true,
"version": "5.12.0",
"ecosystem": "maven"
},
{
"name": "com.paulhammant:ngwebdriver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.paulhammant:ngwebdriver",
"direct": true,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "com.sun.xml.bind:jaxb-core",
"direct": true,
"version": "2.3.0.1",
"ecosystem": "maven"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"direct": true,
"version": "2.3.3",
"ecosystem": "maven"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"direct": true,
"version": "4.0.3",
"ecosystem": "maven"
},
{
"name": "com.testdroid:testdroid-api",
"direct": true,
"version": "3.22",
"ecosystem": "maven"
},
{
"name": "com.thoughtworks.xstream:xstream",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.thoughtworks.xstream:xstream",
"direct": true,
"version": "1.4.21",
"ecosystem": "maven"
},
{
"name": "com.typesafe:config",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.typesafe:config",
"direct": true,
"version": "1.4.5",
"ecosystem": "maven"
},
{
"name": "com.vladsch.flexmark:flexmark-all",
"direct": true,
"version": "0.64.8",
"ecosystem": "maven"
},
{
"name": "com.vladsch.flexmark:flexmark-ext-resizable-image",
"direct": true,
"version": "0.64.8",
"ecosystem": "maven"
},
{
"name": "com.vladsch.flexmark:flexmark-ext-tables",
"direct": true,
"version": "0.64.8",
"ecosystem": "maven"
},
{
"name": "commons-codec:commons-codec",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "commons-codec:commons-codec",
"direct": true,
"version": "1.22.0",
"ecosystem": "maven"
},
{
"name": "commons-io:commons-io",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "commons-io:commons-io",
"direct": true,
"version": "2.22.0",
"ecosystem": "maven"
},
{
"name": "commons-net:commons-net",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "commons-net:commons-net",
"direct": true,
"version": "3.12.0",
"ecosystem": "maven"
},
{
"name": "dnsjava:dnsjava",
"direct": true,
"version": "3.6.4",
"ecosystem": "maven"
},
{
"name": "es.nitaur.markdown:txtmark",
"direct": true,
"version": "0.16",
"ecosystem": "maven"
},
{
"name": "io.appium:java-client",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.appium:java-client",
"direct": true,
"version": "10.0.0",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-bom",
"direct": true,
"version": "7.34.2",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-java",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-java",
"direct": true,
"version": "4.2.0",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-java",
"direct": true,
"version": "7.18.1",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-junit",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-junit",
"direct": true,
"version": "4.2.0",
"ecosystem": "maven"
},
{
"name": "io.github.classgraph:classgraph",
"direct": true,
"version": "4.8.184",
"ecosystem": "maven"
},
{
"name": "io.netty:netty-all",
"direct": true,
"version": "4.2.1",
"ecosystem": "maven"
},
{
"name": "io.netty:netty-handler",
"direct": true,
"version": "4.2.1",
"ecosystem": "maven"
},
{
"name": "io.rest-assured:rest-assured",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.rest-assured:rest-assured",
"direct": true,
"version": "6.0.0",
"ecosystem": "maven"
},
{
"name": "jakarta.xml.bind:jakarta.xml.bind-api",
"direct": true,
"version": "4.0.0",
"ecosystem": "maven"
},
{
"name": "javax.activation:activation",
"direct": true,
"version": "1.1.1",
"ecosystem": "maven"
},
{
"name": "javax.annotation:javax.annotation-api",
"direct": true,
"version": "1.3.2",
"ecosystem": "maven"
},
{
"name": "javax.xml.bind:jaxb-api",
"direct": true,
"version": "2.3.1",
"ecosystem": "maven"
},
{
"name": "joda-time:joda-time",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "joda-time:joda-time",
"direct": true,
"version": "2.14.0",
"ecosystem": "maven"
},
{
"name": "junit:junit",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "junit:junit",
"direct": true,
"version": "4.13.1",
"ecosystem": "maven"
},
{
"name": "junit:junit",
"direct": true,
"version": "4.13.2",
"ecosystem": "maven"
},
{
"name": "net.bytebuddy:byte-buddy",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "net.bytebuddy:byte-buddy",
"direct": true,
"version": "1.18.5",
"ecosystem": "maven"
},
{
"name": "net.bytebuddy:byte-buddy-agent",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "net.bytebuddy:byte-buddy-agent",
"direct": true,
"version": "1.18.5",
"ecosystem": "maven"
},
{
"name": "net.java.dev.jna:jna",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "net.java.dev.jna:jna",
"direct": true,
"version": "5.18.1",
"ecosystem": "maven"
},
{
"name": "net.java.dev.jna:jna-platform",
"direct": true,
"version": "5.18.1",
"ecosystem": "maven"
},
{
"name": "net.lightbody.bmp:browsermob-core",
"direct": true,
"version": "2.1.5",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "1.7.4",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "1.8.21",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "2.0.69",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd.maven.plugins:serenity-maven-plugin",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-ant-task",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-assertions",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-bitbar",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-browsermob-plugin",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-browserstack",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-browserstack",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cli",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "1.7.4",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "1.8.21",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "2.0.69",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "5.1.0-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-core",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-crossbrowsertesting",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"direct": true,
"version": "1.6.10",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"direct": true,
"version": "1.6.3",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-ensure",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-ensure",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-jira-plugin",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-jira-requirements-provider",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-json-summary-report",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit",
"direct": true,
"version": "1.7.4",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit",
"direct": true,
"version": "1.8.21",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit",
"direct": true,
"version": "2.0.69",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit5",
"direct": true,
"version": "5.1.0-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit5",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit5",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-junit5",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-lambdatest",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-model",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-navigator-report",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-playwright",
"direct": true,
"version": "5.1.0-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-playwright",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-report-resources",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-reports",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-reports-configuration",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-rest-assured",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-rest-assured",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-sample-alternative-resources",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-saucelabs",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-saucelabs",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"direct": true,
"version": "1.8.21",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"direct": true,
"version": "2.0.69",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-playwright",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-rest",
"direct": true,
"version": "5.2.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-rest",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"direct": true,
"version": "1.8.21",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"direct": true,
"version": "2.0.69",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-screenplay-webdriver",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-selenoid",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-shutterbug",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-single-page-report",
"direct": true,
"version": "5.3.11-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-single-page-report",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-spring",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-stats",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-zalenium",
"direct": true,
"version": "5.3.12-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "net.sf.opencsv:opencsv",
"direct": true,
"version": "2.3",
"ecosystem": "maven"
},
{
"name": "net.sourceforge.jexcelapi:jxl",
"direct": true,
"version": "2.6.12",
"ecosystem": "maven"
},
{
"name": "net.thucydides:thucydides-core",
"direct": true,
"version": "0.9.79-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "org.apache.ant:ant",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-compress",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-compress",
"direct": true,
"version": "1.28.0",
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-csv",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-lang3",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-lang3",
"direct": true,
"version": "3.20.0",
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-text",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-text",
"direct": true,
"version": "1.15.0",
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy",
"direct": true,
"version": "4.0.29",
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-all",
"direct": true,
"version": "4.0.29",
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-json",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-json",
"direct": true,
"version": "4.0.29",
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-xml",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-xml",
"direct": true,
"version": "4.0.29",
"ecosystem": "maven"
},
{
"name": "org.apache.httpcomponents.client5:httpclient5",
"direct": true,
"version": "5.4.4",
"ecosystem": "maven"
},
{
"name": "org.apache.httpcomponents:httpclient",
"direct": true,
"version": "4.5.13",
"ecosystem": "maven"
},
{
"name": "org.apache.httpcomponents:httpclient",
"direct": true,
"version": "4.5.14",
"ecosystem": "maven"
},
{
"name": "org.apache.httpcomponents:httpcore",
"direct": true,
"version": "4.4.15",
"ecosystem": "maven"
},
{
"name": "org.apache.pdfbox:pdfbox",
"direct": true,
"version": "3.0.6",
"ecosystem": "maven"
},
{
"name": "org.assertj:assertj-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.assertj:assertj-core",
"direct": true,
"version": "3.26.0",
"ecosystem": "maven"
},
{
"name": "org.assertj:assertj-core",
"direct": true,
"version": "3.27.7",
"ecosystem": "maven"
},
{
"name": "org.awaitility:awaitility",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.awaitility:awaitility",
"direct": true,
"version": "4.3.0",
"ecosystem": "maven"
},
{
"name": "org.bouncycastle:bcprov-jdk18on",
"direct": true,
"version": "1.78",
"ecosystem": "maven"
},
{
"name": "org.codehaus.plexus:plexus-classworlds",
"direct": true,
"version": "2.6.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.plexus:plexus-component-annotations",
"direct": true,
"version": "2.1.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.plexus:plexus-utils",
"direct": true,
"version": "3.2.1",
"ecosystem": "maven"
},
{
"name": "org.ehcache:ehcache",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.fluentlenium:fluentlenium-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.fluentlenium:fluentlenium-core",
"direct": true,
"version": "0.10.2",
"ecosystem": "maven"
},
{
"name": "org.freemarker:freemarker",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.freemarker:freemarker",
"direct": true,
"version": "2.3.34",
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.core:jersey-client",
"direct": true,
"version": "2.38",
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.inject:jersey-hk2",
"direct": true,
"version": "2.38",
"ecosystem": "maven"
},
{
"name": "org.hamcrest:hamcrest",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.hamcrest:hamcrest",
"direct": true,
"version": "2.2",
"ecosystem": "maven"
},
{
"name": "org.hamcrest:hamcrest-all",
"direct": true,
"version": "1.1",
"ecosystem": "maven"
},
{
"name": "org.htmlunit:htmlunit",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.htmlunit:htmlunit",
"direct": true,
"version": "4.20.0",
"ecosystem": "maven"
},
{
"name": "org.imgscalr:imgscalr-lib",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.imgscalr:imgscalr-lib",
"direct": true,
"version": "4.2",
"ecosystem": "maven"
},
{
"name": "org.javassist:javassist",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.javassist:javassist",
"direct": true,
"version": "3.30.2-GA",
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib-jdk8",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.json:json",
"direct": true,
"version": "20231013",
"ecosystem": "maven"
},
{
"name": "org.jsoup:jsoup",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter-api",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter-api",
"direct": true,
"version": "6.0.3",
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter-engine",
"direct": true,
"version": "6.0.3",
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter-params",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-launcher",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.vintage:junit-vintage-engine",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.vintage:junit-vintage-engine",
"direct": true,
"version": "6.0.3",
"ecosystem": "maven"
},
{
"name": "org.junit:junit-bom",
"direct": true,
"version": "5.12.2",
"ecosystem": "maven"
},
{
"name": "org.junit:junit-bom",
"direct": true,
"version": "6.0.3",
"ecosystem": "maven"
},
{
"name": "org.knowm.xchart:xchart",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.knowm.xchart:xchart",
"direct": true,
"version": "3.5.2",
"ecosystem": "maven"
},
{
"name": "org.mockito:mockito-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.mockito:mockito-core",
"direct": true,
"version": "3.3.3",
"ecosystem": "maven"
},
{
"name": "org.objenesis:objenesis",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.objenesis:objenesis",
"direct": true,
"version": "3.4",
"ecosystem": "maven"
},
{
"name": "org.opentest4j:opentest4j",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.opentest4j:opentest4j",
"direct": true,
"version": "1.3.0",
"ecosystem": "maven"
},
{
"name": "org.projectlombok:lombok",
"direct": true,
"version": "1.18.34",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:htmlunit3-driver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:htmlunit3-driver",
"direct": true,
"version": "4.45.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-api",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-api",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-chrome-driver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-chrome-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-edge-driver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-edge-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-firefox-driver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-firefox-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-ie-driver",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-ie-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-java",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-java",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-opera-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-safari-driver",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-support",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.seleniumhq.selenium:selenium-support",
"direct": true,
"version": "4.46.0",
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-api",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-api",
"direct": true,
"version": "2.0.17",
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-simple",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-simple",
"direct": true,
"version": "1.7.7",
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-simple",
"direct": true,
"version": "2.0.17",
"ecosystem": "maven"
},
{
"name": "org.spockframework:spock-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.spockframework:spock-core",
"direct": true,
"version": "2.2-M1-groovy-4.0",
"ecosystem": "maven"
},
{
"name": "org.spockframework:spock-core",
"direct": true,
"version": "2.4-M1-groovy-4.0",
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-context",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-context-support",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-context-support",
"direct": true,
"version": "6.2.10",
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-test",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.thymeleaf.extras:thymeleaf-extras-java8time",
"direct": true,
"version": "3.0.4",
"ecosystem": "maven"
},
{
"name": "org.thymeleaf:thymeleaf",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.thymeleaf:thymeleaf",
"direct": true,
"version": "3.1.3.RELEASE",
"ecosystem": "maven"
},
{
"name": "com.google.collections:google-collections",
"direct": false,
"version": "1.0",
"ecosystem": "maven"
},
{
"name": "commons-dbcp:commons-dbcp",
"direct": false,
"version": "1.4",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-java8",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-junit-platform-engine",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-junit-platform-engine",
"direct": false,
"version": "7.18.1",
"ecosystem": "maven"
},
{
"name": "io.cucumber:cucumber-junit-platform-engine",
"direct": false,
"version": "7.19.0",
"ecosystem": "maven"
},
{
"name": "io.cucumber:datatable-matchers",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.rest-assured:json-schema-validator",
"direct": false,
"version": "5.4.0",
"ecosystem": "maven"
},
{
"name": "net.minidev:json-smart",
"direct": false,
"version": "2.6.0",
"ecosystem": "maven"
},
{
"name": "net.serenity-bdd:serenity-cucumber4",
"direct": false,
"version": "1.0.21",
"ecosystem": "maven"
},
{
"name": "org.apache.ant:ant-testutil",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugin-tools:maven-plugin-annotations",
"direct": false,
"version": "3.15.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-compiler-plugin",
"direct": false,
"version": "3.13.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-compiler-plugin",
"direct": false,
"version": "3.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-deploy-plugin",
"direct": false,
"version": "3.1.3",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-enforcer-plugin",
"direct": false,
"version": "3.5.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-failsafe-plugin",
"direct": false,
"version": "3.2.5",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-failsafe-plugin",
"direct": false,
"version": "3.5.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-gpg-plugin",
"direct": false,
"version": "3.2.7",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-jar-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-jar-plugin",
"direct": false,
"version": "3.4.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-javadoc-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-javadoc-plugin",
"direct": false,
"version": "3.10.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-plugin-plugin",
"direct": false,
"version": "3.15.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-release-plugin",
"direct": false,
"version": "3.1.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-shade-plugin",
"direct": false,
"version": "3.5.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-source-plugin",
"direct": false,
"version": "3.3.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-plugin",
"direct": false,
"version": "3.2.5",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-plugin",
"direct": false,
"version": "3.5.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-report-plugin",
"direct": false,
"version": "3.5.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.reporting:maven-reporting-api",
"direct": false,
"version": "3.1.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven:maven-core",
"direct": false,
"version": "3.9.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven:maven-plugin-api",
"direct": false,
"version": "3.9.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.gmavenplus:gmavenplus-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.codehaus.gmavenplus:gmavenplus-plugin",
"direct": false,
"version": "4.2.1",
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:flatten-maven-plugin",
"direct": false,
"version": "1.6.0",
"ecosystem": "maven"
},
{
"name": "org.easytesting:fest-assert",
"direct": false,
"version": "1.4",
"ecosystem": "maven"
},
{
"name": "org.eclipse.jetty:jetty-server",
"direct": false,
"version": "12.0.14",
"ecosystem": "maven"
},
{
"name": "org.hibernate:hibernate-entitymanager",
"direct": false,
"version": "5.3.37",
"ecosystem": "maven"
},
{
"name": "org.jbehave:jbehave-core",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlin:kotlin-maven-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-suite",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-suite",
"direct": false,
"version": "1.10.2",
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-suite-api",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-suite-engine",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.platform:junit-platform-testkit",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.mockito:mockito-all",
"direct": false,
"version": "1.8.2",
"ecosystem": "maven"
},
{
"name": "org.skyscreamer:jsonassert",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.skyscreamer:jsonassert",
"direct": false,
"version": "1.5.1",
"ecosystem": "maven"
},
{
"name": "org.sonatype.central:central-publishing-maven-plugin",
"direct": false,
"version": "0.9.0",
"ecosystem": "maven"
},
{
"name": "org.springframework.boot:spring-boot-test",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-aop",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-core",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-jdbc",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.springframework:spring-orm",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.wiremock:wiremock",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.wiremock:wiremock",
"direct": false,
"version": "4.0.0-beta.34",
"ecosystem": "maven"
}
],
"collected": true,
"truncated": false,
"total_count": 313,
"direct_count": 255,
"indirect_count": 58
}
},
"maintainership": {
"issues": {
"open_prs": 7,
"merged_prs": 608,
"open_issues": 430,
"closed_ratio": 0.854,
"closed_issues": 2512,
"closed_unmerged_prs": 86
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "wakaleo",
"commits": 4267,
"avatar_url": "https://avatars.githubusercontent.com/u/55986?v=4"
},
{
"type": "User",
"login": "YamStranger",
"commits": 309,
"avatar_url": "https://avatars.githubusercontent.com/u/1667699?v=4"
},
{
"type": "User",
"login": "cliviu",
"commits": 228,
"avatar_url": "https://avatars.githubusercontent.com/u/2623175?v=4"
},
{
"type": "User",
"login": "actions-user",
"commits": 58,
"avatar_url": "https://avatars.githubusercontent.com/u/65916846?v=4"
},
{
"type": "User",
"login": "verhagen",
"commits": 31,
"avatar_url": "https://avatars.githubusercontent.com/u/1092015?v=4"
},
{
"type": "User",
"login": "globalworming",
"commits": 30,
"avatar_url": "https://avatars.githubusercontent.com/u/2108984?v=4"
},
{
"type": "User",
"login": "mikezx6r",
"commits": 22,
"avatar_url": "https://avatars.githubusercontent.com/u/1788768?v=4"
},
{
"type": "User",
"login": "pogodins",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/15627778?v=4"
},
{
"type": "User",
"login": "schmurgon",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/5582564?v=4"
},
{
"type": "User",
"login": "ricardorlg",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/4032481?v=4"
}
],
"contributors_sampled": 99,
"top_contributor_share": 0.817
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci_build.yml",
"pr-build.yml",
"release.yml",
"smoketest_chrome.yml",
"smoketest_edge.yml",
"smoketest_firefox.yml",
"smoketest_saucelabs.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 0,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 1/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 16 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "21 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "5ad4ad7dd31ffe5513541caec69a36ec757f7ea6",
"ran_at": "2026-07-25T05:33:48Z",
"aggregate_score": 4.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T16:04:23Z",
"oldest_open_prs": [
{
"number": 3573,
"created_at": "2024-11-18T13:25:39Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3606,
"created_at": "2025-01-24T15:42:49Z",
"last_comment_at": "2025-01-28T12:19:13Z",
"last_comment_author": "jacob-wieland-gematik"
},
{
"number": 3721,
"created_at": "2026-02-15T14:41:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3734,
"created_at": "2026-04-20T07:10:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3735,
"created_at": "2026-05-04T14:39:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3737,
"created_at": "2026-05-14T12:03:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3739,
"created_at": "2026-05-18T17:08:53Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-06-04T11:27:06Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 1069,
"created_at": "2017-12-29T08:17:43Z",
"last_comment_at": "2021-09-23T18:12:03Z",
"last_comment_author": "testifyqa"
},
{
"number": 1194,
"created_at": "2018-04-05T07:35:09Z",
"last_comment_at": "2024-04-27T13:00:43Z",
"last_comment_author": "zeners"
},
{
"number": 1385,
"created_at": "2018-09-27T20:03:26Z",
"last_comment_at": "2021-11-17T18:51:02Z",
"last_comment_author": "wakaleo"
},
{
"number": 1849,
"created_at": "2019-10-21T22:48:32Z",
"last_comment_at": "2023-06-22T16:47:35Z",
"last_comment_author": "joellis13"
},
{
"number": 1853,
"created_at": "2019-10-23T12:26:49Z",
"last_comment_at": "2022-02-12T17:00:56Z",
"last_comment_author": "wakaleo"
},
{
"number": 2022,
"created_at": "2020-04-08T21:06:16Z",
"last_comment_at": "2021-10-12T06:29:01Z",
"last_comment_author": "wakaleo"
},
{
"number": 2454,
"created_at": "2021-05-11T15:28:13Z",
"last_comment_at": "2022-02-20T18:57:26Z",
"last_comment_author": "viper3400"
},
{
"number": 2482,
"created_at": "2021-06-07T17:00:41Z",
"last_comment_at": "2021-06-16T20:39:25Z",
"last_comment_author": "jmillarMC"
},
{
"number": 2493,
"created_at": "2021-06-22T14:30:17Z",
"last_comment_at": "2021-07-06T13:28:36Z",
"last_comment_author": "wakaleo"
},
{
"number": 2523,
"created_at": "2021-08-03T00:09:15Z",
"last_comment_at": "2022-02-12T15:00:11Z",
"last_comment_author": "wakaleo"
},
{
"number": 2526,
"created_at": "2021-08-09T19:00:01Z",
"last_comment_at": "2022-11-03T09:56:53Z",
"last_comment_author": "wakaleo"
},
{
"number": 2547,
"created_at": "2021-09-07T11:23:24Z",
"last_comment_at": "2023-02-02T19:20:20Z",
"last_comment_author": "globalworming"
},
{
"number": 2549,
"created_at": "2021-09-09T05:45:29Z",
"last_comment_at": "2025-07-11T14:54:47Z",
"last_comment_author": "Calylia1"
},
{
"number": 2551,
"created_at": "2021-09-09T12:23:38Z",
"last_comment_at": "2021-09-09T12:29:42Z",
"last_comment_author": "wakaleo"
},
{
"number": 2562,
"created_at": "2021-09-26T04:33:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 2563,
"created_at": "2021-09-28T11:34:24Z",
"last_comment_at": "2021-10-14T06:59:49Z",
"last_comment_author": "cliviu"
},
{
"number": 2564,
"created_at": "2021-09-29T11:40:33Z",
"last_comment_at": "2023-05-30T12:55:40Z",
"last_comment_author": "globalworming"
},
{
"number": 2567,
"created_at": "2021-09-30T22:04:57Z",
"last_comment_at": "2021-10-14T15:52:51Z",
"last_comment_author": "wakaleo"
},
{
"number": 2579,
"created_at": "2021-10-18T02:43:53Z",
"last_comment_at": "2021-10-18T06:31:43Z",
"last_comment_author": "wakaleo"
},
{
"number": 2581,
"created_at": "2021-10-19T13:14:30Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/serenity-bdd/serenity-core",
"host": "github.com",
"name": "serenity-core",
"owner": "serenity-bdd"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"security": 48,
"vitality": 61,
"community": 80,
"governance": 67,
"engineering": 65
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "moderate",
"name": "Vitality",
"value": 61,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"commits_last_year": 247,
"human_commit_share": 1,
"days_since_last_push": 8,
"active_weeks_last_year": 22
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 8 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "22/52 weeks with commits",
"points": 15.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 22
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "247 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 247
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 44,
"inputs": {
"releases_count": 100,
"latest_release_tag": "4.0.1",
"releases_from_tags": false,
"days_since_latest_release": 926,
"mean_days_between_releases": 128.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 926 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 926
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~128.2 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 128.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 8,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 8 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 8
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 80,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"forks": 544,
"stars": 755,
"watchers": 89,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "755 stars",
"points": 46.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 755
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "544 forks",
"points": 22.8,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 544
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "89 watchers",
"points": 10.8,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 89
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 67,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 99,
"top_contributor_share": 0.817
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 82% of commits",
"points": 4.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 82
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "99 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 99
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 16 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"merged_prs": 608,
"open_issues": 430,
"closed_issues": 2512,
"issue_closed_ratio": 0.854,
"closed_unmerged_prs": 86
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "85% of issues closed",
"points": 39.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 85
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "608/694 decided PRs merged",
"points": 33.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 608,
"decided": 694
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"followers": 206,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "serenity-bdd",
"public_repos": 66,
"account_age_days": 4286
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "206 followers of serenity-bdd",
"points": 16.7,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 206,
"login": "serenity-bdd"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "66 public repos, account ~11 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 66
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"net.serenity-bdd:serenity-cli",
"net.serenity-bdd:serenity-core",
"net.serenity-bdd:serenity-junit",
"net.serenity-bdd:serenity-model",
"net.serenity-bdd:serenity-stats",
"net.serenity-bdd:serenity-bitbar"
],
"ecosystems": "maven",
"any_deprecated": false,
"min_days_since_publish": 9
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "6 package(s) on maven",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 6,
"ecosystems": "maven"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 9 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 9
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "566 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 566
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 65,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 48,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "7 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 7
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "http://serenity-bdd.info",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "http://serenity-bdd.info",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 48,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 41,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 4.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 1/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 16 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "21 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Matched the maven:net.serenity-bdd:serenity-core@5.3.11 runtime dependency closure — what installing the published package pulls in — 183 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "maven:net.serenity-bdd:serenity-core@5.3.11",
"assessed": 183
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 75,
"inputs": {
"source": "osv",
"advisories": 11,
"affected_packages": 2,
"assessed_packages": 183,
"unassessed_packages": 0,
"affected_by_severity": "high 2",
"direct_affected_packages": 2
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "2 affected: com.fasterxml.jackson.core:jackson-core 2.21.3 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.21.3 (high 8.1)",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 2,
"packages": "com.fasterxml.jackson.core:jackson-core 2.21.3 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.21.3 (high 8.1)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 183,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 7
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 60,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "good",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.64,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 16298
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "64 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 34.1,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 64,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.55,
"toolchain_manifests": [
"pom.xml",
"serenity-ant-task/build.gradle",
"serenity-ant-task/pom.xml",
"serenity-appium-screenplay-poc/pom.xml",
"serenity-appium/pom.xml",
"serenity-asciidoc/build.gradle",
"serenity-assertions/build.gradle",
"serenity-assertions/pom.xml",
"serenity-bitbar/build.gradle",
"serenity-bitbar/pom.xml",
"serenity-bom/pom.xml",
"serenity-browsermob-plugin/build.gradle",
"serenity-browsermob-plugin/pom.xml",
"serenity-browserstack/build.gradle",
"serenity-browserstack/pom.xml",
"serenity-cli/pom.xml",
"serenity-core/build.gradle",
"serenity-core/pom.xml",
"serenity-crossbrowsertesting/build.gradle",
"serenity-crossbrowsertesting/pom.xml",
"serenity-cucumber/pom.xml",
"serenity-ensure/build.gradle",
"serenity-ensure/pom.xml",
"serenity-jira-plugin/pom.xml",
"serenity-jira-requirements-provider/pom.xml",
"serenity-json-summary-report/build.gradle",
"serenity-json-summary-report/pom.xml",
"serenity-junit/build.gradle",
"serenity-junit/pom.xml",
"serenity-junit5/build.gradle",
"serenity-junit5/pom.xml",
"serenity-lambdatest/pom.xml",
"serenity-maven-plugin/pom.xml",
"serenity-mobile-screenplay-example/pom.xml",
"serenity-model/build.gradle",
"serenity-model/pom.xml",
"serenity-model/src/test/resources/resourcelist/pom.xml",
"serenity-navigator-report/build.gradle",
"serenity-navigator-report/pom.xml",
"serenity-playwright-demo/pom.xml",
"serenity-playwright/pom.xml",
"serenity-report-resources/build.gradle",
"serenity-report-resources/pom.xml",
"serenity-reports-configuration/build.gradle",
"serenity-reports-configuration/pom.xml",
"serenity-reports/build.gradle",
"serenity-reports/pom.xml",
"serenity-rest-assured/build.gradle",
"serenity-rest-assured/pom.xml",
"serenity-sample-alternative-resources/build.gradle",
"serenity-sample-alternative-resources/pom.xml",
"serenity-saucelabs/build.gradle",
"serenity-saucelabs/pom.xml",
"serenity-screenplay-playwright/pom.xml",
"serenity-screenplay-rest/build.gradle",
"serenity-screenplay-rest/pom.xml",
"serenity-screenplay-webdriver/build.gradle",
"serenity-screenplay-webdriver/pom.xml",
"serenity-screenplay/build.gradle",
"serenity-screenplay/pom.xml",
"serenity-selenoid/pom.xml",
"serenity-shutterbug/build.gradle",
"serenity-shutterbug/pom.xml",
"serenity-single-page-report/build.gradle",
"serenity-single-page-report/pom.xml",
"serenity-smoketests/build.gradle",
"serenity-smoketests/pom.xml",
"serenity-spock/pom.xml",
"serenity-spring/build.gradle",
"serenity-spring/pom.xml",
"serenity-stats/build.gradle",
"serenity-stats/pom.xml",
"serenity-tutorials/pom.xml",
"serenity-zalenium/build.gradle",
"serenity-zalenium/pom.xml"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "pom.xml, serenity-ant-task/build.gradle, serenity-ant-task/pom.xml (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "pom.xml, serenity-ant-task/build.gradle, serenity-ant-task/pom.xml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "55 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 55,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"primary_language": "HTML",
"largest_source_bytes": 521054,
"source_files_sampled": 4161,
"oversized_source_files": 168
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "HTML without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "HTML"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "168/4161 source files over 60KB",
"points": 52.8,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 4161,
"oversized": 168
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"demos",
"examples",
"sample",
"samples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "demos, examples, sample, samples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "demos, examples, sample, samples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch maven package 'net.thucydides:thucydides-spock' from its registry",
"Could not fetch maven package 'net.serenity-bdd.appium.integration:serenity-appium' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-25T05:34:45.271747Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/serenity-bdd/serenity-core.svg",
"full_name": "serenity-bdd/serenity-core",
"license_state": "custom",
"license_spdx": null
}