Skip to content

ci(changesets): version packages#1139

Merged
omeraplak merged 1 commit intomainfrom
changeset-release/main
Mar 6, 2026
Merged

ci(changesets): version packages#1139
omeraplak merged 1 commit intomainfrom
changeset-release/main

Conversation

@voltagent-bot
Copy link
Member

@voltagent-bot voltagent-bot commented Mar 6, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@voltagent/core@2.6.6

Patch Changes

  • 99680b1 Thanks @omeraplak! - feat: add runtime memory envelope (options.memory) and deprecate legacy top-level memory fields

    What's New

    • Added a preferred per-call memory envelope:
      • options.memory.conversationId for conversation-scoped memory
      • options.memory.userId for user-scoped memory
      • options.memory.options for memory behavior overrides (contextLimit, semanticMemory, conversationPersistence)
    • Kept legacy top-level fields for backward compatibility:
      • options.conversationId, options.userId, options.contextLimit, options.semanticMemory, options.conversationPersistence
    • Legacy fields are now marked deprecated in type/docs, and envelope values are preferred when both are provided.

    Usage Examples

    Legacy (still supported, deprecated):

    await agent.generateText("Hello", {
      userId: "user-123",
      conversationId: "conv-123",
      contextLimit: 20,
      semanticMemory: {
        enabled: true,
        semanticLimit: 5,
      },
      conversationPersistence: {
        mode: "step",
        debounceMs: 150,
      },
    });

    Preferred (new memory envelope):

    await agent.generateText("Hello", {
      memory: {
        userId: "user-123",
        conversationId: "conv-123",
        options: {
          contextLimit: 20,
          semanticMemory: {
            enabled: true,
            semanticLimit: 5,
          },
          conversationPersistence: {
            mode: "step",
            debounceMs: 150,
          },
        },
      },
    });

    Server and Resumable Stream Alignment

    • @voltagent/server-core now accepts/documents the options.memory envelope in request schemas.
    • Resumable stream identity resolution now reads conversationId/userId from options.memory first and falls back to legacy fields.
    • Added tests for:
      • parsing options.memory in server schemas
      • resolving resumable stream keys from options.memory

@voltagent/resumable-streams@2.0.2

Patch Changes

  • 99680b1 Thanks @omeraplak! - feat: add runtime memory envelope (options.memory) and deprecate legacy top-level memory fields

    What's New

    • Added a preferred per-call memory envelope:
      • options.memory.conversationId for conversation-scoped memory
      • options.memory.userId for user-scoped memory
      • options.memory.options for memory behavior overrides (contextLimit, semanticMemory, conversationPersistence)
    • Kept legacy top-level fields for backward compatibility:
      • options.conversationId, options.userId, options.contextLimit, options.semanticMemory, options.conversationPersistence
    • Legacy fields are now marked deprecated in type/docs, and envelope values are preferred when both are provided.

    Usage Examples

    Legacy (still supported, deprecated):

    await agent.generateText("Hello", {
      userId: "user-123",
      conversationId: "conv-123",
      contextLimit: 20,
      semanticMemory: {
        enabled: true,
        semanticLimit: 5,
      },
      conversationPersistence: {
        mode: "step",
        debounceMs: 150,
      },
    });

    Preferred (new memory envelope):

    await agent.generateText("Hello", {
      memory: {
        userId: "user-123",
        conversationId: "conv-123",
        options: {
          contextLimit: 20,
          semanticMemory: {
            enabled: true,
            semanticLimit: 5,
          },
          conversationPersistence: {
            mode: "step",
            debounceMs: 150,
          },
        },
      },
    });

    Server and Resumable Stream Alignment

    • @voltagent/server-core now accepts/documents the options.memory envelope in request schemas.
    • Resumable stream identity resolution now reads conversationId/userId from options.memory first and falls back to legacy fields.
    • Added tests for:
      • parsing options.memory in server schemas
      • resolving resumable stream keys from options.memory
  • Updated dependencies [99680b1]:

    • @voltagent/core@2.6.6

@voltagent/server-core@2.1.9

