Skip to content

Releases: VoltAgent/voltagent

@voltagent/[email protected]

16 Oct 16:34
c97b30b

Choose a tag to compare

Patch Changes

  • #688 5b9484f Thanks @omeraplak! - feat: add guardrails - #677

    Guardrails overview

    • streamText/generateText now run guardrails through a dedicated pipeline
      • streaming handlers can redact or drop chunks in-flight
      • final handlers see the original and sanitized text + provider metadata
    • guardrail spans inherit the guardrail name so VoltOps shows human-readable labels
    • helper factories: createSensitiveNumberGuardrail, createEmailRedactorGuardrail, createPhoneNumberGuardrail, createProfanityGuardrail, createMaxLengthGuardrail, createDefaultPIIGuardrails, createDefaultSafetyGuardrails

    Usage

    import { Agent } from "@voltagent/core";
    import { openai } from "@ai-sdk/openai";
    import { createSensitiveNumberGuardrail, createDefaultSafetyGuardrails } from "@voltagent/core";
    
    const agent = new Agent({
      name: "Guarded Assistant",
      instructions: "Answer without leaking PII.",
      model: openai("gpt-4o-mini"),
      outputGuardrails: [
        createSensitiveNumberGuardrail(),
        createDefaultSafetyGuardrails({ maxLength: { maxCharacters: 400 } }),
      ],
    });
    
    const response = await agent.streamText("Customer card 4242 4242 1234 5678");
    console.log(await response.text); // Sanitized output with digits redacted + length capped

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Patch Changes

  • #674 5aa84b5 Thanks @omeraplak! - ## 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

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

    After

    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:

    // 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

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Major Changes

Patch Changes

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Major Changes

Patch Changes

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Patch Changes

  • #674 5aa84b5 Thanks @omeraplak! - ## 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

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

    After

    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:

    // 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

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Patch Changes

  • #674 5aa84b5 Thanks @omeraplak! - ## 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

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

    After

    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:

    // 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

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Major Changes

Patch Changes

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Patch Changes

  • #674 5aa84b5 Thanks @omeraplak! - feat: add live evals

  • #674 5aa84b5 Thanks @omeraplak! - ## 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

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

    After

    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:

    // 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

@voltagent/[email protected]

14 Oct 03:14
3499d4d

Choose a tag to compare

Patch Changes

@voltagent/[email protected]

10 Oct 20:09
46ed7b0

Choose a tag to compare

Patch Changes