{
  "interval": {
    "intervalStart": "2026-04-17T00:00:00.000Z",
    "intervalEnd": "2026-04-18T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2026-04-17 to 2026-04-18, elizaos/eliza had 155 new PRs (160 merged), 4 new issues, and 6 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7_YTwa",
      "title": "Release Failed: v2.0.0-alpha.174",
      "author": "github-actions",
      "number": 6798,
      "repository": "elizaos/eliza",
      "body": "The release workflow failed for version v2.0.0-alpha.174.\n\n**Details:**\n- Release Type: alpha\n- Workflow Run: https://github.com/elizaOS/eliza/actions/runs/24580134321\n- Triggered By: push\n- Git Changes Committed: true\n- Git Tag Created: true\n\n**Recovery Steps:**\n\nIf git operations succeeded but NPM publish failed:\n- The version is already in git\n- Fix the NPM issue and run `npm run release:alpha` locally\n- Or re-run this workflow (it will skip git operations if no changes)\n\nIf git operations failed:\n- No packages were published to NPM (safe state)\n- Fix the git issue (permissions, network, etc.)\n- Re-run the workflow\n\n**Action Required:**\n- Check the workflow logs for the specific failure point\n- Follow the appropriate recovery steps above\n",
      "createdAt": "2026-04-17T18:26:15Z",
      "closedAt": "2026-04-17T21:26:06Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7_PFoh",
      "title": "Release Failed: v2.0.0-alpha.178",
      "author": "github-actions",
      "number": 6797,
      "repository": "elizaos/eliza",
      "body": "The release workflow failed for version v2.0.0-alpha.178.\n\n**Details:**\n- Release Type: alpha\n- Workflow Run: https://github.com/elizaOS/eliza/actions/runs/24561800786\n- Triggered By: push\n- Git Changes Committed: true\n- Git Tag Created: true\n\n**Recovery Steps:**\n\nIf git operations succeeded but NPM publish failed:\n- The version is already in git\n- Fix the NPM issue and run `npm run release:alpha` locally\n- Or re-run this workflow (it will skip git operations if no changes)\n\nIf git operations failed:\n- No packages were published to NPM (safe state)\n- Fix the git issue (permissions, network, etc.)\n- Re-run the workflow\n\n**Action Required:**\n- Check the workflow logs for the specific failure point\n- Follow the appropriate recovery steps above\n",
      "createdAt": "2026-04-17T11:09:51Z",
      "closedAt": "2026-04-17T21:26:07Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7_Nfit",
      "title": "Release Failed: v2.0.0-alpha.177",
      "author": "github-actions",
      "number": 6794,
      "repository": "elizaos/eliza",
      "body": "The release workflow failed for version v2.0.0-alpha.177.\n\n**Details:**\n- Release Type: alpha\n- Workflow Run: https://github.com/elizaOS/eliza/actions/runs/24559006580\n- Triggered By: push\n- Git Changes Committed: true\n- Git Tag Created: true\n\n**Recovery Steps:**\n\nIf git operations succeeded but NPM publish failed:\n- The version is already in git\n- Fix the NPM issue and run `npm run release:alpha` locally\n- Or re-run this workflow (it will skip git operations if no changes)\n\nIf git operations failed:\n- No packages were published to NPM (safe state)\n- Fix the git issue (permissions, network, etc.)\n- Re-run the workflow\n\n**Action Required:**\n- Check the workflow logs for the specific failure point\n- Follow the appropriate recovery steps above\n",
      "createdAt": "2026-04-17T09:59:03Z",
      "closedAt": "2026-04-17T21:26:09Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7-uz5T",
      "title": "Release Failed: v2.0.0-alpha.176",
      "author": "github-actions",
      "number": 6777,
      "repository": "elizaos/eliza",
      "body": "The release workflow failed for version v2.0.0-alpha.176.\n\n**Details:**\n- Release Type: alpha\n- Workflow Run: https://github.com/elizaOS/eliza/actions/runs/24495469790\n- Triggered By: push\n- Git Changes Committed: true\n- Git Tag Created: true\n\n**Recovery Steps:**\n\nIf git operations succeeded but NPM publish failed:\n- The version is already in git\n- Fix the NPM issue and run `npm run release:alpha` locally\n- Or re-run this workflow (it will skip git operations if no changes)\n\nIf git operations failed:\n- No packages were published to NPM (safe state)\n- Fix the git issue (permissions, network, etc.)\n- Re-run the workflow\n\n**Action Required:**\n- Check the workflow logs for the specific failure point\n- Follow the appropriate recovery steps above\n",
      "createdAt": "2026-04-16T06:30:36Z",
      "closedAt": "2026-04-17T21:26:10Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7-ufb5",
      "title": "Release Failed: v2.0.0-alpha.175",
      "author": "github-actions",
      "number": 6776,
      "repository": "elizaos/eliza",
      "body": "The release workflow failed for version v2.0.0-alpha.175.\n\n**Details:**\n- Release Type: alpha\n- Workflow Run: https://github.com/elizaOS/eliza/actions/runs/24494651049\n- Triggered By: push\n- Git Changes Committed: true\n- Git Tag Created: true\n\n**Recovery Steps:**\n\nIf git operations succeeded but NPM publish failed:\n- The version is already in git\n- Fix the NPM issue and run `npm run release:alpha` locally\n- Or re-run this workflow (it will skip git operations if no changes)\n\nIf git operations failed:\n- No packages were published to NPM (safe state)\n- Fix the git issue (permissions, network, etc.)\n- Re-run the workflow\n\n**Action Required:**\n- Check the workflow logs for the specific failure point\n- Follow the appropriate recovery steps above\n",
      "createdAt": "2026-04-16T06:07:05Z",
      "closedAt": "2026-04-17T21:26:12Z",
      "state": "CLOSED",
      "commentCount": 1
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs7Td_wg",
      "title": "Milady/shaw/UI smoke e2e fixes 20260417 gitlink",
      "author": "lalalune",
      "number": 6804,
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR adds a substantial set of new features across the Eliza monorepo: n8n workflow dispatch and autostart services, a rich relationships-graph service for identity clustering and social graph visualization, trigger system improvements (workflow-kind triggers, timezone support, heartbeat unification), a `UnionFind` utility, LifeOps mixin additions (Google Drive, WhatsApp, Signal, travel adapters), and a fix for subagent JSONL output parsing. It also updates the GitHub release workflow and UI components for the Automations view.\n\n- **P1**: `buildTriggerDedupeKey` omits `timezone`, so two cron triggers with the same expression but different timezones collide and the second creation is rejected with 409.\n- **P1**: A compiled macOS binary (`activity-collector`) is committed to the repository alongside a `.gitignore` entry meant to prevent this — the binary is already tracked and the `.gitignore` has no effect on it.\n\n<h3>Confidence Score: 3/5</h3>\n\nNot safe to merge as-is: a compiled macOS binary is committed and a P1 deduplication bug affects cron triggers with timezones.\n\nTwo P1 findings block merge: (1) `buildTriggerDedupeKey` omits `timezone`, silently rejecting valid cron triggers that differ only by timezone; (2) a compiled Swift binary was committed despite the co-located `.gitignore` marking it as excluded. The remainder of the PR is substantial and well-structured.\n\npackages/agent/src/triggers/scheduling.ts (timezone in dedupeKey) and packages/native-plugins/activity-tracker/native/macos/activity-collector (binary in git)\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| packages/agent/src/triggers/scheduling.ts | Adds cron parsing, timezone-aware scheduling, and trigger config/deduplication helpers. `buildTriggerDedupeKey` omits `timezone`, causing false deduplication collisions for cron triggers with different timezones (P1). |\n| packages/agent/src/triggers/runtime.ts | Rewrites trigger execution to dispatch via autonomy-room memory injection or N8N_DISPATCH service; adds heartbeat task synthesis and cluster-aware run history. Module-level `metricsByAgent` Map is never pruned (P2). |\n| packages/native-plugins/activity-tracker/native/macos/activity-collector | Compiled macOS Swift binary committed to the repository despite a co-located `.gitignore` entry that marks it as untracked. Binary is now permanently in git history (P1). |\n| packages/app-core/src/services/n8n-autostart.ts | New n8n sidecar autostart service; fires 50ms after boot, fire-and-forgets sidecar.start(), idempotent stop/poke, full injection seams for tests. Implementation is clean and well-documented. |\n| packages/app-core/src/services/n8n-dispatch.ts | New n8n workflow dispatch service supporting cloud (Bearer auth) and local (X-N8N-API-KEY) modes; no credentials logged, fetch errors are caught, executionId extraction handles multiple response shapes. |\n| packages/agent/src/services/relationships-graph.ts | New ~2200-line service building a social graph from workspace entities, relationships, and conversation history; duplicate union-find implementation rather than using the new shared `UnionFind<T>` class (P2). |\n| packages/typescript/src/utils/union-find.ts | New generic union-find data structure with path compression; used by `RelationshipsService` but not yet by `relationships-graph.ts` despite the JSDoc claiming both share it. |\n| packages/agent/src/runtime/subagent-output.ts | Fixes `findLatestEndTurnText` to skip `api_error` subtypes and `isApiErrorMessage` frames so transient Anthropic 529 retries don't surface as the agent's final answer. |\n| packages/agent/src/api/trigger-routes.ts | Extends trigger HTTP routes with workflow-kind support, heartbeat alias normalization, and deduplication checks; deduplication logic is correct but depends on the flawed `dedupeKey` (P1 in scheduling.ts). |\n| packages/app-core/src/services/n8n-mode.ts | New pure mode resolver (cloud/local/disabled) based on cloud auth state and mobile detection; no side effects, well-tested seam. |\n| .github/workflows/release.yaml | Release workflow serialized with concurrency group; adds `workflow_dispatch` for manual alpha/beta releases; standard patterns, no obvious issues. |\n\n</details>\n\n\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[Agent Boot] --> B[repairRuntimeAfterBoot]\n    B --> C[startN8nAutoStart 50ms delay]\n    C --> D{resolveN8nMode}\n    D -->|cloud| E[Skip sidecar cloud handles n8n]\n    D -->|local| F{peekN8nSidecar}\n    D -->|disabled| G[No-op]\n    F -->|already starting/ready| H[Skip guard against double-spawn]\n    F -->|not running| I[getN8nSidecarAsync fire-and-forget start]\n    J[Trigger Scheduler] --> K{trigger.kind}\n    K -->|text| L[dispatchInstruction write memory to autonomy room]\n    K -->|workflow| M[dispatchWorkflow N8N_DISPATCH service]\n    M --> N{mode}\n    N -->|cloud| O[POST cloud API Bearer auth]\n    N -->|local| P[POST sidecar X-N8N-API-KEY]\n    Q[POST /api/triggers] --> R[normalizeTriggerDraft]\n    R --> S[buildTriggerConfig buildTriggerDedupeKey missing timezone]\n    S --> T{dedupeKey match?}\n    T -->|yes| U[409 Equivalent trigger already exists]\n    T -->|no| V[createTask]\n```\n\n<!-- greptile_failed_comments -->\n<details><summary><h3>Comments Outside Diff (3)</h3></summary>\n\n1. `packages/agent/src/triggers/scheduling.ts`, line 303-331 ([link](https://github.com/elizaos/eliza/blob/b50881a20628fea096fd68defe190749e557716d/packages/agent/src/triggers/scheduling.ts#L303-L331)) \n\n   <a href=\"#\"><img alt=\"P1\" src=\"https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=7\" align=\"top\"></a> **`timezone` missing from deduplication key**\n\n   `buildTriggerDedupeKey` does not accept or include `timezone` in the hash, but `buildTriggerConfig` (line 363) passes `params.draft.timezone` to nothing. Two cron triggers with identical expressions but different timezones (e.g. `\"0 9 * * *\"` in `America/New_York` vs `America/Los_Angeles`) will produce the same `dedupeKey`, causing the second `POST /api/triggers` to be rejected with 409 \"Equivalent trigger already exists\" even though the two triggers fire at different wall-clock times.\n\n   \n\n   `buildTriggerConfig` should also pass `timezone: params.draft.timezone` to the call on line 363.\n\n\n2. `packages/native-plugins/activity-tracker/native/macos/activity-collector`, line 1 ([link](https://github.com/elizaos/eliza/blob/b50881a20628fea096fd68defe190749e557716d/packages/native-plugins/activity-tracker/native/macos/activity-collector#L1)) \n\n   <a href=\"#\"><img alt=\"P1\" src=\"https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=7\" align=\"top\"></a> **Compiled binary committed to the repository**\n\n   The `.gitignore` added alongside this file explicitly marks `activity-collector` as a file that should *not* be tracked (`# Compiled Swift output (built from activity-collector.swift)`), yet the binary itself is already committed (added in this same PR). Because the file is already tracked, adding it to `.gitignore` has no effect — it will remain in the repository history.\n\n   Platform-specific compiled binaries in source control inflate repo size permanently, cannot be meaningfully code-reviewed, and could pose supply-chain security risks. The correct fix is:\n\n   ```\n   git rm --cached packages/native-plugins/activity-tracker/native/macos/activity-collector\n   ```\n\n   and ensure the binary is built locally from the Swift source (`activity-collector.swift`) rather than committed. The `.gitignore` update is correct and should be kept.\n\n\n3. `packages/agent/src/services/relationships-graph.ts`, line 883-950 ([link](https://github.com/elizaos/eliza/blob/b50881a20628fea096fd68defe190749e557716d/packages/agent/src/services/relationships-graph.ts#L883-L950)) \n\n   <a href=\"#\"><img alt=\"P2\" src=\"https://greptile-static-assets.s3.amazonaws.com/badges/p2.svg?v=7\" align=\"top\"></a> **Duplicate union-find implementation not using the new `UnionFind` class**\n\n   `buildClusters` contains its own hand-rolled union-find (`parent` Map + `find` + `union` closures). The PR simultaneously adds `packages/typescript/src/utils/union-find.ts` and its JSDoc comment explicitly states both `relationships-graph.ts` and `RelationshipsService` should share it \"to guarantee the same notion of cluster membership.\" Only `RelationshipsService` (`packages/typescript/src/services/relationships.ts`) actually imports `UnionFind`; `relationships-graph.ts` does not.\n\n   Consider importing and using `UnionFind<UUID>` here to remove the duplication and keep both implementations in lockstep.\n\n</details>\n\n<!-- /greptile_failed_comments -->\n\n<sub>Reviews (1): Last reviewed commit: [\"chore: wip lifeops + app-core drift from...\"](https://github.com/elizaos/eliza/commit/b50881a20628fea096fd68defe190749e557716d) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28833393)</sub>\n\n> Greptile also left **1 inline comment** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-17T22:42:47Z",
      "mergedAt": "2026-04-17T22:42:53Z",
      "additions": 11538,
      "deletions": 289
    },
    {
      "id": "PR_kwDOMT5cIs7TeARU",
      "title": "Shaw/pr1886 ci followups",
      "author": "lalalune",
      "number": 6805,
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR is a CI stabilization followup addressing two areas: (1) fixing a relative vs. absolute path in `docker-ci-smoke.sh` and restoring the `desktop-build.mjs` that was absent from an intermediate commit; and (2) significantly expanding the in-memory mock database adapter in `packages/elizaos/templates/plugin/typescript/src/__tests__/test-utils.ts` to implement previously stubbed methods (agent CRUD, room batch ops, participant batch ops, trajectory column introspection). The `plugins/plugin-shell` submodule reference is also bumped.\n\n<h3>Confidence Score: 5/5</h3>\n\nSafe to merge; all remaining findings are P2 style/fragility suggestions that do not block functionality.\n\nThe two CI script changes are minimal and correct (relative path after cd $REPO_ROOT is fine). The test-utils.ts expansion is a large but internally consistent mock implementation with no logic errors that would break existing tests. The two P2 comments flag fragile patterns worth cleaning up but not blockers.\n\npackages/elizaos/templates/plugin/typescript/src/__tests__/test-utils.ts — db.execute SQL detection and createAgent ID fallback are worth hardening in a follow-up.\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| packages/app-core/scripts/docker-ci-smoke.sh | Single-line path fix: removes $REPO_ROOT prefix from the install-published-workspace-fallback-deps.sh invocation, consistent with other relative-path uses after cd \"$REPO_ROOT\" on line 86. |\n| packages/app-core/scripts/desktop-build.mjs | File was absent from an intermediate PR commit and is restored here; content is identical to the develop-branch version. |\n| packages/elizaos/templates/plugin/typescript/src/__tests__/test-utils.ts | Major expansion of mock DB adapter: adds real in-memory implementations for agent CRUD, room batch ops, participant batch ops, and a fragile db.execute mock that detects SQL via JSON.stringify of internal ORM query chunks. |\n| plugins/plugin-shell | Submodule pointer bumped from 7a258e3 to 329384e; no source changes visible in this repo. |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[docker-ci-smoke.sh] -->|cd REPO_ROOT line 86| B[Relative path context established]\n    B -->|OLD: bash REPO_ROOT/scripts/install-published...| C[Absolute path - redundant]\n    B -->|NEW: bash scripts/install-published...| D[Relative path - consistent]\n    D --> E[install-published-workspace-fallback-deps.sh]\n\n    F[test-utils.ts createTestDatabaseAdapter] --> G[In-memory Maps]\n    G --> G1[agents: Map UUID Agent]\n    G --> G2[memories: Map UUID Memory]\n    G --> G3[rooms: Map UUID Room]\n    G --> G4[participants: Map UUID Set UUID]\n\n    H[db.execute mock] -->|JSON.stringify queryChunks| I{SQL pattern match}\n    I -->|information_schema.columns| J[Return trajectoryColumns as PG rows]\n    I -->|PRAGMA table_info| K[Return trajectoryColumns as SQLite rows]\n    I -->|no match| L[Return empty rows]\n\n    M[createAgent without id] -->|agent.id falsy| N[Falls back to resolvedAgentId]\n    N -->|overwrites| G1\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"fix(ci): align electrobun and docker smo...\"](https://github.com/elizaos/eliza/commit/2d8a8fea5eaf034832a4f7a6dea28bc880768b14) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28833430)</sub>\n\n> Greptile also left **2 inline comments** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-17T22:43:21Z",
      "mergedAt": "2026-04-17T23:14:50Z",
      "additions": 225,
      "deletions": 33
    },
    {
      "id": "PR_kwDOMT5cIs7TedI-",
      "title": "fix(deps): update dependency torch to ~=2.11.0",
      "author": "renovate",
      "number": 6864,
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [torch](https://redirect.github.com/pytorch/pytorch) | `~=2.8.0` → `~=2.11.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/torch/2.11.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/torch/2.8.0/2.11.0?slim=true) |\n\n---\n\n> [!WARNING]\n> Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/79) for more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>pytorch/pytorch (torch)</summary>\n\n### [`v2.11.0`](https://redirect.github.com/pytorch/pytorch/releases/tag/v2.11.0): PyTorch 2.11.0 Release\n\n[Compare Source](https://redirect.github.com/pytorch/pytorch/compare/v2.10.0...v2.11.0)\n\n### PyTorch 2.11.0 Release Notes\n\n- [Highlights](#highlights)\n- [Backwards Incompatible Changes](#backwards-incompatible-changes)\n- [Deprecations](#deprecations)\n- [New Features](#new-features)\n- [Improvements](#improvements)\n- [Bug fixes](#bug-fixes)\n- [Performance](#performance)\n- [Documentation](#documentation)\n- [Developers](#developers)\n- [Security](#security)\n\n### Highlights\n\n<table>\n  <tr>\n    <td>\n      Added Support for <strong>Differentiable Collectives</strong> for Distributed Training\n    </td>\n  </tr>\n  <tr>\n    <td>\n      <strong>FlexAttention</strong> now has a <strong>FlashAttention-4</strong> backend on <strong>Hopper</strong> and <strong>Blackwell</strong> GPUs\n    </td>\n  </tr>\n  <tr>\n    <td>\n      <strong>MPS (Apple Silicon)</strong> Comprehensive Operator Expansion\n    </td>\n  </tr>\n  <tr>\n    <td>\n      Added <strong>RNN/LSTM</strong> GPU Export Support\n    </td>\n  </tr>\n  <tr>\n    <td>\n      Added <strong>XPU Graph</strong> Support\n    </td>\n  </tr>\n</table>\n\nFor more details about these highlighted features, you can look at the [release blogpost](https://pytorch.org/blog/pytorch-2-11-release-blog/). Below are the full release notes for this release.\n\n### Backwards Incompatible Changes\n\n#### Release Engineering\n\n##### Volta (SM 7.0) GPU support removed from CUDA 12.8 and 12.9 binary builds ([#&#8203;172598](https://redirect.github.com/pytorch/pytorch/issues/172598))\n\nStarting with PyTorch 2.11, the CUDA 12.8 and 12.9 pre-built binaries no longer include support for Volta GPUs (compute capability 7.0, e.g. V100). This change was necessary to enable updating to CuDNN 9.15.1, which is incompatible with Volta.\n\nUsers with Volta GPUs who need CUDA 12.8+ should use the CUDA 12.6 builds, which continue to include Volta support. Alternatively, build PyTorch from source with Volta included in `TORCH_CUDA_ARCH_LIST`.\n\nVersion 2.10:\n\n```\n\n# CUDA 12.8 builds supported Volta (SM 7.0)\npip install torch --index-url https://download.pytorch.org/whl/cu128\n\n# Works on V100\n```\n\nVersion 2.11:\n\n```\n\n# CUDA 12.8 builds no longer support Volta\n# For V100 users, use CUDA 12.6 builds instead:\npip install torch --index-url https://download.pytorch.org/whl/cu126\n```\n\n##### PyPI wheels now ship with CUDA 13.0 instead of CUDA 12.x ([#&#8203;172663](https://redirect.github.com/pytorch/pytorch/issues/172663), [announcement](https://dev-discuss.pytorch.org/t/transitioning-pypi-cuda-wheels-to-cuda-13-0-as-the-stable-release-2-11/3325))\n\nStarting with PyTorch 2.11, `pip install torch` on PyPI installs CUDA 13.0 wheels by default for both Linux x86\\_64 and Linux aarch64. Previously, PyPI wheels shipped with CUDA 12.x and only Linux x86\\_64 CUDA wheels were available on PyPI. Users whose systems have only CUDA 12.x drivers installed may encounter errors when running `pip install torch` without specifying an index URL.\n\nAdditionally, CUDA 13.0 only supports Turing (SM 7.5) and newer GPU architectures on Linux x86\\_64. Maxwell and Pascal GPUs are no longer supported under CUDA 13.0. Users with these older GPUs should use the CUDA 12.6 builds instead.\n\nCUDA 12.6 and 12.8 binaries remain available via `download.pytorch.org`.\n\nVersion 2.10:\n\n```bash\n\n# PyPI wheel used CUDA 12.x\npip install torch\n```\n\nVersion 2.11:\n\n```bash\n\n# PyPI wheel now uses CUDA 13.0\npip install torch\n\n# To get CUDA 12.8 wheels instead:\npip install torch --index-url https://download.pytorch.org/whl/cu128\n\n# To get CUDA 12.6 wheels (includes Maxwell/Pascal/Volta support):\npip install torch --index-url https://download.pytorch.org/whl/cu126\n```\n\n#### Python Frontend\n\n##### `torch.hub.list()`, `torch.hub.load()`, and `torch.hub.help()` now default the `trust_repo` parameter to `\"check\"` instead of `None`. The `trust_repo=None` option has been removed. ([#&#8203;174101](https://redirect.github.com/pytorch/pytorch/issues/174101))\n\nPreviously, passing `trust_repo=None` (or relying on the default) would silently download and run code from untrusted repositories with only a warning. Now, the default `\"check\"` behavior will prompt the user for explicit confirmation before running code from repositories not on the trusted list.\n\nUsers who were explicitly passing `trust_repo=None` must update their code. Users who were already passing `trust_repo=True`, `trust_repo=False`, or `trust_repo=\"check\"` are not affected.\n\nVersion 2.10:\n\n```python\n\n# Default trust_repo=None — downloads with a warning\ntorch.hub.load(\"user/repo\", \"model\")\n\n# Explicit None — same behavior\ntorch.hub.load(\"user/repo\", \"model\", trust_repo=None)\n```\n\nVersion 2.11:\n\n```python\n\n# Default trust_repo=\"check\" — prompts for confirmation if repo is not trusted\ntorch.hub.load(\"user/repo\", \"model\")\n\n# To skip the prompt, explicitly trust the repo\ntorch.hub.load(\"user/repo\", \"model\", trust_repo=True)\n```\n\n#### torch.nn\n\n##### Add sliding window support to `varlen_attn` via `window_size`, making optional arguments keyword-only ([#&#8203;172238](https://redirect.github.com/pytorch/pytorch/issues/172238))\n\nThe signature of `torch.nn.attention.varlen_attn` has changed: a `*` (keyword-only separator) has been inserted before the optional arguments. Previously, optional arguments like `is_causal`, `return_aux`, and `scale` could be passed positionally; they must now be passed as keyword arguments. A new `window_size` keyword argument has also been added.\n\n```python\n\n# Before (2.10)\noutput = varlen_attn(query, key, value, cu_seq_q, cu_seq_k, max_q, max_k, True, None, 1.0)\n\n# After (2.11) — pass as keyword argument\noutput = varlen_attn(query, key, value, cu_seq_q, cu_seq_k, max_q, max_k, window_size=(-1, 0), return_aux=None, scale=1.0)\n```\n\n##### Remove `is_causal` flag from `varlen_attn` ([#&#8203;172245](https://redirect.github.com/pytorch/pytorch/issues/172245))\n\nThe `is_causal` parameter has been removed from `torch.nn.attention.varlen_attn`. Causal attention is now expressed through the `window_size` parameter: use `window_size=(-1, 0)` for causal masking, or `window_size=(W, 0)` for causal attention with a sliding window of size `W`. The default `window_size=(-1, -1)` corresponds to full (non-causal) attention.\n\n```python\n\n# Before (2.10)\noutput = varlen_attn(query, key, value, cu_seq_q, cu_seq_k, max_q, max_k, is_causal=True)\n\n# After (2.11) — use window_size instead\noutput = varlen_attn(query, key, value, cu_seq_q, cu_seq_k, max_q, max_k, window_size=(-1, 0))\n```\n\n#### Distributed\n\n##### `DebugInfoWriter` now honors `$XDG_CACHE_HOME` for its cache directory in C++ code, consistent with the Python side. Previously it always used `~/.cache/torch`. ([#&#8203;168232](https://redirect.github.com/pytorch/pytorch/issues/168232))\n\nThis avoids issues where `$HOME` is not set or not writable. Users who relied on `~/.cache/torch` being used regardless of `$XDG_CACHE_HOME` may see debug info written to a different location.\n\nVersion 2.10:\n\n```\n\n# C++ DebugInfoWriter always wrote to ~/.cache/torch\n```\n\nVersion 2.11:\n\n```\n\n# C++ DebugInfoWriter now respects $XDG_CACHE_HOME/torch (same as Python code)\n# Falls back to ~/.cache/torch if $XDG_CACHE_HOME is not set\n```\n\n##### `DeviceMesh` now stores a process group registry (`_pg_registry`) directly, enabling `torch.compile` to trace through `get_group()`. ([#&#8203;172272](https://redirect.github.com/pytorch/pytorch/issues/172272))\n\nThis may break code that skips `init_process_group`, loads a saved DTensor (constructing a DeviceMesh with no PGs), and later creates PGs separately — during `torch.compile` runtime the PG lookup will fail. Users should ensure process groups are initialized before constructing the DeviceMesh.\n\nVersion 2.10:\n\n```python\n\n# PGs resolved via global _resolve_process_group at runtime\nmesh = DeviceMesh(...)  # PGs could be created later\n```\n\nVersion 2.11:\n\n```python\n\n# PGs now stored on DeviceMesh._pg_registry; must exist at mesh creation\ndist.init_process_group(...)  # Must be called before creating mesh\nmesh = DeviceMesh(...)\n```\n\n#### Distributed (DTensor)\n\n##### `DTensor.to_local()` backward now converts `Partial` placements to `Replicate` by default when `grad_placements` is not provided. ([#&#8203;173454](https://redirect.github.com/pytorch/pytorch/issues/173454))\n\nPreviously, calling `to_local()` on a `Partial` DTensor would preserve the `Partial` placement in the backward gradient, which could produce incorrect gradients when combined with `from_local()`. Now, the backward pass automatically maps `Partial` forward placements to `Replicate` gradient placements, matching the behavior of `from_local()`.\n\nUsers who relied on the previous behavior (where `to_local()` backward preserved `Partial` gradients) may see different gradient values. To ensure correctness, explicitly pass `grad_placements` to `to_local()`.\n\nVersion 2.10:\n\n```python\n\n# Partial placement preserved in backward — could produce incorrect gradients\nlocal_tensor = partial_dtensor.to_local()\n```\n\nVersion 2.11:\n\n```python\n\n# Partial → Replicate in backward by default (correct behavior)\nlocal_tensor = partial_dtensor.to_local()\n\n# Or explicitly specify grad_placements for full control:\nlocal_tensor = partial_dtensor.to_local(grad_placements=[Replicate()])\n```\n\n##### `_PhiloxState.seed` and `_PhiloxState.offset` now return `torch.Tensor` instead of `int` ([#&#8203;173876](https://redirect.github.com/pytorch/pytorch/issues/173876))\n\nThe DTensor RNG internal `_PhiloxState` class changed its `seed` and `offset` properties to return tensors instead of Python ints, and the setters now expect tensors. This makes the RNG state compatible with PT2 tracing (the previous `.item()` calls were not fake-tensor friendly).\n\nCode that directly reads `_PhiloxState.seed` or `_PhiloxState.offset` and treats them as ints will break. Call `.item()` to get the int value. When setting, wrap the value in a tensor.\n\nVersion 2.10:\n\n```python\nfrom torch.distributed.tensor._random import _PhiloxState\n\nphilox = _PhiloxState(state)\nseed: int = philox.seed          # returned int\nphilox.offset = 42               # accepted int\n```\n\nVersion 2.11:\n\n```python\nfrom torch.distributed.tensor._random import _PhiloxState\n\nphilox = _PhiloxState(state)\nseed: int = philox.seed.item()   # now returns Tensor; call .item() for int\nphilox.offset = torch.tensor([42], dtype=torch.int64)  # must pass Tensor\n```\n\n#### ROCm\n\n##### caffe2 support is fully removed from ROCm PyTorch's hipify preprocessing. This is known as \"hipify v2\" behavior. ([#&#8203;174087](https://redirect.github.com/pytorch/pytorch/issues/174087), [#&#8203;174300](https://redirect.github.com/pytorch/pytorch/issues/174300), [#&#8203;174388](https://redirect.github.com/pytorch/pytorch/issues/174388), [#&#8203;174499](https://redirect.github.com/pytorch/pytorch/issues/174499), [#&#8203;175098](https://redirect.github.com/pytorch/pytorch/issues/175098))\n\n##### hipify v1 background\n\nWhen caffe2 and PyTorch were separate projects, the ROCm support strategies were different.  For caffe2, all files and classes would be renamed following the pattern of CUDA to HIP, Cuda to Hip, cuda to hip, and so on.  PyTorch did not rename classes, but would create new files following the same renaming pattern (e.g., aten/src/ATen/cuda/CUDABlas.h to aten/src/ATen/hip/HIPBlas.h).  As a consequence, caffe2 had a distinct device backend named \"HIP\" (renamed from \"CUDA\") while ROCm PyTorch masquerades as the \"cuda\" device (`torch.empty(1, device=\"cuda\")`).  Once caffe2 and PyTorch projects were merged, this caused a mismatch between caffe2 expecting to use a \"HIP\" device while PyTorch expecting a \"cuda\" device.  To alleviate this mismatch, \"Masquerading\" classes were created under aten/src/ATen/hip/impl.\n\n- HIPAllocatorMasqueradingAsCUDA.h\n- HIPCachingAllocatorMasqueradingAsCUDA.h\n- HIPGuardImplMasqueradingAsCUDA.h\n- HIPStreamMasqueradingAsCUDA.h\n  These classes were often transparently utilized during ROCm PyTorch's hipify preprocessing of source files.  All files under c10/ and caffe2/ were hipified using the caffe2 renaming behavior, while all other \"PyTorch\" files used the other strategy.  The Masquerading classes would replace their CUDA counterpart during hipify preprocessing.  For example, c10/cuda/CUDAStream.h's CUDAStream would be replaced by aten/src/ATen/hip/impl/HIPStreamMasqueradingAsCUDA.h's HIPStreamMasqueradingAsCUDA.  These Masquerading classes call the underlying caffe2 code and create \"HIP\" devices, and the device would be reset to \"cuda\" by the Masquerading classes.\n\n##### hipify v2 new behavior\n\nHipify v2 ([#&#8203;174087](https://redirect.github.com/pytorch/pytorch/issues/174087), [#&#8203;174300](https://redirect.github.com/pytorch/pytorch/issues/174300), [#&#8203;174388](https://redirect.github.com/pytorch/pytorch/issues/174388), [#&#8203;174499](https://redirect.github.com/pytorch/pytorch/issues/174499), [#&#8203;175098](https://redirect.github.com/pytorch/pytorch/issues/175098)) makes the following changes:\n\n- \"Masquerading\" classes are deprecated. Reworked to be thin shells around existing classes, for backward compatibility.\n- Do not rename \"CUDA\" classes to \"HIP\". Only rename CUDA Runtime APIs. Files are still renamed out of place.\n- Removes caffe2 work-arounds for HIP device versus CUDA device.\n  Great care has been taken to make this change backwards compatible.  Though PyTorch today builds cleanly using hipify v2 behavior, downstream PyTorch extension projects that explicitly included Masquerading headers or called Masquerading APIs could be affected, resulting in failed builds.  As an example, before backwards compatibility was realized, the xformers project had failed to build using the hipify v2 changes.  A [PR demonstrates the changes that were initially necessary to work around the build failures,](https://redirect.github.com/facebookresearch/xformers/pull/1351) but such changes are no longer necessary after hipify v2 BC-breaking behavior was improved.\n\n#### torch.export\n\n##### `torch.export.export_for_training` has been removed ([#&#8203;171714](https://redirect.github.com/pytorch/pytorch/issues/171714))\n\n`export_for_training` was previously available as a separate API for exporting models while preserving training semantics. This function has been removed. Users should use `torch.export.export` instead, which returns the same graph as the previous `export_for_training`.\n\n#### ONNX\n\n##### **Remove the `fallback` option from `torch.onnx.export`** ([#&#8203;173189](https://redirect.github.com/pytorch/pytorch/issues/173189))\n\nThe `fallback` parameter has been removed from `torch.onnx.export()`. Previously, when `fallback=True`, the exporter would automatically fall back to the legacy TorchScript-based exporter if the dynamo exporter failed. This fallback was removed because it was overly complicated, required different inputs, produced different models, and hid errors from the new exporter.\n\n**Migration:** Remove `fallback=True` (or `fallback=False`) from your `torch.onnx.export()` calls. If you need fallback behavior, implement it explicitly in your own code by catching exceptions and calling the legacy exporter separately.\n\n```python\n\n# Before\ntorch.onnx.export(model, args, \"model.onnx\", dynamo=True, fallback=True)\n\n# After\ntorch.onnx.export(model, args, \"model.onnx\", dynamo=True)\n```\n\n##### **Remove overload matching logic from the ONNX dispatcher** ([#&#8203;165083](https://redirect.github.com/pytorch/pytorch/issues/165083))\n\nThe `custom_translation_table` parameter in `torch.onnx.export()` no longer accepts a list of functions for each torch op. Previously, users could pass a list of overloaded ONNX functions (e.g., one for float tensors, another for bool tensors), and the dispatcher would automatically select the correct overload based on input types. This complex type-matching logic has been removed because torchlib no longer uses overloads for the same opset version.\n\nThe type of `custom_translation_table` changed from `dict[Callable, Callable | Sequence[Callable]]` to `dict[Callable, Callable]`. Passing a `Sequence` as a value now raises a `TypeError`.\n\n**Migration:** Provide a single function per operator instead of a list of overloads. If you need type-dependent behavior, handle it inside the single function.\n\n```python\n\n# Before\ncustom_translation_table = {\n    torch.ops.aten.logical_and.default: [custom_impl_float, custom_impl_bool],\n}\n\n# After\ncustom_translation_table = {\n    torch.ops.aten.logical_and.default: custom_impl,\n}\n```\n\n#### Quantization\n\n##### The PT2E quantization flow (`torch.ao.quantization.pt2e` and `torch.ao.quantization.quantizer`) has been removed from PyTorch and migrated to [torchao](https://redirect.github.com/pytorch/ao). ([#&#8203;169151](https://redirect.github.com/pytorch/pytorch/issues/169151))\n\nThe following modules and classes have been removed:\n\n- `torch.ao.quantization.pt2e` (including `DuplicateDQPass`, `PortNodeMetaForQDQ`, export utils, graph utils, numeric debugger, lowering utilities)\n- `torch.ao.quantization.quantizer` (including `ComposableQuantizer`, `EmbeddingQuantizer`, `X86InductorQuantizer`, `XPUInductorQuantizer`, `XNNPACKQuantizer`, `QuantizationSpec`, `QuantizationAnnotation`, `QuantizationConfig`, etc.)\n\nUsers relying on the PT2E quantization flow should migrate to the `torchao` package, which now hosts these APIs.\n\nVersion 2.10:\n\n```python\nfrom torch.ao.quantization.pt2e import prepare_pt2e, convert_pt2e\nfrom torch.ao.quantization.quantizer.x86_inductor_quantizer import X86InductorQuantizer\n```\n\nVersion 2.11:\n\n```python\n\n# Install torchao: pip install torchao\nfrom torchao.quantization.pt2e import prepare_pt2e, convert_pt2e\nfrom torchao.quantization.pt2e.quantizer.x86_inductor_quantizer import X86InductorQuantizer\n```\n\n### Deprecations\n\n#### Linear Algebra\n\n- The MAGMA backend for linear algebra operations is now deprecated and will be removed in a future release. Setting `torch.backends.cuda.preferred_linalg_library(\"magma\")` or retrieving a previously-set MAGMA preference will now issue a deprecation warning. cuSOLVER remains the default backend. ([#&#8203;172823](https://redirect.github.com/pytorch/pytorch/issues/172823))\n\n  If you see any errors when using cuSOLVER that did not occur with MAGMA, please file an issue on GitHub. To silence the warning, stop explicitly selecting the MAGMA backend:\n\n  Version 2.10:\n\n  ```python\n  # No warning\n  torch.backends.cuda.preferred_linalg_library(\"magma\")\n  ```\n\n  Version 2.11:\n\n  ```python\n  # Issues a deprecation warning — remove this call to use the default cuSOLVER backend\n  torch.backends.cuda.preferred_linalg_library(\"magma\")\n  ```\n\n- `torch.linalg.svd` no longer dispatches to MAGMA. The MAGMA backend is deprecated and cuSOLVER is now used unconditionally, providing significant speedups (2x–400x depending on matrix size and batch dimensions). ([#&#8203;172824](https://redirect.github.com/pytorch/pytorch/issues/172824))\n\n  Previously, setting `torch.backends.cuda.preferred_linalg_library(\"magma\")` would route SVD through MAGMA. This setting is now ignored for SVD, and cuSOLVER is always used.\n\n  Version 2.10:\n\n  ```python\n  torch.backends.cuda.preferred_linalg_library(\"magma\")\n  U, S, Vh = torch.linalg.svd(x)  # Uses MAGMA\n  ```\n\n  Version 2.11:\n\n  ```python\n  # MAGMA preference is ignored; cuSOLVER is always used\n  U, S, Vh = torch.linalg.svd(x)  # Uses cuSOLVER\n  ```\n\n- `torch.linalg.solve_triangular` and `torch.triangular_solve` no longer dispatch to MAGMA on CUDA. cuBLAS is now used unconditionally, providing speedups of 2x–24x for most matrix sizes (small matrices may see minor regressions of \\~0.6x). ([#&#8203;174109](https://redirect.github.com/pytorch/pytorch/issues/174109))\n\n  Version 2.10:\n\n  ```python\n  torch.backends.cuda.preferred_linalg_library(\"magma\")\n  torch.linalg.solve_triangular(A, B, upper=False)  # Uses MAGMA\n  ```\n\n  Version 2.11:\n\n  ```python\n  # MAGMA preference is ignored; cuBLAS is always used\n  torch.linalg.solve_triangular(A, B, upper=False)  # Uses cuBLAS\n  ```\n\n- `torch.linalg.lstsq` no longer dispatches to MAGMA. cuSOLVER/cuBLAS are now used unconditionally, providing speedups of 1.7x–620x depending on matrix size and batch dimensions. ([#&#8203;174779](https://redirect.github.com/pytorch/pytorch/issues/174779))\n\n  Version 2.10:\n\n  ```python\n  torch.backends.cuda.preferred_linalg_library(\"magma\")\n  result = torch.linalg.lstsq(A, B)  # Uses MAGMA\n  ```\n\n  Version 2.11:\n\n  ```python\n  # MAGMA preference is ignored; cuSOLVER/cuBLAS is always used\n  result = torch.linalg.lstsq(A, B)  # Uses cuSOLVER/cuBLAS\n  ```\n\n#### Distributed\n\n##### `torch.distributed.symmetric_memory.enable_symm_mem_for_group` is deprecated. The store can be retrieved directly via `ProcessGroup.getStore()` in C++, making this call unnecessary. ([#&#8203;172163](https://redirect.github.com/pytorch/pytorch/issues/172163))\n\nVersion 2.10:\n\n```python\nfrom torch.distributed.symmetric_memory import enable_symm_mem_for_group\nenable_symm_mem_for_group(group)\n```\n\nVersion 2.11:\n\n```python\n\n# No longer needed — store is accessed directly from the ProcessGroup\n```\n\n### New features\n\n#### Python Frontend\n\n- Added `native_handle` property to `torch.Stream`, providing a unified way to retrieve the backend-specific opaque stream handle (e.g., `cudaStream_t` for CUDA, `sycl::queue*` for XPU). This is useful for passing stream handles to third-party libraries such as Triton. ([#&#8203;171040](https://redirect.github.com/pytorch/pytorch/issues/171040))\n\n  ```python\n  stream = torch.accelerator.current_stream()\n  handle = stream.native_handle  # backend-specific stream handle\n  ```\n\n#### Autograd\n\n- Add `Function.clear_saved_tensors_on_access` class attribute to automatically free saved tensors after they are accessed ([#&#8203;173833](https://redirect.github.com/pytorch/pytorch/issues/173833))\n\n#### torch.nn\n\n- Add mechanism to restore default flash attn impl after `activate_flash_attention_impl` ([#&#8203;169866](https://redirect.github.com/pytorch/pytorch/issues/169866))\n- Add `scale` for softmax to varlen attn ([#&#8203;171199](https://redirect.github.com/pytorch/pytorch/issues/171199))\n\n#### Distributed\n\n- Add `start_method` option to `torch.distributed.debug.start_debug_server` to select the multiprocessing start method (`fork`, `spawn`, or `forkserver`), enabling CUDA-safe server startup ([#&#8203;173196](https://redirect.github.com/pytorch/pytorch/issues/173196))\n- Add support for periodic dumping in `torch.distributed.debug` ([#&#8203;174808](https://redirect.github.com/pytorch/pytorch/issues/174808))\n- Non-functional collectives (e.g. `torch.distributed.all_gather`) now automatically work with `FakeTensorMode` — meta implementations are registered at `import torch` time ([#&#8203;162119](https://redirect.github.com/pytorch/pytorch/issues/162119))\n- Implement NCCL 2.29 one-sided APIs for symmetric memory ([#&#8203;172425](https://redirect.github.com/pytorch/pytorch/issues/172425))\n- Bind `SymmetricMemory` as a torch class for use in op definitions ([#&#8203;174019](https://redirect.github.com/pytorch/pytorch/issues/174019))\n- Enable `torchcomms` `_BackendWrapper` shim layer in c10d ([#&#8203;174202](https://redirect.github.com/pytorch/pytorch/issues/174202))\n- Expose SymmetricMemory window API ([#&#8203;170740](https://redirect.github.com/pytorch/pytorch/issues/170740))\n\n#### CUDA\n\n- Make (pinned) host memory allocations work with memory pools. ([#&#8203;167507](https://redirect.github.com/pytorch/pytorch/issues/167507))\n- Make large segment size configurable for allocation performance tuning (esp. re: Expandable Segments). ([#&#8203;172056](https://redirect.github.com/pytorch/pytorch/issues/172056))\n\n#### MPS\n\n- Async error reporting from GPU operations ([#&#8203;170002](https://redirect.github.com/pytorch/pytorch/issues/170002), [#&#8203;170050](https://redirect.github.com/pytorch/pytorch/issues/170050))\n  ```python\n  import torch\n  x = torch.rand(10, 1, 10, device='mps')\n  y = x[:, [1]]\n  torch.mps.synchronize()  # will raise index out of bounds error\n  ```\n- Added support for Metal 4 ([#&#8203;172229](https://redirect.github.com/pytorch/pytorch/issues/172229), [#&#8203;172230](https://redirect.github.com/pytorch/pytorch/issues/172230))\n\n#### ROCm\n\n- Expose device properties `clock_rate`, `memory_clock_rate`, `memory_bus_width`, `memory_per_block`, `shared_memory_per_block`. ([#&#8203;170572](https://redirect.github.com/pytorch/pytorch/issues/170572))\n- Support for device-side assertions via `TORCH_USE_HIP_DSA`. ([#&#8203;172679](https://redirect.github.com/pytorch/pytorch/issues/172679))\n- Attention operator support on gfx1151/1152/1153 via AOTriton 0.11.2b update ([#&#8203;174105](https://redirect.github.com/pytorch/pytorch/issues/174105))\n- Enable scaled group mm on gfx950. ([#&#8203;173737](https://redirect.github.com/pytorch/pytorch/issues/173737))\n- Enable group gemm on gfx90a. ([#&#8203;169356](https://redirect.github.com/pytorch/pytorch/issues/169356))\n- Enable MIOpen backend for CTC Loss. ([#&#8203;170749](https://redirect.github.com/pytorch/pytorch/issues/170749))\n- Add hipsparseSpSV and hipsparseSpSM support for triangular solve. ([#&#8203;171097](https://redirect.github.com/pytorch/pytorch/issues/171097))\n- Support for PyTorch's StaticCudaLauncher, which provides static compilation and launching of Triton kernels. ([#&#8203;166492](https://redirect.github.com/pytorch/pytorch/issues/166492))\n\n#### XPU\n\n- Introduce XPUGraph, a runtime optimization feature designed to reduce kernel host overhead on XPU devices, detail in: [design](https://redirect.github.com/pytorch/pytorch/issues/162143) and [usage](https://docs.pytorch.org/docs/2.11/xpu.html#graphs). ([#&#8203;166285](https://redirect.github.com/pytorch/pytorch/issues/166285), [#&#8203;174041](https://redirect.github.com/pytorch/pytorch/issues/174041), [#&#8203;174351](https://redirect.github.com/pytorch/pytorch/issues/174351), [#&#8203;174059](https://redirect.github.com/pytorch/pytorch/issues/174059), [#&#8203;174046](https://redirect.github.com/pytorch/pytorch/issues/174046), [#&#8203;166843](https://redirect.github.com/pytorch/pytorch/issues/166843))\n\n#### torch.compile\n\n##### Dynamo\n\n- `torch.compile` now supports tracing through `contextlib.ExitStack` and `contextlib.suppress` context managers, allowing code that uses these patterns to be compiled without graph breaks ([#&#8203;146506](https://redirect.github.com/pytorch/pytorch/issues/146506), [#&#8203;147990](https://redirect.github.com/pytorch/pytorch/issues/147990))\n- Added `torch._dynamo.config.ignore_logging_functions` config to skip arbitrary logging callables during tracing without causing graph breaks. Add functions to this set to have Dynamo treat them as no-ops during compilation ([#&#8203;168913](https://redirect.github.com/pytorch/pytorch/issues/168913))\n- Added `TORCH_DYNAMO_AUTOMATIC_DYNAMIC_SHAPES=0` environment variable to globally disable automatic dynamic shapes without modifying Python code ([#&#8203;172334](https://redirect.github.com/pytorch/pytorch/issues/172334))\n- Added `TORCH_COMPILE_OVERRIDE_BACKENDS` environment variable for per-graph backend override, enabling binary search to find problematic compiled graphs. Supports filter syntax like `\">10:eager\"` or `\"0-5:aot_eager;6-10:inductor\"` ([#&#8203;172411](https://redirect.github.com/pytorch/pytorch/issues/172411))\n- Added initial support for `torch._dynamo.decorators.leaf_function`, which allows annotating functions as leaf operations that Dynamo and AOTAutograd will not trace into ([#&#8203;170471](https://redirect.github.com/pytorch/pytorch/issues/170471))\n- Added support for tracing backward hooks on intermediate tensors, fixing cases where `register_hook` on non-leaf tensors would fail under `torch.compile` ([#&#8203;172126](https://redirect.github.com/pytorch/pytorch/issues/172126))\n\n##### Inductor\n\n- FlexAttention supports deterministic mode, wired through both Flex and Flash backends ([#&#8203;173126](https://redirect.github.com/pytorch/pytorch/issues/173126))\n- Added range-based autotuning for custom ops, enabling selection of optimal implementations based on runtime tensor dimension values with per-range benchmarking and automatic `torch.cond` dispatch generation ([#&#8203;167617](https://redirect.github.com/pytorch/pytorch/issues/167617))\n- FlexAttention: Added support for low precision K/V inputs in compiled mode. Keys and Values can now be in lower precision than Queries for memory efficiency ([#&#8203;171761](https://redirect.github.com/pytorch/pytorch/issues/171761))\n- Added native `ldexp` lowering with `libdevice.ldexp` (CUDA) and `std::ldexp` (CPU) codegen ([#&#8203;171721](https://redirect.github.com/pytorch/pytorch/issues/171721))\n- Inductor now supports `pin_memory` for `torch.empty` ([#&#8203;172578](https://redirect.github.com/pytorch/pytorch/issues/172578))\n- Exposed `triton_meta` to TritonTemplate `maybe_append_choice` API for custom template development ([#&#8203;174292](https://redirect.github.com/pytorch/pytorch/issues/174292))\n- Added Async Pipelined Autotuning for `max-autotune-gemm`, which overlaps autotuning with lowering/scheduling in a subprocess to reduce compilation overhead ([#&#8203;170407](https://redirect.github.com/pytorch/pytorch/issues/170407))\n- FlexFlash: Added BlockSparse backward pass, dynamic shapes, and backward score-mod support ([#&#8203;170397](https://redirect.github.com/pytorch/pytorch/issues/170397), [#&#8203;170611](https://redirect.github.com/pytorch/pytorch/issues/170611), [#&#8203;171465](https://redirect.github.com/pytorch/pytorch/issues/171465))\n- Added FP8 `(BlockWise128x128, BlockWise1x128)` scaling support in Inductor Triton templates ([#&#8203;170748](https://redirect.github.com/pytorch/pytorch/issues/170748))\n- Autochunker: Added gradient accumulation support and ability to override number of chunks ([#&#8203;171359](https://redirect.github.com/pytorch/pytorch/issues/171359), [#&#8203;171477](https://redirect.github.com/pytorch/pytorch/issues/171477))\n- Added NVGEMM backend for GEMM operations using NVIDIA's native matmul library, with support for BMM, grouped GEMM, scaled MM, dynamic shapes ([#&#8203;171205](https://redirect.github.com/pytorch/pytorch/issues/171205), [#&#8203;171362](https://redirect.github.com/pytorch/pytorch/issues/171362), [#&#8203;172280](https://redirect.github.com/pytorch/pytorch/issues/172280), [#&#8203;172283](https://redirect.github.com/pytorch/pytorch/issues/172283), [#&#8203;172378](https://redirect.github.com/pytorch/pytorch/issues/172378), [#&#8203;172388](https://redirect.github.com/pytorch/pytorch/issues/172388), [#&#8203;172391](https://redirect.github.com/pytorch/pytorch/issues/172391), [#&#8203;172402](https://redirect.github.com/pytorch/pytorch/issues/172402), [#&#8203;172417](https://redirect.github.com/pytorch/pytorch/issues/172417), [#&#8203;172525](https://redirect.github.com/pytorch/pytorch/issues/172525), [#&#8203;172582](https://redirect.github.com/pytorch/pytorch/issues/172582), [#&#8203;172607](https://redirect.github.com/pytorch/pytorch/issues/172607), [#&#8203;174827](https://redirect.github.com/pytorch/pytorch/issues/174827))\n\n#### torch.export\n\n- Add nested tensor serialization support for `torch.export` ([#&#8203;174720](https://redirect.github.com/pytorch/pytorch/issues/174720))\n- RNN modules (LSTM, GRU, etc.) can now be exported on GPUs ([#&#8203;169710](https://redirect.github.com/pytorch/pytorch/issues/169710))\n- Add patch to enable tracing LSTM with dynamic shapes ([#&#8203;168095](https://redirect.github.com/pytorch/pytorch/issues/168095))\n\n#### ONNX\n\n- Added `ExportableModule` wrapper for ONNX export ([#&#8203;170810](https://redirect.github.com/pytorch/pytorch/issues/170810))\n- Added `InputObserver` to infer dynamic shapes for export ([#&#8203;172838](https://redirect.github.com/pytorch/pytorch/issues/172838))\n- Add a parameter to force the first dimension to be dynamic in InputObserver.infer\\_dynamic\\_shapes ([#&#8203;173533](https://redirect.github.com/pytorch/pytorch/issues/173533))\n- Implement while\\_loop ([#&#8203;162645](https://redirect.github.com/pytorch/pytorch/issues/162645))\n- Add invoke\\_subgraph HOP export support ([#&#8203;174283](https://redirect.github.com/pytorch/pytorch/issues/174283))\n- Expose ONNXProgram.rename\\_axes for renaming dims ([#&#8203;172032](https://redirect.github.com/pytorch/pytorch/issues/172032))\n- Support custom empty tensor shapes in `InputObserver` for multimodal LLM export ([#&#8203;174964](https://redirect.github.com/pytorch/pytorch/issues/174964))\n\n#### Foreach\n\n- Added `torch.linalg._powsum` and `torch._foreach_powsum` as fused kernels that compute `sum(abs(x)**ord)` (equivalent to `vector_norm` without the root extraction) ([#&#8203;172685](https://redirect.github.com/pytorch/pytorch/issues/172685))\n\n### Improvements\n\n#### Release Engineering\n\n- Upgrade to ROCm 7.2 with new Docker images, magma tarball, and binary builds ([#&#8203;173096](https://redirect.github.com/pytorch/pytorch/issues/173096), [#&#8203;173106](https://redirect.github.com/pytorch/pytorch/issues/173106), [#&#8203;173187](https://redirect.github.com/pytorch/pytorch/issues/173187), [#&#8203;174234](https://redirect.github.com/pytorch/pytorch/issues/174234))\n- Add an option to install cuda if required cuda/cudnn on windows AMI do not match ([#&#8203;177273](https://redirect.github.com/pytorch/pytorch/issues/177273))\n\n#### Python Frontend\n\n- `torch.load` now produces clearer error messages when encountering miniz errors from `PyTorchStreamReader`, explicitly indicating that the checkpoint file is likely corrupt ([#&#8203;170244](https://redirect.github.com/pytorch/pytorch/issues/170244))\n- `torch.load(map_location='meta')` no longer reads storage data from the filesystem, improving performance when loading checkpoints onto the meta device ([#&#8203;170619](https://redirect.github.com/pytorch/pytorch/issues/170619))\n\n#### Composability\n\n- Add `check_out_variant` and `to_out_variant` utilities for custom operator out variant validation. `check_out_variant` verifies that a custom op's out variant is compatible with Inductor's out\\_variant pass, and `to_out_variant` converts an `OpOverload` to its out variant. ([#&#8203;174473](https://redirect.github.com/pytorch/pytorch/issues/174473))\n\n#### torch.nn\n\n- Add `remove_duplicate` parameter to `nn.Module.modules()` function ([#&#8203;174383](https://redirect.github.com/pytorch/pytorch/issues/174383))\n- Add support for low precision K/V inputs to `nn.attention.flex_attention` ([#&#8203;171744](https://redirect.github.com/pytorch/pytorch/issues/171744))\n\n#### C++ Frontend\n\n- Added support for `Float8_e8m0fnu` and `Float4_e2m1fn_x2` dtypes to stable ABI ([#&#8203;173669](https://redirect.github.com/pytorch/pytorch/issues/173669))\n- Added `torch::stable::Tensor::layout()` ([#&#8203;174735](https://redirect.github.com/pytorch/pytorch/issues/174735))\n\n#### Distributed\n\n- Set thread name for Gloo internal loop for easier debugging ([#&#8203;169979](https://redirect.github.com/pytorch/pytorch/issues/169979))\n- Make `context_parallel_shard` more general ([#&#8203;170200](https://redirect.github.com/pytorch/pytorch/issues/170200))\n- Polish NCCL symmetric memory code ([#&#8203;170582](https://redirect.github.com/pytorch/pytorch/issues/170582))\n- Add MemPool support for NCCL symmetric memory backend ([#&#8203;171727](https://redirect.github.com/pytorch/pytorch/issues/171727))\n- Extend symmetric memory barrier to both LSA and GIN ([#&#8203;172701](https://redirect.github.com/pytorch/pytorch/issues/172701))\n- Implement `get_offset` for symmetric memory ([#&#8203;172044](https://redirect.github.com/pytorch/pytorch/issues/172044))\n- `ProcessGroupNCCL`: workaround for `reduce_scatter` with `world_size=1` ([#&#8203;170922](https://redirect.github.com/pytorch/pytorch/issues/170922))\n- Add XCCL backend support for `ProcessGroupWrapper` ([#&#8203;171920](https://redirect.github.com/pytorch/pytorch/issues/171920))\n- Lazy import `pdb` only when user calls `breakpoint()` in `torch.distributed` ([#&#8203;171818](https://redirect.github.com/pytorch/pytorch/issues/171818))\n- Remove MB < PP check for GPipe pipeline schedule ([#&#8203;171462](https://redirect.github.com/pytorch/pytorch/issues/171462))\n- Pass DDP bucket cap size list for finer-grained control ([#&#8203;169026](https://redirect.github.com/pytorch/pytorch/issues/169026))\n- Enable ProcessGroup round-trip through JIT via CapsuleType ([#&#8203;172794](https://redirect.github.com/pytorch/pytorch/issues/172794))\n- Don't repeatedly log environment variables ([#&#8203;170399](https://redirect.github.com/pytorch/pytorch/issues/170399))\n- Set NCCL group desc before creating comm so it propagates ([#&#8203;171159](https://redirect.github.com/pytorch/pytorch/issues/171159))\n- `ProcessGroupNCCL`: use lowest rank as split color ([#&#8203;173687](https://redirect.github.com/pytorch/pytorch/issues/173687))\n\n##### DTensor\n\n- Add OpSchema.args\\_meta, kwargs\\_meta helpers ([#&#8203;170358](https://redirect.github.com/pytorch/pytorch/issues/170358))\n- Support misc sym ops ([#&#8203;172268](https://redirect.github.com/pytorch/pytorch/issues/172268))\n- DTensor Ops: Add linearity support for neg operation ([#&#8203;172563](https://redirect.github.com/pytorch/pytorch/issues/172563))\n- Add SymInt support for DTensor mesh coordinate computation in PT2 ([#&#8203;169552](https://redirect.github.com/pytorch/pytorch/issues/169552))\n- Enable single-dim strategy for addmm and baddbmm ([#&#8203;172387](https://redirect.github.com/pytorch/pytorch/issues/172387))\n- Support uneven \\_StridedShard redistribution ([#&#8203;172266](https://redirect.github.com/pytorch/pytorch/issues/172266))\n- Update TP api to support single-dim strategies ([#&#8203;173567](https://redirect.github.com/pytorch/pytorch/issues/173567))\n- Initial support for decomps + sharding prop ([#&#8203;171652](https://redirect.github.com/pytorch/pytorch/issues/171652))\n- Add shard prop cache logging ([#&#8203;173775](https://redirect.github.com/pytorch/pytorch/issues/173775))\n- Optimize redistribute comms using flattened meshes ([#&#8203;174630](https://redirect.github.com/pytorch/pytorch/issues/174630))\n\n#### CPU\n\n- Added support for FP16 half-precision GEMM via OpenBLAS on CPU, enabling faster FP16 inference ([#&#8203;169042](https://redirect.github.com/pytorch/pytorch/issues/169042))\n\n#### CUDA\n\n- Remove \\_scaled\\_mm layout check on Blackwells ([#&#8203;170693](https://redirect.github.com/pytorch/pytorch/issues/170693))\n- Add uint16, uint32, uint64 support to JIT CUDA kernels ([#&#8203;174303](https://redirect.github.com/pytorch/pytorch/issues/174303))\n- Remove fallback paths for pinned memory allocation during CUDA graph capture ([#&#8203;170710](https://redirect.github.com/pytorch/pytorch/issues/170710))\n- Improve numerics of UpSample kernel by using `accscalar_t` for interpolation accumulators ([#&#8203;170661](https://redirect.github.com/pytorch/pytorch/issues/170661))\n- Reinstate error message details in CUDA\\_KERNEL\\_ASSERT\\_VERBOSE call in IndexKernelUtils.cu ([#&#8203;170913](https://redirect.github.com/pytorch/pytorch/issues/170913))\n- Switch order of blocked reduce in reduction\\_template.cuh ([#&#8203;173425](https://redirect.github.com/pytorch/pytorch/issues/173425))\n\n#### cuDNN\n\n- Upgrade cuDNN to 9.15.1 for CUDA 13 builds ([#&#8203;169412](https://redirect.github.com/pytorch/pytorch/issues/169412))\n- Upgrade CUDA 13.0 wheels to cuDNN 9.17.1 ([#&#8203;173216](https://redirect.github.com/pytorch/pytorch/issues/173216))\n- Enhance cuDNN tensor shape checks in sdp\\_utils.cpp to support Blackwell GPUs ([#&#8203;172621](https://redirect.github.com/pytorch/pytorch/issues/172621))\n\n#### MPS\n\n- Improved support for distributions operations ([#&#8203;172187](https://redirect.github.com/pytorch/pytorch/issues/172187), [#&#8203;172675](https://redirect.github.com/pytorch/pytorch/issues/172675), [#&#8203;173287](https://redirect.github.com/pytorch/pytorch/issues/173287))\n- Enabling `index_fill` backward pass ([#&#8203;174238](https://redirect.github.com/pytorch/pytorch/issues/174238))\n- Extended `baddbmm` and `addbmm` to integer and complex types ([#&#8203;170895](https://redirect.github.com/pytorch/pytorch/issues/170895))\n- Improved error messages for distributed ops on MPS ([#&#8203;173954](https://redirect.github.com/pytorch/pytorch/issues/173954))\n- Added MPS support for `torch.special.erfcx` (scaled complementary error function) ([#&#8203;172910](https://redirect.github.com/pytorch/pytorch/issues/172910))\n\n#### ROCm\n\n- `addmm` behavior now takes into account preferred BLAS backend instead of forcing hipblaslt. ([#&#8203;174350](https://redirect.github.com/pytorch/pytorch/issues/174350))\n- Enable hipBLASLt on gfx1103. ([#&#8203;172180](https://redirect.github.com/pytorch/pytorch/issues/172180))\n\n#### Sparse Frontend\n\n- `torch.view_as_real` and `torch.view_as_complex` now support sparse tensors ([#&#8203;164964](https://redirect.github.com/pytorch/pytorch/issues/164964))\n- Sparse tensor invariants check warning is now raised only once when the check is disabled, instead of on every operation ([#&#8203;171695](https://redirect.github.com/pytorch/pytorch/issues/171695))\n\n#### XPU\n\n- Add `torch.xpu._dump_snapshot` API ([#&#8203;170186](https://redirect.github.com/pytorch/pytorch/issues/170186))\n- Add `torch.xpu._record_memory_history` API ([#&#8203;169559](https://redirect.github.com/pytorch/pytorch/issues/169559))\n- Add `torch.xpu.memory_snapshot` ([#&#8203;169442](https://redirect.github.com/pytorch/pytorch/issues/169442))\n- Add `local_mem_size` to XPU device properties ([#&#8203;172314](https://redirect.github.com/pytorch/pytorch/issues/172314))\n- Support `torch.accelerator.get_device_capability` on XPU ([#&#8203;170747](https://redirect.github.com/pytorch/pytorch/issues/170747))\n- Enable Triton online softmax kernels on XPU ([#&#8203;163251](https://redirect.github.com/pytorch/pytorch/issues/163251))\n- Support woq\\_int8 Inductor pattern on Intel GPU ([#&#8203;163615](https://redirect.github.com/pytorch/pytorch/issues/163615))\n- Add XPU ATen GEMM overloads with output dtype ([#&#8203;170523](https://redirect.github.com/pytorch/pytorch/issues/170523))\n- Support `aot_inductor.emit_multi_arch_kernel` on XPU ([#&#8203;171432](https://redirect.github.com/pytorch/pytorch/issues/171432))\n- Improve Inductor UT coverage for XPU ([#&#8203;171280](https://redirect.github.com/pytorch/pytorch/issues/171280), [#&#8203;166376](https://redirect.github.com/pytorch/pytorch/issues/166376), [#&#8203;169181](https://redirect.github.com/pytorch/pytorch/issues/169181), [#&#8203;166504](https://redirect.github.com/pytorch/pytorch/issues/166504))\n- Enable Triton mm template `decompose_k` choice for XPU ([#&#8203;170541](https://redirect.github.com/pytorch/pytorch/issues/170541))\n- Support AOTInductor standalone compile API for XPU ([#&#8203;171450](https://redirect.github.com/pytorch/pytorch/issues/171450))\n\n#### Profiler\n\n- The memory visualizer now has a checkbox to toggle showing the trace, useful for large traces that take\n  a long time to load ([#&#8203;174717](https://redirect.github.com/pytorch/pytorch/issues/174717)). The memory profiler\n  now exposes a new `skip_actions` flag to filter out specific events ([#&#8203;168183](https://redirect.github.com/pytorch/pytorch/issues/168183)).\n- The profiler now exposes a `post_process_timeout_s` field to prevent post processing from blocking\n  further execution ([#&#8203;173957](https://redirect.github.com/pytorch/pytorch/issues/173957)).\n\n#### torch.compile\n\n##### Dynamo\n\n- Suppressed repeated \"triton not found\" messages during import — previously 12 identical warnings were printed ([#&#8203;172614](https://redirect.github.com/pytorch/pytorch/issues/172614))\n- `fullgraph=True` now recursively disables dynamo on compiled code to prevent unintentional re-invocation of `torch.compile` ([#&#8203;173080](https://redirect.github.com/pytorch/pytorch/issues/173080))\n- Miscellaneous smaller tracing support additions:\n  - Support for `Enum.__contains__` and constants ([#&#8203;173223](https://redirect.github.com/pytorch/pytorch/issues/173223))\n  - Updated nn module hook handling to work with `kwargs=True` ([#&#8203;172519](https://redirect.github.com/pytorch/pytorch/issues/172519))\n  - Support `object` type in dynamo tracing ([#&#8203;171457](https://redirect.github.com/pytorch/pytorch/issues/171457))\n- Add args print support to hop print ([#&#8203;170880](https://redirect.github.com/pytorch/pytorch/issues/170880))\n- Don't register einops ops with `allow_in_graph` ([#&#8203;173611](https://redirect.github.com/pytorch/pytorch/issues/173611))\n\n##### Inductor\n\n- Improved heuristics for reduction kernels ([#&#8203;170931](https://redirect.github.com/pytorch/pytorch/issues/170931))\n- CUDAGraph partitioning now supports cudagraph-unsafe symints ([#&#8203;173159](https://redirect.github.com/pytorch/pytorch/issues/173159))\n- MixOrderReduction: Added low precision reduction support, non-strict mode, and avoid recompile ([#&#8203;169978](https://redirect.github.com/pytorch/pytorch/issues/169978), [#&#8203;171941](https://redirect.github.com/pytorch/pytorch/issues/171941), [#&#8203;174947](https://redirect.github.com/pytorch/pytorch/issues/174947))\n- Triton compilation timeout is now configurable and defaults to 5 minutes (lowered from previous default) ([#&#8203;172674](https://redirect.github.com/pytorch/pytorch/issues/172674))\n- User stack traces are now reported when a `LoweringException` occurs, making debugging easier ([#&#8203;171846](https://redirect.github.com/pytorch/pytorch/issues/171846))\n- Added B300 (Blackwell) support: GPU architecture `120a` for `.ptx` to `.fatbin` compilation and cpp codegen ([#&#8203;174162](https://redirect.github.com/pytorch/pytorch/issues/174162), [#&#8203;172263](https://redirect.github.com/pytorch/pytorch/issues/172263))\n- Autotune process pool now inherits tf32 options from the parent process ([#&#8203;174742](https://redirect.github.com/pytorch/pytorch/issues/174742))\n- Epilogues can now be statically analyzed for fusion decisions ([#&#8203;170001](https://redirect.github.com/pytorch/pytorch/issues/170001))\n- Added `cvt_e8m0_rceil` prim with PTX lowering for SM100+ GPUs ([#&#8203;172497](https://redirect.github.com/pytorch/pytorch/issues/172497))\n- Basic comm buffer reuse for Symmetric Memory ([#&#8203;171909](https://redirect.github.com/pytorch/pytorch/issues/171909))\n- Added `launch_cooperative_grid` flag for cooperative reduction kernels ([#&#8203;167800](https://redirect.github.com/pytorch/pytorch/issues/167800))\n- Updated CUTLASS codegen to support `torch.float8_e5m2`, enabling mixed FP8 (e4m3fn x e5m2) matrix multiplication ([#&#8203;171167](https://redirect.github.com/pytorch/pytorch/issues/171167))\n- Improved mkldnn convolution layout propagation in Inductor ([#&#8203;169260](https://redirect.github.com/pytorch/pytorch/issues/169260))\n- Optimal Epilogue fusion overlapping with Async Pipelined Autotuning ([#&#8203;171011](https://redirect.github.com/pytorch/pytorch/issues/171011))\n- FlexAttention improvements: Enabled SM90 blocksparse backwards, updated configuration for Thor and DGX Spark hardware, and enabled TMA path by default on Intel GPU ([#&#8203;171685](https://redirect.github.com/pytorch/pytorch/issues/171685), [#&#8203;173898](https://redirect.github.com/pytorch/pytorch/issues/173898), [#&#8203;172316](https://redirect.github.com/pytorch/pytorch/issues/172316))\n- Added support for torchcomms lowering in inductor IR ([#&#8203;171634](https://redirect.github.com/pytorch/pytorch/issues/171634))\n- Allow int8 layout dtype for cpp gemm template on CPU ([#&#8203;169161](https://redirect.github.com/pytorch/pytorch/issues/169161))\n- Improved batch matmul codegen ([#&#8203;172678](https://redirect.github.com/pytorch/pytorch/issues/172678))\n- Improved error message in standalone\\_compile when there are no aot\\_autograd artifacts ([#&#8203;174086](https://redirect.github.com/pytorch/pytorch/issues/174086))\n- Removed unnecessary synchronize before launcher creation ([#&#8203;169432](https://redirect.github.com/pytorch/pytorch/issues/169432))\n- Removed implicit float64 upcast in Triton codegen, improving performance and reducing unnecessary precision casting ([#&#8203;172143](https://redirect.github.com/pytorch/pytorch/issues/172143))\n- Added torch.compile compatibility to FP8 SDPA using FlashAttention3, including meta registration and inductor lowering fallback for the new `scaled_dot_product_flash_attention.low_p` overload ([#&#8203;172622](https://redirect.github.com/pytorch/pytorch/issues/172622))\n- Replace `record_function` with `_RecordFunctionFast` in CompiledFxGraph for reduced profiling overhead ([#&#8203;163976](https://redirect.github.com/pytorch/pytorch/issues/163976))\n- Relaxed restriction on triton template `mutated_inputs`, allowing more flexible template usage ([#&#8203;170721](https://redirect.github.com/pytorch/pytorch/issues/170721))\n- Added `combo_kernels_pointwise_only` config option to exclude reduction kernels from combo kernel fusion ([#&#8203;174894](https://redirect.github.com/pytorch/pytorch/issues/174894))\n- Add a fusion region utility for grouping inductor fusible nodes for aten estimation ([#&#8203;170559](https://redirect.github.com/pytorch/pytorch/issues/170559))\n- Pallas backend: Added support for pooling with strided indexing, masked operations, random, FloorDiv, flattened indexing, welford fallback, ModularIndexing, transpose, im2col gather pattern detection, element-wise pairing, sympy min/max, FMA, automatic padding to WARPGROUP\\_SIZE, atomic\\_add store mode, TMA for OOB masking on Mosaic GPU, jax/cuda stream sync, better iter var tracking, and interleaved rope ([#&#8203;170014](https://redirect.github.com/pytorch/pytorch/issues/170014), [#&#8203;170145](https://redirect.github.com/pytorch/pytorch/issues/170145), [#&#8203;170221](https://redirect.github.com/pytorch/pytorch/issues/170221), [#&#8203;170222](https://redirect.github.com/pytorch/pytorch/issues/170222), [#&#8203;170232](https://redirect.github.com/pytorch/pytorch/issues/170232), [#&#8203;170595](https://redirect.github.com/pytorch/pytorch/issues/170595), [#&#8203;170616](https://redirect.github.com/pytorch/pytorch/issues/170616), [#&#8203;170627](https://redirect.github.com/pytorch/pytorch/issues/170627), [#&#8203;170738](https://redirect.github.com/pytorch/pytorch/issues/170738), [#&#8203;170741](https://redirect.github.com/pytorch/pytorch/issues/170741), [#&#8203;171449](https://redirect.github.com/pytorch/pytorch/issues/171449), [#&#8203;171475](https://redirect.github.com/pytorch/pytorch/issues/171475), [#&#8203;171518](https://redirect.github.com/pytorch/pytorch/issues/171518), [#&#8203;171539](https://redirect.github.com/pytorch/pytorch/issues/171539), [#&#8203;171567](https://redirect.github.com/pytorch/pytorch/issues/171567), [#&#8203;172306](https://redirect.github.com/pytorch/pytorch/issues/172306), [#&#8203;173840](https://redirect.github.com/pytorch/pytorch/issues/173840), [#&#8203;174249](https://redirect.github.com/pytorch/pytorch/issues/174249), [#&#8203;174797](https://redirect.github.com/pytorch/pytorch/issues/174797))\n- Add per-graph inductor config override for debugging/bisecting ([#&#8203;174228](https://redirect.github.com/pytorch/pytorch/issues/174228))\n\n#### torch.fx\n\n- `torch.fx.symbolic_trace` now supports tracing `HigherOrderOperator`s that do not take callable arguments ([#&#8203;173839](https://redirect.github.com/pytorch/pytorch/issues/173839))\n- Rename `hint_int` to `size_hint`, support `size_hint` in user code. ([#&#8203;171944](https://redirect.github.com/pytorch/pytorch/issues/171944))\n- Add metadata hook for all nodes created in runtime\\_assert pass ([#&#8203;173970](https://redirect.github.com/pytorch/pytorch/issues/173970))\n- Add `_disable_torch_fn_metadata_mode` option to `make_fx` and `aot_export_joint_with_descriptors` ([#&#8203;172087](https://redirect.github.com/pytorch/pytorch/issues/172087))\n- Add nested value-type opaque object support ([#&#8203;169845](https://redirect.github.com/pytorch/pytorch/issues/169845))\n\n#### torch.export\n\n- `from_node` provenance information is now preserved when serializing exported programs ([#&#8203;171726](https://redirect.github.com/pytorch/pytorch/issues/171726))\n- Bitwise shift operations are now supported in the export serializer ([#&#8203;167913](https://redirect.github.com/pytorch/pytorch/issues/167913))\n- Improve leak detection in non-strict export mode ([#&#8203;172597](https://redirect.github.com/pytorch/pytorch/issues/172597))\n\n#### Quantization\n\n- Use `expm1` for computing quantized ELU, improving numerical stability ([#&#8203;173968](https://redirect.github.com/pytorch/pytorch/issues/173968))\n\n#### ONNX\n\n- Implement torch.sym\\_sum and torch.sym\\_ite ([#&#8203;170263](https://redirect.github.com/pytorch/pytorch/issues/170263))\n- Raise an error if there are duplicated input/output names ([#&#8203;173077](https://redirect.github.com/pytorch/pytorch/issues/173077))\n- Refactor optimize and version conversion logic ([#&#8203;173185](https://redirect.github.com/pytorch/pytorch/issues/173185))\n\n#### Optimizer\n\n- Optimizer graph capture check now supports XPU devices in addition to CUDA ([#&#8203;172759](https://redirect.github.com/pytorch/pytorch/issues/172759))\n\n#### DevX\n\n- The `spin lint` command now supports pass-through arguments to lintrunner, including `--take`, `--skip`, and `--tee-json` flags, giving developers more control over which linters run ([#&#8203;169373](https://redirect.github.com/pytorch/pytorch/issues/169373))\n\n#### Ahead-Of-Time Inductor (AOTI)\n\n- Better error message for mixed device tensors ([#&#8203;173982](https://redirect.github.com/pytorch/pytorch/issues/173982))\n- Support mixed-device constants ([#&#8203;169504](https://redirect.github.com/pytorch/pytorch/issues/169504))\n- Change `cpp_kernel_name` to public API to match AOTI shim gen; add `mm_type_out` to AOTI fallback kernel ([#&#8203;174489](https://redirect.github.com/pytorch/pytorch/issues/174489))\n\n### Bug fixes\n\n#### Release Engineering\n\n- Fixed macOS wheel metadata where setuptools misinterpreted the platform version string, producing incorrect wheel tags for macOS arm64 builds ([#&#8203;173541](https://redirect.github.com/pytorch/pytorch/issues/173541))\n- Fixed incorrect wheel naming ([#&#8203;173945](https://redirect.github.com/pytorch/pytorch/issues/173945))\n- Fixed macOS arm64 libtorch release upload failure ([#&#8203;175100](https://redirect.github.com/pytorch/pytorch/issues/175100))\n- Fix pep517 release handling ([#&#8203;175635](https://redirect.github.com/pytorch/pytorch/issues/175635))\n\n#### Python Frontend\n\n- Fixed a bug where `torch.load` with `FakeTensorMode` or `skip_data` context would compute incorrect storage sizes ([#&#8203;170618](https://redirect.github.com/pytorch/pytorch/issues/170618))\n- Fixed PrivateUse1 backend aliasing during deserialization so custom backends are correctly recognized when loading checkpoints ([#&#8203;165456](https://redirect.github.com/pytorch/pytorch/issues/165456))\n- Fixed `torch.ops.aten.index.Tensor` to properly raise an `IndexError` when called with an empty indices list, instead of producing undefined behavior ([#&#8203;174009](https://redirect.github.com/pytorch/pytorch/issues/174009))\n\n#### Autograd\n\n- Fixes absolute tolerance scaling for complex backpropagation in `torch.autograd.gradcheck` when `fast_mode=True` ([#&#8203;166386](https://redirect.github.com/pytorch/pytorch/issues/166386))\n\n#### Complex Frontend\n\n- Fixed `torch.view_as_complex()` not working on the memory layout produced by `.contiguous()` after `.transpose()` ([#&#8203;169780](https://redirect.github.com/pytorch/pytorch/issues/169780))\n\n#### Composability\n\n- Fix `torch.bucketize` crash during `torch.export` when `test_elements` is a scalar ([#&#8203;170751](https://redirect.github.com/pytorch/pytorch/issues/170751))\n- Fix `MaxUnpool` crash when input tensors are small ([#&#8203;169359](https://redirect.github.com/pytorch/pytorch/issues/169359))\n\n#### Dataloader\n\n- Fix DataLoader to respect overridden `__getitem__` in Subset subclasses ([#&#8203;163961](https://redirect.github.com/pytorch/pytorch/issues/163961))\n\n#### Nested Tensor (NJT)\n\n</details>\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/elizaOS/eliza).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119-->\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nRenovate bot bumps `torch` from `~=2.8.0` to `~=2.11.0` across `pyproject.toml`, `requirements.txt`, and `setup.py`, with `uv.lock` regenerated accordingly. No deprecated or removed PyTorch APIs (e.g., `export_for_training`, `varlen_attn`, PT2E quantization) appear in the benchmark codebase, so there are no direct breaking-API concerns. The main operational change to be aware of is that PyTorch 2.11's default PyPI wheel now ships CUDA 13.0 instead of CUDA 12.x, which the updated lock file confirms by pulling `nvidia-cudnn-cu13`, `cuda-bindings 13.2.0`, etc.\n\n<h3>Confidence Score: 4/5</h3>\n\nSafe to merge with awareness of the CUDA 13.0 runtime requirement introduced by PyTorch 2.11's new default PyPI wheels.\n\nNo breaking API changes are used in the benchmark package, the version bump is consistent across all three dependency files, and the lock file is correctly regenerated. The one item worth addressing before merge is documenting or mitigating the CUDA 13.0 driver requirement that comes with the default PyPI wheel change.\n\nuv.lock — confirms the CUDA 12→13 runtime package swap; pyproject.toml/requirements.txt/setup.py are straightforward and consistent.\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| packages/benchmarks/OSWorld/pyproject.toml | torch bumped from ~=2.8.0 to ~=2.11.0; straightforward version pin update in the project's primary dependency spec |\n| packages/benchmarks/OSWorld/requirements.txt | torch bumped from ~=2.8.0 to ~=2.11.0, consistent with pyproject.toml update |\n| packages/benchmarks/OSWorld/setup.py | torch bumped from ~=2.8.0 to ~=2.11.0, consistent with other dependency files |\n| packages/benchmarks/OSWorld/uv.lock | Lock file regenerated; CUDA 12 packages (nvidia-cublas-cu12, nvidia-cudnn-cu12, etc.) replaced with CUDA 13 equivalents (nvidia-cublas 13.1.0.3, nvidia-cudnn-cu13 9.19.0.56), reflecting PyTorch 2.11's default switch to CUDA 13.0 wheels on PyPI |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[\"pip install torch~=2.11.0\\n(default PyPI)\"] --> B{CUDA driver version?}\n    B -->|\"CUDA 13.x\"| C[\"✅ CUDA 13.0 wheel installs\\nand runs correctly\"]\n    B -->|\"CUDA 12.x only\"| D[\"❌ Runtime failure\\n'CUDA version mismatch'\"]\n    D --> E[\"Workaround: use explicit index URL\\n--index-url .../whl/cu128 or cu126\"]\n    B -->|\"No CUDA (CPU only)\"| F[\"✅ CPU wheel installs\\nand runs correctly\"]\n\n    style D fill:#ffcccc\n    style C fill:#ccffcc\n    style F fill:#ccffcc\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"fix(deps): update dependency torch to ~=...\"](https://github.com/elizaos/eliza/commit/5b9c673e60bfd6641801e59c614d3a1930910256) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28836560)</sub>\n\n> Greptile also left **1 inline comment** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-17T23:24:12Z",
      "mergedAt": "2026-04-17T23:25:01Z",
      "additions": 204,
      "deletions": 100
    },
    {
      "id": "PR_kwDOMT5cIs7TebGQ",
      "title": "chore(deps): update rust crate uuid to v1.23.1",
      "author": "renovate",
      "number": 6842,
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [uuid](https://redirect.github.com/uuid-rs/uuid) | dependencies | minor | `1.19.0` → `1.23.1` |\n\n---\n\n> [!WARNING]\n> Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/79) for more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>uuid-rs/uuid (uuid)</summary>\n\n### [`v1.23.1`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.23.1)\n\n[Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1)\n\n#### What's Changed\n\n- Remove deprecated `msrv` feature from wasm-bindgen dependency by [@&#8203;guybedford](https://redirect.github.com/guybedford) in [#&#8203;877](https://redirect.github.com/uuid-rs/uuid/pull/877)\n- fix: Timestamp::from\\_gregorian deprecation note by [@&#8203;aznashwan](https://redirect.github.com/aznashwan) in [#&#8203;878](https://redirect.github.com/uuid-rs/uuid/pull/878)\n- Prepare for 1.23.1 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;879](https://redirect.github.com/uuid-rs/uuid/pull/879)\n\n#### New Contributors\n\n- [@&#8203;guybedford](https://redirect.github.com/guybedford) made their first contribution in [#&#8203;877](https://redirect.github.com/uuid-rs/uuid/pull/877)\n- [@&#8203;aznashwan](https://redirect.github.com/aznashwan) made their first contribution in [#&#8203;878](https://redirect.github.com/uuid-rs/uuid/pull/878)\n\n**Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1>\n\n### [`v1.23.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.23.0)\n\n[Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.22.0...v1.23.0)\n\n#### What's Changed\n\n- feat: add support for 'hyphenated' format in the serde module by [@&#8203;FrenchDilettante](https://redirect.github.com/FrenchDilettante) in [#&#8203;865](https://redirect.github.com/uuid-rs/uuid/pull/865)\n- Fix a number of bugs in time-related code by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;872](https://redirect.github.com/uuid-rs/uuid/pull/872)\n- Reword invalid char error message by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;873](https://redirect.github.com/uuid-rs/uuid/pull/873)\n- Impl cleanups by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;874](https://redirect.github.com/uuid-rs/uuid/pull/874)\n- Use LazyLock to synchronize v1/v6 context initialization by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;875](https://redirect.github.com/uuid-rs/uuid/pull/875)\n- Prepare for 1.23.0 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;876](https://redirect.github.com/uuid-rs/uuid/pull/876)\n\n#### New Contributors\n\n- [@&#8203;FrenchDilettante](https://redirect.github.com/FrenchDilettante) made their first contribution in [#&#8203;865](https://redirect.github.com/uuid-rs/uuid/pull/865)\n\n#### Special thanks\n\n[@&#8203;meng-xu-cs](https://redirect.github.com/meng-xu-cs) raised a series of bugs against the timestamp logic in `uuid` using automated tooling. The issues themselves were reasonably and responsibly presented and the end result is a better `uuid` library for everyone. Thanks!\n\n### Deprecations\n\nThis release includes the following deprecations:\n\n- `Context`: Renamed to `ContextV1`\n- `Timestamp::from_gregorian`: Renamed to `Timestamp::from_gregorian_time`\n\n### Change to `Version::Max`\n\n`Version::Max`'s `u8` representation has changed from `0xff` to `0x0f` to match the value returned by `Uuid::get_version_num`.\n\n### Change to `Uuid::get_version` for the max UUID\n\n`Uuid::get_version` will only return `Some(Version::Max)` if the UUID is actually the max UUID (all bytes are `0xff`). Previously it would return `Some` if only the version field was `0x0f`. This change matches the behaviour of the nil UUID, which only returns `Some(Version::Nil)` if the UUID is the nil UUID (all bytes are `0x00`).\n\n**Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.22.0...v1.23.0>\n\n### [`v1.22.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.22.0)\n\n[Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.21.0...v1.22.0)\n\n#### What's Changed\n\n- Default to rand 0.10 by [@&#8203;haxtibal](https://redirect.github.com/haxtibal) in [#&#8203;863](https://redirect.github.com/uuid-rs/uuid/pull/863)\n- Prepare for 1.22.0 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;864](https://redirect.github.com/uuid-rs/uuid/pull/864)\n\n#### New Contributors\n\n- [@&#8203;haxtibal](https://redirect.github.com/haxtibal) made their first contribution in [#&#8203;863](https://redirect.github.com/uuid-rs/uuid/pull/863)\n\n**Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.21.0...v1.22.0>\n\n### [`v1.21.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.21.0)\n\n[Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0)\n\n#### What's Changed\n\n- Update getrandom to 0.4 by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;858](https://redirect.github.com/uuid-rs/uuid/pull/858)\n- feat: impl core::error::Error for Error by [@&#8203;XAMPPRocky](https://redirect.github.com/XAMPPRocky) in [#&#8203;852](https://redirect.github.com/uuid-rs/uuid/pull/852)\n- Prepare for 1.21.0 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;859](https://redirect.github.com/uuid-rs/uuid/pull/859)\n\n#### New Contributors\n\n- [@&#8203;XAMPPRocky](https://redirect.github.com/XAMPPRocky) made their first contribution in [#&#8203;852](https://redirect.github.com/uuid-rs/uuid/pull/852)\n\n**Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0>\n\n### [`v1.20.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.20.0)\n\n[Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.19.0...v1.20.0)\n\n#### What's Changed\n\n- Derive Ord and PartialOrd for NonNilUuid by [@&#8203;mivort](https://redirect.github.com/mivort) in [#&#8203;854](https://redirect.github.com/uuid-rs/uuid/pull/854)\n- Implement Deserialize on adapter types by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;855](https://redirect.github.com/uuid-rs/uuid/pull/855)\n- Deprecate `macro-diagnostics` by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;856](https://redirect.github.com/uuid-rs/uuid/pull/856)\n- Prepare for 1.20.0 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;857](https://redirect.github.com/uuid-rs/uuid/pull/857)\n\n#### New Contributors\n\n- [@&#8203;mivort](https://redirect.github.com/mivort) made their first contribution in [#&#8203;854](https://redirect.github.com/uuid-rs/uuid/pull/854)\n\n**Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.19.0...v1.20.0>\n\n</details>\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/elizaOS/eliza).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuOCIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy44IiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119-->\n",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-17T23:21:31Z",
      "mergedAt": "2026-04-17T23:21:58Z",
      "additions": 181,
      "deletions": 5
    },
    {
      "id": "PR_kwDOMT5cIs7TeViu",
      "title": "fix(build): unblock NPM Release — TS errors in agent/app-core/ui",
      "author": "lalalune",
      "number": 6810,
      "body": "## Summary\n\nNPM Release has been failing on `develop` for several pushes (alpha.174–181 \"Release Failed\"). This fixes the TypeScript errors blocking the `@elizaos/agent`, `@elizaos/app-core`, and `@elizaos/ui` build steps so releases can go out again.\n\n- 14 files, +172 / -15\n- No submodule edits — all consumer-side fixes (dynamic-import casts + ambient module declarations for optional runtime deps)\n- `bun turbo run build --filter=@elizaos/agent --filter=@elizaos/app-core --filter=@elizaos/ui` passes cleanly\n\n## Changes\n\n- **AppearanceSettingsSection.tsx** — coalesce `Partial<ThemeColorSet>` values to `\"\"` for the swatch array\n- **cross-channel-send.ts** — narrow `channel` to `\"discord\"` / `\"signal\"` literals before calling `dispatchViaRuntimeSendHandler`\n- **computer-use.ts, telegram-auth.ts, telegram-local-client.ts** — cast optional dynamic imports + add ambient module declarations in `external-modules.d.ts` for `@elizaos/plugin-computeruse`, `@elizaos/plugin-telegram/account-auth-service`, `telegram`, `telegram/sessions`\n- **website-blocker.ts** — coalesce optional `llmPlan` fields\n- **unified-search.ts, tinker.ts** — cast via `unknown` / named SDK type\n- **context-signal-lexicon.ts** — add missing `\"link_entity\"` signal spec referenced by `entity-actions.ts`\n- **apps-routes.ts** — cast `error` callback for `ServerResponse` → `unknown` contravariance at the `streamAppHero` call site\n- **server.ts** — add `recordHeartbeat` to the stubbed `AppManagerLike` passed to `handleAppsRoutes`\n- **plugin-manager-types.ts** — add `heroImage?: string | null` to `RegistryPluginInfo`\n- **skill-detail-panel.tsx** — destructure missing props from `useApp()` and thread through to `InstallModal`\n- **packages/app-core/tsconfig.json, packages/ui/tsconfig.json** — add `@elizaos/skills` path mappings\n\n## Test plan\n\n- [x] `bun turbo run build --filter=@elizaos/agent --filter=@elizaos/app-core --filter=@elizaos/ui` — 5/5 tasks successful\n- [ ] NPM Release workflow runs clean on this branch's CI\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR fixes TypeScript compilation errors across 14 files in `@elizaos/agent`, `@elizaos/app-core`, and `@elizaos/ui` to unblock NPM releases that have been failing since alpha.174. The fixes are primarily consumer-side: dynamic-import casts via `as unknown as string`, ambient module declarations for optional peer deps, missing interface fields, and prop threading in React components — no logic changes to core services.\n\nAll builds now pass (`bun turbo run build` 5/5 tasks successful), and findings are P2 style notes only.\n\n<h3>Confidence Score: 5/5</h3>\n\nSafe to merge — all changes are consumer-side TS build fixes with no logic changes to core services.\n\nAll 14 files contain straightforward TypeScript cast/declaration fixes: dynamic-import workarounds, ambient module declarations for optional peer deps, missing interface fields, and React prop threading. The build passes (5/5 turbo tasks). The two inline comments are P2 style notes that do not affect correctness or runtime behavior.\n\nNo files require special attention; `apps/app-training/src/backends/tinker.ts` has a minor `new Function()` CSP note but is server-side only.\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| packages/agent/src/external-modules.d.ts | Adds ambient declarations for `@elizaos/plugin-computeruse`, `@elizaos/plugin-telegram/account-auth-service`, `telegram`, and `telegram/sessions`. The `telegram` module uses a valid TypeScript namespace+value merge pattern for `Api`. |\n| packages/agent/src/actions/context-signal-lexicon.ts | Adds `\"link_entity\"` to `ContextSignalKey` union and `CONTEXT_SIGNAL_SPECS`. References `contextSignal.link_entity.strong/weak` keys which presumably exist in the validation keywords dictionary since `entity-actions.ts` was already using the signal. |\n| packages/agent/src/api/apps-routes.ts | Adds `recordHeartbeat` to `AppManagerLike` interface; widens `streamAppHero`'s `error` callback to `(response: unknown, …) => void` to fix contravariance; cast at call site is safe at runtime. |\n| packages/agent/src/api/server.ts | Adds `recordHeartbeat` stub to the inline `AppManagerLike` passed to `handleAppsRoutes`, forwarding to `state.appManager.recordHeartbeat(runId)`. |\n| apps/app-lifeops/src/actions/computer-use.ts | Dynamic import cast `as unknown as string` to satisfy TS without installing `@elizaos/plugin-computeruse`; correctly guarded by try/catch with stub fallback. |\n| apps/app-training/src/backends/tinker.ts | Uses `new Function(\"name\", \"return import(name)\")` to bypass TS/bundler static analysis of optional SDK import; result cast and try/catch pattern is correct. |\n| packages/app-core/src/components/pages/skill-detail-panel.tsx | Destructures `showSkillDetails`, `setState`, and all marketplace actions from `useApp()` and threads them into `InstallModal`; `showSkillDetails` selects the skill and closes the modal. |\n\n</details>\n\n\n\n<h3>Sequence Diagram</h3>\n\n```mermaid\nsequenceDiagram\n    participant UI as UI / Client\n    participant S as server.ts\n    participant AR as apps-routes.ts\n    participant AM as AppManager\n\n    UI->>S: POST /api/apps/runs/:runId/heartbeat\n    S->>AR: handleAppsRoutes({ appManager: stub })\n    AR->>AR: appManager.recordHeartbeat(runId)\n    AR->>AM: state.appManager.recordHeartbeat(runId)\n    AM-->>AR: AppRunSummary | null\n    alt run found\n        AR-->>S: json 200 { ok: true, run }\n        S-->>UI: 200 OK\n    else run not found\n        AR-->>S: error 404\n        S-->>UI: 404 Not Found\n    end\n\n    UI->>S: GET /api/apps/hero/:slug\n    S->>AR: handleAppsRoutes(ctx)\n    AR->>AR: resolveAppHeroPath(pluginManager, slug)\n    AR->>AR: entry.appMeta?.heroImage + path traversal check\n    alt hero resolved\n        AR->>AR: streamAppHero(res, absolutePath, contentType, error)\n        AR-->>UI: 200 image/webp (or other content-type)\n    else not found\n        AR-->>UI: 404 Hero image not available\n    end\n```\n\n<!-- greptile_failed_comments -->\n<details><summary><h3>Comments Outside Diff (1)</h3></summary>\n\n1. `apps/app-training/src/backends/tinker.ts`, line 50-53 ([link](https://github.com/elizaos/eliza/blob/dffd45485fbb88a5945586771d4266d9d36ee81a/apps/app-training/src/backends/tinker.ts#L50-L53)) \n\n   <a href=\"#\"><img alt=\"P2\" src=\"https://greptile-static-assets.s3.amazonaws.com/badges/p2.svg?v=7\" align=\"top\"></a> **`new Function()` bypasses CSP and bundler analysis**\n\n   `new Function(\"name\", \"return import(name)\")` sidesteps TypeScript's module resolution check but also defeats any Content Security Policy `script-src` restriction that blocks `eval`/`new Function`. If this code ever runs in a browser context (e.g. Electron renderer without `nodeIntegration`), the dynamic `Function` constructor will throw. The `computer-use.ts` sibling uses the `as unknown as string` cast on a regular `import()` instead, which achieves the same TS-bypass goal without the CSP risk.\n\n   ```ts\n   // safer alternative already used in computer-use.ts:\n   const mod = (await import(\n     /* @vite-ignore */ \"@thinking-machines/tinker\" as unknown as string\n   )) as { default?: unknown } | Record<string, unknown>;\n   ```\n\n</details>\n\n<!-- /greptile_failed_comments -->\n\n<sub>Reviews (1): Last reviewed commit: [\"fix(build): unblock NPM Release — resolv...\"](https://github.com/elizaos/eliza/commit/dffd45485fbb88a5945586771d4266d9d36ee81a) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28835644)</sub>\n\n> Greptile also left **1 inline comment** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-17T23:14:19Z",
      "mergedAt": "2026-04-17T23:28:17Z",
      "additions": 149,
      "deletions": 51
    }
  ],
  "codeChanges": {
    "additions": 10163,
    "deletions": 1417,
    "files": 182,
    "commitCount": 470
  },
  "completedItems": [
    {
      "title": "fix(deps): update rust crate which to v8",
      "prNumber": 6946,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [which](https://redirect.github.com/harryfei/which-rs) | dependencies | major | `6.0` → `8.0` |\n\n---\n\n> [!WARNING]\n> Some dependencies could n",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update react monorepo to v19 (major)",
      "prNumber": 6945,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency vite to v8",
      "prNumber": 6944,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [vite](https://vite.dev) ([source](http",
      "files": [
        "packages/elizaos/templates/plugin/typescript/package.json",
        "packages/templates/plugin/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency uuid to v13",
      "prNumber": 6943,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [uuid](https://redirect.github.com/uuid",
      "files": [
        "apps/app-form/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency undici to v8",
      "prNumber": 6942,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [undici](https://undici.nodejs.org) ([s",
      "files": [
        "packages/app-core/package.json",
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency tailwind-merge to v3",
      "prNumber": 6941,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [tailwind-merge](https://redirect.githu",
      "files": [
        "packages/app-core/package.json",
        "packages/ui/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency rich to v15",
      "prNumber": 6940,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [rich](https://redirect.github.com/Text",
      "files": [
        "packages/benchmarks/adhdbench/pyproject.toml"
      ]
    },
    {
      "title": "fix(deps): update dependency recharts to v3",
      "prNumber": 6939,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [recharts](https://redirect.github.com/",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency react-router-dom to v7",
      "prNumber": 6938,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [react-router-dom](https://redirect.git",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency react-markdown to v10",
      "prNumber": 6937,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [react-markdown](https://redirect.githu",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency pytz to v2026",
      "prNumber": 6936,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pytz](http://pythonhosted.org/pytz) | ",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency pytest-xprocess to v1",
      "prNumber": 6935,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pytest-xprocess](https://redirect.gith",
      "files": [
        "packages/elizaos/templates/plugin/python/pyproject.toml",
        "packages/templates/plugin/python/pyproject.toml"
      ]
    },
    {
      "title": "fix(deps): update dependency pytest-asyncio to v1",
      "prNumber": 6934,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pytest-asyncio](https://redirect.githu",
      "files": [
        "packages/benchmarks/adhdbench/pyproject.toml"
      ]
    },
    {
      "title": "fix(deps): update dependency pytest to v9",
      "prNumber": 6933,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pytest](https://redirect.github.com/py",
      "files": [
        "packages/benchmarks/adhdbench/pyproject.toml"
      ]
    },
    {
      "title": "fix(deps): update dependency psutil to v7",
      "prNumber": 6932,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [psutil](https://redirect.github.com/gi",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2",
      "prNumber": 6931,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/app-core/platforms/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency lucide-react to v1",
      "prNumber": 6930,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [lucide-react](https://lucide.dev) ([so",
      "files": [
        "apps/app-companion/package.json",
        "apps/app-lifeops/package.json",
        "apps/app-shopify/package.json",
        "apps/app-steward/package.json",
        "apps/app-task-coordinator/package.json",
        "apps/app-vincent/package.json",
        "packages/app-core/package.json",
        "packages/ui/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency jsdom to v29",
      "prNumber": 6929,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [jsdom](https://redirect.github.com/jsd",
      "files": [
        "packages/agent/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/templates/fullstack-app/apps/app/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency gymnasium to v1",
      "prNumber": 6928,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency file-type to v22",
      "prNumber": 6927,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [file-type](https://redirect.github.com",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency commander to v14",
      "prNumber": 6926,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [commander](https://redirect.github.com",
      "files": [
        "packages/app-core/package.json",
        "packages/elizaos/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency com.squareup.okhttp3:okhttp to v5",
      "prNumber": 6925,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [com.squareup.okhttp3:okhttp](https://s",
      "files": [
        "packages/native-plugins/gateway/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency com.android.tools.build:gradle to v9",
      "prNumber": 6924,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [com.android.tools.build:gradle](https:",
      "files": [
        "packages/app-core/platforms/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency bs58 to v6",
      "prNumber": 6923,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [bs58](https://redirect.github.com/cryp",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/voyager/skill_runner/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @xterm/xterm to v6",
      "prNumber": 6922,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@xterm/xterm](https://redirect.github.",
      "files": [
        "apps/app-task-coordinator/package.json",
        "packages/app-core/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @solana/kit to v6",
      "prNumber": 6921,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/voyager/skill_runner/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @openrouter/ai-sdk-provider to v2",
      "prNumber": 6920,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@openrouter/ai-sdk-provider](https://r",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @octokit/rest to v22",
      "prNumber": 6919,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@octokit/rest](https://redirect.github",
      "files": [
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @noble/hashes to v2",
      "prNumber": 6918,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@noble/hashes](https://paulmillr.com/n",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @noble/ciphers to v2",
      "prNumber": 6917,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@noble/ciphers](https://paulmillr.com/",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @clack/prompts to v1",
      "prNumber": 6916,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@clack/prompts](https://redirect.githu",
      "files": [
        "packages/elizaos/package.json"
      ]
    },
    {
      "title": "chore(deps): update supabase/postgres docker tag to v17",
      "prNumber": 6915,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| supabase/postgres | major | `15.1.0.147` → `17.6.1.107` |\n\n---\n\n> [!WARNING]\n> Some dependencies could not be looked up. Check the [Dependency Dashboard]",
      "files": [
        "packages/app-core/deploy/docker-compose.supabase-db.yml"
      ]
    },
    {
      "title": "chore(deps): update storybook monorepo to v10 (major)",
      "prNumber": 6914,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "apps/app-companion/package.json"
      ]
    },
    {
      "title": "chore(deps): update softprops/action-gh-release action to v3",
      "prNumber": 6913,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [softprops/action-gh-release](https://redirect.github.com/softprops/action-gh-release) | action | major | `v1` → `v3` |\n| [softprops/action-gh",
      "files": [
        ".github/workflows/build-android.yml",
        ".github/workflows/build-electron.yml",
        ".github/workflows/build-ios.yml",
        ".github/workflows/release-rust.yaml",
        ".github/workflows/release.yaml"
      ]
    },
    {
      "title": "chore(deps): update rust crate thiserror to v2",
      "prNumber": 6912,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [thiserror](https://redirect.github.com/dtolnay/thiserror) | workspace.dependencies | major | `1.0` → `2.0` |\n\n---\n\n> [!WARNING]\n> Some depend",
      "files": [
        "packages/benchmarks/HyperliquidBench/Cargo.toml"
      ]
    },
    {
      "title": "chore(deps): update peaceiris/actions-gh-pages action to v4",
      "prNumber": 6911,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [peaceiris/actions-gh-pages](https://redirect.github.com/peaceiris/actions-gh-pages) | action | major | `v3` → `v4` |\n\n---\n\n> [!WARNING]\n> Som",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/.github/workflows/deploy-trajectory-viewer.yml"
      ]
    },
    {
      "title": "chore(deps): update oven-sh/setup-bun action to v2",
      "prNumber": 6910,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [oven-sh/setup-bun](https://redirect.github.com/oven-sh/setup-bun) | action | major | `v1` → `v2` |\n\n---\n\n> [!WARNING]\n> Some dependencies cou",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/.github/workflows/deploy-trajectory-viewer.yml"
      ]
    },
    {
      "title": "chore(deps): update node.js to v24",
      "prNumber": 6909,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovateb",
      "files": [
        ".github/workflows/release-computeruse-npm.yaml",
        ".github/workflows/sync-next-dist-tags.yaml",
        ".nvmrc",
        "package.json",
        "packages/app-core/deploy/Dockerfile.cloud-agent",
        "packages/benchmarks/gauntlet/sdk/typescript/package.json",
        "packages/benchmarks/openclaw-benchmark/bmadmethod/Dockerfile",
        "packages/benchmarks/openclaw-benchmark/ohmyopencode/Dockerfile",
        "packages/benchmarks/openclaw-benchmark/openclaw/Dockerfile",
        "packages/benchmarks/openclaw-benchmark/ralphy/Dockerfile",
        "packages/native-plugins/macosalarm/package.json",
        "plugins/plugin-bluebubbles/typescript/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update gradle to v9",
      "prNumber": 6908,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | major | `8.9` → `9.4.1` |\n\n---\n\n> [!WARNING]\n> Some dependencies cou",
      "files": [
        "packages/app-core/platforms/android/gradle/wrapper/gradle-wrapper.properties"
      ]
    },
    {
      "title": "chore(deps): update github/codeql-action action to v4",
      "prNumber": 6907,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | major | `v3` → `v4` |\n\n---\n\n> [!WARNING]\n> Some dependenci",
      "files": [
        ".github/workflows/codeql.yml"
      ]
    },
    {
      "title": "chore(deps): update github artifact actions (major)",
      "prNumber": 6906,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/download-artifact](https://redirect.github.com/actions/download-artifact) | action | major | `v4` → `v8` |\n| [actions/upload-artifact",
      "files": [
        ".github/workflows/build-android.yml",
        ".github/workflows/build-electron.yml",
        ".github/workflows/build-ios.yml",
        ".github/workflows/release-computeruse-npm.yaml",
        ".github/workflows/release-rust.yaml",
        ".github/workflows/supply-chain.yaml",
        "packages/benchmarks/HyperliquidBench/.github/workflows/ci.yml"
      ]
    },
    {
      "title": "chore(deps): update docker/setup-buildx-action action to v4",
      "prNumber": 6905,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [docker/setup-buildx-action](https://redirect.github.com/docker/setup-buildx-action) | action | major | `v3` → `v4` |\n\n---\n\n> [!WARNING]\n> Som",
      "files": [
        ".github/workflows/image.yaml"
      ]
    },
    {
      "title": "chore(deps): update docker/metadata-action action to v6",
      "prNumber": 6904,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [docker/metadata-action](https://redirect.github.com/docker/metadata-action) | action | major | `v5` → `v6` |\n\n---\n\n> [!WARNING]\n> Some depend",
      "files": [
        ".github/workflows/image.yaml"
      ]
    },
    {
      "title": "chore(deps): update docker/login-action action to v4",
      "prNumber": 6903,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [docker/login-action](https://redirect.github.com/docker/login-action) | action | major | `v3` → `v4` |\n\n---\n\n> [!WARNING]\n> Some dependencies",
      "files": [
        ".github/workflows/image.yaml",
        ".github/workflows/tee-build-deploy.yml"
      ]
    },
    {
      "title": "chore(deps): update docker/build-push-action action to v7",
      "prNumber": 6902,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [docker/build-push-action](https://redirect.github.com/docker/build-push-action) | action | major | `v5` → `v7` |\n| [docker/build-push-action]",
      "files": [
        ".github/workflows/image.yaml",
        ".github/workflows/tee-build-deploy.yml"
      ]
    },
    {
      "title": "chore(deps): update dependency vitest to v4",
      "prNumber": 6901,
      "type": "tests",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/configbench/package.json",
        "packages/scenario-runner/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-computeruse/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency typescript to v6",
      "prNumber": 6900,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [typescript](https://www.typescriptlang",
      "files": [
        "apps/app-companion/package.json",
        "package.json",
        "packages/agent/package.json",
        "packages/app-core/package.json",
        "packages/app-core/platforms/electrobun/package.json",
        "packages/benchmarks/configbench/package.json",
        "packages/benchmarks/evm/skill_runner/package.json",
        "packages/benchmarks/gauntlet/sdk/typescript/package.json",
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json",
        "packages/elizaos/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/electrobun/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/elizaos/templates/plugin/rust/package.json",
        "packages/elizaos/templates/plugin/typescript/package.json",
        "packages/interop/package.json",
        "packages/native-plugins/agent/package.json",
        "packages/native-plugins/appblocker/package.json",
        "packages/native-plugins/camera/package.json",
        "packages/native-plugins/canvas/package.json",
        "packages/native-plugins/desktop/package.json",
        "packages/native-plugins/gateway/package.json",
        "packages/native-plugins/llama/package.json",
        "packages/native-plugins/location/package.json",
        "packages/native-plugins/macosalarm/package.json",
        "packages/native-plugins/mobile-signals/package.json",
        "packages/native-plugins/screencapture/package.json",
        "packages/native-plugins/swabble/package.json",
        "packages/native-plugins/talkmode/package.json",
        "packages/native-plugins/websiteblocker/package.json",
        "packages/scenario-runner/package.json",
        "packages/shared/package.json",
        "packages/templates/fullstack-app/apps/app/electrobun/package.json",
        "packages/templates/fullstack-app/apps/app/package.json",
        "packages/templates/plugin/rust/package.json",
        "packages/templates/plugin/typescript/package.json",
        "packages/typescript/package.json",
        "packages/ui/package.json",
        "plugins/plugin-bluebubbles/typescript/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-computeruse/package.json",
        "plugins/plugin-executecode/typescript/package.json",
        "plugins/plugin-github/package.json",
        "plugins/plugin-signal/typescript/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency rimraf to v6",
      "prNumber": 6899,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [rimraf](https://redirect.github.com/is",
      "files": [
        "packages/native-plugins/agent/package.json",
        "packages/native-plugins/appblocker/package.json",
        "packages/native-plugins/camera/package.json",
        "packages/native-plugins/canvas/package.json",
        "packages/native-plugins/desktop/package.json",
        "packages/native-plugins/gateway/package.json",
        "packages/native-plugins/llama/package.json",
        "packages/native-plugins/location/package.json",
        "packages/native-plugins/mobile-signals/package.json",
        "packages/native-plugins/screencapture/package.json",
        "packages/native-plugins/swabble/package.json",
        "packages/native-plugins/talkmode/package.json",
        "packages/native-plugins/websiteblocker/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency python-dotenv to v1",
      "prNumber": 6898,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [python-dotenv](https://redirect.github",
      "files": [
        "packages/benchmarks/OSWorld/monitor/requirements.txt"
      ]
    },
    {
      "title": "chore(deps): update dependency pandas to v3",
      "prNumber": 6897,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pandas](https://redirect.github.com/pa",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py"
      ]
    },
    {
      "title": "chore(deps): update dependency p5.js to v2",
      "prNumber": 6896,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [p5.js](http://p5js.org) ([source](https://redirect.github.com/processing/p5.js)) ",
      "files": [
        "packages/benchmarks/openclaw-benchmark/mistralvibecli/.isolated_home/.vibe/skills/anthropic-algorithmic-art/templates/viewer.html"
      ]
    },
    {
      "title": "chore(deps): update dependency numpy to v2",
      "prNumber": 6895,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt"
      ]
    },
    {
      "title": "chore(deps): update dependency font-awesome to v7",
      "prNumber": 6894,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [font-awesome](https://fontawesome.com/) ([source](https://redirect.github.com/FortAwesome/Font-Awesome)) | major | `5.15.4` → `7.0.1` |\n\n---\n\n> [!WARNIN",
      "files": [
        "packages/benchmarks/OSWorld/monitor/templates/index.html",
        "packages/benchmarks/OSWorld/monitor/templates/task_detail.html"
      ]
    },
    {
      "title": "chore(deps): update dependency eslint to v10",
      "prNumber": 6893,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/native-plugins/gateway/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency color-name to v2",
      "prNumber": 6892,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [color-name](https://redirect.github.co",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency color-convert to v3",
      "prNumber": 6891,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [color-convert](https://redirect.github",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @vitejs/plugin-react to v6",
      "prNumber": 6890,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@vitejs/plugin-react](https://redirect",
      "files": [
        "package.json",
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @uniswap/v4-sdk to v2",
      "prNumber": 6889,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@uniswap/v4-sdk](https://redirect.gith",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @uniswap/sdk-core to v7",
      "prNumber": 6888,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@uniswap/sdk-core](https://redirect.gi",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @types/jsdom to v28",
      "prNumber": 6887,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@types/jsdom](https://redirect.github.",
      "files": [
        "packages/agent/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @ionic/swiftlint-config to v2",
      "prNumber": 6886,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@ionic/swiftlint-config](https://redir",
      "files": [
        "packages/native-plugins/gateway/package.json"
      ]
    },
    {
      "title": "chore(deps): update android-actions/setup-android action to v4",
      "prNumber": 6885,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [android-actions/setup-android](https://redirect.github.com/android-actions/setup-android) | action | major | `v3` → `v4` |\n\n---\n\n> [!WARNING]",
      "files": [
        ".github/workflows/build-android.yml"
      ]
    },
    {
      "title": "chore(deps): update anchore/scan-action action to v7",
      "prNumber": 6884,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [anchore/scan-action](https://redirect.github.com/anchore/scan-action) | action | major | `v4` → `v7` |\n\n---\n\n> [!WARNING]\n> Some dependencies",
      "files": [
        ".github/workflows/supply-chain.yaml"
      ]
    },
    {
      "title": "chore(deps): update actions/setup-python action to v6",
      "prNumber": 6883,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/setup-python](https://redirect.github.com/actions/setup-python) | action | major | `v5` → `v6` |\n\n---\n\n> [!WARNING]\n> Some dependenci",
      "files": [
        ".github/workflows/ci.yaml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/multi-lang-tests.yaml",
        ".github/workflows/release-python.yaml"
      ]
    },
    {
      "title": "chore(deps): update actions/setup-node action to v6",
      "prNumber": 6882,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/setup-node](https://redirect.github.com/actions/setup-node) | action | major | `v4` → `v6` |\n\n---\n\n> [!WARNING]\n> Some dependencies c",
      "files": [
        ".github/workflows/build-android.yml",
        ".github/workflows/build-electron.yml",
        ".github/workflows/build-ios.yml",
        ".github/workflows/ci.yaml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/publish-next-prerelease.yaml",
        ".github/workflows/release-computeruse-npm.yaml",
        ".github/workflows/release.yaml",
        ".github/workflows/sync-next-dist-tags.yaml"
      ]
    },
    {
      "title": "chore(deps): update actions/setup-java action to v5",
      "prNumber": 6881,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/setup-java](https://redirect.github.com/actions/setup-java) | action | major | `v4` → `v5` |\n\n---\n\n> [!WARNING]\n> Some dependencies c",
      "files": [
        ".github/workflows/build-android.yml"
      ]
    },
    {
      "title": "chore(deps): update actions/checkout action to v6",
      "prNumber": 6880,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/checkout](https://redirect.github.com/actions/checkout) | action | major | `v4` → `v6` |\n\n---\n\n> [!WARNING]\n> Some dependencies could",
      "files": [
        ".github/workflows/build-android.yml",
        ".github/workflows/build-electron.yml",
        ".github/workflows/build-ios.yml",
        ".github/workflows/ci.yaml",
        ".github/workflows/claude-code-review.yml",
        ".github/workflows/claude-security-review.yml",
        ".github/workflows/claude.yml",
        ".github/workflows/codeql.yml",
        ".github/workflows/docs-ci.yml",
        ".github/workflows/image.yaml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/multi-lang-tests.yaml",
        ".github/workflows/pr.yaml",
        ".github/workflows/publish-next-prerelease.yaml",
        ".github/workflows/release-computeruse-crates.yaml",
        ".github/workflows/release-computeruse-npm.yaml",
        ".github/workflows/release-python.yaml",
        ".github/workflows/release-rust.yaml",
        ".github/workflows/release.yaml",
        ".github/workflows/skill-review.yml",
        ".github/workflows/supply-chain.yaml",
        ".github/workflows/sync-next-dist-tags.yaml",
        ".github/workflows/tee-build-deploy.yml",
        ".github/workflows/weekly-maintenance.yml",
        "packages/benchmarks/HyperliquidBench/.github/workflows/ci.yml",
        "packages/benchmarks/solana/solana-gym-env/.github/workflows/deploy-trajectory-viewer.yml"
      ]
    },
    {
      "title": "chore(deps): update actions/cache action to v5",
      "prNumber": 6879,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/cache](https://redirect.github.com/actions/cache) | action | major | `v4` → `v5` |\n\n---\n\n> [!WARNING]\n> Some dependencies could not b",
      "files": [
        ".github/workflows/build-android.yml",
        ".github/workflows/build-ios.yml",
        ".github/workflows/multi-lang-tests.yaml",
        ".github/workflows/release-computeruse-crates.yaml",
        ".github/workflows/release-computeruse-npm.yaml",
        ".github/workflows/release-rust.yaml",
        ".github/workflows/release.yaml"
      ]
    },
    {
      "title": "chore(deps): update actions/attest-build-provenance action to v4",
      "prNumber": 6878,
      "type": "tests",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance) | action | major | `v1` → `v4` |\n\n---\n\n> [!WARN",
      "files": [
        ".github/workflows/image.yaml"
      ]
    },
    {
      "title": "fix(deps): update tokio-prost monorepo to 0.14",
      "prNumber": 6877,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [prost](https://redirect.github.com/tokio-rs/prost) | dependencies | minor | `0.13` → `0.14` |\n| [prost-build](https://redirect.github.com/tok",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate sysinfo to 0.38",
      "prNumber": 6876,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [sysinfo](https://redirect.github.com/GuillaumeGomez/sysinfo) | dependencies | minor | `0.33` → `0.38` |\n\n---\n\n> [!WARNING]\n> Some dependencie",
      "files": [
        "packages/benchmarks/framework/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate sha2 to 0.11",
      "prNumber": 6875,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [sha2](https://redirect.github.com/RustCrypto/hashes) | dependencies | minor | `0.10` → `0.11` |\n| [sha2](https://redirect.github.com/RustCryp",
      "files": [
        "packages/benchmarks/HyperliquidBench/Cargo.toml",
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate sha1 to 0.11",
      "prNumber": 6874,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [sha1](https://redirect.github.com/RustCrypto/hashes) | dependencies | minor | `0.10` → `0.11` |\n\n---\n\n> [!WARNING]\n> Some dependencies could ",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate infer to 0.19",
      "prNumber": 6873,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [infer](https://redirect.github.com/bojand/infer) | dependencies | minor | `0.16` → `0.19` |\n\n---\n\n> [!WARNING]\n> Some dependencies could not ",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate getrandom to 0.4",
      "prNumber": 6872,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [getrandom](https://redirect.github.com/rust-random/getrandom) | dependencies | minor | `0.2` → `0.4` |\n\n---\n\n> [!WARNING]\n> Some dependencies",
      "files": [
        "packages/elizaos/templates/plugin/rust/Cargo.toml",
        "packages/rust/Cargo.toml",
        "packages/templates/plugin/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate criterion to 0.8",
      "prNumber": 6871,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [criterion](https://criterion-rs.github.io/book/index.html) ([source](https://redirect.github.com/criterion-rs/criterion.rs)) | dependencies |",
      "files": [
        "packages/benchmarks/framework/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate cipher to 0.5",
      "prNumber": 6870,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [cipher](https://redirect.github.com/RustCrypto/traits) | dependencies | minor | `0.4` → `0.5` |\n\n---\n\n> [!WARNING]\n> Some dependencies could ",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate cbc to 0.2",
      "prNumber": 6869,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [cbc](https://redirect.github.com/RustCrypto/block-modes) | dependencies | minor | `0.1` → `0.2` |\n\n---\n\n> [!WARNING]\n> Some dependencies coul",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update rust crate aes to 0.9",
      "prNumber": 6868,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [aes](https://redirect.github.com/RustCrypto/block-ciphers) | dependencies | minor | `0.8` → `0.9` |\n\n---\n\n> [!WARNING]\n> Some dependencies co",
      "files": [
        "packages/rust/Cargo.lock",
        "packages/rust/Cargo.toml"
      ]
    },
    {
      "title": "fix(deps): update kotlinx-coroutines monorepo to v1.10.2",
      "prNumber": 6867,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [org.jetbrains.kotlinx:kotlinx-coroutin",
      "files": [
        "packages/native-plugins/gateway/android/build.gradle",
        "packages/native-plugins/talkmode/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency transformers to ~=5.5.4",
      "prNumber": 6866,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency tqdm to ~=4.67.3",
      "prNumber": 6865,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [tqdm](https://redirect.github.com/tqdm",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency torch to ~=2.11.0",
      "prNumber": 6864,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency three to ^0.184.0",
      "prNumber": 6863,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [three](https://threejs.org/) ([source]",
      "files": [
        "apps/app-companion/package.json",
        "packages/app-core/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/templates/fullstack-app/apps/app/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency telegram to v2.26.22",
      "prNumber": 6862,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [telegram](https://redirect.github.com/",
      "files": [
        "packages/agent/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency opencv-python to ~=4.13.0.92",
      "prNumber": 6861,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [opencv-python](https://redirect.github",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml"
      ]
    },
    {
      "title": "fix(deps): update dependency matplotlib to ~=3.10.8",
      "prNumber": 6860,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [matplotlib](https://redirect.github.co",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency lucide-react to ^0.577.0",
      "prNumber": 6859,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [lucide-react](https://lucide.dev) ([so",
      "files": [
        "apps/app-companion/package.json",
        "apps/app-lifeops/package.json",
        "apps/app-shopify/package.json",
        "apps/app-steward/package.json",
        "apps/app-task-coordinator/package.json",
        "apps/app-vincent/package.json",
        "packages/app-core/package.json",
        "packages/ui/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency gymnasium to ~=0.29.1",
      "prNumber": 6858,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [gymnasium](https://redirect.github.com",
      "files": [
        "packages/benchmarks/OSWorld/pyproject.toml",
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py",
        "packages/benchmarks/OSWorld/uv.lock"
      ]
    },
    {
      "title": "fix(deps): update dependency com.google.android.gms:play-services-location to v21.3.0",
      "prNumber": 6857,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| com.google.android.gms:play-services-lo",
      "files": [
        "packages/native-plugins/location/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.test.ext:junit to v1.3.0",
      "prNumber": 6856,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.test.ext:junit](https://devel",
      "files": [
        "packages/app-core/platforms/android/variables.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.test.espresso:espresso-core to v3.7.0",
      "prNumber": 6855,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.test.espresso:espresso-core](",
      "files": [
        "packages/app-core/platforms/android/variables.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.exifinterface:exifinterface to v1.4.2",
      "prNumber": 6854,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.exifinterface:exifinterface](",
      "files": [
        "packages/native-plugins/camera/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.core:core-splashscreen to v1.2.0",
      "prNumber": 6853,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.core:core-splashscreen](https",
      "files": [
        "packages/app-core/platforms/android/variables.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.coordinatorlayout:coordinatorlayout to v1.3.0",
      "prNumber": 6852,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.coordinatorlayout:coordinator",
      "files": [
        "packages/app-core/platforms/android/variables.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency androidx.appcompat:appcompat to v1.7.1",
      "prNumber": 6851,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [androidx.appcompat:appcompat](https://",
      "files": [
        "packages/app-core/platforms/android/variables.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency @xterm/addon-fit to ^0.11.0",
      "prNumber": 6850,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@xterm/addon-fit](https://redirect.git",
      "files": [
        "apps/app-task-coordinator/package.json",
        "packages/app-core/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @stwd/sdk to ^0.7.0",
      "prNumber": 6849,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@stwd/sdk](https://steward.fi) ([sourc",
      "files": [
        "apps/app-steward/package.json",
        "packages/app-core/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @orca-so/whirlpools-sdk to ^0.20.0",
      "prNumber": 6848,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@orca-so/whirlpools-sdk](https://orca.",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/voyager/skill_runner/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @coral-xyz/borsh to ^0.32.0",
      "prNumber": 6847,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| @&#8203;coral-xyz/borsh | [`^0.31.1` → ",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/voyager/skill_runner/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @coral-xyz/anchor to ^0.32.0",
      "prNumber": 6846,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@coral-xyz/anchor](https://redirect.gi",
      "files": [
        "packages/benchmarks/solana/solana-gym-env/voyager/skill_runner/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @anthropic-ai/sdk to ^0.90.0",
      "prNumber": 6845,
      "type": "bugfix",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update capacitor monorepo to v8.3.1",
      "prNumber": 6844,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@capacitor/cli](https://capacitorjs.co",
      "files": [
        "packages/app-core/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/templates/fullstack-app/apps/app/package.json"
      ]
    },
    {
      "title": "chore(deps): update supabase/postgres docker tag to v15.14.1.107",
      "prNumber": 6843,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| supabase/postgres | minor | `15.1.0.147` → `15.14.1.107` |\n\n---\n\n> [!WARNING]\n> Some dependencies could not be looked up. Check the [Dependency Dashboard",
      "files": [
        "packages/app-core/deploy/docker-compose.supabase-db.yml"
      ]
    },
    {
      "title": "chore(deps): update rust crate uuid to v1.23.1",
      "prNumber": 6842,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [uuid](https://redirect.github.com/uuid-rs/uuid) | dependencies | minor | `1.19.0` → `1.23.1` |\n\n---\n\n> [!WARNING]\n> Some dependencies could n",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate tokio to v1.52.1",
      "prNumber": 6841,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | dev-dependencies | minor | `1.49.0` → `1.52.1` |\n| [tokio](",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate reqwest to 0.13",
      "prNumber": 6840,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [reqwest](https://redirect.github.com/seanmonstar/reqwest) | workspace.dependencies | minor | `0.11` → `0.13` |\n\n---\n\n> [!WARNING]\n> Some depe",
      "files": [
        "packages/benchmarks/HyperliquidBench/Cargo.toml"
      ]
    },
    {
      "title": "chore(deps): update node.js to v23.11.1",
      "prNumber": 6839,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) |  | minor | `v23.3.0` → `23.11.1` |\n| [node](https://nodejs.or",
      "files": [
        ".nvmrc",
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update gradle to v8.14.4",
      "prNumber": 6838,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | minor | `8.9` → `8.14.4` |\n\n---\n\n> [!WARNING]\n> Some dependencies co",
      "files": [
        "packages/app-core/platforms/android/gradle/wrapper/gradle-wrapper.jar",
        "packages/app-core/platforms/android/gradle/wrapper/gradle-wrapper.properties",
        "packages/app-core/platforms/android/gradlew",
        "packages/app-core/platforms/android/gradlew.bat"
      ]
    },
    {
      "title": "chore(deps): update docker/dockerfile docker tag to v1.23",
      "prNumber": 6837,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [docker/dockerfile](https://redirect.github.com/moby/buildkit) | syntax | minor | `1.7` → `1.23` |\n\n---\n\n> [!WARNING]\n> Some dependencies coul",
      "files": [
        "packages/app-core/deploy/Dockerfile.ci",
        "packages/app-core/deploy/Dockerfile.cloud",
        "packages/app-core/deploy/Dockerfile.cloud-agent"
      ]
    },
    {
      "title": "chore(deps): update dependency vitest to v3.2.4",
      "prNumber": 6836,
      "type": "tests",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/configbench/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency typescript to v5.9.3",
      "prNumber": 6835,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [typescript](https://www.typescriptlang",
      "files": [
        "packages/benchmarks/configbench/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency typedoc-plugin-markdown to v4.11.0",
      "prNumber": 6834,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [typedoc-plugin-markdown](https://typed",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency typedoc to v0.28.19",
      "prNumber": 6833,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [typedoc](https://typedoc.org) ([source",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency tsup to v8.5.1",
      "prNumber": 6832,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [tsup](https://tsup.egoist.dev/) ([sour",
      "files": [
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency python-dotenv to v0.21.1",
      "prNumber": 6831,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [python-dotenv](https://redirect.github",
      "files": [
        "packages/benchmarks/OSWorld/monitor/requirements.txt"
      ]
    },
    {
      "title": "chore(deps): update dependency python",
      "prNumber": 6830,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [python](https://redirect.github.com/python/cpython) |  | minor | `3.12` → `3.14.4` |\n| [python](https://redirect.github.com/actions/python-ve",
      "files": [
        ".github/workflows/ci.yaml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/multi-lang-tests.yaml",
        ".github/workflows/release-python.yaml",
        "packages/benchmarks/OSWorld/.mise.toml",
        "packages/benchmarks/OSWorld/monitor/Dockerfile",
        "packages/benchmarks/clawbench/Dockerfile.init",
        "packages/benchmarks/clawbench/Dockerfile.mock-tools"
      ]
    },
    {
      "title": "chore(deps): update dependency pynput to ~=1.8.1",
      "prNumber": 6829,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pynput](https://redirect.github.com/mo",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py"
      ]
    },
    {
      "title": "chore(deps): update dependency pandas to v2.3.3",
      "prNumber": 6828,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [pandas](https://redirect.github.com/pa",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py"
      ]
    },
    {
      "title": "chore(deps): update dependency p5.js to v1.11.10",
      "prNumber": 6827,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [p5.js](http://p5js.org) ([source](https://redirect.github.com/processing/p5.js)) ",
      "files": [
        "packages/benchmarks/openclaw-benchmark/mistralvibecli/.isolated_home/.vibe/skills/anthropic-algorithmic-art/templates/viewer.html"
      ]
    },
    {
      "title": "chore(deps): update dependency opencv-python-headless to ~=4.13.0.92",
      "prNumber": 6826,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [opencv-python-headless](https://redire",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py"
      ]
    },
    {
      "title": "chore(deps): update dependency numpy to ~=1.26.4",
      "prNumber": 6825,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt"
      ]
    },
    {
      "title": "chore(deps): update dependency is-core-module to v2.16.1",
      "prNumber": 6824,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [is-core-module](https://redirect.githu",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency esbuild to ^0.28.0",
      "prNumber": 6823,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [esbuild](https://redirect.github.com/e",
      "files": [
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency ag2 to ~=0.12.0",
      "prNumber": 6822,
      "type": "other",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/benchmarks/OSWorld/requirements.txt",
        "packages/benchmarks/OSWorld/setup.py"
      ]
    },
    {
      "title": "chore(deps): update dependency @uniswap/v4-sdk to v1.30.0",
      "prNumber": 6821,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@uniswap/v4-sdk](https://redirect.gith",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @uniswap/v3-sdk to v3.30.0",
      "prNumber": 6820,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@uniswap/v3-sdk](https://redirect.gith",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @uniswap/v2-sdk to v4.20.0",
      "prNumber": 6819,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@uniswap/v2-sdk](https://redirect.gith",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @types/node to v25.6.0",
      "prNumber": 6818,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@types/node](https://redirect.github.c",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @types/node to v22.19.17",
      "prNumber": 6817,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@types/node](https://redirect.github.c",
      "files": [
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @ionic/eslint-config to ^0.4.0",
      "prNumber": 6816,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@ionic/eslint-config](https://redirect",
      "files": [
        "packages/native-plugins/gateway/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @capacitor/docgen to ^0.3.0",
      "prNumber": 6815,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@capacitor/docgen](https://capacitorjs",
      "files": [
        "packages/native-plugins/gateway/package.json",
        "packages/native-plugins/location/package.json",
        "packages/native-plugins/talkmode/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency com.android.tools.build:gradle to v8.13.2",
      "prNumber": 6814,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [com.android.tools.build:gradle](https:",
      "files": [
        "packages/app-core/platforms/android/build.gradle"
      ]
    },
    {
      "title": "fix(deps): update dependency @elizaos/plugin-sql to v2.0.0-alpha.19",
      "prNumber": 6813,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@elizaos/plugin-sql](https://redirect.",
      "files": [
        "packages/app-core/deploy/cloud-agent-template/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @elizaos/plugin-elizacloud to v2.0.0-alpha.8",
      "prNumber": 6812,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@elizaos/plugin-elizacloud](https://re",
      "files": [
        "packages/app-core/deploy/cloud-agent-template/package.json",
        "packages/typescript/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @elizaos/core",
      "prNumber": 6811,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| @&#8203;elizaos/core | [`2.0.0-alpha.3`",
      "files": [
        "packages/app-core/deploy/cloud-agent-template/package.json",
        "packages/benchmarks/configbench/package.json"
      ]
    },
    {
      "title": "fix(build): unblock NPM Release — TS errors in agent/app-core/ui",
      "prNumber": 6810,
      "type": "bugfix",
      "body": "## Summary\n\nNPM Release has been failing on `develop` for several pushes (alpha.174–181 \"Release Failed\"). This fixes the TypeScript errors blocking the `@elizaos/agent`, `@elizaos/app-core`, and `@elizaos/ui` build steps so releases can go",
      "files": [
        "apps/app-lifeops/src/actions/computer-use.ts",
        "apps/app-lifeops/src/actions/cross-channel-send.ts",
        "apps/app-training/src/backends/tinker.ts",
        "apps/app-training/src/core/training-orchestrator.ts",
        "packages/agent/src/api/apps-routes.ts",
        "packages/agent/src/external-modules.d.ts",
        "packages/agent/src/services/plugin-manager-types.ts",
        "packages/app-core/tsconfig.json",
        "packages/ui/tsconfig.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @capacitor/keyboard to v8.0.3",
      "prNumber": 6809,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@capacitor/keyboard](https://redirect.",
      "files": [
        "packages/app-core/package.json",
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/templates/fullstack-app/apps/app/package.json"
      ]
    },
    {
      "title": "fix(deps): update dependency @capacitor/haptics to v8.0.2",
      "prNumber": 6808,
      "type": "bugfix",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@capacitor/haptics](https://redirect.g",
      "files": [
        "packages/app-core/package.json"
      ]
    },
    {
      "title": "chore(deps): update rust crate tracing-subscriber to v0.3.23",
      "prNumber": 6807,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [tracing-subscriber](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tracing)) | dependencies | patch | `0.3.22` → `0.3.23` |",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate thiserror to v2.0.18",
      "prNumber": 6806,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [thiserror](https://redirect.github.com/dtolnay/thiserror) | dependencies | patch | `2.0.17` → `2.0.18` |\n\n---\n\n> [!WARNING]\n> Some dependenci",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "Shaw/pr1886 ci followups",
      "prNumber": 6805,
      "type": "other",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review ",
      "files": [
        "packages/app-core/scripts/desktop-build.mjs",
        "packages/app-core/scripts/docker-ci-smoke.sh",
        "packages/elizaos/templates/plugin/typescript/src/__tests__/test-utils.ts",
        "plugins/plugin-shell"
      ]
    },
    {
      "title": "Milady/shaw/UI smoke e2e fixes 20260417 gitlink",
      "prNumber": 6804,
      "type": "bugfix",
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review ",
      "files": [
        ".github/workflows/release.yaml",
        "apps/app-defense-of-the-agents/package.json",
        "apps/app-defense-of-the-agents/src/routes.ts",
        "apps/app-defense-of-the-agents/test/lifecycle.test.ts",
        "apps/app-lifeops/src/actions/approval.ts",
        "apps/app-lifeops/src/actions/cross-channel-send.ts",
        "apps/app-lifeops/src/actions/search-across-channels.ts",
        "apps/app-lifeops/src/activity-profile/proactive-worker.ts",
        "apps/app-lifeops/src/components/ApprovalsPanel.tsx",
        "apps/app-lifeops/src/components/LifeOpsPageView.tsx",
        "apps/app-lifeops/src/dossier/service.ts",
        "apps/app-lifeops/src/followup/followup-tracker.ts",
        "apps/app-lifeops/src/lifeops/approval-queue.ts",
        "apps/app-lifeops/src/lifeops/approval-queue.types.ts",
        "apps/app-lifeops/src/lifeops/background-planner-dispatch.ts",
        "apps/app-lifeops/src/lifeops/background-planner.ts",
        "apps/app-lifeops/src/lifeops/discord-browser-scraper.ts",
        "apps/app-lifeops/src/lifeops/google-drive.ts",
        "apps/app-lifeops/src/lifeops/imessage-bridge.ts",
        "apps/app-lifeops/src/lifeops/notifications-push.ts",
        "apps/app-lifeops/src/lifeops/runtime.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-discord.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-drive.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-imessage.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-notifications.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-signal.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-telegram.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-travel.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-whatsapp.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-x-read.ts",
        "apps/app-lifeops/src/lifeops/service-mixin-x.ts",
        "apps/app-lifeops/src/lifeops/service.ts",
        "apps/app-lifeops/src/lifeops/telegram-local-client.ts",
        "apps/app-lifeops/src/lifeops/travel-adapters/duffel.ts",
        "apps/app-lifeops/src/lifeops/unified-search.ts",
        "apps/app-lifeops/src/lifeops/whatsapp-client.ts",
        "apps/app-lifeops/src/plugin.ts",
        "apps/app-lifeops/src/providers/cross-channel-context.ts",
        "apps/app-lifeops/test/approval-queue.integration.test.ts",
        "apps/app-lifeops/test/background-job-parity.contract.test.ts",
        "apps/app-lifeops/test/google-drive.integration.test.ts",
        "apps/app-lifeops/test/lifeops-signal-inbound.integration.test.ts",
        "apps/app-lifeops/test/lifeops-whatsapp-sync.integration.test.ts",
        "apps/app-lifeops/test/lifeops-x-dm-inbound.integration.test.ts",
        "apps/app-lifeops/test/notifications-push.integration.test.ts",
        "apps/app-lifeops/test/travel-duffel.integration.test.ts",
        "apps/app-lifeops/test/unified-search.integration.test.ts",
        "packages/agent/src/actions/entity-actions.ts",
        "packages/agent/src/api/apps-routes-heartbeat.test.ts",
        "packages/agent/src/api/apps-routes.ts"
      ]
    },
    {
      "title": "chore(deps): update rust crate regex to v1.12.3",
      "prNumber": 6802,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [regex](https://redirect.github.com/rust-lang/regex) | dependencies | patch | `1.12.2` → `1.12.3` |\n\n---\n\n> [!WARNING]\n> Some dependencies cou",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate quick-xml to v0.39.2",
      "prNumber": 6801,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [quick-xml](https://redirect.github.com/tafia/quick-xml) | dependencies | patch | `0.39.0` → `0.39.2` |\n\n---\n\n> [!WARNING]\n> Some dependencies",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "ci(release): stop auto-filing Release Failed issues",
      "prNumber": 6800,
      "type": "other",
      "body": "## Summary\n- Remove the failure-issue automation from `.github/workflows/release.yaml` (the `# Handle failure - create issue if the workflow failed` block: content file + existence check + create + reuse).\n- Every failed alpha publish was s",
      "files": [
        ".github/workflows/release.yaml"
      ]
    },
    {
      "title": "fix(packaging): inject tailwindcss for snap builds",
      "prNumber": 6799,
      "type": "bugfix",
      "body": "<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR fixes snap builds by injecting the `tailwindcss` package directly into `eliza/packages/app-core/node_modules` during the build phase, resolving a Vite/PostCSS CSS pipeline failur",
      "files": [
        "packages/app-core/packaging/snap/snapcraft.yaml"
      ]
    },
    {
      "title": "chore(deps-dev): bump the npm_and_yarn group across 2 directories with 1 update",
      "prNumber": 6796,
      "type": "other",
      "body": "Bumps the npm_and_yarn group with 1 update in the /plugins/plugin-calendly directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).\nBumps the npm_and_yarn group with 1 update in the /plugins/plugin-github directo",
      "files": [
        "packages/app-core/test/contracts/lib/openzeppelin-contracts/package-lock.json",
        "packages/app-core/test/contracts/lib/openzeppelin-contracts/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency vitest to v4 [security]",
      "prNumber": 6795,
      "type": "tests",
      "body": "> ℹ️ **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-con",
      "files": [
        "packages/elizaos/templates/fullstack-app/apps/app/package.json",
        "packages/native-plugins/macosalarm/package.json",
        "packages/templates/fullstack-app/apps/app/package.json",
        "plugins/plugin-bluebubbles/typescript/package.json",
        "plugins/plugin-calendly/package.json",
        "plugins/plugin-github/package.json"
      ]
    },
    {
      "title": "chore(deps): update rust crate once_cell to v1.21.4",
      "prNumber": 6792,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [once_cell](https://redirect.github.com/matklad/once_cell) | dependencies | patch | `1.21.3` → `1.21.4` |\n\n---\n\n> [!WARNING]\n> Some dependenci",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate futures to v0.3.32",
      "prNumber": 6791,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [futures](https://rust-lang.github.io/futures-rs) ([source](https://redirect.github.com/rust-lang/futures-rs)) | dependencies | patch | `0.3.3",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): bump the uv group across 2 directories with 2 updates",
      "prNumber": 6790,
      "type": "other",
      "body": "Bumps the uv group with 1 update in the /packages/benchmarks/OSWorld directory: [pypdf](https://github.com/py-pdf/pypdf).\nBumps the uv group with 1 update in the /packages/benchmarks/solana/solana-gym-env directory: [langchain-openai](https",
      "files": [
        "packages/benchmarks/OSWorld/uv.lock",
        "packages/benchmarks/solana/solana-gym-env/pyproject.toml",
        "packages/benchmarks/solana/solana-gym-env/uv.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate chrono to v0.4.44",
      "prNumber": 6789,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [chrono](https://redirect.github.com/chronotope/chrono) | dependencies | patch | `0.4.42` → `0.4.44` |\n\n---\n\n> [!WARNING]\n> Some dependencies ",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update rust crate anyhow to v1.0.102",
      "prNumber": 6788,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [anyhow](https://redirect.github.com/dtolnay/anyhow) | dependencies | patch | `1.0.100` → `1.0.102` |\n\n---\n\n> [!WARNING]\n> Some dependencies c",
      "files": [
        "packages/rust/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): update react monorepo",
      "prNumber": 6785,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@types/react](https://redirect.github.",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency lerna to v9.0.7",
      "prNumber": 6784,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [lerna](https://lerna.js.org) ([source]",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency error-ex to v1.3.4",
      "prNumber": 6783,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [error-ex](https://redirect.github.com/",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency bun to v1.3.12",
      "prNumber": 6782,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [bun](https://bun.com) ([source](https:",
      "files": [
        ".github/workflows/ci.yaml",
        ".github/workflows/jsdoc-automation.yml",
        ".github/workflows/multi-lang-tests.yaml",
        ".github/workflows/publish-next-prerelease.yaml",
        ".github/workflows/release.yaml"
      ]
    },
    {
      "title": "chore(deps): update dependency ai to v6.0.168",
      "prNumber": 6781,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [ai](https://ai-sdk.dev/docs) ([source]",
      "files": [
        "package.json"
      ]
    },
    {
      "title": "chore(deps): update dependency @ai-sdk/provider-utils to v4.0.23",
      "prNumber": 6780,
      "type": "other",
      "body": "This PR contains the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n| [@ai-sdk/provider-utils](https://ai-sdk",
      "files": [
        "package.json"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "lalalune",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4",
      "totalScore": 223.60284760882118,
      "prScore": 223.1648476088212,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.43799999999999994,
      "summary": "lalalune: Drove critical infrastructure and build stability for the elizaos/eliza project by merging 5 PRs, most notably resolving complex UI smoke test and E2E issues in PR #6804 while unblocking NPM releases and optimizing CI workflows. Their work was primarily focused on extensive codebase maintenance and refactoring, supported by active engagement across 9 issue and PR discussions."
    },
    {
      "username": "TJ-Frederick",
      "avatarUrl": "https://avatars.githubusercontent.com/u/40179660?u=cc95e6349c02ce418218a960922bdbb81ff2e741&v=4",
      "totalScore": 24.923619631167554,
      "prScore": 24.923619631167554,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "TJ-Frederick: Focused on expanding ecosystem interoperability by opening PR #29 in elizaos-plugins/plugin-evm to add support for the Radius Network."
    },
    {
      "username": "ColonistOne",
      "avatarUrl": "https://avatars.githubusercontent.com/u/271974769?u=af6b52db284d4ebb9209e436a1fb003ff9ccf2e4&v=4",
      "totalScore": 14.346573590279972,
      "prScore": 14.346573590279972,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "ColonistOne: Focused on expanding the ecosystem registry by opening PR #344 to add the @thecolony/elizaos-plugin to the elizaos-plugins/registry. This contribution involved a targeted configuration update to support project integration."
    },
    {
      "username": "jacksun911",
      "avatarUrl": "https://avatars.githubusercontent.com/u/275495830?v=4",
      "totalScore": 13.846147180559946,
      "prScore": 13.846147180559946,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "jacksun911: Focused on expanding the ecosystem by opening PR #343 in elizaos-plugins/registry to add the megalaunch-elizaos-plugin."
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": "greptile-apps: No activity today."
    }
  ],
  "newPRs": 155,
  "mergedPRs": 160,
  "newIssues": 4,
  "closedIssues": 9,
  "activeContributors": 6
}