原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"feature-flags",
"feature-toggle",
"feature-toggling-api",
"features",
"feature-toggles",
"a-b-testing",
"a-b-test",
"remote-config",
"cloud-native",
"split-testing",
"feature-flagging",
"feature-service",
"feature-toggling",
"feature-flag",
"feature-flipping",
"feature-toggle-service",
"feature-flags-service",
"deployment"
],
"is_fork": false,
"size_kb": 24988,
"has_wiki": true,
"homepage": "https://www.featurehub.io",
"languages": {
"Dart": 1417713,
"HTML": 1279,
"Java": 288199,
"Ruby": 479,
"Shell": 13698,
"Groovy": 605566,
"Kotlin": 1106599,
"Gherkin": 111391,
"Makefile": 80,
"Dockerfile": 5237,
"JavaScript": 2354,
"TypeScript": 119679
},
"pushed_at": "2026-07-27T09:44:12Z",
"created_at": "2020-04-24T19:11:27Z",
"owner_type": "Organization",
"updated_at": "2026-07-23T07:50:15Z",
"description": "FeatureHub - cloud native feature flags, A/B testing and remote configuration service. Real-time streaming feature updates. Provided with Java, JavaScript, React, Python, Go, .Net, Ruby, Android, Swift and Flutter SDKs. ",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": "NOASSERTION",
"primary_language": "Dart",
"significant_languages": [
"Dart",
"Kotlin",
"Groovy"
]
},
"owner": {
"blog": "featurehub.io",
"name": "FeatureHub",
"type": "Organization",
"login": "featurehub-io",
"company": null,
"location": null,
"followers": 20,
"avatar_url": "https://avatars.githubusercontent.com/u/64099961?v=4",
"created_at": "2020-04-21T18:41:54Z",
"is_verified": null,
"public_repos": 24,
"account_age_days": 2290
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.10.1",
"kind": "patch",
"published_at": "2026-07-19T00:53:01Z"
},
{
"tag": "v1.10.0",
"kind": "minor",
"published_at": "2026-05-18T09:34:27Z"
},
{
"tag": "v1.9.4",
"kind": "patch",
"published_at": "2026-03-09T07:26:09Z"
},
{
"tag": "v1.9.3",
"kind": "patch",
"published_at": "2026-02-20T07:06:51Z"
},
{
"tag": "v1.9.2",
"kind": "patch",
"published_at": "2026-02-13T19:53:36Z"
},
{
"tag": "v1.9.1",
"kind": "patch",
"published_at": "2025-07-22T08:56:13Z"
},
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2025-04-15T07:34:21Z"
},
{
"tag": "v1.8.2",
"kind": "patch",
"published_at": "2025-01-21T07:39:08Z"
},
{
"tag": "v1.8.1",
"kind": "patch",
"published_at": "2024-09-05T08:49:41Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2024-07-17T05:05:07Z"
},
{
"tag": "v1.7.1",
"kind": "patch",
"published_at": "2024-01-15T04:31:17Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2023-11-18T21:47:16Z"
},
{
"tag": "v1.6.3",
"kind": "patch",
"published_at": "2023-09-25T08:12:33Z"
},
{
"tag": "v1.6.2",
"kind": "patch",
"published_at": "2023-07-16T04:21:25Z"
},
{
"tag": "v1.6.1",
"kind": "patch",
"published_at": "2023-05-18T07:54:51Z"
},
{
"tag": "v1.6.0",
"kind": "minor",
"published_at": "2023-02-01T04:02:27Z"
},
{
"tag": "v1.5.10",
"kind": "patch",
"published_at": "2022-12-02T03:16:43Z"
},
{
"tag": "v1.5.9",
"kind": "patch",
"published_at": "2022-10-16T04:10:07Z"
},
{
"tag": "v1.5.8",
"kind": "patch",
"published_at": "2022-07-02T09:40:46Z"
},
{
"tag": "v1.5.7",
"kind": "patch",
"published_at": "2022-03-16T07:59:52Z"
},
{
"tag": "featurehub-1.5.6",
"kind": "other",
"published_at": "2022-01-30T07:22:41Z"
},
{
"tag": "featurehub-1.5.5",
"kind": "other",
"published_at": "2022-01-26T20:10:56Z"
},
{
"tag": "featurehub-1.5.4",
"kind": "other",
"published_at": "2022-01-11T04:59:56Z"
},
{
"tag": "featurehub-1.5.3",
"kind": "other",
"published_at": "2021-12-14T21:30:24Z"
},
{
"tag": "featurehub-1.5.2",
"kind": "other",
"published_at": "2021-12-12T06:19:04Z"
},
{
"tag": "featurehub-1.5.1",
"kind": "other",
"published_at": "2021-12-04T21:10:44Z"
},
{
"tag": "featurehub-1.5.0",
"kind": "other",
"published_at": "2021-11-10T08:18:00Z"
},
{
"tag": "featurehub-1.4.1",
"kind": "other",
"published_at": "2021-08-14T08:31:11Z"
},
{
"tag": "featurehub-1.4.0",
"kind": "other",
"published_at": "2021-07-23T09:56:22Z"
},
{
"tag": "featurehub-1.3.4",
"kind": "other",
"published_at": "2021-07-07T07:34:50Z"
},
{
"tag": "featurehub-1.3.3",
"kind": "other",
"published_at": "2021-06-07T08:50:33Z"
},
{
"tag": "featurehub-1.3.2",
"kind": "other",
"published_at": "2021-05-29T04:58:08Z"
}
],
"recent_commits": [
{
"oid": "3be7fe1ba38cb6651950204f4da768ecb9d7a738",
"body": null,
"is_bot": false,
"headline": "buildfix: groovy test stub generation confusing IDE vs build",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-23T07:50:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b222a34234dc0b5a585f9f5e7ce10ba2fb370b6",
"body": null,
"is_bot": false,
"headline": "don't use git diff on apis",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-23T04:26:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2d9601edd6b1221013ae77a378ca25310fe6817",
"body": null,
"is_bot": false,
"headline": "allow building just apis after full clean",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-23T04:23:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e92beca8198853f55b987f9e22251ab226f9a11",
"body": null,
"is_bot": false,
"headline": "chore: post release updates",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-19T03:17:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a6399b350726f9ab73f69311e5ad67cfe2ac0a8",
"body": "This release brings in memory improvements across the board,\nbut particularly with Dacha2. We deeply thank @Mystery00 for\nso much support and dedicated testing of this release.\n\nA reminder to check the API for upcoming changes, the Features API\nhas deprecated `valueBoolean/Json/String/Number` in fav\n[…]\n both still work for now. The updateGroup API is\n also in its last version and will be removed in 1.11, please\n use one of the alternatives.\n\nCo-authored-by: Irina Southwell <irinasouthwell@gmail.com>",
"is_bot": false,
"headline": "Release for 1.10.1 (#1321)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-19T00:50:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "943b1f108c94a3e9085111c7d66d07fe1db020bc",
"body": "IDEA gets confused if the test sources for Groovy\nare generated into a different folder.",
"is_bot": false,
"headline": "fix: for IDEA",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-18T04:36:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3854b1bedb4fcdd8e855ea90b70f0adc43ae9dda",
"body": "* custom memory fixes\n\n* fix minor issue with ConvertUtils",
"is_bot": false,
"headline": "custom memory fixes (#1320)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-07-17T20:52:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00024a41c794e04004efdf2676126cbfd1a46fef",
"body": "Decided cannot just remove it outright as folks may depend on it.\nold updateGroup has been deprecated for several versions now, new\none is cleaner.",
"is_bot": false,
"headline": "fixup: reinstate old UpdateGroup API (#1319)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-06-20T00:30:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbe87cac984c2ad74b3e268d22af7865ace3677f",
"body": "* dacha2 memory leak branch\n\n* fixups based on intense heap dumps and testing\n\n- jersey randomly using new objectmapper caches\n- unnecessary new objectmapper caches being created by us in codebase for cloudevents\n- unnecessary new objectmapper caches being created for CacheJsonMapper\n- forced JUL logging to use slf4j",
"is_bot": false,
"headline": "fix: systemic examination of heap to prevent leaking (#1317)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-06-18T07:37:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a56b133848029c2abc75ddb00d93755d84cf73f0",
"body": "* bugfix: comparing two branches for leaks\n\nThere is something wrong in 1.10.0 which we have been unable to track down\nwhich is causing slow memory leaks. This is the result of an AI audit\nwhich hasn't come up with any real solutions. Intensive testing of Dacha2\nwith a very high sustained load has also not shown up any issues.\n\n* tracking of memory leaks\n\nAI assisted heap snapshots of Dacha2 investigation changes",
"is_bot": false,
"headline": "bugfix: comparing two branches for leaks (#1313)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-06-12T05:32:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3a04c22030cdf841e6f2bad389939f4e7dd2125",
"body": "Bumps [axios](https://github.com/axios/axios) from 1.15.2 to 1.16.0.\n- [Release notes](https://github.com/axios/axios/releases)\n- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)\n- [Commits](https://github.com/axios/axios/compare/v1.15.2...v1.16.0)\n\n---\nupdated-dependencies:\n- depe\n[…]\nndency-version: 1.16.0\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump axios from 1.15.2 to 1.16.0 in /adks/e2e-sdk (#1312)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-31T20:17:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f84d3f508848db9b6838294a06f8432975c0cf84",
"body": "…rtfolio admin group (#1301)\n\n* group membership\n\n* fix: group management fixes\n\nThere is no indication from the groups API that a user is\na superuser in a group and is therefore not deletable. Further\nthe standard group API returns unnecessary member information.\n\n* dependency updates for security\n\n[…]\ned build failures\n\n* otel common was a tool old version and was being selected by pubsub libraries\n\n* some questionable behaviour around service account cache\n\n* cache behaviour is related to newcache",
"is_bot": false,
"headline": "fixing group editing to show superusers cannot be removed from the po…",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-31T01:35:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7eda0460f2066a056a69e2237de221d3a622a0b8",
"body": "* tech debt: performance runthrough\n\n- removing groovy from runtime which is only used for logging\n- ensuring resources are cleaned in various places, using AI to systematically look for memory leaks\n\n* fix build for latest pnpm\n\n* fix timezones for the json layout and support Google format",
"is_bot": false,
"headline": "tech debt: performance runthrough (#1311)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-30T00:12:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a21760d038c7c4a9e7a8654fba1c5a9657dc313",
"body": "also need to update this file",
"is_bot": false,
"headline": "postrelease 1.10.0",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-18T09:46:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6d02e7bc00ed46783b5c8e470de791d970dba89",
"body": null,
"is_bot": false,
"headline": "postrelease 1.10.0 (#1309)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-18T09:44:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db8677a4c582a7caeb2e1d2a1f72a9bd00fdadc9",
"body": null,
"is_bot": false,
"headline": "prerelease 1.10.0 (#1308)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-18T09:15:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9e0a42806743bac0a1b4fca0da4033e82b98150",
"body": null,
"is_bot": false,
"headline": "fix: app-settings fixes for the previous PR (#1303)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-05-15T20:26:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "594196773b1b66e0ca9c571465dfcfc200fb1e26",
"body": "- Darken error card colour on webhook tracking panel (orangeAccent → orange[800])\n - Sync browser URL tab param when switching tabs on app-settings page;\n use swapRoutes instead of notifyExternalRouteChange so FHRouteDelegate\n updates the URL, and guard animateTo calls to break the feedback l\n[…]\n - Sort environments by priorEnvironmentId chain in ManageAppBloc so\n Group permissions and Service accounts tabs respect the same order as\n the Environments tab, including after a drag-reorder",
"is_bot": false,
"headline": "fix: app-settings tab/environment/service-account improvements (#1302)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-05-09T20:21:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b746f79db0448c6e45f2bfd90568d7c47cc9889b",
"body": null,
"is_bot": false,
"headline": "internal: tag for not running in saas",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-05-02T00:26:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca1dca5cd7f71daaf44e4308d07fd1f4928bca63",
"body": "Also security update for NATS library.",
"is_bot": false,
"headline": "feature: faster dacha2 cache with fallback (#1295)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-29T08:24:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66475440bd4081d676d77d163ac25eab6397b06b",
"body": "- update JDK image\n- update NATS image\n- update Jackson version\n- update Handlebars (embedded apache commons)",
"is_bot": false,
"headline": "security: standard sweep before new release (trivy) (#1294)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-26T06:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e8920423df7d2ab4b9b3ccb0b2c28314db7add0",
"body": "* security: remove unused API\n\nRemoving an unused API that is not required and gives unnecessary information.",
"is_bot": false,
"headline": "security: remove unused API (#1292)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-26T01:15:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72a0269c72ad585c9d386956d290f86b66eb74db",
"body": "* added metrics to Dacha2\n* added documentation\n* add better logging to ensure etags change during testing\n* fixed an unusual registration race condition that was causing Slack tests to fail",
"is_bot": false,
"headline": "feature: dacha2 cache metrics (#1293)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-25T23:06:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d0be24c762301c09ebfcc470d024938f24cbb6e",
"body": null,
"is_bot": false,
"headline": "fix a few things (#1291)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-04-24T20:17:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48dddaf29d5b9b4d151f0e28fb89f8092fd522ab",
"body": "- Updated docs to match fixed UI\n- Made it easier to work with the example data\n- Fixed the localisations ref for the addOverlay\n- Added Chinese translations that were missing",
"is_bot": false,
"headline": "docs: feature filters (#1289)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-23T08:00:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c05c9b351b7a8d9a3d5300e0da8d74daed865e6",
"body": "Initially the experience of swapping between feature searching and between applications\nonce you had searched for a feature was a bit awkward. The desire was to clear the field\nonce you swapped Applications, but a better solution was to make the clearing easy if you\nwant it and follow better UI stan\n[…]\nnt to keep a fixed search icon near it\n- allows for easy clearing of a field\n- makes the field more dense and increase available space so that when the text of the search gets\nlong it doesn't cut off.",
"is_bot": false,
"headline": "fix: update UI to make searching for features nicer (#1290)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-23T08:00:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4f0e476e0c0ebd6303009c6474dd2ec06444ec0f",
"body": "…pages (#1288)\n\n* fix various UI things on feature filter management screen\n\n* fix various UI things on service account and feature pages",
"is_bot": false,
"headline": "fix various Feature filters UI things on service account and feature …",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-04-22T04:19:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23babf9577d7c83bd34aa75dd4932e1536bd7cb0",
"body": "* documentation: docs for feature filters\n\n* UI fix: allow feature creators to edit filters",
"is_bot": false,
"headline": "documentation: docs for feature filters (#1287)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-19T03:14:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "749c2dfefcdcee67c3d1f795c20850cdd699a5a6",
"body": "* feature: Feature Filters\n\nAllow features created in applications to apply filters and have them match with filters in service accounts. This allows features making their way to clients on API keys to have a limited subset but all be managed in a single application.\n\n* initial coding cut\n\ncombined \n[…]\norrect run config\n\n* feature count stuff\n\n* filter features: fixing the tests\n\n* filter features: cleanup around testing\n\n* dependency fixes and api bumps\n\nThe API bumps were required for consistency.",
"is_bot": false,
"headline": "Feature: Support Feature Filters (#1281)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-18T06:18:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1e07bddc50b2cce6e89fc14e21f5bd7a59966d8b",
"body": "There are scattering of other fixes, removals of deprecations,\netc.",
"is_bot": false,
"headline": "chore: upgrade syntax of Dart code to 3.x (#1282)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-10T09:06:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb55f629cee9ed40c7941584868d4f31f545289f",
"body": null,
"is_bot": false,
"headline": "Feature/admin app translations (#1270)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-04-09T08:29:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8111092631c01807afa3cf69ac6ef856b935274d",
"body": "…(#1280)\n\nBumps [rack-session](https://github.com/rack/rack-session) from 2.1.1 to 2.1.2.\n- [Release notes](https://github.com/rack/rack-session/releases)\n- [Changelog](https://github.com/rack/rack-session/blob/main/releases.md)\n- [Commits](https://github.com/rack/rack-session/compare/v2.1.1...v2.1.\n[…]\nion\n dependency-version: 2.1.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump rack-session in /backend/webhook-feature-update/sinatra-example …",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-08T04:16:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3142c5cdfd06ca81697b096a8112290f2fe703fd",
"body": "… lib(#1279)\n\n- Updated the etag calculation as there were collisions when a low number of features.\n- Upgrade kafka client from 3.7.1 -> 3.9.2",
"is_bot": false,
"headline": "fix: update etag calculation for less collisions, update kafka client…",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-06T07:11:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "766b19d356429979f68239dfb56746cea6cbd851",
"body": "Fixes #1189",
"is_bot": false,
"headline": "update ADK tests for group related issue (#1276)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-05T22:09:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7932b45478281d2e1115420ee8124530b1c1fe38",
"body": "* Support Kafka\n\n* more docs\n\n* just some updated docs\n\n* exposing more kafka config\n\n* buildfix: dependency ordering issue\n\n* docfix: update kafka documentation",
"is_bot": false,
"headline": "Support Kafka (#1272)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-05T20:19:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8277fcf1fe67bd04a5b457856fbecfc04c2d9461",
"body": "Grizzly appears to be having issues with velocity,\ntaking 6 months to get a version out and then it is broken.\nHelidon appears more active as a project and we want to\nsupport virtual threads as soon as practical to enable\nmore efficient loads, particularly in Edge SSE.\n\nThis is an AI written migration document that will serve\nas a starting point for the migration.",
"is_bot": false,
"headline": "docplan: migrate to helidon 4 (#1275)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-04T21:27:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bc26ded2a66f3df461098b53ce85e4521ad7f3b",
"body": "* chore: Migrate e2e tests to latest javascript sdk version\n\nThe Javascript SDK is undergoing a major revision. This is required to ensure the e2e tests work as expected against the full suite of e2e tests.\n\n* version-fix: javascript sdk update removed generic",
"is_bot": false,
"headline": "chore: Migrate e2e tests to latest javascript sdk version (#1258)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-04T05:46:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58665933f233f66fa61c82e67a58e6975125c907",
"body": null,
"is_bot": false,
"headline": "buildfix: the pom.xml needs the mr-api dependency for ordering",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-04-04T02:45:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a766d97a4809201141217864d5ca5a4fb8d3d9d",
"body": "* update tests to allow them to run for saas\nadded machine docs\n\n* update docs for further use",
"is_bot": false,
"headline": "update tests to allow them to run for saas (#1271)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-27T04:09:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "944544ffb3b8c2c799e7efef57833671881296e9",
"body": null,
"is_bot": false,
"headline": "adk-bugfix: ADK writing out spurious quotes in client-api-key",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-15T04:18:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb7d4b6d90009d5c7be30e55868121eddc2849db",
"body": null,
"is_bot": false,
"headline": "allow writing pure .env file in tests (#1269)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-15T02:16:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a1e6b4350d4ffc3549c52b51f483339e2d93e9d",
"body": null,
"is_bot": false,
"headline": "update infra bucket",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-14T07:14:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5224d9269bce4306e4d1a82b2294d56d50b07b6d",
"body": "Bumps [rack](https://github.com/rack/rack) from 3.2.4 to 3.2.5.\n- [Release notes](https://github.com/rack/rack/releases)\n- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/rack/rack/compare/v3.2.4...v3.2.5)\n\n---\nupdated-dependencies:\n- dependency-name: \n[…]\nack\n dependency-version: 3.2.5\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump rack in /backend/webhook-feature-update/sinatra-example (#1252)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-13T20:31:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c9fbc71639b221d4e47bf484a18e5cf16488ca52",
"body": "Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.9.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n dependency-version: 9.0.9\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump minimatch from 9.0.5 to 9.0.9 in /infra/api-bucket (#1263)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-13T20:30:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a1cbdf200905d1216a6553af9e3a64c6f3810fe",
"body": null,
"is_bot": false,
"headline": "add in docs to make adding usage easier for the other SDKs",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-13T20:28:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ad667304d9f679a47b38cc3f06c409e55082313",
"body": "* Allow build and push on branch\n\n* split things apart so adk can build",
"is_bot": false,
"headline": "Allow build and push on branch (#1268)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-13T05:13:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6280d8f29ec60d9baf195edbe93a86eae8c07e55",
"body": "…(#1267)",
"is_bot": false,
"headline": "Build and push e2e-sdk image to GHCR when pipeline or folder changed …",
"author_name": "Alex Deng",
"author_login": "alex-deng-featurehub",
"committed_at": "2026-03-12T18:48:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e4bfd3bfe9079348f69c297c380f527ee51ed25",
"body": null,
"is_bot": false,
"headline": "post 1.9.4 release (#1266)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-09T07:28:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "873ebd5bb259fa688b37cc64e8d8764623d17ba4",
"body": null,
"is_bot": false,
"headline": "fix antora version file (#1265)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-09T07:18:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec1082f9db017dc64a64f78cfc795c42930e1799",
"body": null,
"is_bot": false,
"headline": "prerelease 1.9.4 (#1264)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-09T07:05:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6064bf80b2ec3a6e22963539b035abb28f1c0eb",
"body": "This has affected webhooks and slack integration. This PR\nincludes fixes and extensive testing to ensure both webhooks\ntagged as slack for interception and direct to slack messages\nare supported and delivered correctly.\n\nThe issue was that because EdgeRest _does not support_ Webhooks for updates for\n[…]\nwiped out the standard one. The slack tests had not been configured in the \nnormal e2e pipeline giving a false sense of completeness. They are now fully configured and included in \nall testing stacks.",
"is_bot": false,
"headline": "bugfix: party-server-ish stopped publishing webhooks (#1260)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-08T11:55:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3bfba9854d994a219c88641c498d11ea3936ac04",
"body": "As we start rolling out new SDK updates, this needs updating.",
"is_bot": false,
"headline": "docs: updating SDK docs (#1262)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-08T07:37:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e295595cb74f782c97d687a1c631b57348ffb785",
"body": "This allows further claude development on code base",
"is_bot": false,
"headline": "chore: Add CLAUDE.md knowledge base (#1261)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-03-08T04:13:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35d37107d21cf44b0d318e66d0842a93cee7339c",
"body": null,
"is_bot": false,
"headline": "post 1.9.3 update",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-20T07:07:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "107be28ca0a5507607b2e28d53980cf80e7ca014",
"body": null,
"is_bot": false,
"headline": "pre 1.9.3 for fixing oauth button (#1256)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-20T06:59:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdfbc0688585925ea0aea2ffe607adabf08ba682",
"body": null,
"is_bot": false,
"headline": "post 1.9.2 merge back (#1251)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-20T06:41:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5df0b02d652cc55641d0d00c7b0f78c20dd2c029",
"body": null,
"is_bot": false,
"headline": "fix: correct function call in SignInProviderButton widget (#1254)",
"author_name": "Nils T",
"author_login": "tollercode",
"committed_at": "2026-02-20T03:28:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "269ea5970daedd13be8423507f1651c32c9088c4",
"body": null,
"is_bot": false,
"headline": "1.9.2 release (#1250)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-13T19:41:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "547b19f416cf68680297a9eb85449d55a631e580",
"body": "* JIB updates\n\nThe version of JIB needed to be updated\nbecause DockerHub had changed something.\n\n* be more explicity about java25",
"is_bot": false,
"headline": "Changes for more orderly building (#1249)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-08T22:17:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99f16d352268e9b3e8567d1681b6dc601bef1236",
"body": "The version of JIB needed to be updated\nbecause DockerHub had changed something.",
"is_bot": false,
"headline": "JIB updates (#1248)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-02-08T03:50:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1832c92263a9f1e1919f3648929fe1bebd8b5e5e",
"body": "* initial updates: theme data, deprecated things like opacity and dart:html libs\n\n* replace multiselect library with custom widget\n\n* fix remaining theme issues\n\n* update deps\n\n* update theme, fix issues with colors\n\n* update theme, fix issues with colors\n\n* rename button text to show feature histor\n[…]\ndd traces for etag changes in dacha2\n\n* etag calculations are wrong\n\n* more trace logging around etags\n\n* fix flutter version\n\n---------\n\nCo-authored-by: Richard Vowles <richard@bluetrainsoftware.com>",
"is_bot": false,
"headline": "Upgrade/flutter v3.38 (#1246)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2026-02-08T00:07:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8880c342d95c0f8550b279c3fb797c5535557e2e",
"body": "* dependency update fixes for Java libs\n\n* some inconsistencies in dependencies and upgraded db drivers",
"is_bot": false,
"headline": "dependency update fixes for Java libs (#1244)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-09T21:36:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1152b0ac79e81fa80de94a0210c37a044782e444",
"body": null,
"is_bot": false,
"headline": "remove local links from e2e-adk tests (#1245)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-04T05:58:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "742844e13a45e4531e1826cd246001f9cdc2ed39",
"body": null,
"is_bot": false,
"headline": "infra-api security fixes (#1243)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-04T05:38:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3db06c3791c0afafb76f544237e3cb5687a559b",
"body": "* update sinatra to 3.3.10, fix security\n\n* update sinatra example passing trivy",
"is_bot": false,
"headline": "update sinatra to 3.3.10, fix security (#1234)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-04T05:29:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77fa33e12121e0bdf7b5d2d084ce00a9601d29c6",
"body": "* MR not starting properly if not publishing event changes\n\nFixes #1195\n\n* needs conversions API\n\n* needs to play well with party-server-rest and needs fake webhook API\n\n* fix ordering and app strategies not returned on edge-rest\n\n* not correctly figuring out it is edge rest and thus no SSE.\n\n* x-rest versions allowed feature updating\n\nshift the feature updating shifted to separate\nartifact and allows updating features from\nthe test API.\n\n* messages dropping empty strings",
"is_bot": false,
"headline": "MR not starting properly if not publishing event changes (#1232)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-04T04:59:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21189c10b06368ce408601612d65f37dc6f20c2c",
"body": "* Getting ready for ensuring e2e build check works\n\n* fix webhooks testing\n\n* fix dockerfile order of linking\n\n* can't remove log folder as it grumbles\n\n* fix lock file as its not working as expected on non-local Mac\n\n* more lock file shennigans",
"is_bot": false,
"headline": "Getting ready for ensuring e2e build check works (#1233)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2026-01-03T04:33:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "485b6a0ff6fa6305d1c9d1643b2996a16b414487",
"body": null,
"is_bot": false,
"headline": "e2e updates for using with pnpm (#1231)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-12-30T03:40:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf8d394732dd2689c9dcc144021f2680fa560dde",
"body": null,
"is_bot": false,
"headline": "commit pubspec for dart front end",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-09-05T08:36:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84ad5f82e17bd3987531c47b9415cc242bd82c3a",
"body": "* [feature/java-23] Upgrade to Java 23\n\n* fixing tests\n\n* time partials failure in test because of microseconds rounding\n\n* update base image\n\n* updated base images for java23\n\n* fix mariadb and mysql index drops\n\n* fix mariadb and mysql index drops\n\n* fix mariadb and mysql foreign key drops",
"is_bot": false,
"headline": "[feature/java-23] Upgrade to Java 23 (#1038)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-08-08T08:54:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ad77df3f61a013eefd5d0d2cc2cd21e3fe0f925",
"body": null,
"is_bot": false,
"headline": "post-release 1.9.1 back to rc version (#1223)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-07-22T09:00:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70106b3954a03b464a5c6896d4da7f0bb7f1e99d",
"body": "* release 1.9.1\n\n* updated published apis\n\n* updates for build process to stop squashing icons",
"is_bot": false,
"headline": "release 1.9.1 (#1222)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-07-22T08:54:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63c8313499f93849954b758713935fb015caf511",
"body": "Fixes #1218",
"is_bot": false,
"headline": "flutter fonts for intranet (#1221)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-07-20T08:32:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "885b6110b1a895e45e942cb4eddca9e972efdffa",
"body": "* better handling for feature group nav\n\n* fix issues with loading data when env changes\n\n* fix issues with loading data when env changes\n\n* navigation fix\n\n* navigate to groups from the feature screen\n\n* reset env id when swapping portfolios\n\n* refactor route and params\n\n* better error message and fix various issues with app and env ids",
"is_bot": false,
"headline": "Fix/better feature group nav (#1216)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-07-20T08:16:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adb45af7fd55ed9f2ecc8d43217d2f519a6381f2",
"body": "…(#1220)\n\n* Update base image and resolve true/false problem with app strategies\n\n* increase min version of js libs\n\n* update base docker plus change import process",
"is_bot": false,
"headline": "Update base image and resolve true/false problem with app strategies …",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-07-20T07:14:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbc1682ad4d0e361237a1ac84e4a59975280d920",
"body": null,
"is_bot": false,
"headline": "feature group id: make it available from the feature (#1215)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-04-23T20:11:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b81845b8d30d4bdb9346833efe81c9362d79fd1",
"body": null,
"is_bot": false,
"headline": "close stream (#1214)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-04-18T08:19:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8cebc2438a03c338dad1f001ff8e0ee5ac980daa",
"body": null,
"is_bot": false,
"headline": "Use latest ubuntu image for GH actions on adoc flow (#1202)",
"author_name": "Alex Deng",
"author_login": "alex-deng-featurehub",
"committed_at": "2025-04-16T08:06:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a1789921cac5b39d35202f2df5867976fe4d3e8",
"body": null,
"is_bot": false,
"headline": "post-release: update for 1.9.1 patching (#1213)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-04-16T07:45:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "744035b85785ea0d6add554cae64487ede4c50d1",
"body": null,
"is_bot": false,
"headline": "release: 1.9.0 (#1212)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-04-15T07:25:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32cbe88169ab53477b4c9f05385a59dd612ef7cb",
"body": "…ation strategies (#1211)",
"is_bot": false,
"headline": "fix: first save for feature values not bool not able to attach applic…",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-04-06T07:02:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "422e42140f7ea2bc2dced7c17dc97f0da5a93558",
"body": null,
"is_bot": false,
"headline": "App strategy: fix string and json values (#1210)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-04-06T03:02:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28620392e74758f37918a5bbe9f4f336d064bbea",
"body": null,
"is_bot": false,
"headline": "minor text/copy updates, icon update (#1209)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-30T22:10:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "120519706e85f97fb2abc7db9a37291518712896",
"body": null,
"is_bot": false,
"headline": "minor text/copy update (#1208)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-30T08:23:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "baef0155d6c13df6562d2ed5277379a2d4e4f6f3",
"body": null,
"is_bot": false,
"headline": "fix: address non-superuser perms for applicationstrategies (#1207)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-03-27T02:43:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82ef8508056322fc6a59ec992bb227ad2ab743c7",
"body": "* fix strategy roles - add appId stream",
"is_bot": false,
"headline": "App strategy: fix strategy roles - add appId stream (#1206)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-22T20:54:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "656e9445abc6dfbd362152abde5af7522e509728",
"body": null,
"is_bot": false,
"headline": "fix app strategy roles - only allow edit if role is present (#1205)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-19T07:32:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7726d513d95b1e5f7d3aeb79602971d125c68179",
"body": null,
"is_bot": false,
"headline": "fix application strategy roles (new feature) (#1204)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-19T06:31:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31a1e208c84297b1844526dd95031a6fcc857b87",
"body": null,
"is_bot": false,
"headline": "fix error in the create route (#1203)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-14T00:47:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3965dc752c359d8b79798305e0d091fcea9a497a",
"body": "This introduces application strategies, also known as shared strategies functionality",
"is_bot": false,
"headline": "Application strategies - part 1 (#1186)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-03-13T02:25:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22efb4c8ce99680df26fa014a43dc33ca8a32ce1",
"body": null,
"is_bot": false,
"headline": "Azure Provider fix to missing email address (#1201)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-02-07T06:28:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef95dd52ad922c7aa0fc2ce25ed6c81a5083963d",
"body": "…s set (#1200)",
"is_bot": false,
"headline": "add condition to the UI whereby additional Extended data permission i…",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-01-29T02:50:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75d2788494accd97381cc8db25747e7c453dbe27",
"body": null,
"is_bot": false,
"headline": "return 1000 feature groups in a list instead of 20 (#1199)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-01-29T01:00:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "290eefab9f82b9314e966073b9aca4c38d8c5dd3",
"body": null,
"is_bot": false,
"headline": "Update readme.adoc",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-01-26T07:49:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fb50396a7ad2611680e9b80d39b8e2c44a15231",
"body": null,
"is_bot": false,
"headline": "update releases.json file",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-01-24T22:35:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1417626cb15529edf684151c3b7fc263335dd5ff",
"body": null,
"is_bot": false,
"headline": "remove codeql",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-01-22T08:48:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac9f763f5414ce0e9e40ae14311c35cf09ce8e2f",
"body": "* 1.9.0-rc ready\r\n\r\n* bump MR Api version",
"is_bot": false,
"headline": "1.9.0-rc ready (#1197)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-01-21T05:31:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40c49f2ef60dc2977b09952ac5d2d608149e3587",
"body": null,
"is_bot": false,
"headline": "1.8.2 release changes (#1196)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-01-21T04:46:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "888635bc5c5da822609c6bdc3b834b6ecd63c11a",
"body": null,
"is_bot": false,
"headline": "add extended perm to groups (#1193)",
"author_name": "Irina Southwell",
"author_login": "IrinaSouth",
"committed_at": "2025-01-13T06:55:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0033c63df1e5492ec7316cded0d40f8868b3dec",
"body": "* NATS disconnection notification support for Dacha2\r\n\r\nAs Dacha2 heavily relies on NATS for its state, this allows\r\nthe unexpected dissolution of a NATs cluster to trigger a Dacha2\r\ninstance to drop being a cache and simply pass through requests to\r\nMR until the NATS connection is reestablished.\r\n\r\n#1187\r\n\r\n* support default keep cache until reconnect",
"is_bot": false,
"headline": "NATS disconnection notification support for Dacha2 (#1188)",
"author_name": "Richard Vowles",
"author_login": "rvowles",
"committed_at": "2025-01-13T06:55:03Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 32,
"commits_last_year": 70,
"latest_release_at": "2026-07-19T00:53:01Z",
"latest_release_tag": "v1.10.1",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 23,
"days_since_latest_release": 11,
"mean_days_between_releases": 81.3
},
"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": true
},
"ecosystem": {
"packages": [
{
"name": "io.featurehub.composites:composite-test",
"exists": true,
"license": "Apache 2 with Commons Clause",
"keywords": [],
"ecosystem": "maven",
"matches_repo": true,
"registry_url": "https://central.sonatype.com/artifact/io.featurehub.composites/composite-test",
"is_deprecated": false,
"latest_version": "1.2",
"repository_url": "https://github.com/featurehub-io/featurehub.git",
"versions_count": 2,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2021-04-26T04:57:37Z",
"latest_version_yanked": null,
"days_since_latest_publish": 1920
}
]
},
"popularity": {
"forks": 34,
"stars": 362,
"watchers": 7,
"fork_history": {
"days": [
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-11-26",
"count": 1
},
{
"date": "2021-02-09",
"count": 1
},
{
"date": "2021-02-26",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-21",
"count": 1
},
{
"date": "2021-05-18",
"count": 1
},
{
"date": "2021-07-02",
"count": 1
},
{
"date": "2021-07-15",
"count": 1
},
{
"date": "2021-08-20",
"count": 1
},
{
"date": "2021-11-13",
"count": 1
},
{
"date": "2022-01-04",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-05-28",
"count": 1
},
{
"date": "2022-08-27",
"count": 1
},
{
"date": "2022-09-23",
"count": 1
},
{
"date": "2022-12-10",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-04-05",
"count": 1
},
{
"date": "2023-04-06",
"count": 2
},
{
"date": "2023-04-07",
"count": 1
},
{
"date": "2023-04-18",
"count": 1
},
{
"date": "2023-05-23",
"count": 1
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-06-05",
"count": 1
},
{
"date": "2026-01-17",
"count": 1
},
{
"date": "2026-02-19",
"count": 1
}
],
"complete": true,
"collected": 34,
"total_forks": 34
},
"star_history": null,
"open_issues_and_prs": 59
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"admin-frontend/open_admin_app/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"adks/e2e-sdk/tsconfig.json",
"infra/api-bucket/tsconfig.json"
],
"toolchain_manifests": [
"adks/e2e-sdk/pom.xml",
"admin-frontend/app_mr_layer/pom.xml",
"admin-frontend/open_admin_app/pom.xml",
"admin-frontend/pom.xml",
"admin-frontend/releases_api/pom.xml",
"backend/common-db-test/pom.xml",
"backend/common-db/pom.xml",
"backend/common-web/pom.xml",
"backend/composite-app/pom.xml",
"backend/composite-common/pom.xml",
"backend/composite-db-drivers/pom.xml",
"backend/composite-ebean/pom.xml",
"backend/composite-jackson/pom.xml",
"backend/composite-jersey/pom.xml",
"backend/composite-logging-api/pom.xml",
"backend/composite-logging/pom.xml",
"backend/composite-parent/pom.xml",
"backend/composite-prometheus/pom.xml",
"backend/composite-test/pom.xml",
"backend/dacha-api-java-server/pom.xml",
"backend/dacha-api/pom.xml",
"backend/dacha-client/pom.xml",
"backend/dacha/pom.xml",
"backend/dacha2/pom.xml",
"backend/edge-api-java-server/pom.xml",
"backend/edge-api/pom.xml",
"backend/edge-common/pom.xml",
"backend/edge-feature-update-async-api/pom.xml",
"backend/edge-full/pom.xml",
"backend/edge-rest/pom.xml",
"backend/edge-shared/pom.xml",
"backend/edge-stats-api-java-server/pom.xml",
"backend/edge-stats-api/pom.xml",
"backend/edge-stats-emitter/pom.xml",
"backend/encryption-common/pom.xml",
"backend/enricher-api/pom.xml",
"backend/enricher-processor/pom.xml",
"backend/eventing-cloudevents/pom.xml",
"backend/eventing-google-pubsub/pom.xml",
"backend/eventing-kafka/pom.xml",
"backend/eventing-kinesis/pom.xml",
"backend/eventing-nats/pom.xml",
"backend/eventing-tracker/pom.xml",
"backend/messaging-api/pom.xml",
"backend/messaging-delivery/pom.xml",
"backend/mr-api-java-server/pom.xml",
"backend/mr-api/pom.xml",
"backend/mr-dacha-api/pom.xml",
"backend/mr-dacha-resource/pom.xml",
"backend/mr-db-api/pom.xml",
"backend/mr-db-ebean/pom.xml",
"backend/mr-db-features/pom.xml",
"backend/mr-db-models/pom.xml",
"backend/mr-db-services/pom.xml",
"backend/mr-db-sql/pom.xml",
"backend/mr-eventing-common/pom.xml",
"backend/mr-eventing-nats/pom.xml",
"backend/mr-eventing/pom.xml",
"backend/mr-webhook-listener/pom.xml",
"backend/mr/pom.xml",
"backend/party-server-ish/pom.xml",
"backend/party-server/pom.xml",
"backend/sdk-strategy-matchers/pom.xml",
"backend/security-common/pom.xml",
"backend/security-oauth/pom.xml",
"backend/security-saml/pom.xml",
"backend/tile-app-with-ui/pom.xml",
"backend/tile-app/pom.xml",
"backend/tile-ebean/pom.xml",
"backend/tile-java-no-spock/pom.xml",
"backend/tile-java/pom.xml",
"backend/tile-java8/pom.xml",
"backend/tile-release/pom.xml",
"backend/webhook-api/pom.xml",
"backend/webhook-common/pom.xml",
"backend/webhook-feature-update/pom.xml",
"doc-gen/pom.xml",
"pipeline/deploy/pom.xml",
"pom.xml"
],
"largest_source_bytes": 42796,
"source_files_sampled": 742,
"oversized_source_files": 0,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 8121
},
"dependencies": {
"manifests": [
"admin-frontend/pom.xml",
"doc-gen/pom.xml",
"pom.xml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "org.codehaus.groovy:groovy",
"direct": false,
"version": "3.0.3",
"severity": "moderate",
"ecosystem": "maven",
"cvss_score": 5.5,
"advisory_ids": [
"GHSA-rcjj-h6gh-jf3r"
],
"fixed_version": "3.0.7",
"advisory_count": 1,
"oldest_advisory_days": 2058
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"moderate": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 13,
"malicious_count": 0,
"assessed_package": "maven:io.featurehub.composites:composite-test@1.2",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"maven"
],
"dependencies": [
{
"name": "io.featurehub.mr:app_mr_layer",
"manifest": "admin-frontend/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.featurehub.mr:releases_api",
"manifest": "admin-frontend/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "@cucumber/cucumber",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^12.5.0"
},
{
"name": "@types/chai",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.5"
},
{
"name": "@types/express",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^5.0.3"
},
{
"name": "@types/node",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^24.0.0"
},
{
"name": "@types/triple-beam",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.2"
},
{
"name": "axios",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "1.16.0"
},
{
"name": "chai",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.7"
},
{
"name": "cloudevents",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^8.0.0"
},
{
"name": "express",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.0"
},
{
"name": "featurehub-cloud-event-tools",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.0"
},
{
"name": "featurehub-javascript-node-sdk",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.1"
},
{
"name": "featurehub-javascript-core-sdk",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.2"
},
{
"name": "nats",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^2.11.0"
},
{
"name": "safe-stable-stringify",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^2.5.0"
},
{
"name": "wait-for-expect",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.2"
},
{
"name": "winston",
"manifest": "adks/e2e-sdk/package.json",
"ecosystem": "npm",
"version_constraint": "^3.3.3"
},
{
"name": "com.bluetrainsoftware.maven:openapi-tsaxios-generator",
"manifest": "adks/e2e-sdk/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3"
},
{
"name": "io.featurehub.mr:mr-api",
"manifest": "admin-frontend/app_mr_layer/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "com.bluetrainsoftware.maven:openapi-dart-generator",
"manifest": "admin-frontend/app_mr_layer/pom.xml",
"ecosystem": "maven",
"version_constraint": "8.1"
},
{
"name": "io.featurehub.mr:app_mr_layer",
"manifest": "admin-frontend/open_admin_app/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.featurehub.mr:mr-api",
"manifest": "admin-frontend/releases_api/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "com.bluetrainsoftware.maven:openapi-dart-generator",
"manifest": "admin-frontend/releases_api/pom.xml",
"ecosystem": "maven",
"version_constraint": "8.1"
},
{
"name": "com.h2database:h2",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${h2.version}"
},
{
"name": "io.featurehub.common:common-db",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "io.ebean:ebean-ddl-generator",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-test",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.featurehub.composites:composite-test",
"manifest": "backend/common-db-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.1, 2)"
},
{
"name": "io.featurehub.common:common-web",
"manifest": "backend/common-db/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.featurehub.composites:composite-ebean",
"manifest": "backend/common-db/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.featurehub.composites:composite-app",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.opentelemetry:opentelemetry-api",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-sdk",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-common",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-sdk-trace",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-otlp",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-zipkin",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-jaeger",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.jaeger.version}"
},
{
"name": "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.opentelemetry:opentelemetry-extension-trace-propagators",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${otel.version}"
},
{
"name": "io.cloudevents:cloudevents-core",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cloudevents.version}"
},
{
"name": "io.cloudevents:cloudevents-json-jackson",
"manifest": "backend/common-web/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cloudevents.version}"
},
{
"name": "com.bluetrainsoftware.bathe:bathe-booter",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.2"
},
{
"name": "com.bluetrainsoftware.bathe.initializers:system-property-loader",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.1"
},
{
"name": "org.glassfish.jersey.containers:jersey-container-grizzly2-http",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.grizzly:grizzly-http-server",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "${grizzly.version}"
},
{
"name": "org.glassfish.grizzly:grizzly-http2",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "${grizzly.version}"
},
{
"name": "org.glassfish.grizzly:grizzly-npn-bootstrap",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "${grizzly.npn.version}"
},
{
"name": "org.glassfish.grizzly:grizzly-npn-api",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "${grizzly.npn.version}"
},
{
"name": "com.bluetrainsoftware.bathe.initializers:jul-bridge",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.1"
},
{
"name": "org.yaml:snakeyaml",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.0"
},
{
"name": "cd.connect.common:connect-env-logging",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.2"
},
{
"name": "io.featurehub.composites:composite-common",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.2-SNAPSHOT"
},
{
"name": "io.featurehub.composites:composite-logging",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.1, 2)"
},
{
"name": "io.featurehub.composites:composite-jersey",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.1, 2)"
},
{
"name": "io.featurehub.composites:composite-prometheus",
"manifest": "backend/composite-app/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "org.apache.commons:commons-lang3",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.20.0"
},
{
"name": "com.google.guava:guava",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "32.1.2-jre"
},
{
"name": "jakarta.inject:jakarta.inject-api",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.0.0"
},
{
"name": "jakarta.xml.bind:jakarta.xml.bind-api",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "[4.0.0]"
},
{
"name": "org.glassfish.jaxb:jaxb-runtime",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.0.2"
},
{
"name": "org.jetbrains:annotations",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "24.0.1"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib-jdk8",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.0"
},
{
"name": "org.jetbrains.kotlin:kotlin-reflect",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.0"
},
{
"name": "org.jetbrains.kotlinx:kotlinx-coroutines-core",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.10.2"
},
{
"name": "org.glassfish.jersey.inject:jersey-hk2",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "javax.xml.bind:jaxb-api",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.1"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.3.7"
},
{
"name": "javax.activation:activation",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1.1"
},
{
"name": "io.featurehub.composites:composite-logging-api",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1, 2]"
},
{
"name": "cd.connect.common:connect-app-declare-config",
"manifest": "backend/composite-common/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.1"
},
{
"name": "com.h2database:h2",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "${h2.version}"
},
{
"name": "org.postgresql:postgresql",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "42.7.11"
},
{
"name": "org.mariadb.jdbc:mariadb-java-client",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.5.7"
},
{
"name": "com.mysql:mysql-connector-j",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "9.5.0"
},
{
"name": "com.oracle.database.jdbc:ojdbc11",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "23.26.0.0.0"
},
{
"name": "com.google.cloud.sql:mysql-socket-factory-connector-j-8",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cloud-sql-version}"
},
{
"name": "com.google.cloud.sql:postgres-socket-factory",
"manifest": "backend/composite-db-drivers/pom.xml",
"ecosystem": "maven",
"version_constraint": "${cloud-sql-version}"
},
{
"name": "io.ebean:ebean-datasource",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "10.2"
},
{
"name": "io.ebean:ebean-migration",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "14.3.0"
},
{
"name": "io.ebean:ebean",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-platform-h2",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-platform-mysql",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-platform-mariadb",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-platform-oracle",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-platform-postgres",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:ebean-querybean",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "io.ebean:querybean-generator",
"manifest": "backend/composite-ebean/pom.xml",
"ecosystem": "maven",
"version_constraint": "${ebean.version}"
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "com.fasterxml.jackson.module:jackson-module-kotlin",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "com.fasterxml.jackson.core:jackson-annotations",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
"manifest": "backend/composite-jackson/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${jackson.version}]"
},
{
"name": "io.featurehub.composites:composite-jackson",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.2, 2)"
},
{
"name": "cd.connect.common:connect-prometheus-jersey",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.3"
},
{
"name": "cd.connect.openapi.gensupport:openapi-jersey3-support",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.5"
},
{
"name": "org.glassfish.jersey.ext:jersey-bean-validation",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish:jakarta.el",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "4.0.2"
},
{
"name": "cd.connect.jersey:connect-jersey-common",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.1"
},
{
"name": "io.featurehub.composites:composite-common",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.2-SNAPSHOT"
},
{
"name": "org.glassfish.jersey.inject:jersey-hk2",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "jakarta.validation:jakarta.validation-api",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "3.0.0"
},
{
"name": "org.glassfish.jersey.media:jersey-media-sse",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.media:jersey-media-json-jackson",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.media:jersey-media-multipart",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.ext:jersey-proxy-client",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.core:jersey-client",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.core:jersey-server",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.glassfish.jersey.containers:jersey-container-grizzly2-http",
"manifest": "backend/composite-jersey/pom.xml",
"ecosystem": "maven",
"version_constraint": "${jersey.version}"
},
{
"name": "org.slf4j:jul-to-slf4j",
"manifest": "backend/composite-logging-api/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${slfj4.version}]"
},
{
"name": "org.slf4j:slf4j-api",
"manifest": "backend/composite-logging-api/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${slfj4.version}]"
},
{
"name": "org.slf4j:jcl-over-slf4j",
"manifest": "backend/composite-logging-api/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${slfj4.version}]"
},
{
"name": "io.featurehub.composites:composite-logging-api",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.2-SNAPSHOT, 2)"
},
{
"name": "org.apache.logging.log4j:log4j-slf4j2-impl",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${log4j.version}]"
},
{
"name": "org.apache.logging.log4j:log4j-api",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${log4j.version}]"
},
{
"name": "org.apache.logging.log4j:log4j-core",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${log4j.version}]"
},
{
"name": "org.apache.logging.log4j:log4j-1.2-api",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${log4j.version}]"
},
{
"name": "org.apache.logging.log4j:log4j-jul",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${log4j.version}]"
},
{
"name": "com.lmax:disruptor",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${lmax.disruptor}]"
},
{
"name": "cd.connect.common:connect-java-logging",
"manifest": "backend/composite-logging/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.2"
},
{
"name": "io.prometheus:simpleclient_common",
"manifest": "backend/composite-prometheus/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${prometheus.version}]"
},
{
"name": "io.prometheus:simpleclient_hotspot",
"manifest": "backend/composite-prometheus/pom.xml",
"ecosystem": "maven",
"version_constraint": "[${prometheus.version}]"
},
{
"name": "org.spockframework:spock-core",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "2.4-groovy-5.0"
},
{
"name": "net.bytebuddy:byte-buddy",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.18.4"
},
{
"name": "org.apache.groovy:groovy-test",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy-json",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "org.apache.groovy:groovy-nio",
"manifest": "backend/composite-test/pom.xml",
"ecosystem": "maven",
"version_constraint": "${groovy.version}"
},
{
"name": "io.featurehub.composites:composite-prometheus",
"manifest": "backend/dacha-api-java-server/pom.xml",
"ecosystem": "maven",
"version_constraint": "1.1-SNAPSHOT"
},
{
"name": "io.featurehub.composites:composite-logging",
"manifest": "backend/dacha-api-java-server/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.3-SNAPSHOT, 2)"
},
{
"name": "io.featurehub.composites:composite-jersey",
"manifest": "backend/dacha-api-java-server/pom.xml",
"ecosystem": "maven",
"version_constraint": "[1.1, 2)"
},
{
"name": "cd.connect.openapi:connect-openapi-jersey3",
"manifest": "backend/dacha-api-java-server/pom.xml",
"ecosystem": "maven",
"version_constraint": "9.5"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "cd.connect.common:connect-app-declare-config",
"direct": true,
"version": "2.1",
"ecosystem": "maven"
},
{
"name": "cd.connect.common:connect-env-logging",
"direct": true,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "cd.connect.common:connect-java-logging",
"direct": true,
"version": "2.2",
"ecosystem": "maven"
},
{
"name": "cd.connect.common:connect-prometheus-jersey",
"direct": true,
"version": "4.3",
"ecosystem": "maven"
},
{
"name": "cd.connect.jersey:connect-jersey-common",
"direct": true,
"version": "2.1",
"ecosystem": "maven"
},
{
"name": "cd.connect.openapi.gensupport:openapi-jersey3-support",
"direct": true,
"version": "2.5",
"ecosystem": "maven"
},
{
"name": "cd.connect.openapi:connect-openapi-jersey3",
"direct": true,
"version": "9.2",
"ecosystem": "maven"
},
{
"name": "cd.connect.openapi:connect-openapi-jersey3",
"direct": true,
"version": "9.5",
"ecosystem": "maven"
},
{
"name": "com.bluetrainsoftware.bathe.initializers:jul-bridge",
"direct": true,
"version": "2.1",
"ecosystem": "maven"
},
{
"name": "com.bluetrainsoftware.bathe.initializers:system-property-loader",
"direct": true,
"version": "3.1",
"ecosystem": "maven"
},
{
"name": "com.bluetrainsoftware.bathe:bathe-booter",
"direct": true,
"version": "3.2",
"ecosystem": "maven"
},
{
"name": "com.bluetrainsoftware.maven:openapi-dart-generator",
"direct": true,
"version": "8.1",
"ecosystem": "maven"
},
{
"name": "com.bluetrainsoftware.maven:openapi-tsaxios-generator",
"direct": true,
"version": "2.3",
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-annotations",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-core",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.core:jackson-databind",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.fasterxml.jackson.module:jackson-module-kotlin",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.google.cloud.sql:mysql-socket-factory-connector-j-8",
"direct": true,
"version": "1.27.1",
"ecosystem": "maven"
},
{
"name": "com.google.cloud.sql:postgres-socket-factory",
"direct": true,
"version": "1.27.1",
"ecosystem": "maven"
},
{
"name": "com.google.guava:guava",
"direct": true,
"version": "32.1.2-jre",
"ecosystem": "maven"
},
{
"name": "com.h2database:h2",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.lmax:disruptor",
"direct": true,
"version": "4.0.0",
"ecosystem": "maven"
},
{
"name": "com.mysql:mysql-connector-j",
"direct": true,
"version": "9.5.0",
"ecosystem": "maven"
},
{
"name": "com.oracle.database.jdbc:ojdbc11",
"direct": true,
"version": "23.26.0.0.0",
"ecosystem": "maven"
},
{
"name": "com.sun.xml.bind:jaxb-impl",
"direct": true,
"version": "2.3.7",
"ecosystem": "maven"
},
{
"name": "io.cloudevents:cloudevents-core",
"direct": true,
"version": "2.4.0",
"ecosystem": "maven"
},
{
"name": "io.cloudevents:cloudevents-core",
"direct": true,
"version": "4.0.1",
"ecosystem": "maven"
},
{
"name": "io.cloudevents:cloudevents-json-jackson",
"direct": true,
"version": "2.4.0",
"ecosystem": "maven"
},
{
"name": "io.cloudevents:cloudevents-json-jackson",
"direct": true,
"version": "4.0.1",
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-datasource",
"direct": true,
"version": "10.2",
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-ddl-generator",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-migration",
"direct": true,
"version": "14.3.0",
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-platform-h2",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-platform-mariadb",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-platform-mysql",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-platform-oracle",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-platform-postgres",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-querybean",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:ebean-test",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.ebean:querybean-generator",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.common:common-db",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.common:common-web",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-app",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-common",
"direct": true,
"version": "1.2-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-ebean",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-jackson",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-jersey",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-jersey",
"direct": true,
"version": "1.3-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-logging",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-logging",
"direct": true,
"version": "1.3-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-logging-api",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-prometheus",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-test",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-test",
"direct": true,
"version": "1.3-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:app_mr_layer",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-api",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:releases_api",
"direct": true,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-api",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-common",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-jaeger",
"direct": true,
"version": "1.34.1",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-otlp",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-exporter-zipkin",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-extension-trace-propagators",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-sdk",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.opentelemetry:opentelemetry-sdk-trace",
"direct": true,
"version": "1.62.0",
"ecosystem": "maven"
},
{
"name": "io.prometheus:simpleclient_common",
"direct": true,
"version": "0.16.0",
"ecosystem": "maven"
},
{
"name": "io.prometheus:simpleclient_hotspot",
"direct": true,
"version": "0.16.0",
"ecosystem": "maven"
},
{
"name": "jakarta.inject:jakarta.inject-api",
"direct": true,
"version": "2.0.0",
"ecosystem": "maven"
},
{
"name": "jakarta.validation:jakarta.validation-api",
"direct": true,
"version": "3.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.xml.bind:jaxb-api",
"direct": true,
"version": "2.3.1",
"ecosystem": "maven"
},
{
"name": "net.bytebuddy:byte-buddy",
"direct": true,
"version": "1.18.4",
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-lang3",
"direct": true,
"version": "3.20.0",
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-json",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-nio",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.groovy:groovy-test",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.logging.log4j:log4j-1.2-api",
"direct": true,
"version": "2.26.0",
"ecosystem": "maven"
},
{
"name": "org.apache.logging.log4j:log4j-api",
"direct": true,
"version": "2.26.0",
"ecosystem": "maven"
},
{
"name": "org.apache.logging.log4j:log4j-core",
"direct": true,
"version": "2.26.0",
"ecosystem": "maven"
},
{
"name": "org.apache.logging.log4j:log4j-jul",
"direct": true,
"version": "2.26.0",
"ecosystem": "maven"
},
{
"name": "org.apache.logging.log4j:log4j-slf4j2-impl",
"direct": true,
"version": "2.26.0",
"ecosystem": "maven"
},
{
"name": "org.glassfish.grizzly:grizzly-http-server",
"direct": true,
"version": "4.0.2",
"ecosystem": "maven"
},
{
"name": "org.glassfish.grizzly:grizzly-http2",
"direct": true,
"version": "4.0.2",
"ecosystem": "maven"
},
{
"name": "org.glassfish.grizzly:grizzly-npn-api",
"direct": true,
"version": "2.0.0",
"ecosystem": "maven"
},
{
"name": "org.glassfish.grizzly:grizzly-npn-bootstrap",
"direct": true,
"version": "2.0.0",
"ecosystem": "maven"
},
{
"name": "org.glassfish.jaxb:jaxb-runtime",
"direct": true,
"version": "4.0.2",
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.containers:jersey-container-grizzly2-http",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.core:jersey-client",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.core:jersey-server",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.ext:jersey-bean-validation",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.ext:jersey-proxy-client",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.inject:jersey-hk2",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.media:jersey-media-json-jackson",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.media:jersey-media-multipart",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish.jersey.media:jersey-media-sse",
"direct": true,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.glassfish:jakarta.el",
"direct": true,
"version": "4.0.2",
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlin:kotlin-reflect",
"direct": true,
"version": "2.3.0",
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlin:kotlin-stdlib-jdk8",
"direct": true,
"version": "2.3.0",
"ecosystem": "maven"
},
{
"name": "org.jetbrains.kotlinx:kotlinx-coroutines-core",
"direct": true,
"version": "1.10.2",
"ecosystem": "maven"
},
{
"name": "org.jetbrains:annotations",
"direct": true,
"version": "24.0.1",
"ecosystem": "maven"
},
{
"name": "org.mariadb.jdbc:mariadb-java-client",
"direct": true,
"version": "3.5.7",
"ecosystem": "maven"
},
{
"name": "org.postgresql:postgresql",
"direct": true,
"version": "42.7.11",
"ecosystem": "maven"
},
{
"name": "org.slf4j:jcl-over-slf4j",
"direct": true,
"version": "2.0.5",
"ecosystem": "maven"
},
{
"name": "org.slf4j:jul-to-slf4j",
"direct": true,
"version": "2.0.5",
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-api",
"direct": true,
"version": "2.0.5",
"ecosystem": "maven"
},
{
"name": "org.spockframework:spock-core",
"direct": true,
"version": "2.4-groovy-5.0",
"ecosystem": "maven"
},
{
"name": "org.yaml:snakeyaml",
"direct": true,
"version": "2.0",
"ecosystem": "maven"
},
{
"name": "@cucumber/cucumber",
"direct": true,
"version": "12.5.0",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": true,
"version": "4.3.20",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": true,
"version": "4.17.25",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": true,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": true,
"version": "22.19.3",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": true,
"version": "24.10.4",
"ecosystem": "npm"
},
{
"name": "@types/triple-beam",
"direct": true,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "axios",
"direct": true,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": true,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "cloudevents",
"direct": true,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "featurehub-cloud-event-tools",
"direct": true,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "featurehub-javascript-core-sdk",
"direct": true,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "featurehub-javascript-node-sdk",
"direct": true,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "nats",
"direct": true,
"version": "2.29.3",
"ecosystem": "npm"
},
{
"name": "safe-stable-stringify",
"direct": true,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "wait-for-expect",
"direct": true,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "winston",
"direct": true,
"version": "3.19.0",
"ecosystem": "npm"
},
{
"name": "cd.connect.maven:merge-yaml-plugin",
"direct": false,
"version": "1.1",
"ecosystem": "maven"
},
{
"name": "cd.connect.maven:merge-yaml-plugin",
"direct": false,
"version": "1.4",
"ecosystem": "maven"
},
{
"name": "com.github.ben-manes.caffeine:caffeine",
"direct": false,
"version": "3.2.3",
"ecosystem": "maven"
},
{
"name": "com.github.jknack:handlebars",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "com.github.jknack:handlebars",
"direct": false,
"version": "4.5.0",
"ecosystem": "maven"
},
{
"name": "com.google.cloud:google-cloud-pubsub",
"direct": false,
"version": "1.144.1",
"ecosystem": "maven"
},
{
"name": "com.onelogin:java-saml-core",
"direct": false,
"version": "2.9.0",
"ecosystem": "maven"
},
{
"name": "io.cloudevents:cloudevents-kafka",
"direct": false,
"version": "4.0.1",
"ecosystem": "maven"
},
{
"name": "io.ebean:maven-compiler-plugin",
"direct": false,
"version": "3.11.0",
"ecosystem": "maven"
},
{
"name": "io.featurehub.api:enricher-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.api:eventing-tracker",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.api:messaging-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.cloudevents:cloudevents-google-pubsub",
"direct": false,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "io.featurehub.cloudevents:cloudevents-kinesis",
"direct": false,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "io.featurehub.cloudevents:cloudevents-nats",
"direct": false,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "io.featurehub.common:common-db-test",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.common:messaging-delivery",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.components:security-common",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.components:security-oauth",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.components:security-saml",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.composites:composite-db-drivers",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-api",
"direct": false,
"version": "1.4-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-api-java-server",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-api-java-server",
"direct": false,
"version": "1.4-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-common",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-feature-update-async-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-full",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-rest",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-shared",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-stats-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-stats-api-java-server",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.edge:edge-stats-emitter",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.encryption:encryption-common",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.enricher:enricher-processor",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.events:eventing-cloudevents",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.events:eventing-google-pubsub",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.events:eventing-kafka",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.events:eventing-nats",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:dacha-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:dacha-api-java-server",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:dacha-client",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:dacha2",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-api-java-server",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-dacha-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-dacha-resource",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-ebean",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-features",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-models",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-services",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-db-sql",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-eventing",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-eventing-common",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-eventing-nats",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.mr:mr-webhook-listener",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.strategies:strategy-matcher",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "io.featurehub.tooling:maven-openapi-publisher",
"direct": false,
"version": "1.2",
"ecosystem": "maven"
},
{
"name": "io.featurehub.tooling:maven-openapi-publisher",
"direct": false,
"version": "1.4",
"ecosystem": "maven"
},
{
"name": "io.featurehub.webhook:feature-webhook",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.webhook:webhook-api",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub.webhook:webhook-common",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.featurehub:tile-java",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "io.nats:jnats",
"direct": false,
"version": "2.25.2",
"ecosystem": "maven"
},
{
"name": "io.repaint.maven:tiles-maven-plugin",
"direct": false,
"version": "2.17",
"ecosystem": "maven"
},
{
"name": "io.repaint.maven:tiles-maven-plugin",
"direct": false,
"version": "2.32",
"ecosystem": "maven"
},
{
"name": "org.apache.kafka:kafka-clients",
"direct": false,
"version": "3.9.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-clean-plugin",
"direct": false,
"version": "3.1.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-dependency-plugin",
"direct": false,
"version": "1.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-dependency-plugin",
"direct": false,
"version": "1.4-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-dependency-plugin",
"direct": false,
"version": "2.8",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-plugin",
"direct": false,
"version": "3.0.0-M3",
"ecosystem": "maven"
},
{
"name": "org.apache.santuario:xmlsec",
"direct": false,
"version": "2.3.4",
"ecosystem": "maven"
},
{
"name": "org.asciidoctor:asciidoctor-maven-plugin",
"direct": false,
"version": "2.2.2",
"ecosystem": "maven"
},
{
"name": "org.codehaus.gmavenplus:gmavenplus-plugin",
"direct": false,
"version": "4.3.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:build-helper-maven-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:build-helper-maven-plugin",
"direct": false,
"version": "3.3.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:exec-maven-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.junit.jupiter:junit-jupiter",
"direct": false,
"version": "5.10.2",
"ecosystem": "maven"
},
{
"name": "org.openapitools:openapi-generator-maven-plugin",
"direct": false,
"version": "7.0.1",
"ecosystem": "maven"
},
{
"name": "org.openapitools:openapi-generator-maven-plugin",
"direct": false,
"version": "7.12.0",
"ecosystem": "maven"
},
{
"name": "org.openapitools:openapi-generator-maven-plugin",
"direct": false,
"version": "7.18.0",
"ecosystem": "maven"
},
{
"name": "software.amazon.kinesis:amazon-kinesis-client",
"direct": false,
"version": "2.5.2",
"ecosystem": "maven"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "@cspotcode/source-map-support",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/ci-environment",
"direct": false,
"version": "12.0.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/cucumber-expressions",
"direct": false,
"version": "18.0.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/gherkin",
"direct": false,
"version": "34.0.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/gherkin",
"direct": false,
"version": "37.0.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/gherkin-streams",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/gherkin-utils",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/html-formatter",
"direct": false,
"version": "22.3.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/junit-xml-formatter",
"direct": false,
"version": "0.9.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/message-streams",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/messages",
"direct": false,
"version": "28.1.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/messages",
"direct": false,
"version": "29.0.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/messages",
"direct": false,
"version": "31.1.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/pretty-formatter",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@cucumber/query",
"direct": false,
"version": "14.7.0",
"ecosystem": "npm"
},
{
"name": "@cucumber/tag-expressions",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@dabh/diagnostics",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "@grpc/grpc-js",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "@grpc/proto-loader",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@isaacs/string-locale-compare",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "@js-sdsl/ordered-map",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "@logdna/tail-file",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/agent",
"direct": false,
"version": "2.2.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/arborist",
"direct": false,
"version": "7.5.4",
"ecosystem": "npm"
},
{
"name": "@npmcli/fs",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/git",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "@npmcli/git",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@npmcli/installed-package-contents",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/map-workspaces",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@npmcli/metavuln-calculator",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/name-from-folder",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/node-gyp",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/package-json",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/package-json",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/promise-spawn",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/promise-spawn",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "@npmcli/query",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/redact",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/run-script",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api-logs",
"direct": false,
"version": "0.55.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/context-async-hooks",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-zipkin",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation",
"direct": false,
"version": "0.55.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/instrumentation-grpc",
"direct": false,
"version": "0.55.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagator-b3",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/propagator-jaeger",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-node",
"direct": false,
"version": "1.30.1",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.27.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.28.0",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/aspromise",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/codegen",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@protobufjs/eventemitter",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/fetch",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/float",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/inquire",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/path",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/pool",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@pulumi/gcp",
"direct": false,
"version": "9.7.0",
"ecosystem": "npm"
},
{
"name": "@pulumi/pulumi",
"direct": false,
"version": "3.214.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/bundle",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "@sigstore/core",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sigstore/protobuf-specs",
"direct": false,
"version": "0.3.3",
"ecosystem": "npm"
},
{
"name": "@sigstore/sign",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "@sigstore/tuf",
"direct": false,
"version": "2.3.4",
"ecosystem": "npm"
},
{
"name": "@sigstore/verify",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "@so-ric/colorspace",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@szmarczak/http-timer",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "@teppeis/multimaps",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node10",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node12",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node14",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@tsconfig/node16",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "@tufjs/canonical-json",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@tufjs/models",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/cacheable-request",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.19.7",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@types/google-protobuf",
"direct": false,
"version": "3.15.12",
"ecosystem": "npm"
},
{
"name": "@types/http-cache-semantics",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/keyv",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/responselike",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "7.7.1",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.6",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "1.15.10",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@types/shimmer",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@types/tmp",
"direct": false,
"version": "0.2.6",
"ecosystem": "npm"
},
{
"name": "@types/uuid",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-import-attributes",
"direct": false,
"version": "1.9.5",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "8.3.5",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "assertion-error-formatter",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "bignumber.js",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "bin-links",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "cacache",
"direct": false,
"version": "18.0.4",
"ecosystem": "npm"
},
{
"name": "cacheable-lookup",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "cacheable-request",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "capital-case",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "class-transformer",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-table3",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clone-response",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cmd-shim",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "color",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "color-string",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "14.0.2",
"ecosystem": "npm"
},
{
"name": "common-ancestor-path",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "create-require",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "defer-to-connect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "enabled",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encoding",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "err-code",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "error-stack-parser",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eventsource",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "eventsource-parser",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "exponential-backoff",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fecha",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "find-up-simple",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "fn.name",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-func-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.0",
"ecosystem": "npm"
},
{
"name": "global-dirs",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "google-protobuf",
"direct": false,
"version": "3.21.4",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "got",
"direct": false,
"version": "11.8.6",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "has-ansi",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "http2-wrapper",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "ignore-walk",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "import-in-the-middle",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "index-to-position",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-arguments",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-installed-globally",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "is-lambda",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-promise",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "json-bigint",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-stringify-nice",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "jsonparse",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "just-diff",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "just-diff-apply",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "knuth-shuffle-seeded",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "kuler",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.camelcase",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.mergewith",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.sortby",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "logform",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "2.3.7",
"ecosystem": "npm"
},
{
"name": "lower-case",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "lowercase-keys",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.2.4",
"ecosystem": "npm"
},
{
"name": "luxon",
"direct": false,
"version": "3.7.2",
"ecosystem": "npm"
},
{
"name": "make-error",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "make-fetch-happen",
"direct": false,
"version": "13.0.1",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "3.3.6",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "minipass-collect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "minipass-fetch",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "minipass-flush",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "minipass-pipeline",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "minipass-sized",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "module-details-from-path",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "murmurhash",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.4",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "netmask",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "nkeys.js",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "no-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "node-gyp",
"direct": false,
"version": "10.3.1",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "7.2.1",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "npm-bundled",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "npm-install-checks",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "npm-install-checks",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "npm-normalize-package-bin",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "npm-normalize-package-bin",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "npm-package-arg",
"direct": false,
"version": "11.0.3",
"ecosystem": "npm"
},
{
"name": "npm-package-arg",
"direct": false,
"version": "12.0.2",
"ecosystem": "npm"
},
{
"name": "npm-packlist",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "npm-pick-manifest",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "npm-pick-manifest",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "npm-registry-fetch",
"direct": false,
"version": "17.1.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "one-time",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "p-cancelable",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "package-directory",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pacote",
"direct": false,
"version": "18.0.6",
"ecosystem": "npm"
},
{
"name": "pad-right",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "parse-conflict-json",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "8.4.2",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "proc-log",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "proc-log",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "process",
"direct": false,
"version": "0.11.10",
"ecosystem": "npm"
},
{
"name": "proggy",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "promise-all-reject-late",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "promise-call-limit",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "promise-inflight",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "promise-retry",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "property-expr",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "protobufjs",
"direct": false,
"version": "7.5.4",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "read-cmd-shim",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "read-package-json-fast",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "read-package-up",
"direct": false,
"version": "12.0.0",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "reflect-metadata",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "regexp-match-indices",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "regexp-tree",
"direct": false,
"version": "0.1.27",
"ecosystem": "npm"
},
{
"name": "repeat-string",
"direct": false,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "require-in-the-middle",
"direct": false,
"version": "7.5.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.11",
"ecosystem": "npm"
},
{
"name": "resolve-alpn",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "responselike",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "router",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "seed-random",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.3",
"ecosystem": "npm"
},
{
"name": "semver-compare",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shimmer",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sigstore",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.7",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "8.0.5",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.22",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "ssri",
"direct": false,
"version": "10.0.6",
"ecosystem": "npm"
},
{
"name": "stack-trace",
"direct": false,
"version": "0.0.10",
"ecosystem": "npm"
},
{
"name": "stackframe",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "string-argv",
"direct": false,
"version": "0.3.1",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tagged-tag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "text-hex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tiny-case",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "toposort",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "treeverse",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "triple-beam",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "ts-dedent",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-node",
"direct": false,
"version": "10.9.2",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tuf-js",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "tweetnacl",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "2.19.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "4.9.5",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "unique-filename",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "unique-slug",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "upath",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "upper-case-first",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "util",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "util-arity",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "11.1.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "v8-compile-cache-lib",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-name",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-name",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "walk-up-path",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "winston-transport",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "15.1.1",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.8.3",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yn",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yup",
"direct": false,
"version": "1.7.1",
"ecosystem": "npm"
},
{
"name": "base64",
"direct": false,
"version": "0.3.0",
"ecosystem": "rubygems"
},
{
"name": "logger",
"direct": false,
"version": "1.7.0",
"ecosystem": "rubygems"
},
{
"name": "mustermann",
"direct": false,
"version": "3.0.4",
"ecosystem": "rubygems"
},
{
"name": "nio4r",
"direct": false,
"version": "2.7.5",
"ecosystem": "rubygems"
},
{
"name": "puma",
"direct": false,
"version": "7.1.0",
"ecosystem": "rubygems"
},
{
"name": "rack",
"direct": false,
"version": "3.2.6",
"ecosystem": "rubygems"
},
{
"name": "rack-protection",
"direct": false,
"version": "4.2.1",
"ecosystem": "rubygems"
},
{
"name": "rack-session",
"direct": false,
"version": "2.1.2",
"ecosystem": "rubygems"
},
{
"name": "rackup",
"direct": false,
"version": "2.3.1",
"ecosystem": "rubygems"
},
{
"name": "ruby2_keywords",
"direct": false,
"version": "0.0.5",
"ecosystem": "rubygems"
},
{
"name": "sinatra",
"direct": false,
"version": "4.2.1",
"ecosystem": "rubygems"
},
{
"name": "tilt",
"direct": false,
"version": "2.6.1",
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 758,
"direct_count": 131,
"indirect_count": 627
}
},
"maintainership": {
"issues": {
"open_prs": 10,
"merged_prs": 806,
"open_issues": 49,
"closed_ratio": 0.862,
"closed_issues": 306,
"closed_unmerged_prs": 92
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "rvowles",
"commits": 850,
"avatar_url": "https://avatars.githubusercontent.com/u/55768?v=4"
},
{
"type": "User",
"login": "IrinaSouth",
"commits": 321,
"avatar_url": "https://avatars.githubusercontent.com/u/9538697?v=4"
},
{
"type": "User",
"login": "igorgatis",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/1269388?v=4"
},
{
"type": "User",
"login": "vidya-bhargav",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/87631232?v=4"
},
{
"type": "User",
"login": "alex-deng-featurehub",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/87642096?v=4"
},
{
"type": "User",
"login": "chrusty",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/1902132?v=4"
},
{
"type": "User",
"login": "tiffanyyuliu",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/11692981?v=4"
},
{
"type": "User",
"login": "techmaharaj",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/10296271?v=4"
},
{
"type": "User",
"login": "cspalding",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/5385144?v=4"
},
{
"type": "User",
"login": "nashjain",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/38799?v=4"
}
],
"contributors_sampled": 11,
"top_contributor_share": 0.705
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"adocs-build.yml",
"e2e-sdk-docker.yml",
"release-drafter.yml",
"saas-update.yaml"
],
"has_docs_dir": true,
"linter_configs": [
".eslintrc.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Gemfile.lock",
"pnpm-lock.yaml"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
"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": 2,
"reason": "Found 8/29 approved changesets -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 5 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": "19 commit(s) and 0 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": 0,
"reason": "security policy file not 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": "85 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "3be7fe1ba38cb6651950204f4da768ecb9d7a738",
"ran_at": "2026-07-30T02:09:27Z",
"aggregate_score": 5.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-23T20:12:09Z",
"oldest_open_prs": [
{
"number": 1277,
"created_at": "2026-04-05T08:06:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1285,
"created_at": "2026-04-11T08:31:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1296,
"created_at": "2026-05-04T01:54:53Z",
"last_comment_at": "2026-07-17T05:04:13Z",
"last_comment_author": "rvowles"
},
{
"number": 1316,
"created_at": "2026-06-14T05:43:15Z",
"last_comment_at": "2026-06-27T20:39:43Z",
"last_comment_author": "rvowles"
},
{
"number": 1318,
"created_at": "2026-06-18T07:38:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1324,
"created_at": "2026-07-19T02:58:45Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1325,
"created_at": "2026-07-23T20:12:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1326,
"created_at": "2026-07-24T07:30:40Z",
"last_comment_at": "2026-07-27T05:49:03Z",
"last_comment_author": "rvowles"
},
{
"number": 1327,
"created_at": "2026-07-25T07:08:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1328,
"created_at": "2026-07-27T09:44:33Z",
"last_comment_at": "2026-07-27T09:44:44Z",
"last_comment_author": "rvowles"
}
],
"last_merged_pr_at": "2026-07-19T00:50:58Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 84,
"created_at": "2020-07-17T08:30:06Z",
"last_comment_at": "2023-10-11T17:03:00Z",
"last_comment_author": "valodzka"
},
{
"number": 85,
"created_at": "2020-07-17T08:32:34Z",
"last_comment_at": "2021-02-06T19:39:20Z",
"last_comment_author": "rvowles"
},
{
"number": 87,
"created_at": "2020-07-17T08:36:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 88,
"created_at": "2020-07-17T08:38:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 89,
"created_at": "2020-07-17T08:39:37Z",
"last_comment_at": "2022-09-20T19:48:14Z",
"last_comment_author": "rvowles"
},
{
"number": 93,
"created_at": "2020-07-17T08:48:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 95,
"created_at": "2020-07-17T08:52:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 103,
"created_at": "2020-07-17T09:20:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 106,
"created_at": "2020-07-17T09:43:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 130,
"created_at": "2020-07-26T06:51:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 137,
"created_at": "2020-07-29T08:05:30Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 138,
"created_at": "2020-07-29T08:07:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 175,
"created_at": "2020-08-22T03:08:44Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 210,
"created_at": "2020-09-19T10:15:49Z",
"last_comment_at": "2020-09-19T21:12:57Z",
"last_comment_author": "rvowles"
},
{
"number": 308,
"created_at": "2021-03-25T18:22:57Z",
"last_comment_at": "2021-03-27T03:40:21Z",
"last_comment_author": "IrinaSouth"
},
{
"number": 309,
"created_at": "2021-03-27T03:45:06Z",
"last_comment_at": "2021-12-23T06:16:48Z",
"last_comment_author": "ngocatfika"
},
{
"number": 310,
"created_at": "2021-03-27T03:51:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 331,
"created_at": "2021-04-25T22:00:57Z",
"last_comment_at": "2022-12-13T19:53:35Z",
"last_comment_author": "rvowles"
},
{
"number": 362,
"created_at": "2021-05-09T03:48:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 414,
"created_at": "2021-05-29T00:16:30Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/featurehub-io/featurehub",
"host": "github.com",
"name": "featurehub",
"owner": "featurehub-io"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"security": 58,
"vitality": 84,
"community": 71,
"governance": 59,
"engineering": 94
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 84,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"commits_last_year": 70,
"human_commit_share": 0.96,
"days_since_last_push": 2,
"active_weeks_last_year": 23
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "23/52 weeks with commits",
"points": 15.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 23
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "70 commits in the last year",
"points": 16.6,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 70
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "19 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"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": 92,
"inputs": {
"releases_count": 32,
"latest_release_tag": "v1.10.1",
"releases_from_tags": false,
"days_since_latest_release": 11,
"mean_days_between_releases": 81.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "32 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 32
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 11 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 11
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~81.3 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 81.3
}
}
],
"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": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 71,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"forks": 34,
"stars": 362,
"watchers": 7,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "362 stars",
"points": 41.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 362
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "34 forks",
"points": 12.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 34
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "7 watchers",
"points": 4.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 7
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"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": 6.3,
"status": "met",
"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": 59,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 11,
"top_contributor_share": 0.705
},
"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 70% of commits",
"points": 6.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 70
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "11 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 11
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"merged_prs": 806,
"open_issues": 49,
"closed_issues": 306,
"issue_closed_ratio": 0.862,
"closed_unmerged_prs": 92
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "86% of issues closed",
"points": 40.3,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 86
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "806/898 decided PRs merged",
"points": 34.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 806,
"decided": 898
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 8/29 approved changesets -- score normalized to 2",
"points": 3,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"followers": 20,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "featurehub-io",
"public_repos": 24,
"account_age_days": 2290
},
"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": "20 followers of featurehub-io",
"points": 9.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 20,
"login": "featurehub-io"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "24 public repos, account ~6 yr old",
"points": 22.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 24
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "moderate",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"packages": [
"io.featurehub.composites:composite-test"
],
"ecosystems": "maven",
"any_deprecated": false,
"min_days_since_publish": 1920
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on maven",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "maven"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 1920 days ago",
"points": 4,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 1920
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "2 published versions",
"points": 12,
"status": "partial",
"details": [
{
"code": "published_versions",
"params": {
"count": 2
}
}
],
"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": "excellent",
"name": "Engineering Quality",
"value": 94,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"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": ".eslintrc.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.js"
}
}
],
"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": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"feature-flags",
"feature-toggle",
"feature-toggling-api",
"features",
"feature-toggles",
"a-b-testing",
"a-b-test",
"remote-config",
"cloud-native",
"split-testing",
"feature-flagging",
"feature-service",
"feature-toggling",
"feature-flag",
"feature-flipping",
"feature-toggle-service",
"feature-flags-service",
"deployment"
],
"has_wiki": true,
"homepage": "https://www.featurehub.io",
"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": "https://www.featurehub.io",
"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": "18 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 18
}
}
],
"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": "moderate",
"name": "Security",
"value": 58,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 51,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"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 8/29 approved changesets -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 5 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": "19 commit(s) and 0 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 not detected",
"points": 0,
"status": "missed",
"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": "85 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Matched the maven:io.featurehub.composites:composite-test@1.2 runtime dependency closure — what installing the published package pulls in — 13 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "maven:io.featurehub.composites:composite-test@1.2",
"assessed": 13
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 84,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 13,
"unassessed_packages": 0,
"affected_by_severity": "moderate 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "1 affected: org.codehaus.groovy:groovy 3.0.3 (moderate 5.5)",
"points": 14,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "org.codehaus.groovy:groovy 3.0.3 (moderate 5.5)"
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 2058 days ago",
"points": 35.2,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 1,
"oldest": 2058
}
}
],
"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": 13,
"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": 14
},
"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": "excellent",
"name": "AI Readiness",
"value": 85,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.865,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 8121
},
"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": "83 of 96 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 83,
"sampled": 96
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Gemfile.lock",
"pnpm-lock.yaml"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"admin-frontend/open_admin_app/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"adks/e2e-sdk/tsconfig.json",
"infra/api-bucket/tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [
"adks/e2e-sdk/pom.xml",
"admin-frontend/app_mr_layer/pom.xml",
"admin-frontend/open_admin_app/pom.xml",
"admin-frontend/pom.xml",
"admin-frontend/releases_api/pom.xml",
"backend/common-db-test/pom.xml",
"backend/common-db/pom.xml",
"backend/common-web/pom.xml",
"backend/composite-app/pom.xml",
"backend/composite-common/pom.xml",
"backend/composite-db-drivers/pom.xml",
"backend/composite-ebean/pom.xml",
"backend/composite-jackson/pom.xml",
"backend/composite-jersey/pom.xml",
"backend/composite-logging-api/pom.xml",
"backend/composite-logging/pom.xml",
"backend/composite-parent/pom.xml",
"backend/composite-prometheus/pom.xml",
"backend/composite-test/pom.xml",
"backend/dacha-api-java-server/pom.xml",
"backend/dacha-api/pom.xml",
"backend/dacha-client/pom.xml",
"backend/dacha/pom.xml",
"backend/dacha2/pom.xml",
"backend/edge-api-java-server/pom.xml",
"backend/edge-api/pom.xml",
"backend/edge-common/pom.xml",
"backend/edge-feature-update-async-api/pom.xml",
"backend/edge-full/pom.xml",
"backend/edge-rest/pom.xml",
"backend/edge-shared/pom.xml",
"backend/edge-stats-api-java-server/pom.xml",
"backend/edge-stats-api/pom.xml",
"backend/edge-stats-emitter/pom.xml",
"backend/encryption-common/pom.xml",
"backend/enricher-api/pom.xml",
"backend/enricher-processor/pom.xml",
"backend/eventing-cloudevents/pom.xml",
"backend/eventing-google-pubsub/pom.xml",
"backend/eventing-kafka/pom.xml",
"backend/eventing-kinesis/pom.xml",
"backend/eventing-nats/pom.xml",
"backend/eventing-tracker/pom.xml",
"backend/messaging-api/pom.xml",
"backend/messaging-delivery/pom.xml",
"backend/mr-api-java-server/pom.xml",
"backend/mr-api/pom.xml",
"backend/mr-dacha-api/pom.xml",
"backend/mr-dacha-resource/pom.xml",
"backend/mr-db-api/pom.xml",
"backend/mr-db-ebean/pom.xml",
"backend/mr-db-features/pom.xml",
"backend/mr-db-models/pom.xml",
"backend/mr-db-services/pom.xml",
"backend/mr-db-sql/pom.xml",
"backend/mr-eventing-common/pom.xml",
"backend/mr-eventing-nats/pom.xml",
"backend/mr-eventing/pom.xml",
"backend/mr-webhook-listener/pom.xml",
"backend/mr/pom.xml",
"backend/party-server-ish/pom.xml",
"backend/party-server/pom.xml",
"backend/sdk-strategy-matchers/pom.xml",
"backend/security-common/pom.xml",
"backend/security-oauth/pom.xml",
"backend/security-saml/pom.xml",
"backend/tile-app-with-ui/pom.xml",
"backend/tile-app/pom.xml",
"backend/tile-ebean/pom.xml",
"backend/tile-java-no-spock/pom.xml",
"backend/tile-java/pom.xml",
"backend/tile-java8/pom.xml",
"backend/tile-release/pom.xml",
"backend/webhook-api/pom.xml",
"backend/webhook-common/pom.xml",
"backend/webhook-feature-update/pom.xml",
"doc-gen/pom.xml",
"pipeline/deploy/pom.xml",
"pom.xml"
],
"dependency_bot_commit_share": 0.04
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "admin-frontend/open_admin_app/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "admin-frontend/open_admin_app/Makefile"
}
}
],
"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": ".eslintrc.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "adks/e2e-sdk/tsconfig.json, infra/api-bucket/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "adks/e2e-sdk/tsconfig.json, infra/api-bucket/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "4 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 4,
"sampled": 100
}
}
],
"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": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Dart",
"largest_source_bytes": 42796,
"source_files_sampled": 742,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Dart (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Dart"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/742 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 742,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"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 'io.featurehub.admin_ui:admin-frontend' from its registry",
"Could not fetch maven package 'io.featurehub.mr:typescript-webhook-client' from its registry",
"Could not fetch npm package 'e2e-sdk-tests' from its registry",
"Could not fetch maven package 'io.featurehub.common:common-db' from its registry",
"Could not fetch maven package 'io.featurehub.common:common-web' from its registry",
"Could not fetch maven package 'io.featurehub.composites:composite-app' from its registry",
"Could not fetch maven package 'io.featurehub.common:common-db-test' from its registry",
"Could not fetch maven package 'io.featurehub.composites:composite-ebean' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-30T02:09:55.266877Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/featurehub-io/featurehub.svg",
"full_name": "featurehub-io/featurehub",
"license_state": "custom",
"license_spdx": null
}