公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-25 05:34 UTC

serenity-bdd / serenity-core

Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun.

HTML自定义许可证★ 755 星标⑂ 544 复刻始于 2014年11月在 GitHub 上查看 ↗

serenity-bdd/serenity-core 的健康指数为 100 分中的 65 分,处于「中等」区间。 其得分最高的类别是Community & Adoption(80/100),最低的是Security(48/100)。 最近一次更新在 8 天前。 近期的大部分工作由 1 位贡献者完成。

65
总分 / 100
中等

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

65
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

206 关注者66 个公开仓库始于 2014年10月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
Mavennet.serenity-bdd:serenity-cli5.3.11-2349 天前
Mavennet.serenity-bdd:serenity-core5.3.11-5379 天前
Mavennet.serenity-bdd:serenity-junit5.3.11-5669 天前
Mavennet.serenity-bdd:serenity-model5.3.11-3659 天前
Mavennet.serenity-bdd:serenity-stats5.3.11-3389 天前
Mavennet.serenity-bdd:serenity-bitbar5.3.11-1519 天前

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

61中等 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 8 天前
15.2/36提交节奏 — 52 周中有 22 周有提交
18/18提交量 — 最近一年 247 次提交
10/10OpenSSF Scorecard:Maintained — 10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year247
human_commit_share1
days_since_last_push8
active_weeks_last_year22

发布纪律

44存在风险
评分方式
27/27有发布版本 — 已发布 100 个发布版本
0/36发布时效 — 最近一次发布版本于 926 天前
12.6/27发布节奏 — 约每 128.2 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count100
latest_release_tag4.0.1
releases_from_tags
days_since_latest_release926
mean_days_between_releases128.2
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

80良好 · 占总体的 18%
评分方式
46.7/60星标 — 755 个星标
22.8/25复刻 — 544 个复刻
10.8/15关注者 — 89 位关注者
所用输入
forks544
stars755
watchers89
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

79良好
评分方式
22.5/22.5README
16.9/22.5许可证 — 存在许可证文件,但不是可识别的许可证
18/18CONTRIBUTING 指南
13.5/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

67中等 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
4.1/22.5提交分布 — 头号贡献者编写了 82% 的提交
13.5/13.5贡献者广度 — 99 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 16 contributing companies or organizations
所用输入
bus_factor1
contributors_sampled99
top_contributor_share0.817
评分方式
39.9/46.8议题解决 — 85% 的议题已关闭
33.5/38.3PR 接受 — 已裁定的 PR 中 608/694 已合并
0/15OpenSSF Scorecard:Code-Review — Found 1/30 approved changesets -- score normalized to 0
所用输入
merged_prs608
open_issues430
closed_issues2,512
issue_closed_ratio0.854
closed_unmerged_prs86
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
16.7/25所有者影响力 — serenity-bdd 有 206 位关注者
25/25既往记录 — 66 个公开仓库,账户约 11 年
所用输入
followers206
owner_typeOrganization
is_verified
owner_loginserenity-bdd
public_repos66
account_age_days4,286
评分方式
25/25已发布且可解析 — maven 上有 6 个软件包
35/35发布时效 — 最近一次发布于 9 天前
20/20版本历史 — 566 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesnet.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
ecosystemsmaven
any_deprecated
min_days_since_publish9

工程质量

基础的工程与文档实践是否到位?

65中等 · 占总体的 20%

工程实践

48存在风险
评分方式
24/24CI 工作流 — 7 个工作流
24/24存在测试
0/16Linter 配置
0/9.6Pre-commit 钩子
0/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

90优秀
评分方式
30/30README
25/25文档目录
15/15文档 / 主页站点 — http://serenity-bdd.info
10/10仓库描述
0/10主题标签
10/10Wiki
所用输入
topics
has_wiki
homepagehttp://serenity-bdd.info
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

48存在风险 · 占总体的 16%

安全态势

41存在风险
评分方式
0/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 1/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 16 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5许可证 — license file detected
7.5/7.5Maintained — 10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 21 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4.1
已排除计分(无数据或不适用):signed_releases。 其余权重已重新归一化。
评分方式
10.4/35直接依赖不含已知公告 — 2 个受影响:com.fasterxml.jackson.core:jackson-core 2.21.3 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.21.3 (high 8.1)
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
40/40没有长期未处理的公告 — 没有公告公开超过 90 天
所用输入
sourceosv
advisories11
affected_packages2
assessed_packages183
unassessed_packages0
affected_by_severityhigh 2
direct_affected_packages2
比对的是 maven:net.serenity-bdd:serenity-core@5.3.11 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 183 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

60中等 · 占总体的 0%
评分方式
45/45代理指令 — CLAUDE.md
0/15机器可读文档(llms.txt)
34.1/40可读的提交历史 — 100 次人类提交中有 64 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.64
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes16,298
评分方式
12.6/18一条命令的引导启动 — pom.xml, serenity-ant-task/build.gradle, serenity-ant-task/pom.xml(工具链约定,无任务运行器)
22/22自动化测试
0/11Lint / 格式化配置
0/11静态类型检查
10/10可复现环境 — Dockerfile
10/10已体现的代理实践 — 最近 100 次提交中有 55 次由代理编写或署名代理
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
所用输入
has_nix
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0.55
toolchain_manifestspom.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_share0
评分方式
0/45可类型检查的代码 — HTML,未配置类型检查
52.8/55可控的文件大小 — 采样的 4,161 个源文件中有 168 个超过 60KB
所用输入
primary_languageHTML
largest_source_bytes521,054
source_files_sampled4,161
oversized_source_files168

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — demos, examples, sample, samples
所用输入
example_dirsdemos, examples, sample, samples
has_mcp_signal
api_schema_files

关键数据

755GitHub 星标
99贡献者
247最近 12 个月提交数
8距最近推送天数
100发布版本数
1巴士系数(bus factor)
430开放议题
Maven软件包生态系统数