Patch Changes

  • 99680b1 Thanks @omeraplak! - feat: add runtime memory envelope (options.memory) and deprecate legacy top-level memory fields

    What's New

    • Added a preferred per-call memory envelope:
      • options.memory.conversationId for conversation-scoped memory
      • options.memory.userId for user-scoped memory
      • options.memory.options for memory behavior overrides (contextLimit, semanticMemory, conversationPersistence)
    • Kept legacy top-level fields for backward compatibility:
      • options.conversationId, options.userId, options.contextLimit, options.semanticMemory, options.conversationPersistence
    • Legacy fields are now marked deprecated in type/docs, and envelope values are preferred when both are provided.

    Usage Examples

    Legacy (still supported, deprecated):

    await agent.generateText("Hello", {
      userId: "user-123",
      conversationId: "conv-123",
      contextLimit: 20,
      semanticMemory: {
        enabled: true,
        semanticLimit: 5,
      },
      conversationPersistence: {
        mode: "step",
        debounceMs: 150,
      },
    });

    Preferred (new memory envelope):

    await agent.generateText("Hello", {
      memory: {
        userId: "user-123",
        conversationId: "conv-123",
        options: {
          contextLimit: 20,
          semanticMemory: {
            enabled: true,
            semanticLimit: 5,
          },
          conversationPersistence: {
            mode: "step",
            debounceMs: 150,
          },
        },
      },
    });

    Server and Resumable Stream Alignment

    • @voltagent/server-core now accepts/documents the options.memory envelope in request schemas.
    • Resumable stream identity resolution now reads conversationId/userId from options.memory first and falls back to legacy fields.
    • Added tests for:
      • parsing options.memory in server schemas
      • resolving resumable stream keys from options.memory
  • Updated dependencies [99680b1]:

    • @voltagent/core@2.6.6

Summary by CodeRabbit

  • New Features

    • Introduced new memory envelope option for flexible per-call memory configuration
  • Deprecations

    • Legacy top-level memory fields deprecated; migrate to the new memory envelope for enhanced control
  • Version Updates

    • Core: 2.6.6
    • Resumable Streams: 2.0.2
    • Server Core: 2.1.9

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 6, 2026

Deploying voltagent with  Cloudflare Pages  Cloudflare Pages

Latest commit: 119a730
Status:⚡️  Build in progress...

View logs

@joggrbot

This comment has been minimized.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 6, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 216d8e70-f120-49d5-b46f-dc9c90805941

📥 Commits

Reviewing files that changed from the base of the PR and between 63f2f29 and 119a730.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (87)
  • .changeset/runtime-memory-envelope.md
  • examples/base/package.json
  • examples/github-repo-analyzer/package.json
  • examples/github-star-stories/package.json
  • examples/next-js-chatbot-starter-template/package.json
  • examples/with-a2a-server/package.json
  • examples/with-agent-tool/package.json
  • examples/with-airtable/package.json
  • examples/with-amazon-bedrock/package.json
  • examples/with-anthropic/package.json
  • examples/with-auth/package.json
  • examples/with-cerbos/package.json
  • examples/with-chat-sdk/package.json
  • examples/with-chroma/package.json
  • examples/with-client-side-tools/package.json
  • examples/with-cloudflare-workers/package.json
  • examples/with-composio-mcp/package.json
  • examples/with-custom-endpoints/package.json
  • examples/with-dynamic-parameters/package.json
  • examples/with-dynamic-prompts/package.json
  • examples/with-feedback/package.json
  • examples/with-google-ai/package.json
  • examples/with-google-drive-mcp/server/package.json
  • examples/with-google-vertex-ai/package.json
  • examples/with-groq-ai/package.json
  • examples/with-guardrails/package.json
  • examples/with-hooks/package.json
  • examples/with-hugging-face-mcp/package.json
  • examples/with-langfuse/package.json
  • examples/with-mcp-elicitation/package.json
  • examples/with-mcp-server/package.json
  • examples/with-mcp/package.json
  • examples/with-memory-rest-api/package.json
  • examples/with-middleware/package.json
  • examples/with-nestjs/package.json
  • examples/with-netlify-functions/package.json
  • examples/with-nextjs-resumable-stream/package.json
  • examples/with-nextjs/package.json
  • examples/with-nuxt/package.json
  • examples/with-offline-evals/package.json
  • examples/with-ollama/package.json
  • examples/with-peaka-mcp/package.json
  • examples/with-pinecone/package.json
  • examples/with-planagents/package.json
  • examples/with-playwright/package.json
  • examples/with-postgres/package.json
  • examples/with-qdrant/package.json
  • examples/with-rag-chatbot/package.json
  • examples/with-recipe-generator/package.json
  • examples/with-research-assistant/package.json
  • examples/with-resumable-streams/package.json
  • examples/with-retries-fallback/package.json
  • examples/with-retrieval/package.json
  • examples/with-slack/package.json
  • examples/with-subagents/package.json
  • examples/with-summarization/package.json
  • examples/with-supabase/package.json
  • examples/with-tavily-search/package.json
  • examples/with-thinking-tool/package.json
  • examples/with-tool-routing/package.json
  • examples/with-tools/package.json
  • examples/with-turso/package.json
  • examples/with-vector-search/package.json
  • examples/with-vercel-ai/package.json
  • examples/with-viteval/package.json
  • examples/with-voice-elevenlabs/package.json
  • examples/with-voice-openai/package.json
  • examples/with-voice-xsai/package.json
  • examples/with-voltagent-actions/package.json
  • examples/with-voltagent-exporter/package.json
  • examples/with-voltagent-managed-memory/package.json
  • examples/with-voltops-resumable-streams/package.json
  • examples/with-voltops-retrieval/package.json
  • examples/with-whatsapp/package.json
  • examples/with-workflow-chain/package.json
  • examples/with-workflow/package.json
  • examples/with-working-memory/package.json
  • examples/with-workspace/package.json
  • examples/with-youtube-to-blog/package.json
  • examples/with-zapier-mcp/package.json
  • packages/core/CHANGELOG.md
  • packages/core/package.json
  • packages/e2e/package.json
  • packages/resumable-streams/CHANGELOG.md
  • packages/resumable-streams/package.json
  • packages/server-core/CHANGELOG.md
  • packages/server-core/package.json

