Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"catalog",
"data-lake",
"iceberg",
"lakehouse",
"rust",
"lakehouse-governance",
"open-lakehouse"
],
"is_fork": false,
"size_kb": 26897,
"has_wiki": false,
"homepage": "https://docs.lakekeeper.io",
"languages": {
"CSS": 53341,
"HTML": 35972,
"Just": 16907,
"Rust": 6469173,
"Shell": 19107,
"Python": 228331,
"PLpgSQL": 24482,
"Dockerfile": 6281,
"JavaScript": 22474,
"Open Policy Agent": 89574
},
"pushed_at": "2026-07-27T10:12:38Z",
"created_at": "2024-04-05T17:42:07Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T07:24:42Z",
"description": "Lakekeeper is an Apache-Licensed, secure, fast and easy to use Apache Iceberg REST Catalog written in Rust.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Rust",
"significant_languages": [
"Rust"
]
},
"owner": {
"blog": "http://lakekeeper.io",
"name": "Lakekeeper",
"type": "Organization",
"login": "lakekeeper",
"company": null,
"location": "Germany",
"followers": 34,
"avatar_url": "https://avatars.githubusercontent.com/u/183464583?v=4",
"created_at": "2024-10-01T06:08:05Z",
"is_verified": null,
"public_repos": 14,
"account_age_days": 664
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.13.1",
"kind": "patch",
"published_at": "2026-06-30T21:11:08Z"
},
{
"tag": "v0.13.0",
"kind": "minor",
"published_at": "2026-06-30T07:17:56Z"
},
{
"tag": "v0.12.4",
"kind": "patch",
"published_at": "2026-06-17T14:09:38Z"
},
{
"tag": "v0.12.3",
"kind": "patch",
"published_at": "2026-05-26T13:26:22Z"
},
{
"tag": "v0.11.6",
"kind": "patch",
"published_at": "2026-05-10T14:45:06Z"
},
{
"tag": "v0.12.2",
"kind": "patch",
"published_at": "2026-05-10T06:31:19Z"
},
{
"tag": "v0.12.1",
"kind": "patch",
"published_at": "2026-05-05T06:04:35Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2026-04-03T08:28:01Z"
},
{
"tag": "v0.11.5",
"kind": "patch",
"published_at": "2026-04-02T17:54:29Z"
},
{
"tag": "v0.11.4",
"kind": "patch",
"published_at": "2026-03-30T17:40:29Z"
},
{
"tag": "v0.11.3",
"kind": "patch",
"published_at": "2026-03-14T11:21:42Z"
},
{
"tag": "v0.11.2",
"kind": "patch",
"published_at": "2026-01-30T13:16:26Z"
},
{
"tag": "v0.11.1",
"kind": "patch",
"published_at": "2026-01-06T20:45:45Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2026-01-01T16:51:19Z"
},
{
"tag": "v0.10.4",
"kind": "patch",
"published_at": "2025-10-29T07:04:46Z"
},
{
"tag": "v0.10.3",
"kind": "patch",
"published_at": "2025-10-15T11:11:19Z"
},
{
"tag": "v0.10.2",
"kind": "patch",
"published_at": "2025-10-06T11:37:18Z"
},
{
"tag": "v0.10.1",
"kind": "patch",
"published_at": "2025-10-05T14:00:44Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2025-09-29T18:54:09Z"
},
{
"tag": "v0.9.5",
"kind": "patch",
"published_at": "2025-08-14T14:48:57Z"
},
{
"tag": "v0.9.4",
"kind": "patch",
"published_at": "2025-08-06T17:45:31Z"
},
{
"tag": "v0.9.3",
"kind": "patch",
"published_at": "2025-07-18T10:32:01Z"
},
{
"tag": "v0.9.2",
"kind": "patch",
"published_at": "2025-07-03T17:43:38Z"
},
{
"tag": "v0.9.1",
"kind": "patch",
"published_at": "2025-06-19T08:46:35Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2025-06-17T18:25:12Z"
},
{
"tag": "v0.8.5",
"kind": "patch",
"published_at": "2025-05-09T11:40:52Z"
},
{
"tag": "v0.8.4",
"kind": "patch",
"published_at": "2025-05-02T15:57:42Z"
},
{
"tag": "v0.8.3",
"kind": "patch",
"published_at": "2025-04-18T08:50:18Z"
},
{
"tag": "v0.8.2",
"kind": "patch",
"published_at": "2025-04-17T15:08:59Z"
},
{
"tag": "v0.8.1",
"kind": "patch",
"published_at": "2025-04-13T15:34:57Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2025-04-08T11:36:42Z"
},
{
"tag": "v0.7.4",
"kind": "patch",
"published_at": "2025-03-20T21:20:13Z"
},
{
"tag": "v0.7.3",
"kind": "patch",
"published_at": "2025-03-04T15:15:04Z"
},
{
"tag": "v0.7.2",
"kind": "patch",
"published_at": "2025-02-27T14:34:47Z"
},
{
"tag": "v0.7.1",
"kind": "patch",
"published_at": "2025-02-26T11:54:23Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2025-02-24T09:40:28Z"
},
{
"tag": "v0.6.2",
"kind": "patch",
"published_at": "2025-01-30T17:53:40Z"
},
{
"tag": "v0.6.1",
"kind": "patch",
"published_at": "2025-01-27T12:29:42Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2025-01-07T16:59:30Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2024-12-17T11:24:15Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2024-12-12T18:28:17Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2024-12-06T20:59:11Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2024-11-13T18:34:24Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2024-10-28T22:38:39Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2024-10-15T19:56:54Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2024-10-03T12:32:57Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2024-08-26T18:16:52Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2024-07-29T13:59:15Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2024-07-26T16:11:54Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2024-06-17T19:41:05Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2024-06-15T21:47:15Z"
}
],
"recent_commits": [
{
"oid": "4cc77d3bf2a61d6693a22181baa6a92ee7ff0ab5",
"body": "Add a `DeterminingFactor::SystemAuthority { source, reason }` variant so an\nauthorizer can record in the audit trail that an authorization was determined\nby a built-in/system authority tier — e.g. a recovery mechanism that lets a\nprivileged system role act despite a policy that would otherwise forbid it —\nrather than by a normal authored policy. The variant is authorizer-agnostic:\nany authorizer-specific detail lives in opaque `source`/`reason` strings.",
"is_bot": false,
"headline": "feat(authz): record system-authority provenance in audit events (#1912)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-27T07:24:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c29d1045323f6732ee4d3389304493db0f26865",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: no changes\n- enterprise-release-notes.md: no changes\n\nSource commit: 574b211d4d149a48ee8df1eac5259b1347e2a048\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1911)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-25T15:29:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a435157ad5baad3a3ee3ae8af03f31459cef340",
"body": "…n (#1901)\n\nTable commit authorization now conveys which branch/tag refs a commit\ntargets and which kinds of updates it contains, so an authorizer can\nmake per-ref decisions (e.g. protect `main`) and require table-wide\nauthority for changes beyond a branch-ref move.\n\n- Add `TableUpdateKind`, a typed\n[…]\nh data.\n- Populate them at the table commit site from the request's updates.\n\nThe OpenFGA authorizer matches `Commit { .. }` and is unaffected; the\nnew signal is inert until an authorizer consumes it.",
"is_bot": false,
"headline": "feat(authz): carry target refs and update kinds in table commit actio…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-25T15:28:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8d89d2b9089008db81788b9ff220967d8407d63b",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: no changes\n- enterprise-release-notes.md: updated\n\nSource commit: b99b7ce86b50dffc42d627b4cbe3f9fb9e7ee90b\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1907)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-24T13:17:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46c8b5b042972eb1a6fe05dfd10d83ed5496469d",
"body": null,
"is_bot": false,
"headline": "chore(test-utils): let the test builder set admission_roles (#1909)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-23T22:36:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "706562d1ab29a2c5b06005ebdac4c65af7ffcfcf",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: updated\n- enterprise-release-notes.md: updated\n\nSource commit: 0c5528f3db7515661d37eafc57c4b889d6ba41eb",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1887)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-21T16:51:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81d0eb9185c4bfb936a2f1332832c6fa583a4ce8",
"body": null,
"is_bot": false,
"headline": "chore(docs): document INSECURE_ALLOW_UNAUTHENTICATED",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-21T11:31:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45b94b417b522d09bd3e77bbf17673ff76837b01",
"body": "…#1894)\n\nAdd support for Alibaba OSS Cloud Credential and Alibaba OSS S3-Compatible storage. This is a beta.\n---------\n\nCo-authored-by: Christian <christian@vakamo.com>\nCo-authored-by: brgr-s <stephan@hansetag.com>",
"is_bot": false,
"headline": "feat(storage): add Alibaba Cloud OSS credential and storage support (…",
"author_name": "yoogo",
"author_login": "yoogoc",
"committed_at": "2026-07-21T09:32:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54595da790291f07455be6ccc5541d77dcbf1f08",
"body": "…chemas (#1897)\n\nIceberg schemas were persisted as one opaque JSONB blob per table/view, so\nindividual columns weren't queryable or addressable and every read paid a\nfull-schema JSON parse. Column-level governance (tags, policies) needs each\nfield to be a first-class, referenceable row.\n\nStore schem\n[…]\nejecting new JSONB writes, and drops the NOT NULL\nconstraint atomically. Schema DDL works immediately after the migration; the\nlegacy JSONB column stays one release as a fallback and is dropped later.",
"is_bot": false,
"headline": "feat(storage): normalized first-class column store for table & view s…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-20T17:51:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3629ce5506669193eac8f320bd2174f5c338f92d",
"body": "…905)",
"is_bot": false,
"headline": "fix(ci): unmask and harden kube-auth username subject-source test (#1…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-20T12:09:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4673ab65ccca521706f6e74f59eb0f3a5f0acdc8",
"body": "…t (#1904)",
"is_bot": false,
"headline": "fix(ci): poll pod phase instead of `kubectl run -it` in kube-auth tes…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-20T08:33:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbc4d2d584d89b475f659f96d4a6780c3bceb97d",
"body": "…e-notes signup (#1903)\n\nAdd a shared \"Client Authentication\" page for the generic-tables clients\ncovering all four OAuth2 strategies — StaticToken, ClientCredentials,\nDeviceCodeFlow (RFC 8628), and AuthorizationCodeFlow + PKCE (RFC 7636) —\nwith Python/Java content tabs, a strategy-choosing table, a\n[…]\nle unattended jobs use ClientCredentials.\n\nExpand the Python client page with per-backend storage configuration\n(S3, Azure ADLS, GCS) and worked examples (Lance, Delta, Vortex, Paimon,\ndataset, HDF5).",
"is_bot": false,
"headline": "chore(docs): generic-tables client auth, storage backends, and releas…",
"author_name": "Viktor Kessler",
"author_login": "v-kessler",
"committed_at": "2026-07-20T06:54:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7eda16a8146260b15f4e2c62cf574d2788170c8b",
"body": null,
"is_bot": false,
"headline": "chore(ci): authenticate and sideload images in kube-auth test (#1902)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-17T15:18:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b85e853871ffdcbd49e5417e5c21da45773ee665",
"body": "Wires two new UI config env vars into the console config:\n- LAKEKEEPER__UI__OPENID_POST_LOGOUT_REDIRECT_URL\n- LAKEKEEPER__UI__OPENID_POST_LOGOUT_REDIRECT_DISABLED\n\nAlso sets Cache-Control (+ weak ETag / 304 revalidation) on served UI\nassets so the DuckDB WASM and hashed bundles are cached by the browser\ninstead of re-downloaded on every load. index.html stays no-cache.\n\n---------\n\nCo-authored-by: Christian <christian@vakamo.com>",
"is_bot": false,
"headline": "feat: post-logout redirect env vars + static-asset cache headers (#1890)",
"author_name": "Viktor Kessler",
"author_login": "v-kessler",
"committed_at": "2026-07-17T13:10:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caa1b0568967a903db32e0eea9073506645f66d8",
"body": "* iceberg-rust fork rev bump",
"is_bot": false,
"headline": "chore: iceberg-rust fork version bump (#1900)",
"author_name": "brgr-s",
"author_login": "brgr-s",
"committed_at": "2026-07-16T18:22:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a855b15207d5c4955ebb7aca45b4734074cefe5",
"body": "… (#1899)\n\nAdd LAKEKEEPER__KUBERNETES_AUTHENTICATION_SUBJECT_SOURCE to select whether a\nKubernetes service account's Lakekeeper user ID derives from the token's\n`uid` (default, unchanged) or `username`\n(`system:serviceaccount:<namespace>:<name>`). The username form is stable\nacross clusters, so role\n[…]\nracted with grep/sed (compact JSON,\n no jq in curlimages/curl).\n- Reword the k8s-openapi workspace comment: the version is selected by the\n lakekeeper crate, not overridable by downstream consumers.",
"is_bot": false,
"headline": "feat(authn): configurable Kubernetes subject source (uid or username)…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-16T10:36:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "385d0b5d80f2844ca4e320030b8d5cbe6e187311",
"body": "Kubernetes service-account identities appear as `kubernetes~<uid>`, not\n`k8s~<namespace>~<service-account-name>`. The subject is the service\naccount's Kubernetes `uid` (from the TokenReview API); the\n`system:serviceaccount:<ns>:<name>` string is stored as the display name.\n\nAlso corrects the INSTANCE_ADMINS examples, which used the username form,\nand notes that UIDs differ per cluster.",
"is_bot": false,
"headline": "fix(docs): correct Kubernetes user identity format",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-15T12:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34dea9651fa526a1bc0aeb8fde05fbc70a49c394",
"body": "Roles carry a provider namespace in their identity (`provider~source_id`).\nRoles resolved from a configured role provider (LDAP/Entra/Okta/token) are\nmaintained by provider sync, so mutating them through the management API\ncreates drift the next sync silently clobbers.\n\nAdd an `Authorizer::managed_r\n[…]\n\n\nNo behavior change without a role provider — the default set is empty, so\nOSS, AllowAll and OpenFGA are unaffected. The enterprise Cedar authorizer\npopulates the set (separate change). No migration.",
"is_bot": false,
"headline": "feat(authz): reject role writes in provider-managed namespaces (#1891)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-15T07:03:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0974828ba7df3f1cbe42336e5db9e1ed0e0feab6",
"body": "Update crossbeam-epoch 0.9.18 -> 0.9.20 to resolve RUSTSEC-2026-0204",
"is_bot": false,
"headline": "chore(deps): bump crossbeam-epoch to fix RUSTSEC-2026-0204 (#1895)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-14T20:15:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8add6baa7719a4b5fe35d3fb0d9d73e20113210",
"body": null,
"is_bot": false,
"headline": "chore: Release as 0.14.0",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-11T06:56:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cab29ec67643a3df977db803b4dada89a53fd9c4",
"body": null,
"is_bot": false,
"headline": "chore(docs): Okta Role Provider",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-11T06:55:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c645cc99c4450921454baacbc6dfd5a2f3066d1",
"body": null,
"is_bot": false,
"headline": "chore(docs): Improve entra role provider table layout",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-07T06:10:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6b7a2df899bbb2c4f8e1e5f309c7fb9158ad1cb",
"body": "Emit Select only for intermediate referenced-by views (where it gates\nDEFINER chain traversal); the target view's Select was always discarded\nby interpret_authz_results_for_load_view but still cost an authorizer\nevaluation and logged a misleading SelectView decision. Target is now\nidentified by ident to stay in lockstep with the consumer.",
"is_bot": false,
"headline": "fix(authz): stop evaluating discarded Select on target view load (#1886)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-02T15:06:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf6489295a4b129057363296cb6dbb17c8ebcae7",
"body": "Rename the tabular-expiration task queue to \"soft_deletion\" so the public\nAPI, config, and docs reflect what it actually does. Fully backward\ncompatible — pre-rename rows, API paths, and env vars keep working.\n\n- Queue name is now `soft_deletion`; `tabular_expiration` is retained as a\n legacy read \n[…]\nick_task now ORDER BYs scheduled_for (deterministic, oldest-due-first),\n required once the queue match became a set.\n- No DB migration: the transition is handled entirely with code-level\n dual-read.",
"is_bot": false,
"headline": "feat(tasks): rename tabular_expiration queue to soft_deletion (#1881)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-02T15:00:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "38b49cd018557f3cf300d314cdb785351336ab33",
"body": null,
"is_bot": false,
"headline": "chore(docs): Add 0.13.x docs to site",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-02T14:44:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e7e6d2a8ea2f7c53694594a659f47ace8c8ecad",
"body": "Emit Select only for intermediate referenced-by views (where it gates\nDEFINER chain traversal); the target view's Select was always discarded\nby interpret_authz_results_for_load_view but still cost an authorizer\nevaluation and logged a misleading SelectView decision. Target is now\nidentified by ident to stay in lockstep with the consumer.\n\n---------\n\nCo-authored-by: Christian Thiel <christian@vakamo.com>",
"is_bot": false,
"headline": "docs: ui branding (#1883)",
"author_name": "Viktor Kessler",
"author_login": "v-kessler",
"committed_at": "2026-07-02T13:04:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d12eb6ee6045448acf4298158cc8346c1148a060",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: no changes\n- enterprise-release-notes.md: updated\n\nSource commit: b77fdc145ee63fc3f849f31a02ed254674926274\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1884)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-02T13:03:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00745c714a6a208726367b179595a22456aee729",
"body": "quick-xml <0.41 has two DoS advisories: O(N²) attribute-name parsing\n(RUSTSEC-2026-0194) and unbounded NsReader namespace-declaration\nallocation (RUSTSEC-2026-0195).\n\nThe exploitable path is the S3 remote-signer, which deserializes the\nclient-supplied DeleteObjects XML body via quick_xml::de::from_s\n[…]\nre 0.21 fork (ADLS), which parses Azure storage API\nresponses — not attacker input — so it is not reachable. Ignore both\nadvisories in deny.toml with that justification until the fork bumps\nquick-xml.",
"is_bot": false,
"headline": "fix(deps): bump quick-xml to 0.41 (RUSTSEC-2026-0194/0195) (#1885)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-02T12:32:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "982d7237e8c59158ace6ed70c15c5d512967115b",
"body": null,
"is_bot": false,
"headline": "chore(ci): Release as 0.13.2",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-01T16:47:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "382d951db43a51e20f66da395e5f674b5e4d55cf",
"body": null,
"is_bot": false,
"headline": "chore(docs): Add 0.13.1 release notes",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-07-01T16:28:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5cf82d6076a6931d3d019b353e6b2756de2d92f",
"body": null,
"is_bot": false,
"headline": "chore(ci): Fix setup-regal action changed organisation (#1880)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-07-01T06:26:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f6a1fb6ee0ef78d5cb0ca5a96837ee579a03f1c",
"body": null,
"is_bot": false,
"headline": "chore(main): release 0.13.1 (#1879)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-30T21:09:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac1094a52e51da586c60a27159f9720784eb66e7",
"body": "…client_id",
"is_bot": false,
"headline": "fix(UI): Update Console to 0.19.0 / remove leading slash for default …",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-30T19:27:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d7aec8138c87b903b1c68673564b7a5f7de92c2",
"body": null,
"is_bot": false,
"headline": "chore(main): release 0.13.0 (#1782)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-30T07:17:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16b57fd3b15f9218b1b54397b73c40cf4822f741",
"body": "anyhow <1.0.103 has a soundness bug: Error::downcast_mut() violates\nRust's borrow rules on errors created via Error::context(), allowing\nconstruction of an improper mutable reference (potential UB). Bump the\nlockfile to the patched 1.0.103.",
"is_bot": false,
"headline": "fix(deps): update anyhow to 1.0.103 (RUSTSEC-2026-0190)",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-30T05:42:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9832d100002b01cf638aab19ce48feeedf1b240",
"body": null,
"is_bot": false,
"headline": "chore(release): track all workspace crates in release-please config",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-30T05:20:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d12dfba0c20634d914abfd60c15586949fe138cc",
"body": "Three doc-comment fixes in the role-membership management API; these\ndescriptions feed the generated OpenAPI spec (and the downstream plus\nspec), so they directly affect generated clients and SDK authors.\n\n- Pagination: the SDK-author note told clients to stop on\n `next_page_token`, but the seriali\n[…]\nt or transitive.\n- RoleMember / RoleMemberRef claimed to be echoed by \"add/remove\n confirmations\", but DELETE returns 204 with no body — only add echoes\n the members. Reworded to \"add confirmation\".",
"is_bot": false,
"headline": "docs(roles): correct role-membership API doc inaccuracies (#1877)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-29T14:06:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c1189d4eb09c3569d8cbc5bf3328884e09964b3d",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: updated\n- enterprise-release-notes.md: no changes\n\nSource commit: 097fe4df2cf6e4f3b2acc9d3ee494dfc6780a015\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1845)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-29T13:05:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87fc710240f8ae8f05f5611fe110d7006c3197d6",
"body": "…on cap (#1876)\n\n`get_scheduled_project_ids` paginated `list_tasks` and only stopped when\n`next_page_token` came back `None`. But `list_tasks` echoes the supplied\npage token back on an empty terminal page (so callers can resume the same\ncursor later), so the token is never `None` once pagination has\n[…]\nsk scheduled.\n\nStop paginating when a page comes back empty, not only when the token is\nabsent. Extracts the decision into `has_more_task_pages` with a unit test\ncovering the empty-terminal-page case.",
"is_bot": false,
"headline": "fix(tasks): stop post-migration cleanup hook spinning to the paginati…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-29T12:20:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5526be42d4884d7045a2d2c3fb1bfa5dcd723061",
"body": null,
"is_bot": false,
"headline": "chore(ui): Update console 0.18.3 (#1875)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-29T06:52:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c3e50dd774b48d90e85ef6b484cc8ff98c3116f",
"body": "…on guidance\n\nrelease-notes.md: the \"Authorizer-independent role membership\" entry claimed\nmembership is \"managed in the catalog itself ... regardless of the configured\nauthorizer.\" That's wrong — the ManagesRoleAssignments facet keeps membership\nedges single-source-of-truth in the authorizer's own \n[…]\nold same-release\nbug fixes into their feature, one line per multi-PR feature, de-emphasise\ninternal-authorizer-only changes for OSS readers, and don't re-announce PRs\nalready shipped in a rel-* patch.",
"is_bot": false,
"headline": "docs(release): fix v0.13.0 role-membership note; add changelog-curati…",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-28T17:07:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e732aebaaea1fa3be4feea033222cd919525d559",
"body": "Updates embedded UI console v0.18.1 → v0.18.2\n(console-components v0.14.1 → v0.14.2).\n\n- LoQE surfaces a blocked object-storage fetch as a clear\n CORS/credentials error instead of an opaque failure",
"is_bot": false,
"headline": "feat(deps): bump console to v0.18.2 (#1872)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-28T12:36:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ba4d4438492f799d9bdd7a5d72ebe592cc546ee",
"body": "A task that failed on its only attempt returned no error anywhere via the\nManagement API (`attempts: []`, no message), making maintenance failures\nundebuggable without server-log access. Surface the current attempt's\nmessage and persist a useful one.\n\n- Add an optional top-level `message` to GetTask\n[…]\nvisible in the API to\n task-detail viewers — including cloud operators who cannot read logs. The\n full chain is still emitted to the tracing logs as before.\n- Regenerate the management OpenAPI spec.",
"is_bot": false,
"headline": "feat(tasks): surface failure message in task details (#1873)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-28T11:01:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "228ebe1f9cf43fb5fdaecb4616ea525cf5a0679e",
"body": "Updates embedded UI console from v0.15.1 to v0.18.1 (console-components\nv0.9.0 → v0.12.0). User-visible changes:\n\nNew\n- Files tab / storage explorer for S3, ADLS and GCS with DuckDB-powered\n parquet/avro/csv preview, JSON/text preview, download and copy-path\n (DuckDB WASM vendored for airgapped de\n[…]\n listing datasets\n- Hide system lakekeeper.* properties behind a toggle\n- Snapshot metrics fall back to added-* instead of showing a fake 0\n- Home logo aspect ratio; Roles-tab flash on Identities load",
"is_bot": false,
"headline": "feat(deps): bump console to v0.18.1 (#1871)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-27T16:50:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f146ada3de150a4108f8ad771a3102b3b873622f",
"body": "…#1863)\n\nEvent listeners (added in #1075) fire after a transaction commits but before\nthe response is returned to the client, so a slow or misbehaving listener\nsilently adds to API latency with no visibility.\n\nThis instruments the shared `dispatch_event!` macro — covering every event type\nin one pla\n[…]\nin_all` does not spawn), so\na recorded duration is each listener's contribution to response latency, not its\nisolated execution time.\n\n---------\n\nCo-authored-by: Christian Thiel <christian@vakamo.com>",
"is_bot": false,
"headline": "feat(events): add timing instrumentation to event listener dispatch (…",
"author_name": "Rupam Golui",
"author_login": "Itz-Agasta",
"committed_at": "2026-06-27T12:54:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "656bb901fdef217682b24a5e0ab94a1ca2473202",
"body": null,
"is_bot": false,
"headline": "chore(docs): Add EntraID-Graph Role Provider docs (#1870)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-27T10:33:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef9ff3a8c25ce5d85e8a2b5e570df27148bddde1",
"body": null,
"is_bot": false,
"headline": "chore(docs): Admission Gate kebab-case",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-26T15:43:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e971e37eecaa3c16655c116b4713a37ea42bd0c",
"body": null,
"is_bot": false,
"headline": "chore(docs): Update Admission Gates JSON body docs",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-26T14:10:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "198efeb786d9a3064863c678c0f184b32789b7fa",
"body": null,
"is_bot": false,
"headline": "chore(readme): Update Overview Image (#1868)",
"author_name": "Viktor Kessler",
"author_login": "v-kessler",
"committed_at": "2026-06-26T13:41:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9147ec00c86f50109dbba03a031490538f87f5a8",
"body": "Admission gates run post-authentication and may need to relay the caller's\ntoken to an external service (e.g. a control-plane that authorizes per the\nuser's own identity). The token is deliberately not on `RequestMetadata` —\nthat struct is cloned, debugged, and folded into audit events, so a raw\nbea\n[…]\nCopy` (cheap to forward to each gate). The\nin-repo fixture gates and tests are updated, with a new test asserting the\ntoken is threaded through and that a token-needing gate rejects when it is\nabsent.",
"is_bot": false,
"headline": "feat(authn): pass the caller's bearer token to admission gates (#1869)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-26T13:40:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "047807e9446ea873503c7584ce4676c1809bd098",
"body": "SeaweedFS 4.36 authorizes sts:AssumeRole through the role's trust policy, so the\nstorage credential no longer needs the Admin action that earlier versions\nrequired to vend credentials. Drop it from the example and CI identities,\nleaving Read/List/Write/Tagging.\n\nThe CI created its bucket with `aws s\n[…]\nand the\nnon-admin identity suffices.\n\nDrop the -s3.iam.readOnly=false override too: it only enables the IAM write API,\nwhich the examples never call, and AssumeRole works on the default read-only IAM.",
"is_bot": false,
"headline": "chore(examples): use SeaweedFS 4.36 and drop the Admin action (#1867)",
"author_name": "Chris Lu",
"author_login": "chrislusf",
"committed_at": "2026-06-25T14:59:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b92c9020710da87447957c11c72caf95d6c223e5",
"body": "`AdmissionGate::admit` now returns `Admission` instead of `()`, carrying\noptional `resolved_roles` a gate resolved while admitting the request — so a\ngate that calls an external entitlement service can return the principal's\nroles in the same round-trip it uses for the allow/deny decision, rather th\n[…]\nyload with `admit()` / `with_roles()` constructors\n- `RequestMetadata::admission_roles` (+ setter/getter), reusing `TokenRoles`\n- middleware writes the resolved roles onto the request after gates pass",
"is_bot": false,
"headline": "feat(authn): let admission gates contribute resolved roles (#1866)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-24T09:57:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a00d59766fd09043d556af2ba1d4af9eae5e39b0",
"body": "Introduce an `AdmissionGate` extension point: a coarse, per-request check\nrun in the auth middleware after the actor and instance-admin status are\nresolved, but before the request reaches any handler. Gates are held as an\nordered `AdmissionGates` list (first rejection wins, short-circuits) and are\ne\n[…]\nmissionGates`)\n- threaded through `ServeConfiguration` -> `RouterArgs` -> `AuthMiddlewareState`\n- invoked in `auth_middleware_fn` before `next.run`\n- add `ErrorModel::service_unavailable` (503) helper",
"is_bot": false,
"headline": "feat(authn): add pluggable post-authentication admission gates (#1865)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-24T07:15:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a58e40171f9572647973b7b270f84deaa7e7cef1",
"body": "…rino & Starburst (#1864)\n\n* docs: Mention support for Azure & GCS vended credentials for Trino & Starburst\n* docs: Remove \"native\" from Trino & Starburst file system configs\n\n---------\n\nCo-authored-by: Christian <christian@vakamo.com>",
"is_bot": false,
"headline": "chore(docs): Mention support for Azure & GCS vended credentials for T…",
"author_name": "Marius Grama",
"author_login": "findinpath",
"committed_at": "2026-06-22T12:23:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89277d7b625d0183e383c886a361d9b0708f7eec",
"body": "Cover the LAKEKEEPER__ROLE_PROVIDER_CHAIN__PERSIST_TOKEN_ROLES option\n(per-IdP behaviour, login-freshness, project scoping) and clarify that\nlakekeeper_role_provider_up is emitted only for external-backed (LDAP)\nproviders — alert with `== 0 or absent(...)`.",
"is_bot": false,
"headline": "docs(authz): document persist_token_roles for definer views",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-22T10:04:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8de0db84e2427a15b66ba45867b782d5be40092",
"body": "…se (#1861)\n\nGuard against running an older binary against a database that a newer\nLakekeeper has already migrated.\n\ncheck_migration_status only checked one direction (are the binary's\nmigrations applied?), so an older binary — whose migrations are a subset\nof what's applied — reported Complete and \n[…]\nun `serve --force-start` to start anyway (emergency\nrollback, accepting the risk of schema incompatibility).\n\nThe migrate command already aborted on this via VersionMissing; this\nbrings serve in line.",
"is_bot": false,
"headline": "feat(migrations): refuse to start against a newer (downgraded) databa…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-21T18:07:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c492020154fdf8e18933b349ffbb2ba0835c8d45",
"body": "…pired (#1862)\n\nConditional `loadTable` (If-None-Match) returned `304 Not Modified` whenever\nthe table metadata was unchanged — even after the vended storage credentials in\nthe cached response had expired. Clients that reuse the cached body (e.g. the\nIceberg Java client) kept using dead credentials.\n[…]\nhat don't parse (e.g.\npre-upgrade bare-hash values) simply trigger a reload. The real credential\nexpiry is still sent to clients via `expiration-time`, so out-of-band\ncredential refresh is unaffected.",
"is_bot": false,
"headline": "fix(tables): don't return 304 on loadTable once vended credentials ex…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-21T15:40:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b6a4b1d58a86995d99717b84f11dab8144a55118",
"body": "…d/requested_source_id\n\nThe destination-aware CatalogRoleAction::UpdateSourceSystem action surfaces the\nrebind destination as action context so policy-based authorizers can gate it.\nRename those keys:\n\n target_provider_id -> requested_provider_id\n target_source_id -> requested_source_id\n\n`target\n[…]\neSystemTarget::To case; the Any base-capability\nmarker carries no context.\n\nPre-release rename — these keys were added in the same unreleased cycle and no\nreleased authorizer depends on the old names.",
"is_bot": false,
"headline": "chore(authz): rename role-rebind context keys to requested_provider_i…",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-19T13:30:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9af0a3f141dd27e6de7067a4117c76a6651f34dd",
"body": "…1860)\n\nThe Drop/Delete catalog actions previously carried no information about how\ndestructive a deletion is, so policy-based authorizers could not distinguish\na recoverable drop from one that bypasses warehouse soft-deletion or wipes a\nwhole namespace subtree.\n\nAdd context fields to the operationa\n[…]\ndit logs.\nThe OpenFGA authorizer maps these variants to the same relations as before,\nso its behavior is unchanged; the new context is consumed by policy-based\nauthorizers (Cedar).\n\n* address comments",
"is_bot": false,
"headline": "feat(authz): carry force/purge/recursive context on delete actions (#…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-19T10:49:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b86ccd5340d536ee443e89b60494c55dc4cf3114",
"body": "… limit (#1857)\n\nApplying the full-hierarchy storage layout in the integration tests\nsurfaced PackedPolicyTooLarge failures on the real-AWS `spark_aws_sts`\njobs. AWS STS enforces a small, undocumented limit on the *packed*\n(compressed) size of the inline session policy — separate from, and much\ntigh\n[…]\n covered by test_special_char_locations.py.\n\nAdds tests pinning the single-wildcard ARN form and guarding the plaintext\npolicy size.\n\n---------\n\nCo-authored-by: Christian Thiel <christian@vakamo.com>",
"is_bot": false,
"headline": "fix(s3): keep AWS STS vended-credential policy within the packed-size…",
"author_name": "brgr-s",
"author_login": "brgr-s",
"committed_at": "2026-06-19T06:02:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "01e62ef943483efa1c98d3b80afe7376eb07c5d1",
"body": "Pulls in console-components v0.7.0 → v0.9.0:\n\n- OneLake / Microsoft Fabric storage backend in warehouse create\n (client-credentials + system-identity auth, workspace/lakehouse IDs,\n private-endpoint / authority-host options)\n- Generic tables (Lance/Delta/Vortex) unified with Iceberg under one\n Ta\n[…]\nitor; \"Change Deletion\" renamed to\n \"Catalog Settings\" (deletion profile + format policy in one update)\n- Per-queue maintenance summary in TaskManager (last/next run,\n run-now / reschedule / cancel)",
"is_bot": false,
"headline": "feat(ui): bump console to v0.15.1 (#1855)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-17T14:23:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "acd19e4dad991446ec1f9eeb8aa62f15a44e3843",
"body": "…1853)\n\nThe `default` storage layout now places tabulars directly under the warehouse\nbase location (`<base>/<tabular-uuid>`) instead of nesting them under the\ndirect-parent namespace (`<base>/<parent-ns-uuid>/<tabular-uuid>`).\n\nStorage paths are assigned once at creation time and never recomputed, \n[…]\nt occur.\n\nBREAKING CHANGE: the default storage layout for newly created namespaces\nchanged from <base>/<parent-namespace-uuid>/<tabular-uuid> to\n<base>/<tabular-uuid>.\n\n* fix tests\n\n* address comments",
"is_bot": false,
"headline": "feat!: flat ({uuid}-only) layout is the new default storage layout (#…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-17T14:22:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5b02770cb17fb3b782a61102bb52e55b0fec7c0f",
"body": null,
"is_bot": false,
"headline": "chore(docs): Add OneLake availablilty note",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-17T14:05:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b7720036db53795a615fa236705181c3236bc60",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>\nCo-authored-by: Christian <christian@vakamo.com>",
"is_bot": true,
"headline": "chore(deps): update busybox docker tag to v1.38.0 (#1808)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-06-17T11:23:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cc1433324b0017b099279f6769eeba210768997",
"body": "Re-pointing a role's source system (`PUT /role/{id}/source-system`) changes its\n`RoleIdent` (provider_id/source_id) but left the in-process caches untouched. That\nident is cached per row in every assignee's USER_ASSIGNMENTS closure\n(`AssignedRole.role_ident`) and in the role's ROLE_MEMBERS entry. Ex\n[…]\neshness stays bounded by TTL as before.\n\nAdds `source_system_rebind_evicts_user_assignment_and_member_closures`, asserting both\nclosures reflect the new ident (and return fresh `Arc`s) after a rebind.",
"is_bot": false,
"headline": "fix(roles): evict membership caches on role source-system rebind (#1849)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-17T11:22:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c43933421f1ee84a90ebcaa576aec27cf7d8e3b9",
"body": "…#1840)\n\n* switch to azure sdk fork\n\n* format custom host into proper url\n\n* bump azure sdk fork rev\n\nignore missing x-ms-request-id header\n\n* bump azure sdk fork rev\n\n* bump azure sdk fork rev\n\n* Drop unneeded SAS permissions\n\n\"Normal\" Blob/DFS endpoints support restricted SAS permissions for\ndirec\n[…]\ne profile 7/?\n\n* fabric storage profile 8/?: nits\n\n* fabric storage profile 9/?: more nits\n\n* fabric storage profile 10/? -> rename to onelake storage profile\n\n* fabric storage profile 11/?: more nits",
"is_bot": false,
"headline": "feat: Support Private Endpoints and Onelake/Fabric Storage Accounts (…",
"author_name": "brgr-s",
"author_login": "brgr-s",
"committed_at": "2026-06-16T13:34:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e02fbc05eae37d52404a261014c88541c8012b3d",
"body": "…tion (#1848)\n\nRebinding a role's external identity (`PUT /role/{id}/source-system`) was\nauthorized by the generic `CatalogRoleAction::Update` — the same permission as\nediting a name/description. A rebind redirects which external group's members a\nprovider sync flows into the role, so it now uses a \n[…]\nariant and `RoleAction` is\nno longer `Copy`; downstream authorizer implementations must handle\n`UpdateSourceSystem`, and the rebind now requires membership-control permission\nrather than plain update.",
"is_bot": false,
"headline": "feat(authz): gate role source-system rebind as a destination-aware ac…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-16T11:01:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dc137bc1074c2361476d87a7544045e56688f231",
"body": "* chore(ci): free disk space before Docker image builds\n\nThe docker_build reusable workflow and release.yml's build-docker job build\nfull images on hosted runners and intermittently fail with \"no space left on\ndevice\" (#1821, #1841). Add jlumbroso/free-disk-space (SHA-pinned) before the\nbuild to reclaim unused preinstalled toolchains (Android/.NET/Haskell/swap),\nkeeping Docker images and skipping the slow apt purge.",
"is_bot": false,
"headline": "chore(ci): free disk space before Docker image builds (#1842)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-16T09:47:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cca7bce586e1685df23fc45a104c78af2ef23a01",
"body": "…nts (#1844)\n\n* feat(authz)!: surface contributing policies in authorization audit events\n\nWiden the authorizer batch API to return per-decision diagnostics so audit\nevents can record *which* policies determined an authorization outcome, not\njust allow/deny.\n\n- Add authorizer-agnostic `Authorization\n[…]\nallowed\n\nThe tabular _vec methods were the last producers of MustUse<Vec<bool>>;\nonce they switched to Vec<AuthorizationDecision> the impl became unreachable\nand its doc comment misleading. Remove it.",
"is_bot": false,
"headline": "feat(authz): surface contributing policies in authorization audit eve…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-16T09:23:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "de8fc08fd1544a17e38d8787de0d1a277a62c24d",
"body": "… (#1847)\n\nWhen a warehouse is configured with `aws-kms-key-arn`, advertise\n`s3.sse.type=kms` / `s3.sse.key=<arn>` to clients so their own writes\n(vended credentials / remote signing) encrypt with the configured key,\ninstead of relying solely on S3 bucket-default encryption. Emitted in all\nthree cli\n[…]\nough vended credentials\nand asserts every object is `aws:kms`-encrypted with the configured key.\nWires the suite into CI and forwards the KMS bucket/key secrets to the\nintegration-test docker-compose.",
"is_bot": false,
"headline": "feat(s3): vend SSE-KMS config to clients for KMS-encrypted warehouses…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-15T13:55:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "53c90af3deda3fa193e7a7a1f94f6cabcc395880",
"body": "engineerd/setup-kind@v0.6.2 broke main CI when its mutable tag was force-moved\nto a commit missing the action entrypoint (dist/main/index.js). Replace it with\nthe maintained, SHA-pinned helm/kind-action, keeping kind v0.24.0 /\nkindest/node:v1.31.0 and cluster name `kind` so behavior is unchanged. Also\npre-pull the node image with retry to absorb Docker Hub pull flakiness.",
"is_bot": false,
"headline": "ci: replace unmaintained setup-kind with helm/kind-action (#1846)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-13T13:22:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "119db7460a11ac5e4186f202cc29ecb3c9f8c510",
"body": "…d resurrection race) (#1843)\n\nEvery in-process cache invalidated entries with a bare moka `invalidate()`,\nwhich runs in a different lock domain than the single-flight read-through\nloader. A loader that read the DB just before a delete/revocation committed\ncould re-insert its stale snapshot *after* \n[…]\nce only; cross-replica revocation lag (<=TTL) is\nunchanged.\n\nAdds deterministic race regression tests (a revocation racing an in-flight\nloader must win) for user-assignments, role-members and secrets.",
"is_bot": false,
"headline": "fix(cache): serialize invalidation with the read-through loader (by-i…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-13T11:25:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "211d1a1382db53ba50826156ab1e1d19b559816f",
"body": "…e (#1841)\n\nThe user-assignments cache allocated a fresh `Arc<RoleIdent>` and\n`Arc<ProjectId>` for every (user, role) row, so a role or project held by\nN users kept N copies of its identity in memory. This grew with user count\nand could dominate the cache's footprint for large fleets, while the\nentr\n[…]\n. `moka` keeps it sharded and\n lock-free under concurrent loads.\n- Adds `lakekeeper_cache_size` gauges under cache_type `shared_role_idents`\n and `shared_project_ids` to confirm dedup in production.",
"is_bot": false,
"headline": "feat(cache): dedup role/project identity in the user-assignments cach…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-12T17:36:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8c5da57323fca8503ebe8aa2a4b4cadbc23a6507",
"body": "feat(roles): role-membership management API (users + nested roles)\n\nA role member is either a user or another role. Adds management v1 endpoints to\nadd/remove members, list a role's direct and transitive members and member-of\nsets, and list a user's direct/transitive roles. Both authorizer backends \n[…]\noft-deleted users.\n\nIncludes the regenerated OpenAPI spec, OpenFGA model updates, a migration\n(endpoint enum values, nullable users.name, user search/pagination indexes), and\nunit + integration tests.",
"is_bot": false,
"headline": "feat(roles): role-membership management API (#1829)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-11T10:00:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d2ff38feae0abccde9cd780ee20eb27ba8884590",
"body": "…-file jobs",
"is_bot": false,
"headline": "docs(maintenance): note encrypted tables are skipped by expire/orphan…",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-11T07:59:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "791650571da769679a2037102a9737eb4fc84cfa",
"body": "Expose Lakekeeper's own read/write connection pools so client-side pool\nsaturation — previously invisible — can be monitored and alerted on.\npostgres_exporter only sees the database server's connection slots; a\nclient pool can saturate while the server still has free slots.\n\nNew Prometheus metrics (\n[…]\nhen sqlx\nreturns PoolTimedOut (covers transaction acquisition — the path catalog\nreads/writes use — not ad-hoc direct-pool queries).\n\nDocumented under \"Connection Pool (client-side)\" in monitoring.md.",
"is_bot": false,
"headline": "feat(metrics): add client-side Postgres connection-pool metrics (#1838)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-11T06:56:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1b97d536c0f8c47cbcee57bf35cd282f12cd04c9",
"body": "… (#1837)\n\nW4 — TTL jitter: each catalog cache entry now expires after a small\ndownward-only random fraction of its configured TTL (90-100%, via a shared\n`JitteredTtl` expiry), desynchronizing cross-replica expiry so replicas that\nwarmed the same hot key don't re-derive it on the same TTL boundary (\n[…]\nhe namespace by-id read-through —\nexistence now comes from the load itself, not solely a post-insert cache\nre-read, so an eviction racing the insert can't report not-found for a\nnamespace that exists.",
"is_bot": false,
"headline": "feat(cache): jitter cache TTLs and add role-membership fan-out metric…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-10T13:41:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eb6983fc6ae45442ed7b15f9e3764ae981139cfc",
"body": "…mins (#1828)",
"is_bot": false,
"headline": "feat(warehouse): add managed-by ownership to lock spec to instance ad…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-10T12:38:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a39e606924eeb63c69c453882892d279cda85c9a",
"body": "Concurrent identical misses on the in-process caches previously each ran\ntheir own backend load — a per-replica thundering herd against the DB and,\nfor storage credentials, the rate-limited cloud STS/SAS endpoints. Add\nrequest coalescing (single-flight) to every hot read-through so concurrent\nmisses\n[…]\ns, which must not be published to other requests.\n\nDocs:\n\n configuration.md: clarify the STC capacity ceiling is per cloud provider,\n and document the previously-undocumented role-members cache.",
"is_bot": false,
"headline": "feat(cache): single-flight the hot cache read-throughs (#1833)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-10T12:12:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a992861985457b2cfea4fef33b0da732c26a9611",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>\nCo-authored-by: Christian <christian@vakamo.com>",
"is_bot": true,
"headline": "chore(deps): update github-actions to fd2f5e3 (#1834)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-06-10T11:54:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e9da34b131d2f78c6c3f8d7cee301d788c7be36",
"body": "…r (#1836)\n\nThe REST spec keeps the Iceberg-standard `default: false` on the dropTable\n`purgeRequested` parameter, but Lakekeeper treats an omitted flag as\npurge=true for managed tables. The rendered API docs therefore implied a\nbehaviour that doesn't match the server (reported in #1832).\n\nAmend the\n[…]\nthe schema default\nstandard-compliant. The change is applied via a new\n`clarify-table-purge-default-rest-openapi` justfile recipe so it survives\nre-downloads of the upstream Apache spec.\n\nCloses #1832",
"is_bot": false,
"headline": "docs(openapi): clarify purgeRequested default vs. Lakekeeper behaviou…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-10T09:11:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "45c8db0e657615cd64394a3fb9de3cdd125f4524",
"body": "delete_batch fanned out up to 100 concurrent connections per call to a single\nstorage host. On CI runners this exhausts ephemeral ports/SNAT and surfaces as\nTCP connect timeouts (os error 110, \"retry policy expired\") that flakily fail\nADLS/GCS integration tests. Azure-side metrics show no throttling\n[…]\nLS and GCS delete_batch concurrency from 100 to 16, matching the bounded\nconcurrency object_store uses for bulk deletes (10). S3 is unchanged — it uses\nthe native batch-delete API with adaptive retry.",
"is_bot": false,
"headline": "fix(io): bound batch-delete concurrency to avoid connection exhaustion",
"author_name": "Christian Thiel",
"author_login": "c-thiel",
"committed_at": "2026-06-10T09:09:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee1c26298aaeaa8dc8df53ab0764ed49d48fe52d",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>\nCo-authored-by: Christian <christian@vakamo.com>",
"is_bot": true,
"headline": "chore(deps): update rust crate similar to v3 (#1694)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-06-10T07:43:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dac3ef8144afc85a6d5d774ee43fc3d4553e209c",
"body": "…gnore (#1835)\n\nRUSTSEC-2026-0174 flags unsound ASCII handling in http-types' typed\nauth::Authorization/WwwAuthenticate. We are not affected: the only path to\nhttp-types is azure_core 0.21 (ADLS), which uses it solely for Method/StatusCode\nand never those auth types, so the code is unreachable. Ignore it with that\njustification (unmaintained crate, no upgrade available).",
"is_bot": false,
"headline": "chore(deny): ignore unreachable http-types advisory; drop stale rsa i…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-10T07:21:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "886254954d8de533111656e9c9cfe84bc6e32348",
"body": "Deleting a role removed it from ROLE_CACHE (via the role_deleted event)\nbut never evicted the per-user effective-roles cache\n(USER_ASSIGNMENTS_CACHE) or the role's own member-list cache\n(ROLE_MEMBERS_CACHE). The DB delete cascades the\nrole_assignment/role_membership rows, but delete_roles returns on\n[…]\nlete_user eviction.\n\nNo parent eviction: ROLE_MEMBERS_CACHE stores a role's direct\nuser-assignees only, never its member-roles, so a parent's cached entry\ncannot go stale when a child role is deleted.",
"is_bot": false,
"headline": "fix(authz): evict role-assignment caches when deleting a role (#1830)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-08T14:45:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5a14d571438c06618787c0ce8a084129bf46e805",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update github-actions (#1805)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-06-08T14:41:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ff40360c203842e15b5483bfe924a1e8a193f5c",
"body": "… (#1827)\n\nADLS and GCS fetch a bearer token from the provider's OAuth endpoint\n(login.microsoftonline.com / oauth2.googleapis.com) during credential and\nclient setup. That token-fetch path is not covered by the data-plane retry\npolicy (ADLS FixedRetryOptions) or retry middleware (GCS reqwest-retry)\n[…]\nst retries\n(exponential backoff, count 2, jitter) scoped to the io integration tests, so\nthe connection burst is bounded and residual transient blips pass on re-run.\nPure logic tests keep retries = 0.",
"is_bot": false,
"headline": "fix(io): retry transient failures when acquiring storage OAuth tokens…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-08T06:50:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8c7b4c021518160aae5c5fbd73240199fad2e1e4",
"body": "…sets (#1826)\n\nLanding page (site/overrides/home.html):\n- Restructure \"Our Features\" into five grouped, de-duplicated capability\n boxes; add Centralized & Open Access Control, Row & Column-Level\n Security, Dynamic Catalog Management, Iceberg & Generic Tables,\n Rust-Native Performance and Producti\n[…]\nclosed bold headings.\n- Rename \"Enterprise\" -> \"Lakekeeper Plus\" in configuration, nav and release\n notes; use \"Vault-compatible\" wording in customize.\n- Clarify Postgres >= 15 compatibility wording.",
"is_bot": false,
"headline": "docs: refresh landing page, restructure API docs, lighten per-page as…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-07T12:28:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c6f13277a7f49b8a4c6c078367c3cc64f072bace",
"body": "…ng (#1824)\n\nLays the catalog/authz groundwork for the role-membership management API\n(REST surface lands separately) and ships two standalone correctness fixes.\n\nFoundation (no public endpoints yet):\n- Authz actions CatalogRoleAction::{ManageRoleAssignments,ReadRoleAssignments}\n and CatalogUserAct\n[…]\ned user is no longer listed as a role member.\n- Provider sync refuses the reserved `system`/`lakekeeper` providers, preventing\n an external provider from injecting members into catalog-managed roles.",
"is_bot": false,
"headline": "feat(roles): role-membership backend foundation + consistency hardeni…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-07T11:51:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "18339d44d1cd7aecde0d4d7dce36ed82df2a9230",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: no changes\n- lakekeeper.cedarschema: no changes\n- enterprise-release-notes.md: updated\n\nSource commit: 9215f06d57f71de0455dd46011dbc00f30143cdf\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1825)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-07T09:47:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc0d455b25c45676dbfe7e44eeddca64599428f0",
"body": "New \"Docs Link Check\" workflow runs on every PR: fail on broken anchors in the\nnightly docs (mkdocs validates anchors per-page; released versions are frozen\nsnapshots and are skipped) and run lychee over the assembled site for file/asset\nexistence — resolving the cross-unit and shared-asset paths th\n[…]\nchors, lychee\n with --root-dir, no --include-fragments, excluding the doubled nightly/docs orphan)\n- site/mkdocs.yml: tune link validation (anchors warn; cross-unit not_found /\n absolute_links info)",
"is_bot": false,
"headline": "chore(docs): add a per-PR docs link-check gate (#1823)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-06T09:59:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "699d43af122add45e1baef11d3803287d404c3ad",
"body": "Automated sync of documentation files from lakekeeper-plus:\n- management-open-api-plus.yaml: updated\n- lakekeeper.cedarschema: updated\n- enterprise-release-notes.md: updated\n\nSource commit: 94d6bd23705fb2b75ecaba207963102d8ae2c99f\n\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(docs): Sync documentation from enterprise repo (#1818)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-06T09:57:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb154b14ba0e51b10451088e7daaefb6e8676d11",
"body": "…uirement (#1821)\n\nAdd an About → Enterprise Release Notes page that surfaces the curated\nLakekeeper Enterprise release notes on the public docs site, with a nav entry\nand a cross-link from the OSS release-notes page. The page is mirrored from the\nenterprise repo's RELEASE_NOTES.md by the existing d\n[…]\n schema), so list it\nin the \"Required User attributes\" tip and add it (as []) to both example entity\nfiles, matching tests/cedar/entities.json. Omitting it causes a schema\nvalidation error on startup.",
"is_bot": false,
"headline": "docs: publish enterprise release notes; fix Cedar global_role_ids req…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-05T15:10:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dc7eede89585ef91e008be92d62d08c3ea303a9e",
"body": "…s (#1820)\n\nIceberg 1.11.0 renamed the S3 remote-signing config keys from the\nS3-namespaced s3.signer.uri/s3.signer.endpoint (S3V4RestSignerClient) to\nthe generic signer.uri/signer.endpoint (RESTCatalogProperties). The old\nkeys are deprecated and removed in 1.12.0; clients >=1.11 log a\ndeprecation w\n[…]\ne signing\nis enabled. Clients >=1.11 read the new keys (no warning), while older\nclients keep using s3.signer.*. The sign endpoint and protocol are\nunchanged — this is purely a config-property rename.",
"is_bot": false,
"headline": "feat(storage): emit Iceberg 1.11 signer.uri/signer.endpoint propertie…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-05T13:58:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1440e1d1a372ce5a5bb1f7e93352a4e913c19420",
"body": "Reject a role->role membership edge that would make any nesting chain\ndeeper than LAKEKEEPER__ROLE__MAX_NESTING_DEPTH (default 10), enforced\ninside the existing locked add_role_members transaction alongside the\ncycle check. Surfaced as the typed RoleMembershipDepthExceeded error\n(HTTP 409). Reads (t\n[…]\ntry as cycle prevention. role_membership\nedges are written exclusively by add_role_members, so bounding it fully\nbounds nesting depth; the user-sync path assigns only users (leaves) and\nis unaffected.",
"is_bot": false,
"headline": "feat(roles): bound role-in-role nesting depth at write time (#1819)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-05T11:41:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "47489d8a7f1ef6c086c0ae997da86d696fa3a71e",
"body": "Hierarchical/recursive catalog roles: a role can be a direct member of\nanother role, and a user's effective roles resolve transitively through\nthe membership graph. Backend/DB layer only — no public REST/OpenAPI/SDK\nsurface yet.\n\n- New `role_membership(parent_role_id, member_role_id)` edge table: PK\n[…]\nnly in the\n catalog path). Parse failures narrowed into `ParseOpenFgaEntityError`;\n facet errors precisely typed (`AddRoleAssignmentsError`,\n `ListRoleAssignmentsError`, `MalformedRoleAssignment`).",
"is_bot": false,
"headline": "feat(roles): backend support for role-in-role membership (#1816)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-05T08:43:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eac89493f0a8297aa7490f5df8beb2d054ec73fc",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency mkdocs-material to v9.7.6 (#1804)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-06-05T08:36:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92435c174ae4316d6975a1030f3c8546320d632c",
"body": "…book (#1817)\n\nReplace the raw-changelog embed on the docs-site Release Notes page\n(site/docs/about/release-notes.md) with curated, customer-facing notes for\nv0.12.0–v0.12.3, and add a maintainer runbook (.github/RELEASING.md) plus an\nAGENTS.md authoring rule.\n\nRelease notes are summarised from PR d\n[…]\nons at release by following the\nchangelog's PR links; CHANGELOG.md stays the mechanical release-please index.\nTechnical details (config keys, env vars, cache-metric names) verified against\nthe source.",
"is_bot": false,
"headline": "docs(release-notes): curate site Release Notes page + add release run…",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-05T07:14:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5e89416dd7fd26bdc7008f347ee05e2b53b58080",
"body": "The two ADLS integration tests (test_large_files_adls,\ntest_batch_delete_many_items_some_nonexistant_adls) were flaky in CI,\nalways failing with \"retry policy expired and the request will no longer\nbe retried\" on \"tcp connect error: Connection timed out (os error 110)\".\n\nRoot cause: the reqwest clie\n[…]\ne policy before any retry could fire.\n\nAdd a 10s connect_timeout so connect attempts fail fast, and raise the\nretry budget to 30s so a few retries fit within it and a transient blip\nhas time to clear.",
"is_bot": false,
"headline": "fix(io): make ADLS retry budget span connect timeouts (#1815)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-04T15:27:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "600c3fab9d11181813a4ae5eed7511636b9edce3",
"body": "Two new workspace crates own the cloud-events publisher backends; the\ncore `lakekeeper` crate keeps only the `CloudEventBackend` trait, the\nin-process `TracingPublisher`, and the audit backend. Same pattern as\nthe storage-postgres split (#1812).\n\n### New crates\n\n- `lakekeeper-events-nats`\n - `NatsB\n[…]\nfkaConfig>`\n leak from core config.\n- The vendored `cloudevents-binding-rdkafka` is now isolated to the\n kafka crate — the \"upstream PR or keep vendored\" decision no longer\n pollutes the main tree.",
"is_bot": false,
"headline": "chore(events)!: split nats + kafka backends into separate crates (#1814)",
"author_name": "Christian",
"author_login": "c-thiel",
"committed_at": "2026-06-04T09:59:06Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 51,
"commits_last_year": 538,
"latest_release_at": "2026-06-30T21:11:08Z",
"latest_release_tag": "v0.13.1",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 51,
"days_since_latest_release": 26,
"mean_days_between_releases": 10.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 151,
"stars": 1399,
"watchers": 10,
"fork_history": {
"days": [
{
"date": "2024-05-15",
"count": 1
},
{
"date": "2024-06-06",
"count": 1
},
{
"date": "2024-06-17",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-07-29",
"count": 1
},
{
"date": "2024-08-14",
"count": 1
},
{
"date": "2024-08-16",
"count": 1
},
{
"date": "2024-08-30",
"count": 1
},
{
"date": "2024-09-20",
"count": 1
},
{
"date": "2024-09-29",
"count": 1
},
{
"date": "2024-10-14",
"count": 1
},
{
"date": "2024-10-23",
"count": 1
},
{
"date": "2024-11-08",
"count": 1
},
{
"date": "2024-11-27",
"count": 1
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-04",
"count": 1
},
{
"date": "2024-12-12",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2024-12-15",
"count": 1
},
{
"date": "2025-01-23",
"count": 1
},
{
"date": "2025-01-24",
"count": 2
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-14",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-13",
"count": 2
},
{
"date": "2025-03-14",
"count": 1
},
{
"date": "2025-03-17",
"count": 1
},
{
"date": "2025-03-19",
"count": 1
},
{
"date": "2025-03-25",
"count": 1
},
{
"date": "2025-03-29",
"count": 1
},
{
"date": "2025-04-05",
"count": 1
},
{
"date": "2025-04-06",
"count": 1
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-04-16",
"count": 3
},
{
"date": "2025-04-29",
"count": 1
},
{
"date": "2025-04-30",
"count": 1
},
{
"date": "2025-05-02",
"count": 1
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-07",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-22",
"count": 1
},
{
"date": "2025-05-24",
"count": 1
},
{
"date": "2025-05-28",
"count": 1
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-06-01",
"count": 1
},
{
"date": "2025-06-04",
"count": 1
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-06-11",
"count": 3
},
{
"date": "2025-06-12",
"count": 2
},
{
"date": "2025-06-13",
"count": 1
},
{
"date": "2025-06-15",
"count": 2
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-06-29",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-08",
"count": 1
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-07-23",
"count": 2
},
{
"date": "2025-08-05",
"count": 2
},
{
"date": "2025-08-06",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-09",
"count": 1
},
{
"date": "2025-08-11",
"count": 2
},
{
"date": "2025-08-21",
"count": 2
},
{
"date": "2025-09-08",
"count": 1
},
{
"date": "2025-09-17",
"count": 1
},
{
"date": "2025-09-26",
"count": 1
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-10-10",
"count": 2
},
{
"date": "2025-10-15",
"count": 1
},
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-10-26",
"count": 1
},
{
"date": "2025-11-08",
"count": 1
},
{
"date": "2025-11-09",
"count": 1
},
{
"date": "2025-11-11",
"count": 1
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-20",
"count": 1
},
{
"date": "2025-11-21",
"count": 1
},
{
"date": "2025-11-24",
"count": 1
},
{
"date": "2025-11-28",
"count": 1
},
{
"date": "2025-11-29",
"count": 2
},
{
"date": "2025-12-01",
"count": 2
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-05",
"count": 3
},
{
"date": "2025-12-09",
"count": 1
},
{
"date": "2025-12-22",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-25",
"count": 1
},
{
"date": "2025-12-28",
"count": 1
},
{
"date": "2025-12-29",
"count": 1
},
{
"date": "2026-01-21",
"count": 1
},
{
"date": "2026-01-30",
"count": 1
},
{
"date": "2026-02-01",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-14",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-06",
"count": 2
},
{
"date": "2026-03-11",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-28",
"count": 2
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-11",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-19",
"count": 3
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-23",
"count": 2
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-07",
"count": 1
},
{
"date": "2026-06-08",
"count": 2
},
{
"date": "2026-06-18",
"count": 1
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-07-03",
"count": 1
},
{
"date": "2026-07-04",
"count": 1
},
{
"date": "2026-07-09",
"count": 1
},
{
"date": "2026-07-19",
"count": 1
},
{
"date": "2026-07-22",
"count": 1
},
{
"date": "2026-07-24",
"count": 2
}
],
"complete": true,
"collected": 150,
"total_forks": 151
},
"star_history": null,
"open_issues_and_prs": 100
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples",
"notebooks"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"examples/kafka-connect-iceberg-sink/Makefile",
"justfile",
"site/justfile",
"tests/migrations/justfile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"Cargo.toml",
"crates/authz-openfga/Cargo.toml",
"crates/iceberg-ext/Cargo.toml",
"crates/io/Cargo.toml",
"crates/lakekeeper-bin/Cargo.toml",
"crates/lakekeeper-events-kafka/Cargo.toml",
"crates/lakekeeper-events-nats/Cargo.toml",
"crates/lakekeeper-integration-tests/Cargo.toml",
"crates/lakekeeper-secrets-kv2/Cargo.toml",
"crates/lakekeeper-storage-postgres/Cargo.toml",
"crates/lakekeeper/Cargo.toml"
],
"largest_source_bytes": 220387,
"source_files_sampled": 332,
"oversized_source_files": 28,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 3751
},
"dependencies": {
"manifests": [
"Cargo.toml",
"site/requirements.txt"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "quick-xml",
"direct": true,
"version": "0.40.1",
"severity": "high",
"ecosystem": "crates",
"cvss_score": 7.5,
"advisory_ids": [
"RUSTSEC-2026-0194",
"RUSTSEC-2026-0195"
],
"fixed_version": "0.41.0",
"advisory_count": 2,
"oldest_advisory_days": 28
},
{
"name": "thrift",
"direct": false,
"version": "0.17.0",
"severity": "moderate",
"ecosystem": "crates",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-2f9f-gq7v-9h6m"
],
"fixed_version": "0.23.0",
"advisory_count": 1,
"oldest_advisory_days": 83
},
{
"name": "rand",
"direct": false,
"version": "0.7.3",
"severity": "low",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"GHSA-cq8v-f236-94qc",
"RUSTSEC-2026-0097"
],
"fixed_version": "0.10.1",
"advisory_count": 2,
"oldest_advisory_days": 109
},
{
"name": "http-types",
"direct": false,
"version": "2.12.0",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0174"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 138
},
{
"name": "instant",
"direct": false,
"version": "0.1.13",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2024-0384"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 694
},
{
"name": "paste",
"direct": false,
"version": "1.0.15",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2024-0436"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 658
},
{
"name": "rustls-pemfile",
"direct": false,
"version": "2.2.0",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2025-0134"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 241
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 1,
"unknown": 4,
"moderate": 1
},
"advisory_count": 9,
"affected_count": 7,
"assessed_count": 763,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 22,
"direct_affected_count": 1
},
"ecosystems": [
"crates",
"pypi"
],
"dependencies": [
{
"name": "anyhow",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "chrono",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "openfga-client",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.6"
},
{
"name": "serde",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum_macros",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "urlencoding",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "utoipa",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "veil",
"manifest": "crates/authz-openfga/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "heck",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-io",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "pastey",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_derive",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum_macros",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "utoipa",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "valuable",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "xxhash-rust",
"manifest": "crates/iceberg-ext/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-stream",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-config",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-credential-types",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-sdk-s3",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-async",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-http-client",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-runtime-api",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-types",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_core",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_identity",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_storage",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_storage_blobs",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_storage_datalake",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "bytes",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "chrono",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "derive_more",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "google-cloud-auth",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "google-cloud-storage",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "google-cloud-token",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "md5",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "moka",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "percent-encoding",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "reqwest",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "reqwest-middleware",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "reqwest-retry",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum_macros",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "time",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tryhard",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typetag",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "unicode-general-category",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "veil",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "webpki-root-certs",
"manifest": "crates/io/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "clap",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "^4.5"
},
{
"name": "figment",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-authz-openfga",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-console",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-events-kafka",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-events-nats",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-secrets-kv2",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-storage-postgres",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "limes",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "reqwest",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tikv-jemallocator",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing-subscriber",
"manifest": "crates/lakekeeper-bin/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "cloudevents-sdk",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment_file_provider_adapter",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "rdkafka",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "veil",
"manifest": "crates/lakekeeper-events-kafka/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-nats",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "cloudevents-sdk",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "veil",
"manifest": "crates/lakekeeper-events-nats/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-channel",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "chrono",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg-ext",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "itertools",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-io",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-storage-postgres",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "maplit",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "pastey",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "sqlx",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "utoipa",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/lakekeeper-integration-tests/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg-ext",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "vaultrs",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.8"
},
{
"name": "vaultrs-login",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.2.4"
},
{
"name": "veil",
"manifest": "crates/lakekeeper-secrets-kv2/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "base64",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "chrono",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "crc",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "derive_more",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "fastrand",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg-ext",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iso8601",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "itertools",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-io",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "metrics",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "sqlx",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tryhard",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/lakekeeper-storage-postgres/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-config",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-credential-types",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-sdk-sts",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-sigv4",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-runtime-api",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum-extra",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum-prometheus",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_core",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_storage",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "azure_storage_blobs",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "base64",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "chrono",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "cloudevents-sdk",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "derive_more",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "fastrand",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "figment",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "flate2",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "google-cloud-auth",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "google-cloud-token",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "hmac",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "hostname",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "http-body-util",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "~0.1"
},
{
"name": "iceberg",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iceberg-ext",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "iso8601",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "itertools",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "k8s-openapi",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lakekeeper-io",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "lazy-regex",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "limes",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "moka",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "pastey",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "percent-encoding",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "quick-xml",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "reqwest",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "semver",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_norway",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_urlencoded",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "sha1",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "sqlx",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "strum_macros",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "time",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio-metrics",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio-util",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tower",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tower-http",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "typed-builder",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "unicase",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "url",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "urlencoding",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "utoipa",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "utoipa-swagger-ui",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "valuable",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "veil",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "xxhash-rust",
"manifest": "crates/lakekeeper/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "anyhow",
"direct": true,
"version": "1.0.103",
"ecosystem": "crates"
},
{
"name": "async-channel",
"direct": true,
"version": "1.9.0",
"ecosystem": "crates"
},
{
"name": "async-channel",
"direct": true,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "async-nats",
"direct": true,
"version": "0.46.0",
"ecosystem": "crates"
},
{
"name": "async-stream",
"direct": true,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "async-trait",
"direct": true,
"version": "0.1.89",
"ecosystem": "crates"
},
{
"name": "aws-config",
"direct": true,
"version": "1.8.18",
"ecosystem": "crates"
},
{
"name": "aws-credential-types",
"direct": true,
"version": "1.2.14",
"ecosystem": "crates"
},
{
"name": "aws-sdk-s3",
"direct": true,
"version": "1.135.0",
"ecosystem": "crates"
},
{
"name": "aws-sdk-sts",
"direct": true,
"version": "1.106.0",
"ecosystem": "crates"
},
{
"name": "aws-sigv4",
"direct": true,
"version": "1.4.5",
"ecosystem": "crates"
},
{
"name": "aws-smithy-async",
"direct": true,
"version": "1.2.14",
"ecosystem": "crates"
},
{
"name": "aws-smithy-http-client",
"direct": true,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime-api",
"direct": true,
"version": "1.12.3",
"ecosystem": "crates"
},
{
"name": "aws-smithy-types",
"direct": true,
"version": "1.4.9",
"ecosystem": "crates"
},
{
"name": "axum",
"direct": true,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "axum-extra",
"direct": true,
"version": "0.12.6",
"ecosystem": "crates"
},
{
"name": "axum-prometheus",
"direct": true,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "azure_core",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "azure_identity",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "azure_storage",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "azure_storage_blobs",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "azure_storage_datalake",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "base64",
"direct": true,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "base64",
"direct": true,
"version": "0.22.1",
"ecosystem": "crates"
},
{
"name": "bytes",
"direct": true,
"version": "1.11.1",
"ecosystem": "crates"
},
{
"name": "chrono",
"direct": true,
"version": "0.4.45",
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "cloudevents-sdk",
"direct": true,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "crc",
"direct": true,
"version": "3.4.0",
"ecosystem": "crates"
},
{
"name": "derive_more",
"direct": true,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": true,
"version": "1.9.0",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": true,
"version": "2.4.1",
"ecosystem": "crates"
},
{
"name": "figment",
"direct": true,
"version": "0.10.19",
"ecosystem": "crates"
},
{
"name": "figment_file_provider_adapter",
"direct": true,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": true,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "futures",
"direct": true,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "heck",
"direct": true,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "hmac",
"direct": true,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "hmac",
"direct": true,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "hostname",
"direct": true,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "http",
"direct": true,
"version": "0.2.12",
"ecosystem": "crates"
},
{
"name": "http",
"direct": true,
"version": "1.4.1",
"ecosystem": "crates"
},
{
"name": "http-body-util",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "http-body-util",
"direct": true,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "iceberg",
"direct": true,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "iso8601",
"direct": true,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": true,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": true,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "k8s-openapi",
"direct": true,
"version": "0.28.0",
"ecosystem": "crates"
},
{
"name": "lakekeeper-console",
"direct": true,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "lazy-regex",
"direct": true,
"version": "3.6.0",
"ecosystem": "crates"
},
{
"name": "limes",
"direct": true,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "maplit",
"direct": true,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "md5",
"direct": true,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "metrics",
"direct": true,
"version": "0.24.6",
"ecosystem": "crates"
},
{
"name": "moka",
"direct": true,
"version": "0.12.15",
"ecosystem": "crates"
},
{
"name": "openfga-client",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "openfga-client",
"direct": true,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "pastey",
"direct": true,
"version": "0.2.3",
"ecosystem": "crates"
},
{
"name": "percent-encoding",
"direct": true,
"version": "2.3.2",
"ecosystem": "crates"
},
{
"name": "quick-xml",
"direct": true,
"version": "0.40.1",
"ecosystem": "crates"
},
{
"name": "quick-xml",
"direct": true,
"version": "0.41.0",
"ecosystem": "crates"
},
{
"name": "rdkafka",
"direct": true,
"version": "0.38.0",
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": true,
"version": "0.12.28",
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": true,
"version": "0.13.4",
"ecosystem": "crates"
},
{
"name": "reqwest-middleware",
"direct": true,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "reqwest-retry",
"direct": true,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "semver",
"direct": true,
"version": "1.0.28",
"ecosystem": "crates"
},
{
"name": "serde",
"direct": true,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_derive",
"direct": true,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": true,
"version": "1.0.150",
"ecosystem": "crates"
},
{
"name": "serde_norway",
"direct": true,
"version": "0.9.42",
"ecosystem": "crates"
},
{
"name": "serde_urlencoded",
"direct": true,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "sha1",
"direct": true,
"version": "0.10.6",
"ecosystem": "crates"
},
{
"name": "sha1",
"direct": true,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "sqlx",
"direct": true,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "strum",
"direct": true,
"version": "0.27.2",
"ecosystem": "crates"
},
{
"name": "strum_macros",
"direct": true,
"version": "0.27.2",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": true,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": true,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "tikv-jemallocator",
"direct": true,
"version": "0.6.1",
"ecosystem": "crates"
},
{
"name": "time",
"direct": true,
"version": "0.3.47",
"ecosystem": "crates"
},
{
"name": "tokio",
"direct": true,
"version": "1.52.3",
"ecosystem": "crates"
},
{
"name": "tokio-metrics",
"direct": true,
"version": "0.4.9",
"ecosystem": "crates"
},
{
"name": "tokio-util",
"direct": true,
"version": "0.7.18",
"ecosystem": "crates"
},
{
"name": "tower",
"direct": true,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "tower-http",
"direct": true,
"version": "0.6.11",
"ecosystem": "crates"
},
{
"name": "tracing",
"direct": true,
"version": "0.1.44",
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": true,
"version": "0.3.23",
"ecosystem": "crates"
},
{
"name": "tryhard",
"direct": true,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "typed-builder",
"direct": true,
"version": "0.20.1",
"ecosystem": "crates"
},
{
"name": "typed-builder",
"direct": true,
"version": "0.23.2",
"ecosystem": "crates"
},
{
"name": "typetag",
"direct": true,
"version": "0.2.22",
"ecosystem": "crates"
},
{
"name": "unicase",
"direct": true,
"version": "2.9.0",
"ecosystem": "crates"
},
{
"name": "unicode-general-category",
"direct": true,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "url",
"direct": true,
"version": "2.5.8",
"ecosystem": "crates"
},
{
"name": "urlencoding",
"direct": true,
"version": "2.1.3",
"ecosystem": "crates"
},
{
"name": "utoipa",
"direct": true,
"version": "5.5.0",
"ecosystem": "crates"
},
{
"name": "utoipa-swagger-ui",
"direct": true,
"version": "9.0.2",
"ecosystem": "crates"
},
{
"name": "uuid",
"direct": true,
"version": "1.23.2",
"ecosystem": "crates"
},
{
"name": "valuable",
"direct": true,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "vaultrs",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "vaultrs",
"direct": true,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "vaultrs-login",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "vaultrs-login",
"direct": true,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "veil",
"direct": true,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "webpki-root-certs",
"direct": true,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "xxhash-rust",
"direct": true,
"version": "0.8.15",
"ecosystem": "crates"
},
{
"name": "adler2",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "aead",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "aes",
"direct": false,
"version": "0.8.4",
"ecosystem": "crates"
},
{
"name": "aes-gcm",
"direct": false,
"version": "0.10.3",
"ecosystem": "crates"
},
{
"name": "ahash",
"direct": false,
"version": "0.8.12",
"ecosystem": "crates"
},
{
"name": "aho-corasick",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "alloc-no-stdlib",
"direct": false,
"version": "2.0.4",
"ecosystem": "crates"
},
{
"name": "alloc-stdlib",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "allocator-api2",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "android_system_properties",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "annotate-snippets",
"direct": false,
"version": "0.12.16",
"ecosystem": "crates"
},
{
"name": "anstream",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle",
"direct": false,
"version": "1.0.14",
"ecosystem": "crates"
},
{
"name": "anstyle-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle-query",
"direct": false,
"version": "1.1.5",
"ecosystem": "crates"
},
{
"name": "anstyle-wincon",
"direct": false,
"version": "3.0.11",
"ecosystem": "crates"
},
{
"name": "apache-avro",
"direct": false,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "arbitrary",
"direct": false,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "arc-swap",
"direct": false,
"version": "1.9.1",
"ecosystem": "crates"
},
{
"name": "array-init",
"direct": false,
"version": "2.1.0",
"ecosystem": "crates"
},
{
"name": "arraydeque",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "arrow-arith",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-array",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-buffer",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-cast",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-data",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-ipc",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-ord",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-schema",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-select",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "arrow-string",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "as-any",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "assert-json-diff",
"direct": false,
"version": "2.0.2",
"ecosystem": "crates"
},
{
"name": "async-compression",
"direct": false,
"version": "0.4.42",
"ecosystem": "crates"
},
{
"name": "async-io",
"direct": false,
"version": "2.6.0",
"ecosystem": "crates"
},
{
"name": "async-lock",
"direct": false,
"version": "3.4.2",
"ecosystem": "crates"
},
{
"name": "async-process",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "async-signal",
"direct": false,
"version": "0.2.14",
"ecosystem": "crates"
},
{
"name": "async-stream-impl",
"direct": false,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "async-task",
"direct": false,
"version": "4.7.1",
"ecosystem": "crates"
},
{
"name": "atoi",
"direct": false,
"version": "2.0.0",
"ecosystem": "crates"
},
{
"name": "atomic",
"direct": false,
"version": "0.6.1",
"ecosystem": "crates"
},
{
"name": "atomic-waker",
"direct": false,
"version": "1.1.2",
"ecosystem": "crates"
},
{
"name": "autocfg",
"direct": false,
"version": "1.5.1",
"ecosystem": "crates"
},
{
"name": "aws-lc-rs",
"direct": false,
"version": "1.17.0",
"ecosystem": "crates"
},
{
"name": "aws-lc-sys",
"direct": false,
"version": "0.41.0",
"ecosystem": "crates"
},
{
"name": "aws-runtime",
"direct": false,
"version": "1.7.4",
"ecosystem": "crates"
},
{
"name": "aws-sdk-sso",
"direct": false,
"version": "1.101.0",
"ecosystem": "crates"
},
{
"name": "aws-sdk-ssooidc",
"direct": false,
"version": "1.103.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-checksums",
"direct": false,
"version": "0.64.8",
"ecosystem": "crates"
},
{
"name": "aws-smithy-eventstream",
"direct": false,
"version": "0.60.20",
"ecosystem": "crates"
},
{
"name": "aws-smithy-http",
"direct": false,
"version": "0.63.6",
"ecosystem": "crates"
},
{
"name": "aws-smithy-json",
"direct": false,
"version": "0.62.7",
"ecosystem": "crates"
},
{
"name": "aws-smithy-observability",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "aws-smithy-query",
"direct": false,
"version": "0.60.15",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime",
"direct": false,
"version": "1.11.3",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime-api-macros",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-schema",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-xml",
"direct": false,
"version": "0.60.15",
"ecosystem": "crates"
},
{
"name": "aws-types",
"direct": false,
"version": "1.3.16",
"ecosystem": "crates"
},
{
"name": "axum-core",
"direct": false,
"version": "0.5.6",
"ecosystem": "crates"
},
{
"name": "azure_svc_blobstorage",
"direct": false,
"version": "0.21.0",
"ecosystem": "crates"
},
{
"name": "backon",
"direct": false,
"version": "1.6.0",
"ecosystem": "crates"
},
{
"name": "base16ct",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "base64-simd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "base64ct",
"direct": false,
"version": "1.8.3",
"ecosystem": "crates"
},
{
"name": "bigdecimal",
"direct": false,
"version": "0.4.10",
"ecosystem": "crates"
},
{
"name": "bimap",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "bindgen",
"direct": false,
"version": "0.72.1",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "1.3.2",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "2.13.0",
"ecosystem": "crates"
},
{
"name": "block-buffer",
"direct": false,
"version": "0.10.4",
"ecosystem": "crates"
},
{
"name": "block-buffer",
"direct": false,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "blocking",
"direct": false,
"version": "1.6.2",
"ecosystem": "crates"
},
{
"name": "bnum",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "bon",
"direct": false,
"version": "3.9.1",
"ecosystem": "crates"
},
{
"name": "bon-macros",
"direct": false,
"version": "3.9.1",
"ecosystem": "crates"
},
{
"name": "brotli",
"direct": false,
"version": "8.0.3",
"ecosystem": "crates"
},
{
"name": "brotli-decompressor",
"direct": false,
"version": "5.0.1",
"ecosystem": "crates"
},
{
"name": "bs58",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "bstr",
"direct": false,
"version": "1.12.1",
"ecosystem": "crates"
},
{
"name": "bumpalo",
"direct": false,
"version": "3.20.3",
"ecosystem": "crates"
},
{
"name": "bytemuck",
"direct": false,
"version": "1.25.0",
"ecosystem": "crates"
},
{
"name": "byteorder",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "bytes-utils",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.63",
"ecosystem": "crates"
},
{
"name": "cexpr",
"direct": false,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "cfg-if",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "cfg_aliases",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "chacha20",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "cipher",
"direct": false,
"version": "0.4.4",
"ecosystem": "crates"
},
{
"name": "clang-sys",
"direct": false,
"version": "1.8.1",
"ecosystem": "crates"
},
{
"name": "clap_builder",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "clap_derive",
"direct": false,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "clap_lex",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "cmake",
"direct": false,
"version": "0.1.58",
"ecosystem": "crates"
},
{
"name": "cmov",
"direct": false,
"version": "0.5.4",
"ecosystem": "crates"
},
{
"name": "colorchoice",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "combine",
"direct": false,
"version": "4.6.7",
"ecosystem": "crates"
},
{
"name": "compression-codecs",
"direct": false,
"version": "0.4.38",
"ecosystem": "crates"
},
{
"name": "compression-core",
"direct": false,
"version": "0.4.32",
"ecosystem": "crates"
},
{
"name": "concurrent-queue",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.9.6",
"ecosystem": "crates"
},
{
"name": "const-random",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "const-random-macro",
"direct": false,
"version": "0.1.16",
"ecosystem": "crates"
},
{
"name": "core-foundation",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "core-foundation",
"direct": false,
"version": "0.9.4",
"ecosystem": "crates"
},
{
"name": "core-foundation-sys",
"direct": false,
"version": "0.8.7",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "crc-catalog",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "crc-fast",
"direct": false,
"version": "1.10.0",
"ecosystem": "crates"
},
{
"name": "crc32fast",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "crossbeam-channel",
"direct": false,
"version": "0.5.15",
"ecosystem": "crates"
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.20",
"ecosystem": "crates"
},
{
"name": "crossbeam-queue",
"direct": false,
"version": "0.3.12",
"ecosystem": "crates"
},
{
"name": "crossbeam-utils",
"direct": false,
"version": "0.8.21",
"ecosystem": "crates"
},
{
"name": "crunchy",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "crypto-bigint",
"direct": false,
"version": "0.5.5",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "ctr",
"direct": false,
"version": "0.9.2",
"ecosystem": "crates"
},
{
"name": "ctutils",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "curl-sys",
"direct": false,
"version": "0.4.88+curl-8.20.0",
"ecosystem": "crates"
},
{
"name": "curve25519-dalek",
"direct": false,
"version": "4.1.3",
"ecosystem": "crates"
},
{
"name": "curve25519-dalek-derive",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "darling",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "darling",
"direct": false,
"version": "0.23.0",
"ecosystem": "crates"
},
{
"name": "darling_core",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "darling_core",
"direct": false,
"version": "0.23.0",
"ecosystem": "crates"
},
{
"name": "darling_macro",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "darling_macro",
"direct": false,
"version": "0.23.0",
"ecosystem": "crates"
},
{
"name": "data-encoding",
"direct": false,
"version": "2.11.0",
"ecosystem": "crates"
},
{
"name": "defmt",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "defmt-macros",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "defmt-parser",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "delegate-attr",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "der",
"direct": false,
"version": "0.7.10",
"ecosystem": "crates"
},
{
"name": "deranged",
"direct": false,
"version": "0.5.8",
"ecosystem": "crates"
},
{
"name": "derive_arbitrary",
"direct": false,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "derive_builder",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "derive_builder_core",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "derive_builder_macro",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "derive_more-impl",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "diff",
"direct": false,
"version": "0.1.13",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.10.7",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "dirs",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "dirs-sys",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "displaydoc",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "dissimilar",
"direct": false,
"version": "1.0.11",
"ecosystem": "crates"
},
{
"name": "dotenvy",
"direct": false,
"version": "0.15.7",
"ecosystem": "crates"
},
{
"name": "downcast",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "duct",
"direct": false,
"version": "0.13.7",
"ecosystem": "crates"
},
{
"name": "dunce",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "dyn-clone",
"direct": false,
"version": "1.0.20",
"ecosystem": "crates"
},
{
"name": "ecdsa",
"direct": false,
"version": "0.16.9",
"ecosystem": "crates"
},
{
"name": "ed25519",
"direct": false,
"version": "2.2.3",
"ecosystem": "crates"
},
{
"name": "ed25519-dalek",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "either",
"direct": false,
"version": "1.16.0",
"ecosystem": "crates"
},
{
"name": "elliptic-curve",
"direct": false,
"version": "0.13.8",
"ecosystem": "crates"
},
{
"name": "encoding_rs",
"direct": false,
"version": "0.8.35",
"ecosystem": "crates"
},
{
"name": "encoding_rs_io",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "equivalent",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "erased-serde",
"direct": false,
"version": "0.4.10",
"ecosystem": "crates"
},
{
"name": "errno",
"direct": false,
"version": "0.3.14",
"ecosystem": "crates"
},
{
"name": "etcetera",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "event-listener",
"direct": false,
"version": "2.5.3",
"ecosystem": "crates"
},
{
"name": "event-listener",
"direct": false,
"version": "5.4.1",
"ecosystem": "crates"
},
{
"name": "event-listener-strategy",
"direct": false,
"version": "0.5.4",
"ecosystem": "crates"
},
{
"name": "expect-test",
"direct": false,
"version": "1.5.1",
"ecosystem": "crates"
},
{
"name": "fastnum",
"direct": false,
"version": "0.7.4",
"ecosystem": "crates"
},
{
"name": "ff",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "fiat-crypto",
"direct": false,
"version": "0.2.9",
"ecosystem": "crates"
},
{
"name": "find-msvc-tools",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "fixedbitset",
"direct": false,
"version": "0.5.7",
"ecosystem": "crates"
},
{
"name": "flatbuffers",
"direct": false,
"version": "25.12.19",
"ecosystem": "crates"
},
{
"name": "flume",
"direct": false,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "fnv",
"direct": false,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "foldhash",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "foldhash",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "foreign-types",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "foreign-types-shared",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "form_urlencoded",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "fragile",
"direct": false,
"version": "2.1.0",
"ecosystem": "crates"
},
{
"name": "fs_extra",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "futures-channel",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-core",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-executor",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-intrusive",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "futures-io",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-lite",
"direct": false,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "futures-lite",
"direct": false,
"version": "2.6.1",
"ecosystem": "crates"
},
{
"name": "futures-macro",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-sink",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-task",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-timer",
"direct": false,
"version": "3.0.4",
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "gcloud-auth",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "gcloud-metadata",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "gcloud-storage",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "generic-array",
"direct": false,
"version": "0.14.7",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.1.16",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "ghash",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "glob",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "gloo-timers",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "granit-parser",
"direct": false,
"version": "0.0.3",
"ecosystem": "crates"
},
{
"name": "group",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "h2",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "half",
"direct": false,
"version": "2.7.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.12.3",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.15.5",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.16.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "hashlink",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "headers",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "headers-core",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "hermit-abi",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "hex",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "hkdf",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "home",
"direct": false,
"version": "0.5.12",
"ecosystem": "crates"
},
{
"name": "http-body",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "http-body",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "http-types",
"direct": false,
"version": "2.12.0",
"ecosystem": "crates"
},
{
"name": "httparse",
"direct": false,
"version": "1.10.1",
"ecosystem": "crates"
},
{
"name": "httpdate",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "hybrid-array",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "hyper",
"direct": false,
"version": "1.10.1",
"ecosystem": "crates"
},
{
"name": "hyper-rustls",
"direct": false,
"version": "0.27.9",
"ecosystem": "crates"
},
{
"name": "hyper-timeout",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "hyper-tls",
"direct": false,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "hyper-util",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "iana-time-zone",
"direct": false,
"version": "0.1.65",
"ecosystem": "crates"
},
{
"name": "iana-time-zone-haiku",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "icu_collections",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_core",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_provider",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "id-arena",
"direct": false,
"version": "2.3.0",
"ecosystem": "crates"
},
{
"name": "ident_case",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "idna",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "idna_adapter",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "1.9.3",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.14.0",
"ecosystem": "crates"
},
{
"name": "infer",
"direct": false,
"version": "0.2.3",
"ecosystem": "crates"
},
{
"name": "inlinable_string",
"direct": false,
"version": "0.1.15",
"ecosystem": "crates"
},
{
"name": "inout",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "instant",
"direct": false,
"version": "0.1.13",
"ecosystem": "crates"
},
{
"name": "integer-encoding",
"direct": false,
"version": "3.0.4",
"ecosystem": "crates"
},
{
"name": "inventory",
"direct": false,
"version": "0.3.24",
"ecosystem": "crates"
},
{
"name": "ipnet",
"direct": false,
"version": "2.12.0",
"ecosystem": "crates"
},
{
"name": "is_terminal_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "itoa",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "jiff",
"direct": false,
"version": "0.2.32",
"ecosystem": "crates"
},
{
"name": "jiff-static",
"direct": false,
"version": "0.2.32",
"ecosystem": "crates"
},
{
"name": "jni",
"direct": false,
"version": "0.22.4",
"ecosystem": "crates"
},
{
"name": "jni-macros",
"direct": false,
"version": "0.22.4",
"ecosystem": "crates"
},
{
"name": "jni-sys",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "jni-sys-macros",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "jobserver",
"direct": false,
"version": "0.1.34",
"ecosystem": "crates"
},
{
"name": "js-sys",
"direct": false,
"version": "0.3.99",
"ecosystem": "crates"
},
{
"name": "jsonpath-rust",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "jsonwebtoken",
"direct": false,
"version": "10.4.0",
"ecosystem": "crates"
},
{
"name": "jwks_client_rs",
"direct": false,
"version": "0.6.1",
"ecosystem": "crates"
},
{
"name": "krb5-src",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "kube",
"direct": false,
"version": "4.0.0",
"ecosystem": "crates"
},
{
"name": "kube-client",
"direct": false,
"version": "4.0.0",
"ecosystem": "crates"
},
{
"name": "kube-core",
"direct": false,
"version": "4.0.0",
"ecosystem": "crates"
},
{
"name": "lazy-regex-proc_macros",
"direct": false,
"version": "3.6.0",
"ecosystem": "crates"
},
{
"name": "lazy_static",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "leb128fmt",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "lexical-core",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "lexical-parse-float",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "lexical-parse-integer",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "lexical-util",
"direct": false,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "lexical-write-float",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "lexical-write-integer",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.186",
"ecosystem": "crates"
},
{
"name": "libloading",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "libm",
"direct": false,
"version": "0.2.16",
"ecosystem": "crates"
},
{
"name": "libredox",
"direct": false,
"version": "0.1.17",
"ecosystem": "crates"
},
{
"name": "libsqlite3-sys",
"direct": false,
"version": "0.37.0",
"ecosystem": "crates"
},
{
"name": "libz-sys",
"direct": false,
"version": "1.1.29",
"ecosystem": "crates"
},
{
"name": "linux-raw-sys",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "litemap",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "lock_api",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "log",
"direct": false,
"version": "0.4.32",
"ecosystem": "crates"
},
{
"name": "lru",
"direct": false,
"version": "0.16.4",
"ecosystem": "crates"
},
{
"name": "lru-slab",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "lz4_flex",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "matchers",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "matchit",
"direct": false,
"version": "0.8.4",
"ecosystem": "crates"
},
{
"name": "md-5",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.1",
"ecosystem": "crates"
},
{
"name": "metrics-exporter-prometheus",
"direct": false,
"version": "0.17.2",
"ecosystem": "crates"
},
{
"name": "metrics-util",
"direct": false,
"version": "0.20.4",
"ecosystem": "crates"
},
{
"name": "middle",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "mime",
"direct": false,
"version": "0.3.17",
"ecosystem": "crates"
},
{
"name": "mime_guess",
"direct": false,
"version": "2.0.5",
"ecosystem": "crates"
},
{
"name": "minimal-lexical",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "miniz_oxide",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "mio",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "mockall",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "mockall_derive",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "multimap",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "murmur3",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "native-tls",
"direct": false,
"version": "0.2.18",
"ecosystem": "crates"
},
{
"name": "nkeys",
"direct": false,
"version": "0.4.5",
"ecosystem": "crates"
},
{
"name": "nohash-hasher",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "7.1.3",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "8.0.0",
"ecosystem": "crates"
},
{
"name": "nu-ansi-term",
"direct": false,
"version": "0.50.3",
"ecosystem": "crates"
},
{
"name": "num-bigint",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "num-complex",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "num-conv",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "num-integer",
"direct": false,
"version": "0.1.46",
"ecosystem": "crates"
},
{
"name": "num-traits",
"direct": false,
"version": "0.2.19",
"ecosystem": "crates"
},
{
"name": "num_enum",
"direct": false,
"version": "0.7.6",
"ecosystem": "crates"
},
{
"name": "num_enum_derive",
"direct": false,
"version": "0.7.6",
"ecosystem": "crates"
},
{
"name": "oauth2",
"direct": false,
"version": "4.4.2",
"ecosystem": "crates"
},
{
"name": "oauth2",
"direct": false,
"version": "5.0.0",
"ecosystem": "crates"
},
{
"name": "once_cell",
"direct": false,
"version": "1.21.4",
"ecosystem": "crates"
},
{
"name": "once_cell_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "opaque-debug",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "openssl",
"direct": false,
"version": "0.10.80",
"ecosystem": "crates"
},
{
"name": "openssl-macros",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "openssl-probe",
"direct": false,
"version": "0.1.6",
"ecosystem": "crates"
},
{
"name": "openssl-probe",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "openssl-src",
"direct": false,
"version": "300.6.0+3.6.2",
"ecosystem": "crates"
},
{
"name": "openssl-sys",
"direct": false,
"version": "0.9.116",
"ecosystem": "crates"
},
{
"name": "option-ext",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "ordered-float",
"direct": false,
"version": "2.10.1",
"ecosystem": "crates"
},
{
"name": "ordered-float",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "os_pipe",
"direct": false,
"version": "1.2.3",
"ecosystem": "crates"
},
{
"name": "outref",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "p256",
"direct": false,
"version": "0.13.2",
"ecosystem": "crates"
},
{
"name": "parking",
"direct": false,
"version": "2.2.1",
"ecosystem": "crates"
},
{
"name": "parking_lot",
"direct": false,
"version": "0.12.5",
"ecosystem": "crates"
},
{
"name": "parking_lot_core",
"direct": false,
"version": "0.9.12",
"ecosystem": "crates"
},
{
"name": "parquet",
"direct": false,
"version": "58.3.0",
"ecosystem": "crates"
},
{
"name": "paste",
"direct": false,
"version": "1.0.15",
"ecosystem": "crates"
},
{
"name": "path-clean",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "pear",
"direct": false,
"version": "0.2.9",
"ecosystem": "crates"
},
{
"name": "pear_codegen",
"direct": false,
"version": "0.2.9",
"ecosystem": "crates"
},
{
"name": "pem",
"direct": false,
"version": "3.0.6",
"ecosystem": "crates"
},
{
"name": "pem-rfc7468",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "pest",
"direct": false,
"version": "2.8.6",
"ecosystem": "crates"
},
{
"name": "pest_derive",
"direct": false,
"version": "2.8.6",
"ecosystem": "crates"
},
{
"name": "pest_generator",
"direct": false,
"version": "2.8.6",
"ecosystem": "crates"
},
{
"name": "pest_meta",
"direct": false,
"version": "2.8.6",
"ecosystem": "crates"
},
{
"name": "petgraph",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "pin-project",
"direct": false,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "pin-project-internal",
"direct": false,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "pin-project-lite",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "pin-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "piper",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "pkcs8",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "pkg-config",
"direct": false,
"version": "0.3.33",
"ecosystem": "crates"
},
{
"name": "polling",
"direct": false,
"version": "3.11.0",
"ecosystem": "crates"
},
{
"name": "polyval",
"direct": false,
"version": "0.6.2",
"ecosystem": "crates"
},
{
"name": "portable-atomic",
"direct": false,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "portable-atomic-util",
"direct": false,
"version": "0.2.7",
"ecosystem": "crates"
},
{
"name": "potential_utf",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "powerfmt",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "ppv-lite86",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "predicates",
"direct": false,
"version": "3.1.4",
"ecosystem": "crates"
},
{
"name": "predicates-core",
"direct": false,
"version": "1.0.10",
"ecosystem": "crates"
},
{
"name": "predicates-tree",
"direct": false,
"version": "1.0.13",
"ecosystem": "crates"
},
{
"name": "pretty_assertions",
"direct": false,
"version": "1.4.1",
"ecosystem": "crates"
},
{
"name": "prettyplease",
"direct": false,
"version": "0.2.37",
"ecosystem": "crates"
},
{
"name": "primeorder",
"direct": false,
"version": "0.13.6",
"ecosystem": "crates"
},
{
"name": "proc-macro-crate",
"direct": false,
"version": "3.5.0",
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": "1.0.106",
"ecosystem": "crates"
},
{
"name": "proc-macro2-diagnostics",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "prost",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "prost-build",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "prost-derive",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "prost-types",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "prost-wkt",
"direct": false,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "prost-wkt-build",
"direct": false,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "prost-wkt-types",
"direct": false,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "protobuf-src",
"direct": false,
"version": "2.1.1+27.1",
"ecosystem": "crates"
},
{
"name": "quad-rand",
"direct": false,
"version": "0.2.3",
"ecosystem": "crates"
},
{
"name": "quanta",
"direct": false,
"version": "0.12.6",
"ecosystem": "crates"
},
{
"name": "quinn",
"direct": false,
"version": "0.11.9",
"ecosystem": "crates"
},
{
"name": "quinn-proto",
"direct": false,
"version": "0.11.15",
"ecosystem": "crates"
},
{
"name": "quinn-udp",
"direct": false,
"version": "0.5.14",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.45",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "5.3.0",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.9.4",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "rand_hc",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "rand_xoshiro",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rapidhash",
"direct": false,
"version": "4.4.1",
"ecosystem": "crates"
},
{
"name": "raw-cpuid",
"direct": false,
"version": "11.6.0",
"ecosystem": "crates"
},
{
"name": "rdkafka-sys",
"direct": false,
"version": "4.10.0+2.12.1",
"ecosystem": "crates"
},
{
"name": "redox_syscall",
"direct": false,
"version": "0.5.18",
"ecosystem": "crates"
},
{
"name": "redox_users",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "ref-cast",
"direct": false,
"version": "1.0.25",
"ecosystem": "crates"
},
{
"name": "ref-cast-impl",
"direct": false,
"version": "1.0.25",
"ecosystem": "crates"
},
{
"name": "regex",
"direct": false,
"version": "1.12.3",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "regex-lite",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "regex-syntax",
"direct": false,
"version": "0.8.10",
"ecosystem": "crates"
},
{
"name": "retry-policies",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "rfc6979",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "ring",
"direct": false,
"version": "0.17.14",
"ecosystem": "crates"
},
{
"name": "roaring",
"direct": false,
"version": "0.11.4",
"ecosystem": "crates"
},
{
"name": "rust-embed",
"direct": false,
"version": "8.11.0",
"ecosystem": "crates"
},
{
"name": "rust-embed-impl",
"direct": false,
"version": "8.11.0",
"ecosystem": "crates"
},
{
"name": "rust-embed-utils",
"direct": false,
"version": "8.11.0",
"ecosystem": "crates"
},
{
"name": "rustc-hash",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "rustc_version",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "rustify",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rustify_derive",
"direct": false,
"version": "0.5.5",
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "rustls",
"direct": false,
"version": "0.23.40",
"ecosystem": "crates"
},
{
"name": "rustls-native-certs",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "rustls-native-certs",
"direct": false,
"version": "0.8.4",
"ecosystem": "crates"
},
{
"name": "rustls-pemfile",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "rustls-pki-types",
"direct": false,
"version": "1.14.1",
"ecosystem": "crates"
},
{
"name": "rustls-platform-verifier",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rustls-platform-verifier-android",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "rustls-webpki",
"direct": false,
"version": "0.103.13",
"ecosystem": "crates"
},
{
"name": "rustversion",
"direct": false,
"version": "1.0.22",
"ecosystem": "crates"
},
{
"name": "RustyXML",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "ryu",
"direct": false,
"version": "1.0.23",
"ecosystem": "crates"
},
{
"name": "same-file",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "sasl2-sys",
"direct": false,
"version": "0.1.22+2.1.28",
"ecosystem": "crates"
},
{
"name": "schannel",
"direct": false,
"version": "0.1.29",
"ecosystem": "crates"
},
{
"name": "schemars",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "schemars",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "scopeguard",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "sec1",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "secrecy",
"direct": false,
"version": "0.10.3",
"ecosystem": "crates"
},
{
"name": "security-framework",
"direct": false,
"version": "2.11.1",
"ecosystem": "crates"
},
{
"name": "security-framework",
"direct": false,
"version": "3.7.0",
"ecosystem": "crates"
},
{
"name": "security-framework-sys",
"direct": false,
"version": "2.17.0",
"ecosystem": "crates"
},
{
"name": "seq-macro",
"direct": false,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "serde-big-array",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "serde-saphyr",
"direct": false,
"version": "0.0.27",
"ecosystem": "crates"
},
{
"name": "serde-value",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "serde_bytes",
"direct": false,
"version": "0.11.19",
"ecosystem": "crates"
},
{
"name": "serde_core",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_nanos",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "serde_path_to_error",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "serde_qs",
"direct": false,
"version": "0.8.5",
"ecosystem": "crates"
},
{
"name": "serde_repr",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "serde_with",
"direct": false,
"version": "3.21.0",
"ecosystem": "crates"
},
{
"name": "serde_with_macros",
"direct": false,
"version": "3.21.0",
"ecosystem": "crates"
},
{
"name": "sha1_smol",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": false,
"version": "0.10.9",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "sharded-slab",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "shared_child",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "shellexpand",
"direct": false,
"version": "3.1.2",
"ecosystem": "crates"
},
{
"name": "shlex",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "shlex",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "sigchld",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "signal-hook",
"direct": false,
"version": "0.3.18",
"ecosystem": "crates"
},
{
"name": "signal-hook-registry",
"direct": false,
"version": "1.4.8",
"ecosystem": "crates"
},
{
"name": "signatory",
"direct": false,
"version": "0.27.1",
"ecosystem": "crates"
},
{
"name": "signature",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "simd-adler32",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "simd_cesu8",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "simdutf8",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "similar",
"direct": false,
"version": "3.1.1",
"ecosystem": "crates"
},
{
"name": "simple_asn1",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "sketches-ddsketch",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "slab",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "smallvec",
"direct": false,
"version": "1.15.1",
"ecosystem": "crates"
},
{
"name": "snafu",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "snafu-derive",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "snap",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "socket2",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "spin",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "spin",
"direct": false,
"version": "0.9.9",
"ecosystem": "crates"
},
{
"name": "spki",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "sqlx-core",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "sqlx-macros",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "sqlx-macros-core",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "sqlx-mysql",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "sqlx-postgres",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "sqlx-sqlite",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "stable_deref_trait",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "stringprep",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "strsim",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "subtle",
"direct": false,
"version": "2.6.1",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "1.0.109",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "2.0.117",
"ecosystem": "crates"
},
{
"name": "sync_wrapper",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.12.6",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.13.2",
"ecosystem": "crates"
},
{
"name": "tagptr",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": "3.27.0",
"ecosystem": "crates"
},
{
"name": "termtree",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "thread_local",
"direct": false,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "thrift",
"direct": false,
"version": "0.17.0",
"ecosystem": "crates"
},
{
"name": "tikv-jemalloc-sys",
"direct": false,
"version": "0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7",
"ecosystem": "crates"
},
{
"name": "time-core",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "time-macros",
"direct": false,
"version": "0.2.27",
"ecosystem": "crates"
},
{
"name": "tiny-keccak",
"direct": false,
"version": "2.0.2",
"ecosystem": "crates"
},
{
"name": "tinystr",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "tinyvec",
"direct": false,
"version": "1.11.0",
"ecosystem": "crates"
},
{
"name": "tinyvec_macros",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "token-source",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "tokio-macros",
"direct": false,
"version": "2.7.0",
"ecosystem": "crates"
},
{
"name": "tokio-native-tls",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "tokio-rustls",
"direct": false,
"version": "0.26.4",
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "tokio-websockets",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "toml_datetime",
"direct": false,
"version": "1.1.1+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_edit",
"direct": false,
"version": "0.25.12+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_parser",
"direct": false,
"version": "1.1.2+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "tonic",
"direct": false,
"version": "0.14.6",
"ecosystem": "crates"
},
{
"name": "tonic-prost",
"direct": false,
"version": "0.14.6",
"ecosystem": "crates"
},
{
"name": "tower-layer",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "tower-service",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "tracing-attributes",
"direct": false,
"version": "0.1.31",
"ecosystem": "crates"
},
{
"name": "tracing-core",
"direct": false,
"version": "0.1.36",
"ecosystem": "crates"
},
{
"name": "tracing-log",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "tracing-serde",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "tracing-test",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "tracing-test-macro",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "trait-variant",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "try-lock",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "twox-hash",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "typed-builder-macro",
"direct": false,
"version": "0.20.1",
"ecosystem": "crates"
},
{
"name": "typed-builder-macro",
"direct": false,
"version": "0.23.2",
"ecosystem": "crates"
},
{
"name": "typeid",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.20.1",
"ecosystem": "crates"
},
{
"name": "typetag-impl",
"direct": false,
"version": "0.2.22",
"ecosystem": "crates"
},
{
"name": "ucd-trie",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "uncased",
"direct": false,
"version": "0.9.10",
"ecosystem": "crates"
},
{
"name": "unicode-bidi",
"direct": false,
"version": "0.3.18",
"ecosystem": "crates"
},
{
"name": "unicode-ident",
"direct": false,
"version": "1.0.24",
"ecosystem": "crates"
},
{
"name": "unicode-normalization",
"direct": false,
"version": "0.1.25",
"ecosystem": "crates"
},
{
"name": "unicode-properties",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "unicode-width",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "unicode-xid",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "universal-hash",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "unsafe-libyaml-norway",
"direct": false,
"version": "0.2.15",
"ecosystem": "crates"
},
{
"name": "untrusted",
"direct": false,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "untrusted",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "utf8_iter",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "utf8parse",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "utoipa-gen",
"direct": false,
"version": "5.5.0",
"ecosystem": "crates"
},
{
"name": "valuable-derive",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "valuable-serde",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "vcpkg",
"direct": false,
"version": "0.2.15",
"ecosystem": "crates"
},
{
"name": "veil-macros",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "version_check",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "vsimd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "waker-fn",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "walkdir",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "want",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.11.1+wasi-snapshot-preview1",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.9.0+wasi-snapshot-preview1",
"ecosystem": "crates"
},
{
"name": "wasip2",
"direct": false,
"version": "1.0.3+wasi-0.2.9",
"ecosystem": "crates"
},
{
"name": "wasip3",
"direct": false,
"version": "0.4.0+wasi-0.3.0-rc-2026-01-06",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen",
"direct": false,
"version": "0.2.122",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-futures",
"direct": false,
"version": "0.4.72",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro",
"direct": false,
"version": "0.2.122",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro-support",
"direct": false,
"version": "0.2.122",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-shared",
"direct": false,
"version": "0.2.122",
"ecosystem": "crates"
},
{
"name": "wasm-encoder",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wasm-metadata",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wasm-streams",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "wasmparser",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wasmtimer",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "web-sys",
"direct": false,
"version": "0.3.99",
"ecosystem": "crates"
},
{
"name": "web-time",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "webpki-roots",
"direct": false,
"version": "0.26.11",
"ecosystem": "crates"
},
{
"name": "webpki-roots",
"direct": false,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "whoami",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "winapi",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "winapi-i686-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "winapi-util",
"direct": false,
"version": "0.1.11",
"ecosystem": "crates"
},
{
"name": "winapi-x86_64-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "windows-core",
"direct": false,
"version": "0.62.2",
"ecosystem": "crates"
},
{
"name": "windows-implement",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-interface",
"direct": false,
"version": "0.59.3",
"ecosystem": "crates"
},
{
"name": "windows-link",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "windows-result",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "windows-strings",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.52.0",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.61.2",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.53.5",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "winnow",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.57.1",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-core",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-rust",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-bindgen-rust-macro",
"direct": false,
"version": "0.51.0",
"ecosystem": "crates"
},
{
"name": "wit-component",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "wit-parser",
"direct": false,
"version": "0.244.0",
"ecosystem": "crates"
},
{
"name": "writeable",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "xmlparser",
"direct": false,
"version": "0.13.6",
"ecosystem": "crates"
},
{
"name": "yansi",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "yoke",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "yoke-derive",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "zerocopy",
"direct": false,
"version": "0.8.50",
"ecosystem": "crates"
},
{
"name": "zerocopy-derive",
"direct": false,
"version": "0.8.50",
"ecosystem": "crates"
},
{
"name": "zerofrom",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "zerofrom-derive",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "zeroize",
"direct": false,
"version": "1.8.2",
"ecosystem": "crates"
},
{
"name": "zeroize_derive",
"direct": false,
"version": "1.4.3",
"ecosystem": "crates"
},
{
"name": "zerotrie",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "zerovec",
"direct": false,
"version": "0.11.6",
"ecosystem": "crates"
},
{
"name": "zerovec-derive",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "zip",
"direct": false,
"version": "3.0.0",
"ecosystem": "crates"
},
{
"name": "zlib-rs",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "zmij",
"direct": false,
"version": "1.0.21",
"ecosystem": "crates"
},
{
"name": "zopfli",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "zstd",
"direct": false,
"version": "0.13.3",
"ecosystem": "crates"
},
{
"name": "zstd-safe",
"direct": false,
"version": "7.2.4",
"ecosystem": "crates"
},
{
"name": "zstd-sys",
"direct": false,
"version": "2.0.16+zstd.1.5.7",
"ecosystem": "crates"
},
{
"name": "attrs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "authlib",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cachetools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "confluent-kafka",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fastavro",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "httpx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markdown-grid-tables",
"direct": false,
"version": "0.6.0",
"ecosystem": "pypi"
},
{
"name": "mkdocs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-autorefs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-exclude-search",
"direct": false,
"version": "0.6.6",
"ecosystem": "pypi"
},
{
"name": "mkdocs-material",
"direct": false,
"version": "9.7.6",
"ecosystem": "pypi"
},
{
"name": "mkdocs-material-extensions",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "mkdocs-monorepo-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "orjson",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pandas",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyarrow",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pylance",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 785,
"direct_count": 110,
"indirect_count": 675
}
},
"maintainership": {
"issues": {
"open_prs": 15,
"merged_prs": 1283,
"open_issues": 85,
"closed_ratio": 0.797,
"closed_issues": 333,
"closed_unmerged_prs": 181
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "c-thiel",
"commits": 741,
"avatar_url": "https://avatars.githubusercontent.com/u/12560027?v=4"
},
{
"type": "User",
"login": "twuebi",
"commits": 163,
"avatar_url": "https://avatars.githubusercontent.com/u/23434860?v=4"
},
{
"type": "User",
"login": "mooori",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/32731489?v=4"
},
{
"type": "User",
"login": "v-kessler",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/19665800?v=4"
},
{
"type": "User",
"login": "brgr-s",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/5279144?v=4"
},
{
"type": "User",
"login": "Midor",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/1916120?v=4"
},
{
"type": "User",
"login": "romusz",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/854559?v=4"
},
{
"type": "User",
"login": "chrislusf",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/1543151?v=4"
},
{
"type": "User",
"login": "rwwwx",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/87382371?v=4"
},
{
"type": "User",
"login": "davidblewett",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/141716?v=4"
}
],
"contributors_sampled": 49,
"top_contributor_share": 0.708
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"authz.yml",
"docker_build.yml",
"docs_linkcheck.yml",
"integration_test_formats.yml",
"integration_test_matrix.yml",
"integration_test_workflow.yml",
"kube-auth.yml",
"lint-pr.yml",
"migrations.yml",
"release.yml",
"seaweedfs.yml",
"security_audit.yml",
"site.yml",
"test-examples.yml",
"unittests.yml"
],
"has_docs_dir": true,
"linter_configs": [
"tox.ini"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Cargo.lock"
],
"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": 8,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "22 out of 22 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": 6,
"reason": "Found 20/30 approved changesets -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 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": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 10 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": 7,
"reason": "dependency not pinned by hash detected -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 9,
"reason": "SAST tool is not run on all commits -- score normalized to 9",
"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": 0,
"reason": "Project has not signed or included provenance with any releases.",
"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": 2,
"reason": "8 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4cc77d3bf2a61d6693a22181baa6a92ee7ff0ab5",
"ran_at": "2026-07-27T18:02:31Z",
"aggregate_score": 6.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-27T07:45:43Z",
"oldest_open_prs": [
{
"number": 1039,
"created_at": "2025-04-22T12:42:38Z",
"last_comment_at": "2026-06-01T17:22:36Z",
"last_comment_author": "c-thiel"
},
{
"number": 1195,
"created_at": "2025-06-22T03:58:11Z",
"last_comment_at": "2026-04-01T08:44:04Z",
"last_comment_author": "brgr-s"
},
{
"number": 1206,
"created_at": "2025-06-24T10:42:41Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1266,
"created_at": "2025-07-30T22:50:07Z",
"last_comment_at": "2025-08-23T16:39:25Z",
"last_comment_author": "github-actions"
},
{
"number": 1537,
"created_at": "2025-12-09T17:48:49Z",
"last_comment_at": "2025-12-09T18:12:22Z",
"last_comment_author": "github-actions"
},
{
"number": 1676,
"created_at": "2026-03-24T10:38:29Z",
"last_comment_at": "2026-03-24T12:24:48Z",
"last_comment_author": "github-actions"
},
{
"number": 1806,
"created_at": "2026-06-02T07:59:44Z",
"last_comment_at": "2026-07-24T21:04:31Z",
"last_comment_author": "github-actions"
},
{
"number": 1807,
"created_at": "2026-06-02T08:05:12Z",
"last_comment_at": "2026-07-25T15:43:43Z",
"last_comment_author": "github-actions"
},
{
"number": 1831,
"created_at": "2026-06-08T14:54:02Z",
"last_comment_at": "2026-06-10T09:13:02Z",
"last_comment_author": "github-actions"
},
{
"number": 1839,
"created_at": "2026-06-11T01:37:55Z",
"last_comment_at": "2026-07-26T09:54:03Z",
"last_comment_author": "github-actions"
},
{
"number": 1858,
"created_at": "2026-06-17T23:05:15Z",
"last_comment_at": "2026-07-18T19:16:26Z",
"last_comment_author": "dadavidtseng"
},
{
"number": 1882,
"created_at": "2026-07-01T16:29:00Z",
"last_comment_at": "2026-07-27T07:31:01Z",
"last_comment_author": "github-actions"
},
{
"number": 1889,
"created_at": "2026-07-04T04:52:30Z",
"last_comment_at": "2026-07-20T16:03:29Z",
"last_comment_author": "c-thiel"
},
{
"number": 1910,
"created_at": "2026-07-24T13:54:52Z",
"last_comment_at": "2026-07-24T14:10:39Z",
"last_comment_author": "github-actions"
},
{
"number": 1914,
"created_at": "2026-07-26T20:52:11Z",
"last_comment_at": "2026-07-27T10:30:30Z",
"last_comment_author": "github-actions"
}
],
"last_merged_pr_at": "2026-07-27T07:24:19Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 9,
"created_at": "2024-05-14T16:05:12Z",
"last_comment_at": "2025-05-17T11:55:43Z",
"last_comment_author": "HerrMuellerluedenscheid"
},
{
"number": 45,
"created_at": "2024-05-29T18:06:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 63,
"created_at": "2024-06-07T08:06:44Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 104,
"created_at": "2024-06-15T20:59:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 152,
"created_at": "2024-07-04T10:18:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 159,
"created_at": "2024-07-12T11:51:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 213,
"created_at": "2024-07-26T18:59:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 218,
"created_at": "2024-07-27T10:36:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 228,
"created_at": "2024-08-01T20:43:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 238,
"created_at": "2024-08-06T11:49:51Z",
"last_comment_at": "2024-08-30T09:20:24Z",
"last_comment_author": "c-thiel"
},
{
"number": 239,
"created_at": "2024-08-06T19:46:39Z",
"last_comment_at": "2026-06-03T23:44:30Z",
"last_comment_author": "christianLencsak7"
},
{
"number": 258,
"created_at": "2024-08-12T16:43:12Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 263,
"created_at": "2024-08-13T08:07:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 266,
"created_at": "2024-08-13T09:46:08Z",
"last_comment_at": "2025-01-27T14:33:03Z",
"last_comment_author": "c-thiel"
},
{
"number": 306,
"created_at": "2024-08-28T13:19:55Z",
"last_comment_at": "2025-08-08T20:49:25Z",
"last_comment_author": "ndrluis"
},
{
"number": 308,
"created_at": "2024-08-28T13:48:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 312,
"created_at": "2024-08-29T15:21:52Z",
"last_comment_at": "2024-09-04T19:27:10Z",
"last_comment_author": "derekperkins"
},
{
"number": 323,
"created_at": "2024-09-05T11:41:35Z",
"last_comment_at": "2024-10-29T17:22:51Z",
"last_comment_author": "c-thiel"
},
{
"number": 349,
"created_at": "2024-09-18T07:24:12Z",
"last_comment_at": "2025-08-02T17:22:03Z",
"last_comment_author": "mooori"
},
{
"number": 350,
"created_at": "2024-09-18T07:24:39Z",
"last_comment_at": "2024-11-24T15:17:34Z",
"last_comment_author": "twuebi"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/lakekeeper/lakekeeper",
"host": "github.com",
"name": "lakekeeper",
"owner": "lakekeeper"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"security": 64,
"vitality": 95,
"community": 70,
"governance": 56,
"engineering": 86
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 95,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"commits_last_year": 538,
"human_commit_share": 0.95,
"days_since_last_push": 0,
"active_weeks_last_year": 51
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "51/52 weeks with commits",
"points": 35.3,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 51
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "538 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 538
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 10 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": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 51,
"latest_release_tag": "v0.13.1",
"releases_from_tags": false,
"days_since_latest_release": 26,
"mean_days_between_releases": 10.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "51 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 51
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 26 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 26
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~10.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 10.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 70,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"forks": 151,
"stars": 1399,
"watchers": 10,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,399 stars",
"points": 51,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1399
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "151 forks",
"points": 18.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 151
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "10 watchers",
"points": 5.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 10
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 56,
"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": 49,
"top_contributor_share": 0.708
},
"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 71% of commits",
"points": 6.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 71
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "49 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 49
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"merged_prs": 1283,
"open_issues": 85,
"closed_issues": 333,
"issue_closed_ratio": 0.797,
"closed_unmerged_prs": 181
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "80% of issues closed",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 80
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "1283/1464 decided PRs merged",
"points": 33.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 1283,
"decided": 1464
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 20/30 approved changesets -- score normalized to 6",
"points": 9,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"followers": 34,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "lakekeeper",
"public_repos": 14,
"account_age_days": 664
},
"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": "34 followers of lakekeeper",
"points": 11.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 34,
"login": "lakekeeper"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "14 public repos, account ~1 yr old",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 14
}
},
{
"code": "account_age_years",
"params": {
"years": 1
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 86,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "15 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 15
}
}
],
"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": "tox.ini",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tox.ini"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "22 out of 22 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": 90,
"inputs": {
"topics": [
"catalog",
"data-lake",
"iceberg",
"lakehouse",
"rust",
"lakehouse-governance",
"open-lakehouse"
],
"has_wiki": false,
"homepage": "https://docs.lakekeeper.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://docs.lakekeeper.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": "7 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 7
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 64,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 6.2
},
"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": "branch protection is not maximal on development and all release branches",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "22 out of 22 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 20/30 approved changesets -- score normalized to 6",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 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.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 10 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 7",
"points": 3.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 9",
"points": 4.5,
"status": "partial",
"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": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": "8 existing vulnerabilities detected",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 763 resolved dependencies against OSV; 22 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 763
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 22
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 72,
"inputs": {
"source": "osv",
"advisories": 9,
"affected_packages": 7,
"assessed_packages": 763,
"unassessed_packages": 22,
"affected_by_severity": "high 1, moderate 1, low 1, unknown 4",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: quick-xml 0.40.1 (high 7.5)",
"points": 14,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "quick-xml 0.40.1 (high 7.5)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 763,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 7
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 81,
"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": 1,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 3751
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, 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": "95 of 95 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 95,
"sampled": 95
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 87,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Cargo.lock"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"examples/kafka-connect-iceberg-sink/Makefile",
"justfile",
"site/justfile",
"tests/migrations/justfile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"Cargo.toml",
"crates/authz-openfga/Cargo.toml",
"crates/iceberg-ext/Cargo.toml",
"crates/io/Cargo.toml",
"crates/lakekeeper-bin/Cargo.toml",
"crates/lakekeeper-events-kafka/Cargo.toml",
"crates/lakekeeper-events-nats/Cargo.toml",
"crates/lakekeeper-integration-tests/Cargo.toml",
"crates/lakekeeper-secrets-kv2/Cargo.toml",
"crates/lakekeeper-storage-postgres/Cargo.toml",
"crates/lakekeeper/Cargo.toml"
],
"dependency_bot_commit_share": 0.05
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "examples/kafka-connect-iceberg-sink/Makefile, justfile, site/justfile, tests/migrations/justfile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples/kafka-connect-iceberg-sink/Makefile, justfile, site/justfile, tests/migrations/justfile"
}
}
],
"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": "tox.ini",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tox.ini"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Rust (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"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": "5 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 5,
"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 7",
"points": 7,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 95,
"inputs": {
"primary_language": "Rust",
"largest_source_bytes": 220387,
"source_files_sampled": 332,
"oversized_source_files": 28
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Rust (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "28/332 source files over 60KB",
"points": 50.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 332,
"oversized": 28
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples",
"notebooks"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples, notebooks",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples, notebooks"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch crates package 'lakekeeper-io' from its registry",
"Could not fetch crates package 'lakekeeper' from its registry",
"Could not fetch crates package 'iceberg-ext' from its registry",
"Could not fetch crates package 'lakekeeper-authz-openfga' from its registry",
"Could not fetch crates package 'lakekeeper-bin' from its registry",
"Could not fetch crates package 'lakekeeper-events-nats' from its registry",
"Could not fetch crates package 'lakekeeper-secrets-kv2' from its registry",
"Could not fetch crates package 'lakekeeper-events-kafka' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-27T18:03:01.324338Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/lakekeeper/lakekeeper.svg",
"full_name": "lakekeeper/lakekeeper",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}