Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/fine-lamps-camp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@voltagent/scorers": major
"@voltagent/evals": major
---

feat: initial release
5 changes: 5 additions & 0 deletions .changeset/floppy-swans-reply.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@voltagent/core": patch
---

feat: add live evals
64 changes: 64 additions & 0 deletions .changeset/lemon-falcons-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
"@voltagent/postgres": patch
"@voltagent/supabase": patch
"@voltagent/libsql": patch
"@voltagent/core": patch
---

## What Changed

Removed automatic message pruning functionality from all storage adapters (PostgreSQL, Supabase, LibSQL, and InMemory). Previously, messages were automatically deleted when the count exceeded `storageLimit` (default: 100 messages per conversation).

## Why This Change

Users reported unexpected data loss when their conversation history exceeded the storage limit. Many users expect their conversation history to be preserved indefinitely rather than automatically deleted. This change gives users full control over their data retention policies.

## Migration Guide

### Before

```ts
const memory = new Memory({
storage: new PostgreSQLMemoryAdapter({
connection: process.env.DATABASE_URL,
storageLimit: 200, // Messages auto-deleted after 200
}),
});
```

### After

```ts
const memory = new Memory({
storage: new PostgreSQLMemoryAdapter({
connection: process.env.DATABASE_URL,
// No storageLimit - all messages preserved
}),
});
```

### If You Need Message Cleanup

Implement your own cleanup logic using the `clearMessages()` method:

```ts
// Clear all messages for a conversation
await memory.clearMessages(userId, conversationId);

// Clear all messages for a user
await memory.clearMessages(userId);
```

## Affected Packages

- `@voltagent/core` - Removed `storageLimit` from types
- `@voltagent/postgres` - Removed from PostgreSQL adapter
- `@voltagent/supabase` - Removed from Supabase adapter
- `@voltagent/libsql` - Removed from LibSQL adapter

## Impact

- ✅ No more unexpected data loss
- ✅ Users have full control over message retention
- ⚠️ Databases may grow larger over time (consider implementing manual cleanup)
- ⚠️ Breaking change: `storageLimit` parameter no longer accepted
5 changes: 5 additions & 0 deletions .changeset/nine-pianos-see.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@voltagent/cli": patch
---

feat: add eval commands
5 changes: 5 additions & 0 deletions .changeset/social-teeth-burn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@voltagent/sdk": major
---

feat: add dataset/evals/experiments functions
3 changes: 0 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4893,8 +4893,6 @@
// Optional: Configure connection pool
maxConnections: 10,

// Optional: Set storage limit for messages
storageLimit: 100,

// Optional: Enable debug logging for development
debug: process.env.NODE_ENV === "development",
Expand Down Expand Up @@ -9399,7 +9397,6 @@
const memory = new SupabaseMemory({
client: supabaseClient,
tableName: "voltagent_memory", // Optional
storageLimit: 150, // Optional: Custom storage limit
debug: false, // Optional: Debug logging
});

Expand Down
4 changes: 1 addition & 3 deletions examples/base/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ const logger = createPinoLogger({

// Create Memory instance with vector support for semantic search and working memory
const memory = new Memory({
storage: new LibSQLMemoryAdapter({
storageLimit: 100, // Keep last 100 messages per conversation
}),
storage: new LibSQLMemoryAdapter(),
embedding: new AiSdkEmbeddingAdapter(openai.embedding("text-embedding-3-small")),
vector: new LibSQLVectorAdapter(),
});
Expand Down
4 changes: 1 addition & 3 deletions examples/github-repo-analyzer/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@ const logger = createPinoLogger({
});

const memory = new Memory({
storage: new LibSQLMemoryAdapter({
storageLimit: 100, // Keep last 100 messages per conversation
}),
storage: new LibSQLMemoryAdapter({}),
embedding: new AiSdkEmbeddingAdapter(openai.textEmbeddingModel("text-embedding-3-small")),
vector: new InMemoryVectorAdapter(),
});
Expand Down
3 changes: 0 additions & 3 deletions examples/sdk-trace-example/.env.example

This file was deleted.

4 changes: 0 additions & 4 deletions examples/sdk-trace-example/.gitignore

This file was deleted.

55 changes: 0 additions & 55 deletions examples/sdk-trace-example/README.md

This file was deleted.

Loading