Skip to content

ci(changesets): version packages#1036

Merged
omeraplak merged 1 commit into
mainfrom
changeset-release/main
Feb 9, 2026
Merged

ci(changesets): version packages#1036
omeraplak merged 1 commit into
mainfrom
changeset-release/main

Conversation

@voltagent-bot

@voltagent-bot voltagent-bot commented Feb 9, 2026

Copy link
Copy Markdown
Member

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.3.6

Patch Changes

  • #1034 b65b342 Thanks @klakpin! - fix(core): resolve race condition with concurrent tool spans

    Fixed a race condition where tools running in parallel would overwrite each other's
    parentToolSpan in the shared systemContext. The fix passes parentToolSpan through
    execution options instead of systemContext, ensuring each tool receives its unique
    span. Backward compatibility is maintained by checking both options and systemContext.

  • #1035 e7b301a Thanks @omeraplak! - feat: forward workspace runtime context to sandbox, search, and skills operations

    What's New

    Workspace runtime context is now consistently propagated across workspace toolkits and internals, which enables tenant-aware routing patterns.

    • WorkspaceSandboxExecuteOptions now includes operationContext.
    • execute_command now forwards operationContext to workspace.sandbox.execute(...).
    • Search operations now accept/forward filesystem call context in indexing and query flows.
    • Skills operations now accept/forward context in discovery, indexing, loading, activation, deactivation, search, and file reads.
    • Skills rootPaths resolver now receives operationContext for dynamic root resolution.

    Multi-tenant workspace example (filesystem + search + skills)

    import { Agent, NodeFilesystemBackend, Workspace } from "@voltagent/core";
    
    const workspace = new Workspace({
      filesystem: {
        backend: ({ operationContext }) => {
          const tenantId = String(operationContext?.context.get("tenantId") ?? "default");
          return new NodeFilesystemBackend({
            rootDir: `./.workspace/${tenantId}`,
          });
        },
      },
      search: {
        autoIndexPaths: [{ path: "/", glob: "**/*.md" }],
      },
      skills: {
        rootPaths: async ({ operationContext }) => {
          const tenantId = String(operationContext?.context.get("tenantId") ?? "default");
          return ["/skills/common", `/skills/tenants/${tenantId}`];
        },
      },
    });
    
    const agent = new Agent({
      name: "tenant-aware-agent",
      model,
      workspace,
    });
    
    await agent.generateText("Search tenant docs and use relevant skills", {
      context: new Map([["tenantId", "acme"]]),
    });

    Tenant-aware remote sandbox routing example (E2B/Daytona)

    import type {
      WorkspaceSandbox,
      WorkspaceSandboxExecuteOptions,
      WorkspaceSandboxResult,
    } from "@voltagent/core";
    
    class TenantSandboxRouter implements WorkspaceSandbox {
      name = "tenant-router";
      private readonly sandboxes = new Map<string, WorkspaceSandbox>();
    
      constructor(private readonly factory: (tenantId: string) => WorkspaceSandbox) {}
    
      async execute(options: WorkspaceSandboxExecuteOptions): Promise<WorkspaceSandboxResult> {
        const tenantId = String(options.operationContext?.context.get("tenantId") ?? "default");
    
        let sandbox = this.sandboxes.get(tenantId);
        if (!sandbox) {
          sandbox = this.factory(tenantId);
          this.sandboxes.set(tenantId, sandbox);
        }
    
        return sandbox.execute(options);
      }
    }

    If you call workspace.sandbox.execute(...) directly (outside toolkit execution), pass operationContext explicitly when you need tenant/account routing.


Summary by cubic

Release @voltagent/core v2.3.6 and bump all example apps to this version. This includes a fix for concurrent tool spans and consistent runtime context propagation for tenant-aware workspaces.

  • New Features

    • Propagate operationContext across workspace sandbox, search, and skills to enable tenant-aware routing.
    • If calling workspace.sandbox.execute directly, pass operationContext when you need tenant/account routing.
  • Bug Fixes

    • Resolve race condition where parallel tools could overwrite parentToolSpan by passing it via execution options (backward compatible).

Written for commit 3d5f248. Summary will update on new commits.

Summary by CodeRabbit

Release Notes v2.3.6

  • Bug Fixes

    • Fixed race condition preventing tools from running concurrently without span data conflicts.
  • New Features

    • Added workspace runtime context propagation for multi-tenant operations.
    • Enhanced sandbox execution, search, and skills operations with tenant-aware context support.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Feb 9, 2026

Copy link
Copy Markdown

Deploying voltagent with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3d5f248
Status: ✅  Deploy successful!
Preview URL: https://7edbad74.voltagent.pages.dev
Branch Preview URL: https://changeset-release-main.voltagent.pages.dev

View logs

@ghost

This comment has been minimized.

@coderabbitai

coderabbitai Bot commented Feb 9, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Release version 2.3.6 of @voltagent/core across the package ecosystem. Removes changesets documenting concurrent tool spans and workspace runtime context propagation fixes, updates the changelog with release notes, and bumps the dependency version in all example packages.

Changes

Cohort / File(s) Summary
Changeset Cleanup
.changeset/fix-concurrent-tool-spans.md, .changeset/small-rooms-eat.md
Removed changeset documentation for concurrent tool spans race condition fix and workspace runtime context propagation feature.
Release Documentation
packages/core/CHANGELOG.md
Added version 2.3.6 release section documenting two PRs: race condition fix for concurrent tool spans and workspace context propagation; includes code examples for tenant-aware routing and context propagation patterns.
Core Package Version
packages/core/package.json
Bumped version from 2.3.5 to 2.3.6.
Example Dependencies
examples/*/package.json (67 files)
Updated @voltagent/core dependency from ^2.3.5 to ^2.3.6 across all example projects including base, github-repo-analyzer, nextjs, mcp variants, and specialized examples (voice, search, streaming, etc.).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • omeraplak

Poem

🐰 A bump from five to six so fine,
Two fixes now in changelog's line,
Across all examples, far and wide,
Dependencies hop with joyful stride!
Changesets rest, their work now done,
Release 2.3.6 hops into the sun! 🌞

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description does not follow the repository's template structure. Required sections like 'PR Checklist', 'Bugs / Features', 'What is the current behavior?', and 'What is the new behavior?' are missing entirely. Restructure the description to match the template: add PR checklist, link related issues, include test/docs/changeset notes, and populate current/new behavior sections. The auto-generated content can be moved to 'Notes for reviewers'.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci(changesets): version packages' accurately describes the primary change—an automated version bump release via changesets—and follows conventional commit format.
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

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
examples/with-zapier-mcp/package.json (1)

7-7: Inconsistent version range prefix: ~ here vs ^ in all other examples.

This example uses ~2.3.6 (tilde — patch-only updates) while every other example in this PR uses ^2.3.6 (caret — minor+patch updates). This was likely pre-existing, but worth aligning for consistency across examples.

Proposed fix
-    "@voltagent/core": "~2.3.6",
+    "@voltagent/core": "^2.3.6",

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.

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 83 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.

@omeraplak
omeraplak merged commit 39c87ce into main Feb 9, 2026
23 checks passed
@omeraplak
omeraplak deleted the changeset-release/main branch February 9, 2026 20:38
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