📝 Walkthrough

Walkthrough

Removed a changeset doc and bumped package versions across the monorepo (core, server-core, resumable-streams, examples). Changelogs were added/updated to document a runtime memory envelope (options.memory); no public API code was changed in this diff.

Changes

Cohort / File(s) Summary
Deleted documentation
.changeset/runtime-memory-envelope.md
Removed the changeset file that documented the runtime memory envelope feature.
Core release
packages/core/package.json, packages/core/CHANGELOG.md
Version bumped to 2.6.6; changelog documents the runtime memory envelope (options.memory) and deprecation notes for legacy top-level memory fields.
Resumable Streams release
packages/resumable-streams/package.json, packages/resumable-streams/CHANGELOG.md
Version bumped to 2.0.2; dependency bump to @voltagent/core@^2.6.6; changelog documents memory envelope and related test/usage notes.
Server Core release
packages/server-core/package.json, packages/server-core/CHANGELOG.md
Version bumped to 2.1.9; dependency updated to @voltagent/core@^2.6.6; changelog documents server-side alignment for options.memory.
Example projects & e2e
examples/*/package.json (≈70 files), packages/e2e/package.json
Updated @voltagent/core dependency from ^2.6.5^2.6.6 across example manifests; a few examples also updated @voltagent/resumable-streams to ^2.0.2.
Changelog-only edits
packages/*/CHANGELOG.md
Added or updated changelog entries describing the runtime memory envelope and deprecation guidance (no code changes).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 A hop for a changelog, a twitch for a bump,