数据采集警告

  • 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

更多细节

Star 与 Fork 历史 0 ★ / 544 ⇿
0Star
544Fork
100发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

010020030040050060053862014-112020-082026-06
主版本 0次版本 3修订 56

每个点涵盖 11 天。

OpenSSF Scorecard 4.1 / 10
4.1综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-25 05:33 UTC

0Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 1/30 approved changesets -- score normalized to 0
10Contributorsproject has 16 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
10Maintained10 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities21 existing vulnerabilities detected
直接依赖 335
注册表软件包版本约束清单文件
Mavenio.netty:netty-handler4.2.1.Finalpom.xml
Mavenorg.apache.httpcomponents.client5:httpclient55.4.4pom.xml
Mavenorg.apache.groovy:groovy${groovy.version}pom.xml
Mavenorg.apache.groovy:groovy-all${groovy.version}pom.xml
Mavenorg.apache.groovy:groovy-json${groovy.version}pom.xml
Mavenorg.apache.groovy:groovy-xml${groovy.version}pom.xml
Mavenorg.mockito:mockito-core${mockito.version}pom.xml
Mavenio.rest-assured:rest-assured${restassured.version}pom.xml
Mavennet.bytebuddy:byte-buddy${byte-buddy.version}pom.xml
Mavennet.java.dev.jna:jna5.18.1pom.xml
Mavennet.bytebuddy:byte-buddy-agent${byte-buddy.version}pom.xml
Mavenorg.objenesis:objenesis3.4pom.xml
Mavenorg.freemarker:freemarker${freemarker.version}pom.xml
Mavenjoda-time:joda-time${joda-time.version}pom.xml
Mavencom.google.guava:guava${guava.version}pom.xml
Mavenorg.hamcrest:hamcrest${hamcrest.version}pom.xml
Mavenorg.slf4j:slf4j-api${slf4j.version}pom.xml
Mavendnsjava:dnsjava3.6.4pom.xml
Mavenorg.apache.commons:commons-lang3${commons.lang.version}pom.xml
Mavencommons-io:commons-io${commons.io.version}pom.xml
Mavenorg.apache.commons:commons-text${commons.text.version}pom.xml
Mavencommons-net:commons-net${commons.net.version}pom.xml
Mavenorg.apache.commons:commons-compress${commons.compress.version}pom.xml
Mavencommons-codec:commons-codec${commons.codec.version}pom.xml
Mavencom.google.code.gson:gson${gson.version}pom.xml
Mavencom.fasterxml.jackson.core:jackson-core${jackson.version}pom.xml
Mavencom.fasterxml.jackson.core:jackson-databind${jackson.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-java${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-api${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-support${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-chrome-driver${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-firefox-driver${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-edge-driver${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-ie-driver${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-safari-driver${selenium.version}pom.xml
Mavenorg.seleniumhq.selenium:selenium-opera-driver${selenium.version}pom.xml
Mavenorg.htmlunit:htmlunit${htmlunit.version}pom.xml
Mavenorg.seleniumhq.selenium:htmlunit3-driver${htmlunit.driver.version}pom.xml
Mavennet.java.dev.jna:jna-platform${jna-platform.version}pom.xml
Mavenio.appium:java-client${appium.version}pom.xml
Mavencom.opencsv:opencsv${opencsv.version}pom.xml
Mavencom.typesafe:config${typesafe.version}pom.xml
Mavenorg.imgscalr:imgscalr-lib${imgscalr.version}pom.xml
Mavenorg.awaitility:awaitility${awaitility.version}pom.xml
Mavenjavax.annotation:javax.annotation-api1.3.2pom.xml
Mavenorg.fluentlenium:fluentlenium-core${fluentlenium.version}pom.xml
Mavencom.jhlabs:filters${filters.version}pom.xml
Mavencom.paulhammant:ngwebdriver${ngwebdriver.version}pom.xml
Mavenorg.springframework:spring-context-support${spring.version}pom.xml
Mavencom.thoughtworks.xstream:xstream${xstream.version}pom.xml
Mavencom.google.jimfs:jimfs${jimfs.version}pom.xml
Mavenorg.thymeleaf:thymeleaf${thymeleaf.version}pom.xml
Mavenorg.javassist:javassist${javassist.version}pom.xml
Mavenorg.knowm.xchart:xchart${xchart.version}pom.xml
Mavenio.cucumber:cucumber-bom${cucumber.version}pom.xml
Mavenorg.junit:junit-bom${junit5.version}pom.xml
Mavenorg.apache.groovy:groovy-all${groovy.version}pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-ant-task/pom.xml
Mavenorg.apache.ant:ant${ant.version}serenity-ant-task/pom.xml
Mavennet.serenity-bdd:serenity-cucumber${serenity.cucumber.version}serenity-appium-screenplay-poc/pom.xml
Mavennet.serenity-bdd:serenity-core${serenity.version}serenity-appium/pom.xml
Mavennet.serenity-bdd:serenity-junit${serenity.version}serenity-appium/pom.xml
Mavennet.serenity-bdd:serenity-cucumber${serenity.cucumber.version}serenity-appium/pom.xml
Mavenorg.slf4j:slf4j-simple1.7.7serenity-appium/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-assertions/pom.xml
Maven${project.groupId}:serenity-junit${project.version}serenity-assertions/pom.xml
Maven${project.groupId}:serenity-screenplay${project.version}serenity-assertions/pom.xml
Mavenorg.assertj:assertj-coreserenity-assertions/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-bitbar/pom.xml
Mavenorg.apache.httpcomponents:httpcore4.4.15serenity-bitbar/pom.xml
Mavenorg.apache.httpcomponents:httpclient4.5.13serenity-bitbar/pom.xml
Mavencom.testdroid:testdroid-api3.22serenity-bitbar/pom.xml
Mavencom.fasterxml.woodstox:woodstox-core6.5.1serenity-bitbar/pom.xml
Mavennet.serenity-bdd:serenity-model${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-core${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-report-resources${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-sample-alternative-resources${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-screenplay${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-webdriver${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-rest${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-playwright${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-junit5${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-junit${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-cucumber${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-assertions${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-ensure${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-rest-assured${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-reports${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-reports-configuration${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-stats${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-single-page-report${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-json-summary-report${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-navigator-report${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-spring${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-playwright${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-browserstack${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-saucelabs${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-lambdatest${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-crossbrowsertesting${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-zalenium${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-selenoid${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-bitbar${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-browsermob-plugin${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-shutterbug${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-ant-task${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-cli${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-jira-plugin${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd:serenity-jira-requirements-provider${project.version}serenity-bom/pom.xml
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin${project.version}serenity-bom/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-browsermob-plugin/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-browsermob-plugin/pom.xml
Mavennet.lightbody.bmp:browsermob-core${browsermob.version}serenity-browsermob-plugin/pom.xml
Mavenio.netty:netty-all4.2.1.Finalserenity-browsermob-plugin/pom.xml
Mavenorg.bouncycastle:bcprov-jdk18on1.78serenity-browsermob-plugin/pom.xml
Mavenorg.opentest4j:opentest4j${opentest.version}serenity-browsermob-plugin/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-browserstack/pom.xml
Mavenorg.apache.httpcomponents:httpcore4.4.15serenity-browserstack/pom.xml
Mavenorg.apache.httpcomponents:httpclient4.5.14serenity-browserstack/pom.xml
Mavencom.browserstack:browserstack-local-java${browserstack.local.version}serenity-browserstack/pom.xml
Mavenorg.json:json20231013serenity-browserstack/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-cli/pom.xml
Maven${project.groupId}:serenity-reports${project.version}serenity-cli/pom.xml
Mavenargs4j:args4j2.33serenity-cli/pom.xml
Mavench.qos.logback:logback-classic1.5.19serenity-cli/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-core/pom.xml
Maven${project.groupId}:serenity-reports${project.version}serenity-core/pom.xml
Maven${project.groupId}:serenity-report-resources${project.version}serenity-core/pom.xml
Mavencom.google.code.gson:gsonserenity-core/pom.xml
Mavencom.fasterxml.jackson.core:jackson-coreserenity-core/pom.xml
Mavencom.fasterxml.jackson.core:jackson-databindserenity-core/pom.xml
Mavencommons-codec:commons-codecserenity-core/pom.xml
Mavencommons-io:commons-ioserenity-core/pom.xml
Mavenorg.apache.httpcomponents:httpclient4.5.13serenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-javaserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-apiserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-supportserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-chrome-driverserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-firefox-driverserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-edge-driverserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:selenium-ie-driverserenity-core/pom.xml
Mavenorg.htmlunit:htmlunitserenity-core/pom.xml
Mavenorg.seleniumhq.selenium:htmlunit3-driverserenity-core/pom.xml
Mavenio.appium:java-clientserenity-core/pom.xml
Mavenorg.apache.groovy:groovyserenity-core/pom.xml
Mavennet.sf.opencsv:opencsv2.3serenity-core/pom.xml
Mavenorg.apache.commons:commons-lang3serenity-core/pom.xml
Mavenorg.apache.commons:commons-compressserenity-core/pom.xml
Mavenorg.fluentlenium:fluentlenium-coreserenity-core/pom.xml
Mavencom.jhlabs:filtersserenity-core/pom.xml
Mavencom.paulhammant:ngwebdriverserenity-core/pom.xml
Mavenjoda-time:joda-timeserenity-core/pom.xml
Mavenorg.hamcrest:hamcrestserenity-core/pom.xml
Mavencom.google.jimfs:jimfsserenity-core/pom.xml
Mavenorg.mockito:mockito-coreserenity-core/pom.xml
Mavenjavax.xml.bind:jaxb-api2.3.1serenity-core/pom.xml
Mavencom.sun.xml.bind:jaxb-core2.3.0.1serenity-core/pom.xml
Mavencom.sun.xml.bind:jaxb-impl2.3.3serenity-core/pom.xml
Mavenjavax.activation:activation1.1.1serenity-core/pom.xml
Mavennet.java.dev.jna:jna${jna.version}serenity-core/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-crossbrowsertesting/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-crossbrowsertesting/pom.xml
Mavencom.konghq:unirest-java3.11.10serenity-crossbrowsertesting/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-crossbrowsertesting/pom.xml
Mavenjunit:junitserenity-crossbrowsertesting/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-cucumber/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-cucumber/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-cucumber/pom.xml
Mavenjunit:junitserenity-cucumber/pom.xml
Mavennet.serenity-bdd:serenity-screenplay${project.version}serenity-cucumber/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-webdriver${project.version}serenity-cucumber/pom.xml
Mavenio.cucumber:cucumber-coreserenity-cucumber/pom.xml
Mavenio.cucumber:cucumber-javaserenity-cucumber/pom.xml
Mavenio.cucumber:cucumber-junitserenity-cucumber/pom.xml
Mavenorg.apache.commons:commons-csv${commons.csv.version}serenity-cucumber/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-ensure/pom.xml
Maven${project.groupId}:serenity-screenplay${project.version}serenity-ensure/pom.xml
Maven${project.groupId}:serenity-screenplay-webdriver${project.version}serenity-ensure/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-ensure/pom.xml
Mavenorg.assertj:assertj-core${assertj.version}serenity-ensure/pom.xml
Mavenorg.apache.groovy:groovyserenity-jira-plugin/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-jira-plugin/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-jira-plugin/pom.xml
Mavenorg.glassfish.jersey.core:jersey-client2.38serenity-jira-plugin/pom.xml
Mavenorg.glassfish.jersey.inject:jersey-hk22.38serenity-jira-plugin/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-jira-plugin/pom.xml
Mavenorg.hamcrest:hamcrest-all1.1serenity-jira-plugin/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-jira-requirements-provider/pom.xml
Maven${project.groupId}:serenity-jira-plugin${project.version}serenity-jira-requirements-provider/pom.xml
Mavenorg.apache.groovy:groovyserenity-jira-requirements-provider/pom.xml
Mavenorg.slf4j:slf4j-simpleserenity-jira-requirements-provider/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-jira-requirements-provider/pom.xml
Maven${project.groupId}:serenity-stats${project.version}serenity-json-summary-report/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-json-summary-report/pom.xml
Maven${project.groupId}:serenity-reports${project.version}serenity-json-summary-report/pom.xml
Maven${project.groupId}:serenity-reports-configuration${project.version}serenity-json-summary-report/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-json-summary-report/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-junit/pom.xml
Mavenjunit:junitserenity-junit/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-junit/pom.xml
Mavenjakarta.xml.bind:jakarta.xml.bind-api4.0.0serenity-junit/pom.xml
Mavencom.sun.xml.bind:jaxb-impl4.0.3serenity-junit/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-junit5/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-junit5/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-apiserenity-junit5/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-junit5/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-paramsserenity-junit5/pom.xml
Mavenorg.junit.vintage:junit-vintage-engineserenity-junit5/pom.xml
Mavenorg.junit.platform:junit-platform-launcherserenity-junit5/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-lambdatest/pom.xml
Mavennet.serenity-bdd:serenity-screenplay${project.version}serenity-lambdatest/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-webdriver${project.version}serenity-lambdatest/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-lambdatest/pom.xml
Mavenjunit:junitserenity-lambdatest/pom.xml
Mavennet.serenity-bdd:serenity-core${project.version}serenity-maven-plugin/pom.xml
Mavenorg.codehaus.plexus:plexus-classworlds2.6.0serenity-maven-plugin/pom.xml
Mavenorg.codehaus.plexus:plexus-component-annotations2.1.0serenity-maven-plugin/pom.xml
Mavenorg.codehaus.plexus:plexus-utils3.2.1serenity-maven-plugin/pom.xml
Mavenorg.apache.commons:commons-lang3serenity-maven-plugin/pom.xml
Mavenio.cucumber:cucumber-java${cucumber.version}serenity-mobile-screenplay-example/pom.xml
Mavenio.cucumber:cucumber-junit${cucumber.version}serenity-mobile-screenplay-example/pom.xml
Mavennet.serenity-bdd:serenity-core${serenity.version}serenity-mobile-screenplay-example/pom.xml
Mavennet.serenity-bdd:serenity-screenplay${serenity.version}serenity-mobile-screenplay-example/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-webdriver${serenity.version}serenity-mobile-screenplay-example/pom.xml
Maven${project.groupId}:serenity-report-resources${project.version}serenity-model/pom.xml
Mavenorg.apache.commons:commons-lang3serenity-model/pom.xml
Mavencommons-io:commons-ioserenity-model/pom.xml
Mavenorg.apache.commons:commons-textserenity-model/pom.xml
Mavencommons-net:commons-netserenity-model/pom.xml
Mavencommons-codec:commons-codecserenity-model/pom.xml
Mavencom.google.guava:guavaserenity-model/pom.xml
Mavenorg.slf4j:slf4j-apiserenity-model/pom.xml
Mavenorg.hamcrest:hamcrestserenity-model/pom.xml
Mavenorg.jsoup:jsoup${jsoup.version}serenity-model/pom.xml
Mavencom.fasterxml.jackson.core:jackson-databind${jackson.version}serenity-model/pom.xml
Mavencom.thoughtworks.xstream:xstream${xstream.version}serenity-model/pom.xml
Mavenjoda-time:joda-time${joda-time.version}serenity-model/pom.xml
Mavenio.cucumber:cucumber-coreserenity-model/pom.xml
Mavenio.cucumber:cucumber-javaserenity-model/pom.xml
Mavencom.google.code.gson:gsonserenity-model/pom.xml
Mavencom.opencsv:opencsvserenity-model/pom.xml
Mavencom.typesafe:configserenity-model/pom.xml
Mavenorg.imgscalr:imgscalr-libserenity-model/pom.xml
Mavenorg.awaitility:awaitilityserenity-model/pom.xml
Mavenorg.freemarker:freemarkerserenity-model/pom.xml
Mavenio.github.classgraph:classgraph4.8.184serenity-model/pom.xml
Mavencom.github.ben-manes.caffeine:caffeine3.2.3serenity-model/pom.xml
Mavenorg.ehcache:ehcache${ehcache.version}serenity-model/pom.xml
Mavennet.sourceforge.jexcelapi:jxl2.6.12serenity-model/pom.xml
Mavenorg.apache.groovy:groovyserenity-model/pom.xml
Mavennet.bytebuddy:byte-buddyserenity-model/pom.xml
Mavennet.bytebuddy:byte-buddy-agentserenity-model/pom.xml
Mavenorg.objenesis:objenesisserenity-model/pom.xml
Mavencom.vladsch.flexmark:flexmark-all0.64.8serenity-model/pom.xml
Mavenorg.apache.pdfbox:pdfbox3.0.6serenity-model/pom.xml
Mavencom.vladsch.flexmark:flexmark-ext-resizable-image0.64.8serenity-model/pom.xml
Mavencom.vladsch.flexmark:flexmark-ext-tables0.64.8serenity-model/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-navigator-report/pom.xml
Maven${project.groupId}:serenity-stats${project.version}serenity-navigator-report/pom.xml
Maven${project.groupId}:serenity-reports${project.version}serenity-navigator-report/pom.xml
Mavenorg.apache.commons:commons-compress${commons.compress.version}serenity-navigator-report/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-navigator-report/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib-jdk8${kotlin.version}serenity-navigator-report/pom.xml
Mavenorg.jsoup:jsoup${jsoup.version}serenity-navigator-report/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-playwright/pom.xml
Mavencom.microsoft.playwright:playwright${playwright.version}serenity-playwright/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-apiserenity-playwright/pom.xml
Maven${project.groupId}:serenity-junit5${project.version}serenity-playwright/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-reports-configuration/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-reports-configuration/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-reports/pom.xml
Maven${project.groupId}:serenity-stats${project.version}serenity-reports/pom.xml
Maven${project.groupId}:serenity-reports-configuration${project.version}serenity-reports/pom.xml
Mavencom.vladsch.flexmark:flexmark-all0.64.8serenity-reports/pom.xml
Mavencom.ibm.icu:icu4j72.1serenity-reports/pom.xml
Mavenes.nitaur.markdown:txtmark0.16serenity-reports/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-rest-assured/pom.xml
Mavenorg.apache.httpcomponents:httpclient4.5.13serenity-rest-assured/pom.xml
Mavenio.rest-assured:rest-assuredserenity-rest-assured/pom.xml
Mavenorg.apache.groovy:groovy-jsonserenity-rest-assured/pom.xml
Mavenorg.apache.groovy:groovy-xmlserenity-rest-assured/pom.xml
Mavenorg.apache.groovy:groovyserenity-rest-assured/pom.xml
Mavenorg.opentest4j:opentest4j${opentest.version}serenity-rest-assured/pom.xml
Mavenjunit:junitserenity-sample-alternative-resources/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-saucelabs/pom.xml
Maven${project.groupId}:serenity-rest-assured${project.version}serenity-saucelabs/pom.xml
Mavennet.serenity-bdd:serenity-junit${project.version}serenity-saucelabs/pom.xml
Mavenorg.junit.jupiter:junit-jupiter-engineserenity-saucelabs/pom.xml
Mavenjunit:junitserenity-saucelabs/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-screenplay-playwright/pom.xml
Maven${project.groupId}:serenity-playwright${project.version}serenity-screenplay-playwright/pom.xml
Maven${project.groupId}:serenity-junit${project.version}serenity-screenplay-playwright/pom.xml
Maven${project.groupId}:serenity-junit5${project.version}serenity-screenplay-playwright/pom.xml
Maven${project.groupId}:serenity-screenplay${project.version}serenity-screenplay-playwright/pom.xml
Mavencom.microsoft.playwright:playwright${playwright.version}serenity-screenplay-playwright/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-screenplay-rest/pom.xml
Maven${project.groupId}:serenity-rest-assured${project.version}serenity-screenplay-rest/pom.xml
Maven${project.groupId}:serenity-screenplay${project.version}serenity-screenplay-rest/pom.xml
Mavenorg.assertj:assertj-coreserenity-screenplay-rest/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-screenplay-webdriver/pom.xml
Maven${project.groupId}:serenity-screenplay${project.version}serenity-screenplay-webdriver/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-screenplay/pom.xml
Mavenjunit:junitserenity-screenplay/pom.xml
Mavennet.serenity-bdd:serenity-model${project.version}serenity-screenplay/pom.xml
Mavenorg.opentest4j:opentest4j1.3.0serenity-screenplay/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-selenoid/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-shutterbug/pom.xml
Mavencom.assertthat:selenium-shutterbug${shutterbug.version}serenity-shutterbug/pom.xml
Mavenorg.projectlombok:lombok1.18.34serenity-shutterbug/pom.xml
Maven${project.groupId}:serenity-stats${project.version}serenity-single-page-report/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-single-page-report/pom.xml
Maven${project.groupId}:serenity-reports${project.version}serenity-single-page-report/pom.xml
Maven${project.groupId}:serenity-reports-configuration${project.version}serenity-single-page-report/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-single-page-report/pom.xml
Mavenorg.thymeleaf:thymeleafserenity-single-page-report/pom.xml
Mavenorg.javassist:javassistserenity-single-page-report/pom.xml
Mavenorg.knowm.xchart:xchartserenity-single-page-report/pom.xml
Mavenorg.thymeleaf.extras:thymeleaf-extras-java8time3.0.4.RELEASEserenity-single-page-report/pom.xml
Mavennet.serenity-bdd:serenity-core${project.version}serenity-smoketests/pom.xml
Mavennet.serenity-bdd:serenity-junit${project.version}serenity-smoketests/pom.xml
Mavennet.serenity-bdd:serenity-screenplay${project.version}serenity-smoketests/pom.xml
Mavennet.serenity-bdd:serenity-screenplay-webdriver${project.version}serenity-smoketests/pom.xml
Mavennet.serenity-bdd:serenity-cucumber${project.version}serenity-smoketests/pom.xml
Mavenorg.slf4j:slf4j-simpleserenity-smoketests/pom.xml
Mavennet.serenity-bdd:serenity-single-page-report${project.version}serenity-smoketests/pom.xml
Mavennet.thucydides:thucydides-core${project.version}serenity-spock/pom.xml
Mavenorg.spockframework:spock-core2.2-M1-groovy-4.0serenity-spock/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-spring/pom.xml
Mavennet.serenity-bdd:serenity-junit${project.version}serenity-spring/pom.xml
Mavenjunit:junitserenity-spring/pom.xml
Mavenorg.springframework:spring-test${spring.version}serenity-spring/pom.xml
Mavenorg.springframework:spring-context${spring.version}serenity-spring/pom.xml
Mavenorg.springframework:spring-context-support${spring.version}serenity-spring/pom.xml
Maven${project.groupId}:serenity-model${project.version}serenity-stats/pom.xml
Mavenorg.jetbrains.kotlin:kotlin-stdlib${kotlin.version}serenity-stats/pom.xml
Maven${project.groupId}:serenity-core${project.version}serenity-zalenium/pom.xml
全部依赖 313

来自 GitHub 依赖图的完整解析依赖集合:255 个直接依赖与 58 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
Mavenargs4j:args4j2.33直接
Mavench.qos.logback:logback-classic1.5.16直接
Mavench.qos.logback:logback-classic1.5.19直接
Mavencom.assertthat:selenium-shutterbug0.9.5直接
Mavencom.browserstack:browserstack-local-java1.0.6直接
Mavencom.fasterxml.jackson.core:jackson-core直接
Mavencom.fasterxml.jackson.core:jackson-core2.21.3直接
Mavencom.fasterxml.jackson.core:jackson-databind直接
Mavencom.fasterxml.jackson.core:jackson-databind2.17.0直接
Mavencom.fasterxml.jackson.core:jackson-databind2.21.3直接
Mavencom.fasterxml.woodstox:woodstox-core6.5.1直接
Mavencom.github.ben-manes.caffeine:caffeine3.2.3直接
Mavencom.google.code.gson:gson直接
Mavencom.google.code.gson:gson2.14.0直接
Mavencom.google.guava:guava直接
Mavencom.google.guava:guava33.6.0-jre直接
Mavencom.google.jimfs:jimfs直接
Mavencom.google.jimfs:jimfs1.3.1直接
Mavencom.ibm.icu:icu4j72.1直接
Mavencom.jhlabs:filters直接
Mavencom.jhlabs:filters2.0.235直接
Mavencom.konghq:unirest-java3.11.10直接
Mavencom.microsoft.playwright:playwright1.58.0直接
Mavencom.microsoft.playwright:playwright1.59.0直接
Mavencom.opencsv:opencsv直接
Mavencom.opencsv:opencsv5.12.0直接
Mavencom.paulhammant:ngwebdriver直接
Mavencom.paulhammant:ngwebdriver1.2直接
Mavencom.sun.xml.bind:jaxb-core2.3.0.1直接
Mavencom.sun.xml.bind:jaxb-impl2.3.3直接
Mavencom.sun.xml.bind:jaxb-impl4.0.3直接
Mavencom.testdroid:testdroid-api3.22直接
Mavencom.thoughtworks.xstream:xstream直接
Mavencom.thoughtworks.xstream:xstream1.4.21直接
Mavencom.typesafe:config直接
Mavencom.typesafe:config1.4.5直接
Mavencom.vladsch.flexmark:flexmark-all0.64.8直接
Mavencom.vladsch.flexmark:flexmark-ext-resizable-image0.64.8直接
Mavencom.vladsch.flexmark:flexmark-ext-tables0.64.8直接
Mavencommons-codec:commons-codec直接
Mavencommons-codec:commons-codec1.22.0直接
Mavencommons-io:commons-io直接
Mavencommons-io:commons-io2.22.0直接
Mavencommons-net:commons-net直接
Mavencommons-net:commons-net3.12.0直接
Mavendnsjava:dnsjava3.6.4直接
Mavenes.nitaur.markdown:txtmark0.16直接
Mavenio.appium:java-client直接
Mavenio.appium:java-client10.0.0直接
Mavenio.cucumber:cucumber-bom7.34.2直接
Mavenio.cucumber:cucumber-core直接
Mavenio.cucumber:cucumber-java直接
Mavenio.cucumber:cucumber-java4.2.0直接
Mavenio.cucumber:cucumber-java7.18.1直接
Mavenio.cucumber:cucumber-junit直接
Mavenio.cucumber:cucumber-junit4.2.0直接
Mavenio.github.classgraph:classgraph4.8.184直接
Mavenio.netty:netty-all4.2.1直接
Mavenio.netty:netty-handler4.2.1直接
Mavenio.rest-assured:rest-assured直接
Mavenio.rest-assured:rest-assured6.0.0直接
Mavenjakarta.xml.bind:jakarta.xml.bind-api4.0.0直接
Mavenjavax.activation:activation1.1.1直接
Mavenjavax.annotation:javax.annotation-api1.3.2直接
Mavenjavax.xml.bind:jaxb-api2.3.1直接
Mavenjoda-time:joda-time直接
Mavenjoda-time:joda-time2.14.0直接
Mavenjunit:junit直接
Mavenjunit:junit4.13.1直接
Mavenjunit:junit4.13.2直接
Mavennet.bytebuddy:byte-buddy直接
Mavennet.bytebuddy:byte-buddy1.18.5直接
Mavennet.bytebuddy:byte-buddy-agent直接
Mavennet.bytebuddy:byte-buddy-agent1.18.5直接
Mavennet.java.dev.jna:jna直接
Mavennet.java.dev.jna:jna5.18.1直接
Mavennet.java.dev.jna:jna-platform5.18.1直接
Mavennet.lightbody.bmp:browsermob-core2.1.5直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin1.7.4直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin1.8.21直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin2.0.69直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd.maven.plugins:serenity-maven-plugin5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-ant-task5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-assertions5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-bitbar5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-browsermob-plugin5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-browserstack5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-browserstack5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-cli5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-core1.7.4直接
Mavennet.serenity-bdd:serenity-core1.8.21直接
Mavennet.serenity-bdd:serenity-core2.0.69直接
Mavennet.serenity-bdd:serenity-core5.1.0-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-core5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-core5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-core5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-crossbrowsertesting5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-cucumber1.6.10直接
Mavennet.serenity-bdd:serenity-cucumber1.6.3直接
Mavennet.serenity-bdd:serenity-cucumber5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-cucumber5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-cucumber5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-ensure5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-ensure5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-jira-plugin5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-jira-requirements-provider5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-json-summary-report5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit1.7.4直接
Mavennet.serenity-bdd:serenity-junit1.8.21直接
Mavennet.serenity-bdd:serenity-junit2.0.69直接
Mavennet.serenity-bdd:serenity-junit5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit55.1.0-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit55.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit55.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-junit55.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-lambdatest5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-model5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-navigator-report5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-playwright5.1.0-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-playwright5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-report-resources5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-reports5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-reports-configuration5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-rest-assured5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-rest-assured5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-sample-alternative-resources5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-saucelabs5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-saucelabs5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay1.8.21直接
Mavennet.serenity-bdd:serenity-screenplay2.0.69直接
Mavennet.serenity-bdd:serenity-screenplay5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay-playwright5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay-rest5.2.2-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay-rest5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay-webdriver1.8.21直接
Mavennet.serenity-bdd:serenity-screenplay-webdriver2.0.69直接
Mavennet.serenity-bdd:serenity-screenplay-webdriver5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-screenplay-webdriver5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-selenoid5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-shutterbug5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-single-page-report5.3.11-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-single-page-report5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-spring5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-stats5.3.12-SNAPSHOT直接
Mavennet.serenity-bdd:serenity-zalenium5.3.12-SNAPSHOT直接
Mavennet.sf.opencsv:opencsv2.3直接
Mavennet.sourceforge.jexcelapi:jxl2.6.12直接
Mavennet.thucydides:thucydides-core0.9.79-SNAPSHOT直接
Mavenorg.apache.ant:ant直接
Mavenorg.apache.commons:commons-compress直接
Mavenorg.apache.commons:commons-compress1.28.0直接
Mavenorg.apache.commons:commons-csv直接
Mavenorg.apache.commons:commons-lang3直接
Mavenorg.apache.commons:commons-lang33.20.0直接
Mavenorg.apache.commons:commons-text直接
Mavenorg.apache.commons:commons-text1.15.0直接
Mavenorg.apache.groovy:groovy直接
Mavenorg.apache.groovy:groovy4.0.29直接
Mavenorg.apache.groovy:groovy-all4.0.29直接
Mavenorg.apache.groovy:groovy-json直接
Mavenorg.apache.groovy:groovy-json4.0.29直接
Mavenorg.apache.groovy:groovy-xml直接
Mavenorg.apache.groovy:groovy-xml4.0.29直接
Mavenorg.apache.httpcomponents.client5:httpclient55.4.4直接
Mavenorg.apache.httpcomponents:httpclient4.5.13直接
Mavenorg.apache.httpcomponents:httpclient4.5.14直接
Mavenorg.apache.httpcomponents:httpcore4.4.15直接
Mavenorg.apache.pdfbox:pdfbox3.0.6直接
Mavenorg.assertj:assertj-core直接
Mavenorg.assertj:assertj-core3.26.0直接
Mavenorg.assertj:assertj-core3.27.7直接
Mavenorg.awaitility:awaitility直接
Mavenorg.awaitility:awaitility4.3.0直接
Mavenorg.bouncycastle:bcprov-jdk18on1.78直接
Mavenorg.codehaus.plexus:plexus-classworlds2.6.0直接
Mavenorg.codehaus.plexus:plexus-component-annotations2.1.0直接
Mavenorg.codehaus.plexus:plexus-utils3.2.1直接
Mavenorg.ehcache:ehcache直接
Mavenorg.fluentlenium:fluentlenium-core直接
Mavenorg.fluentlenium:fluentlenium-core0.10.2直接
Mavenorg.freemarker:freemarker直接
Mavenorg.freemarker:freemarker2.3.34直接
Mavenorg.glassfish.jersey.core:jersey-client2.38直接
Mavenorg.glassfish.jersey.inject:jersey-hk22.38直接
Mavenorg.hamcrest:hamcrest直接
Mavenorg.hamcrest:hamcrest2.2直接
Mavenorg.hamcrest:hamcrest-all1.1直接
Mavenorg.htmlunit:htmlunit直接
Mavenorg.htmlunit:htmlunit4.20.0直接
Mavenorg.imgscalr:imgscalr-lib直接
Mavenorg.imgscalr:imgscalr-lib4.2直接
Mavenorg.javassist:javassist直接
Mavenorg.javassist:javassist3.30.2-GA直接
Mavenorg.jetbrains.kotlin:kotlin-stdlib直接
Mavenorg.jetbrains.kotlin:kotlin-stdlib-jdk8直接
Mavenorg.json:json20231013直接
Mavenorg.jsoup:jsoup直接
Mavenorg.junit.jupiter:junit-jupiter-api直接
Mavenorg.junit.jupiter:junit-jupiter-api6.0.3直接
Mavenorg.junit.jupiter:junit-jupiter-engine直接
Mavenorg.junit.jupiter:junit-jupiter-engine6.0.3直接
Mavenorg.junit.jupiter:junit-jupiter-params直接
Mavenorg.junit.platform:junit-platform-launcher直接
Mavenorg.junit.vintage:junit-vintage-engine直接
Mavenorg.junit.vintage:junit-vintage-engine6.0.3直接
Mavenorg.junit:junit-bom5.12.2直接
Mavenorg.junit:junit-bom6.0.3直接
Mavenorg.knowm.xchart:xchart直接
Mavenorg.knowm.xchart:xchart3.5.2直接
Mavenorg.mockito:mockito-core直接
Mavenorg.mockito:mockito-core3.3.3直接
Mavenorg.objenesis:objenesis直接
Mavenorg.objenesis:objenesis3.4直接
Mavenorg.opentest4j:opentest4j直接
Mavenorg.opentest4j:opentest4j1.3.0直接
Mavenorg.projectlombok:lombok1.18.34直接
Mavenorg.seleniumhq.selenium:htmlunit3-driver直接
Mavenorg.seleniumhq.selenium:htmlunit3-driver4.45.0直接
Mavenorg.seleniumhq.selenium:selenium-api直接
Mavenorg.seleniumhq.selenium:selenium-api4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-chrome-driver直接
Mavenorg.seleniumhq.selenium:selenium-chrome-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-edge-driver直接
Mavenorg.seleniumhq.selenium:selenium-edge-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-firefox-driver直接
Mavenorg.seleniumhq.selenium:selenium-firefox-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-ie-driver直接
Mavenorg.seleniumhq.selenium:selenium-ie-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-java直接
Mavenorg.seleniumhq.selenium:selenium-java4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-opera-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-safari-driver4.46.0直接
Mavenorg.seleniumhq.selenium:selenium-support直接
Mavenorg.seleniumhq.selenium:selenium-support4.46.0直接
Mavenorg.slf4j:slf4j-api直接
Mavenorg.slf4j:slf4j-api2.0.17直接
Mavenorg.slf4j:slf4j-simple直接
Mavenorg.slf4j:slf4j-simple1.7.7直接
Mavenorg.slf4j:slf4j-simple2.0.17直接
Mavenorg.spockframework:spock-core直接
Mavenorg.spockframework:spock-core2.2-M1-groovy-4.0直接
Mavenorg.spockframework:spock-core2.4-M1-groovy-4.0直接
Mavenorg.springframework:spring-context直接
Mavenorg.springframework:spring-context-support直接
Mavenorg.springframework:spring-context-support6.2.10直接
Mavenorg.springframework:spring-test直接
Mavenorg.thymeleaf.extras:thymeleaf-extras-java8time3.0.4直接
Mavenorg.thymeleaf:thymeleaf直接
Mavenorg.thymeleaf:thymeleaf3.1.3.RELEASE直接
Mavencom.google.collections:google-collections1.0间接
Mavencommons-dbcp:commons-dbcp1.4间接
Mavenio.cucumber:cucumber-java8间接
Mavenio.cucumber:cucumber-junit-platform-engine间接
Mavenio.cucumber:cucumber-junit-platform-engine7.18.1间接
Mavenio.cucumber:cucumber-junit-platform-engine7.19.0间接
Mavenio.cucumber:datatable-matchers间接
Mavenio.rest-assured:json-schema-validator5.4.0间接
Mavennet.minidev:json-smart2.6.0间接
Mavennet.serenity-bdd:serenity-cucumber41.0.21间接
Mavenorg.apache.ant:ant-testutil间接
Mavenorg.apache.maven.plugin-tools:maven-plugin-annotations3.15.0间接
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.13.0间接
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.2间接
Mavenorg.apache.maven.plugins:maven-deploy-plugin3.1.3间接
Mavenorg.apache.maven.plugins:maven-enforcer-plugin3.5.0间接
Mavenorg.apache.maven.plugins:maven-failsafe-plugin3.2.5间接
Mavenorg.apache.maven.plugins:maven-failsafe-plugin3.5.1间接
Mavenorg.apache.maven.plugins:maven-gpg-plugin3.2.7间接
Mavenorg.apache.maven.plugins:maven-jar-plugin间接
Mavenorg.apache.maven.plugins:maven-jar-plugin3.4.2间接
Mavenorg.apache.maven.plugins:maven-javadoc-plugin间接
Mavenorg.apache.maven.plugins:maven-javadoc-plugin3.10.1间接
Mavenorg.apache.maven.plugins:maven-plugin-plugin3.15.0间接
Mavenorg.apache.maven.plugins:maven-release-plugin3.1.1间接
Mavenorg.apache.maven.plugins:maven-shade-plugin3.5.1间接
Mavenorg.apache.maven.plugins:maven-source-plugin3.3.1间接
Mavenorg.apache.maven.plugins:maven-surefire-plugin间接
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.2.5间接
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.5.1间接
Mavenorg.apache.maven.plugins:maven-surefire-report-plugin3.5.2间接
Mavenorg.apache.maven.reporting:maven-reporting-api3.1.1间接
Mavenorg.apache.maven:maven-core3.9.0间接
Mavenorg.apache.maven:maven-plugin-api3.9.0间接
Mavenorg.codehaus.gmavenplus:gmavenplus-plugin间接
Mavenorg.codehaus.gmavenplus:gmavenplus-plugin4.2.1间接
Mavenorg.codehaus.mojo:flatten-maven-plugin1.6.0间接
Mavenorg.easytesting:fest-assert1.4间接
Mavenorg.eclipse.jetty:jetty-server12.0.14间接
Mavenorg.hibernate:hibernate-entitymanager5.3.37间接
Mavenorg.jbehave:jbehave-core间接
Mavenorg.jetbrains.kotlin:kotlin-maven-plugin间接
Mavenorg.junit.platform:junit-platform-suite间接
Mavenorg.junit.platform:junit-platform-suite1.10.2间接
Mavenorg.junit.platform:junit-platform-suite-api间接
Mavenorg.junit.platform:junit-platform-suite-engine间接
Mavenorg.junit.platform:junit-platform-testkit间接
Mavenorg.mockito:mockito-all1.8.2间接
Mavenorg.skyscreamer:jsonassert间接
Mavenorg.skyscreamer:jsonassert1.5.1间接
Mavenorg.sonatype.central:central-publishing-maven-plugin0.9.0间接
Mavenorg.springframework.boot:spring-boot-test间接
Mavenorg.springframework:spring-aop间接
Mavenorg.springframework:spring-core间接
Mavenorg.springframework:spring-jdbc间接
Mavenorg.springframework:spring-orm间接
Mavenorg.wiremock:wiremock间接
Mavenorg.wiremock:wiremock4.0.0-beta.34间接
依赖安全公告 2

安装 maven:net.serenity-bdd:serenity-core@5.3.11 会引入 183 个包(直接与传递):其中 2 个存在已知公告,2 个为直接依赖。

软件包版本关系严重程度公告数修复版本
com.fasterxml.jackson.core:jackson-core2.21.3直接13.2.1
com.fasterxml.jackson.core:jackson-databind2.21.3直接103.2.1

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 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
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计Maven.