Skip to content

ci(changesets): version packages#1109

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

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

Conversation

@voltagent-bot

@voltagent-bot voltagent-bot commented Feb 25, 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/evals@2.0.4

Patch Changes

  • #1108 c1df46f Thanks @omeraplak! - fix: persist offline eval runs when using inline datasets (dataset.items)

    Offline experiment runs now create and sync run results even when the dataset is provided inline without a managed datasetVersionId.

    What changed

    • VoltOpsRunManager now allows run creation when dataset.versionId is missing.
    • Append payload generation now normalizes datasetItemId:
      • UUID item IDs are sent as datasetItemId.
      • Non-UUID item IDs are sent as null and still tracked via datasetItemHash.

    This avoids API failures when inline dataset items use string IDs like "item-1".

    Example

    import { createExperiment, runExperiment } from "@voltagent/evals";
    
    const experiment = createExperiment({
      dataset: {
        name: "inline-smoke",
        items: [
          {
            id: "item-1", // non-UUID is supported
            input: "What is VoltAgent?",
            expected: "An open-source TypeScript framework for AI agents.",
          },
        ],
      },
      runner: async ({ item }) => ({ output: String(item.input) }),
    });
    
    const result = await runExperiment(experiment, { voltOpsClient });
    console.log(result.runId); // now created and persisted

Summary by cubic

Release @voltagent/evals 2.0.4. It fixes offline eval runs with inline datasets so runs are created and synced even without a datasetVersionId.

  • Bug Fixes

    • Persist offline runs when using dataset.items by allowing run creation without dataset.versionId and normalizing datasetItemId (UUID kept; non-UUID sent as null and tracked via datasetItemHash).
  • Dependencies

    • Update example (with-offline-evals) to use @voltagent/evals ^2.0.4.

Written for commit b66afa0. Summary will update on new commits.

Summary by CodeRabbit

Release Notes

  • Bug Fixes
    • Resolved an issue where offline evaluation runs failed to persist correctly when using inline datasets. The fix ensures proper handling of dataset items during run creation and persistence.

@cloudflare-workers-and-pages

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

Copy link
Copy Markdown

Deploying voltagent with  Cloudflare Pages  Cloudflare Pages

Latest commit: b66afa0
Status: ✅  Deploy successful!
Preview URL: https://1b173de5.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 25, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

A patch version release for @voltagent/evals from 2.0.3 to 2.0.4 that includes version bumps, changelog documentation of offline evaluation run fixes with inline datasets, example dependency updates, and removal of the processed changeset file.

Changes

Cohort / File(s) Summary
Release Metadata & Versioning
packages/evals/package.json, .changeset/soft-dots-bow.md
Package version bumped to 2.0.4 and corresponding changeset file removed post-release.
Documentation & Examples
packages/evals/CHANGELOG.md, examples/with-offline-evals/package.json
CHANGELOG entry added documenting patch fixes for offline evaluation runs with inline datasets; example dependency updated to @voltagent/evals@^2.0.4.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • omeraplak

Poem

🐰 A version bump, so clean and neat,
From 2.0.3 to 2.0.4 complete,
Offline evals now dance with inline delight,
The changelog glows with documentation bright,
A hop, skip, and patch—all feels so right! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci(changesets): version packages' accurately describes the main change - this is an automated versioning PR from the Changesets action that bumps package versions and prepares packages for release.
Description check ✅ Passed The description is comprehensive and exceeds template requirements. It clearly explains the purpose of the Changesets release PR, documents the patch changes for @voltagent/evals@2.0.4, provides detailed technical information about the fix, and includes a usage example.
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

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 5 files

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 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/evals/CHANGELOG.md`:
- Around line 19-40: The example in the CHANGELOG references voltOpsClient in
runExperiment but never declares or imports it; update the example to import
VoltOpsClient from "@voltagent/core" and construct a voltOpsClient instance
(e.g., new VoltOpsClient({...}) using VOLTAGENT_PUBLIC_KEY and
VOLTAGENT_SECRET_KEY environment vars) before calling runExperiment so the
example is copy-paste runnable; ensure the snippet shows the import, the const
voltOpsClient = new VoltOpsClient(...) and then passes { voltOpsClient } to
runExperiment alongside the existing createExperiment/runExperiment usage.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c1df46f and b66afa0.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (4)
  • .changeset/soft-dots-bow.md
  • examples/with-offline-evals/package.json
  • packages/evals/CHANGELOG.md
  • packages/evals/package.json
💤 Files with no reviewable changes (1)
  • .changeset/soft-dots-bow.md

Comment on lines +19 to +40
### Example

```ts
import { createExperiment, runExperiment } from "@voltagent/evals";

const experiment = createExperiment({
dataset: {
name: "inline-smoke",
items: [
{
id: "item-1", // non-UUID is supported
input: "What is VoltAgent?",
expected: "An open-source TypeScript framework for AI agents.",
},
],
},
runner: async ({ item }) => ({ output: String(item.input) }),
});

const result = await runExperiment(experiment, { voltOpsClient });
console.log(result.runId); // now created and persisted
```

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.

⚠️ Potential issue | 🟡 Minor

voltOpsClient is referenced in the example but never declared or imported.

The snippet uses { voltOpsClient } on line 38 without showing how to construct it. Readers copy-pasting the example will get a ReferenceError. The 2.0.3 entry below shows the required setup — it should be included here too.

📝 Proposed fix — add the missing client setup
  ### Example
  
  ```ts
+ import { VoltOpsClient } from "@voltagent/core";
  import { createExperiment, runExperiment } from "@voltagent/evals";
  
+ const voltOpsClient = new VoltOpsClient({
+   publicKey: process.env.VOLTAGENT_PUBLIC_KEY,
+   secretKey: process.env.VOLTAGENT_SECRET_KEY,
+ });
+
  const experiment = createExperiment({
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### Example
```ts
import { createExperiment, runExperiment } from "@voltagent/evals";
const experiment = createExperiment({
dataset: {
name: "inline-smoke",
items: [
{
id: "item-1", // non-UUID is supported
input: "What is VoltAgent?",
expected: "An open-source TypeScript framework for AI agents.",
},
],
},
runner: async ({ item }) => ({ output: String(item.input) }),
});
const result = await runExperiment(experiment, { voltOpsClient });
console.log(result.runId); // now created and persisted
```
### Example
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/evals/CHANGELOG.md` around lines 19 - 40, The example in the
CHANGELOG references voltOpsClient in runExperiment but never declares or
imports it; update the example to import VoltOpsClient from "@voltagent/core"
and construct a voltOpsClient instance (e.g., new VoltOpsClient({...}) using
VOLTAGENT_PUBLIC_KEY and VOLTAGENT_SECRET_KEY environment vars) before calling
runExperiment so the example is copy-paste runnable; ensure the snippet shows
the import, the const voltOpsClient = new VoltOpsClient(...) and then passes {
voltOpsClient } to runExperiment alongside the existing
createExperiment/runExperiment usage.

@omeraplak
omeraplak merged commit d031576 into main Feb 25, 2026
23 checks passed
@omeraplak
omeraplak deleted the changeset-release/main branch February 25, 2026 02:33
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