options.memory tucked in like a lump.
Old fields wink, marked “deprecated” with care,
Examples updated — they’re all aware.
I nibble the docs, then hop on the release drum! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci(changesets): version packages' clearly and concisely describes the PR's primary purpose of publishing package version updates via the Changesets GitHub action.
Description check ✅ Passed The PR description provides comprehensive information about the release, including package versions, detailed changelogs for all three packages, usage examples comparing legacy and new approaches, and server/stream alignment details—exceeding template requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch changeset-release/main

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 88 files

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/core/CHANGELOG.md`:
- Line 16: Update the deprecation note in the CHANGELOG entry so the phrase
"type/docs" is corrected to "types/docs"; locate the sentence "Legacy fields are
now marked deprecated in type/docs, and envelope values are preferred when both
are provided." and replace "type/docs" with "types/docs" to match the
surrounding terminology and consistency.

In `@packages/resumable-streams/CHANGELOG.md`:
- Around line 40-58: The example showing agent.generateText with an
options.memory payload is non-functional because GenerateOptionsSchema does not
include a memory field and stream resolvers don't consume it; update the
changelog so users aren't misled by either removing the example block or
annotating it as "coming soon / not yet implemented", and if you prefer to keep
it, add a clear NOTE referencing GenerateOptionsSchema and stream resolver
behavior so it's not presented as a working example.
- Around line 61-62: Update the changelog to accurately state that while the
schema now accepts options.memory, the resolver logic has not been
changed—specifically note that defaultResolveConversationId and
defaultResolveUserId still read from options.conversationId/options.userId and
do not yet consult options.memory; modify the lines describing resolvable
identity to reflect that the fallback behavior is documented but not implemented
in the resolvers.

In `@packages/resumable-streams/package.json`:
- Around line 4-7: The package.json advertises a
peerDependencies["@voltagent/core"] range that is too old (currently ^2.0.0)
while the code and dependencies require features from 2.6.6; update the
peerDependencies entry for "@voltagent/core" to "^2.6.6" so it matches the
dependency and minimum supported core release (also re-run install/CI to verify
no peer warnings). Ensure you update the peerDependencies field in package.json
where "@voltagent/core" is declared.

In `@packages/server-core/CHANGELOG.md`:
- Around line 60-65: The changelog entry titled "Server and Resumable Stream
Alignment" incorrectly attributes resumable-stream behavior to
`@voltagent/server-core`; edit this entry to scope it to `@voltagent/server-core` by
keeping the schema/docs bullet and the server-schema test bullet (leave the
`options.memory` acceptance and the server-schema test), then remove the two
bullets referencing "Resumable stream identity resolution" and the
resumable-stream tests and add those exact bullets to the
`@voltagent/resumable-streams` package changelog instead; ensure the wording and
test references are preserved when moving and update the package-specific
headings so each package's changelog only describes its own changes.

In `@packages/server-core/package.json`:
- Around line 4-7: Update the package manifest so the peer dependency floor for
`@voltagent/core` matches the runtime dependency floor: change the peerDependency
entry for "@voltagent/core" from allowing "^2.0.0" to require at least "^2.6.6"
(same as the runtime dependency) to avoid compatibility mismatches or duplicate
installs; locate the peerDependencies block in package.json and update the
"@voltagent/core" version specifier accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f1643f2c-490b-4e38-86cb-e069ce3f7e5d

📥 Commits

Reviewing files that changed from the base of the PR and between 99680b1 and 63f2f29.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (87)
  • .changeset/runtime-memory-envelope.md
  • examples/base/package.json
  • examples/github-repo-analyzer/package.json
  • examples/github-star-stories/package.json
  • examples/next-js-chatbot-starter-template/package.json
  • examples/with-a2a-server/package.json
  • examples/with-agent-tool/package.json
  • examples/with-airtable/package.json
  • examples/with-amazon-bedrock/package.json
  • examples/with-anthropic/package.json
  • examples/with-auth/package.json
  • examples/with-cerbos/package.json
  • examples/with-chat-sdk/package.json
  • examples/with-chroma/package.json
  • examples/with-client-side-tools/package.json
  • examples/with-cloudflare-workers/package.json
  • examples/with-composio-mcp/package.json
  • examples/with-custom-endpoints/package.json
  • examples/with-dynamic-parameters/package.json
  • examples/with-dynamic-prompts/package.json
  • examples/with-feedback/package.json
  • examples/with-google-ai/package.json
  • examples/with-google-drive-mcp/server/package.json
  • examples/with-google-vertex-ai/package.json
  • examples/with-groq-ai/package.json
  • examples/with-guardrails/package.json
  • examples/with-hooks/package.json
  • examples/with-hugging-face-mcp/package.json
  • examples/with-langfuse/package.json
  • examples/with-mcp-elicitation/package.json
  • examples/with-mcp-server/package.json
  • examples/with-mcp/package.json
  • examples/with-memory-rest-api/package.json
  • examples/with-middleware/package.json
  • examples/with-nestjs/package.json
  • examples/with-netlify-functions/package.json
  • examples/with-nextjs-resumable-stream/package.json
  • examples/with-nextjs/package.json
  • examples/with-nuxt/package.json
  • examples/with-offline-evals/package.json
  • examples/with-ollama/package.json
  • examples/with-peaka-mcp/package.json
  • examples/with-pinecone/package.json
  • examples/with-planagents/package.json
  • examples/with-playwright/package.json
  • examples/with-postgres/package.json
  • examples/with-qdrant/package.json
  • examples/with-rag-chatbot/package.json
  • examples/with-recipe-generator/package.json
  • examples/with-research-assistant/package.json
  • examples/with-resumable-streams/package.json
  • examples/with-retries-fallback/package.json
  • examples/with-retrieval/package.json
  • examples/with-slack/package.json
  • examples/with-subagents/package.json
  • examples/with-summarization/package.json
  • examples/with-supabase/package.json
  • examples/with-tavily-search/package.json
  • examples/with-thinking-tool/package.json
  • examples/with-tool-routing/package.json
  • examples/with-tools/package.json
  • examples/with-turso/package.json
  • examples/with-vector-search/package.json
  • examples/with-vercel-ai/package.json
  • examples/with-viteval/package.json
  • examples/with-voice-elevenlabs/package.json
  • examples/with-voice-openai/package.json
  • examples/with-voice-xsai/package.json
  • examples/with-voltagent-actions/package.json
  • examples/with-voltagent-exporter/package.json
  • examples/with-voltagent-managed-memory/package.json
  • examples/with-voltops-resumable-streams/package.json
  • examples/with-voltops-retrieval/package.json
  • examples/with-whatsapp/package.json
  • examples/with-workflow-chain/package.json
  • examples/with-workflow/package.json
  • examples/with-working-memory/package.json
  • examples/with-workspace/package.json
  • examples/with-youtube-to-blog/package.json
  • examples/with-zapier-mcp/package.json
  • packages/core/CHANGELOG.md
  • packages/core/package.json
  • packages/e2e/package.json
  • packages/resumable-streams/CHANGELOG.md
  • packages/resumable-streams/package.json
  • packages/server-core/CHANGELOG.md
  • packages/server-core/package.json
💤 Files with no reviewable changes (1)
  • .changeset/runtime-memory-envelope.md

- `options.memory.options` for memory behavior overrides (`contextLimit`, `semanticMemory`, `conversationPersistence`)
- Kept legacy top-level fields for backward compatibility:
- `options.conversationId`, `options.userId`, `options.contextLimit`, `options.semanticMemory`, `options.conversationPersistence`
- Legacy fields are now marked deprecated in type/docs, and envelope values are preferred when both are provided.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix the type/docs typo in the deprecation note.

type/docs reads awkwardly here and looks inconsistent with the rest of the release notes. types/docs would be clearer and matches the surrounding terminology.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/core/CHANGELOG.md` at line 16, Update the deprecation note in the
CHANGELOG entry so the phrase "type/docs" is corrected to "types/docs"; locate
the sentence "Legacy fields are now marked deprecated in type/docs, and envelope
values are preferred when both are provided." and replace "type/docs" with
"types/docs" to match the surrounding terminology and consistency.

Comment on lines +4 to +7
"version": "2.0.2",
"author": "VoltAgent Team",
"dependencies": {
"@voltagent/core": "^2.0.7",
"@voltagent/core": "^2.6.6",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
import json
from pathlib import Path

path = Path("packages/resumable-streams/package.json")
data = json.loads(path.read_text())
print("dependency:", data["dependencies"]["@voltagent/core"])
print("peerDependency:", data["peerDependencies"]["@voltagent/core"])
PY

echo
echo "Direct `@voltagent/core` imports in packages/resumable-streams:"
rg -n -C2 '@voltagent/core' packages/resumable-streams

echo
echo "Release notes for packages/resumable-streams:"
sed -n '1,120p' packages/resumable-streams/CHANGELOG.md

Repository: VoltAgent/voltagent

Length of output: 7780


Align the @voltagent/core peer range with the new minimum supported release.

Line 7 now requires @voltagent/core@^2.6.6, but this manifest still advertises peerDependencies["@voltagent/core"] = "^2.0.0". The 2.0.2 release is tied to the memory envelope feature in 2.6.6 (per CHANGELOG), and the source code directly depends on memory envelope resolution introduced in that version. The peer range must be bumped to ^2.6.6 to prevent consumers from installing incompatible core versions.

Suggested manifest change
  "peerDependencies": {
-   "@voltagent/core": "^2.0.0",
+   "@voltagent/core": "^2.6.6",
    "ai": "^6.0.0"
  },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/resumable-streams/package.json` around lines 4 - 7, The package.json
advertises a peerDependencies["@voltagent/core"] range that is too old
(currently ^2.0.0) while the code and dependencies require features from 2.6.6;
update the peerDependencies entry for "@voltagent/core" to "^2.6.6" so it
matches the dependency and minimum supported core release (also re-run
install/CI to verify no peer warnings). Ensure you update the peerDependencies
field in package.json where "@voltagent/core" is declared.

Comment on lines +60 to +65
### Server and Resumable Stream Alignment
- `@voltagent/server-core` now accepts/documents the `options.memory` envelope in request schemas.
- Resumable stream identity resolution now reads `conversationId`/`userId` from `options.memory` first and falls back to legacy fields.
- Added tests for:
- parsing `options.memory` in server schemas
- resolving resumable stream keys from `options.memory`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Scope this release note to @voltagent/server-core only.

Lines 62-65 describe resumable-stream key resolution, which is shipped by @voltagent/resumable-streams, not this package. Keeping that here makes @voltagent/server-core@2.1.9 look like it owns behavior it does not. I’d keep the schema/docs bullet and the server-schema test here, then move the stream-specific bullets to the @voltagent/resumable-streams changelog.

✏️ Suggested edit
-  ### Server and Resumable Stream Alignment
+  ### Server Alignment
   - `@voltagent/server-core` now accepts/documents the `options.memory` envelope in request schemas.
-  - Resumable stream identity resolution now reads `conversationId`/`userId` from `options.memory` first and falls back to legacy fields.
   - Added tests for:
     - parsing `options.memory` in server schemas
-    - resolving resumable stream keys from `options.memory`

Based on learnings: Follow the monorepo structure - changes may impact multiple packages

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/server-core/CHANGELOG.md` around lines 60 - 65, The changelog entry
titled "Server and Resumable Stream Alignment" incorrectly attributes
resumable-stream behavior to `@voltagent/server-core`; edit this entry to scope it
to `@voltagent/server-core` by keeping the schema/docs bullet and the
server-schema test bullet (leave the `options.memory` acceptance and the
server-schema test), then remove the two bullets referencing "Resumable stream
identity resolution" and the resumable-stream tests and add those exact bullets
to the `@voltagent/resumable-streams` package changelog instead; ensure the
wording and test references are preserved when moving and update the
package-specific headings so each package's changelog only describes its own
changes.

Comment on lines +4 to +7
"version": "2.1.9",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.12.1",
"@voltagent/core": "^2.5.0",
"@voltagent/core": "^2.6.6",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== packages/server-core/package.json =="
sed -n '1,80p' packages/server-core/package.json

echo
echo "== packages/core/CHANGELOG.md section for 2.6.6 =="
python - <<'PY'
from pathlib import Path
text = Path("packages/core/CHANGELOG.md").read_text()
start = text.find("## 2.6.6")
end = text.find("\n## ", start + 1)
print(text[start:end if end != -1 else None])
PY

echo
echo "== server-core references to core / memory envelope =="
rg -n -C2 'options\.memory|conversationId|userId|from "@voltagent/core"' packages/server-core/src

Repository: VoltAgent/voltagent

Length of output: 50377


Align the @voltagent/core peer floor with the new runtime floor.

The runtime dependency was bumped to ^2.6.6 to support the new memory envelope feature (options.memory), but the peer dependency still allows ^2.0.0. This creates a compatibility mismatch: consumers can satisfy the peer constraint with @voltagent/core@2.0.x, leading to either an incompatible contract (if they have an older version at the top level) or duplicate installations in their dependency graph. Tighten the peer minimum to ^2.6.6 to match the runtime floor.

Suggested manifest fix
   "peerDependencies": {
-    "@voltagent/core": "^2.0.0",
+    "@voltagent/core": "^2.6.6",
     "zod": "^3.25.0 || ^4.0.0"
   },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/server-core/package.json` around lines 4 - 7, Update the package
manifest so the peer dependency floor for `@voltagent/core` matches the runtime
dependency floor: change the peerDependency entry for "@voltagent/core" from
allowing "^2.0.0" to require at least "^2.6.6" (same as the runtime dependency)
to avoid compatibility mismatches or duplicate installs; locate the
peerDependencies block in package.json and update the "@voltagent/core" version
specifier accordingly.

@voltagent-bot voltagent-bot force-pushed the changeset-release/main branch from 63f2f29 to 119a730 Compare March 6, 2026 04:51
@omeraplak omeraplak merged commit cb0803d into main Mar 6, 2026
21 of 23 checks passed
@omeraplak omeraplak deleted the changeset-release/main branch March 6, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants