Skip to main content

Changelog

All notable changes to the Daita framework and CLI are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.3.4] - 2025-12-09

Fixed

  • JSON Serialization for Database Types
    • Fixed TypeError when database plugins return non-JSON-native types (datetime, Decimal, UUID, bytes)
    • Fixes errors when using Snowflake, PostgreSQL, MySQL plugins with queries returning timestamps, numeric types, or UUIDs

[0.3.3] - 2025-12-08

Improved

  • Developer Experience - Environment Variable Loading

    • Framework now automatically searches up to 10 parent directories for .env files
    • No need to manually load .env files in agent code - framework handles it automatically
  • Developer Experience - API Key Validation

    • Deferred API key validation until agent execution (run() call), not at initialization
    • Eliminates confusing "No API key found" warnings when environment variables load after imports
    • Agents can now be instantiated before .env is loaded without warnings
    • Better error messages when API key is actually missing

Changed

  • Lazy LLM Provider Creation
    • LLM providers now created on first use
    • Reduces import-time overhead and allows flexible environment configuration

[0.3.2] - 2025-12-07

Fixed

  • Plugin Tool Registration
    • Fixed bug in SubstrateAgent where tools from plugins weren't being set up before run() execution
    • Tools registered via add_plugin() are now automatically available during autonomous execution
    • Previously, tools would only be set up when calling call_tool() directly, causing LLM to not have access to plugin capabilities
    • Affects all plugins (Snowflake, PostgreSQL, MySQL, MongoDB, REST, S3, Slack, etc.)

Added

  • Snowflake Plugin - External Browser Authentication
    • Added support for externalbrowser authentication (SSO/SAML) for enterprise Snowflake accounts
    • New SNOWFLAKE_AUTHENTICATOR environment variable for authentication method configuration
    • Supports three authentication methods:
      • Password authentication (existing)
      • RSA key-pair authentication (existing)
      • External browser authentication (new) - for SSO-enabled accounts
    • Updated plugin initialization to accept authenticator parameter
    • Note: External browser auth is for local development only; use key-pair authentication for production/Lambda deployments
    • Documentation updated with authentication method comparison and best practices

[0.3.1] - 2025-12-03

Fixed

  • Tool Calling Results

    • Fixed issue with Tool results not getting passed to LLM at random times
    • Fixed Tracing metrics from tools not showing in the response
  • Focus System

    • Resolved issue with focus not being applied to tool calls

[0.3.0] - 2025-11-25

Added

  • Universal Streaming Support for All LLM Providers

    • Real-time text streaming across OpenAI, Anthropic, Grok, and Gemini providers
    • Tool call streaming with complete argument streaming
    • Unified LLMChunk format across all providers (types: "text", "tool_call_complete")
    • Automatic token usage tracking during streaming
    • Model metadata included in each chunk
    • Multi-turn conversation support with streaming for all providers
  • Agent Streaming Events (on_event callback)

    • Real-time execution monitoring via agent.run(prompt, on_event=callback)
    • Six event types for comprehensive visibility:
      • ITERATION: Track multi-step reasoning iterations
      • THINKING: Stream LLM text generation in real-time
      • TOOL_CALL: Monitor tool invocations with arguments
      • TOOL_RESULT: Receive tool execution results
      • COMPLETE: Get final answer with cost and token metadata
      • ERROR: Handle execution errors gracefully
    • Support for both sync and async event handlers
    • Works with both run() and run_detailed() methods
    • Zero-configuration - just add on_event parameter
  • Streaming Examples and Patterns

    • Progress tracking with custom UI handlers
    • Async event handling for database logging and notifications
    • Buffered text updates for optimal UI performance
    • Tool execution monitoring for debugging
    • Cost and performance tracking during execution

Fixed

  • Gemini Streaming Tool Calling
    • Fixed critical issue where Gemini's streaming API would return empty tool calls in multi-turn conversations
    • Added defensive validation to filter empty tool calls before they poison conversation history
    • Ensures reliable multi-turn tool conversations with Gemini
    • Applied validation to both async and sync streaming paths
    • Gemini now fully supports text and tool streaming with multi-turn conversations

[0.2.4] - 2025-11-17

Fixed

  • Fixed issue with daita test command using impromper run syntax
  • Cleaned up daita webhook response

[0.2.3] - 2025-11-16

Fixed

  • Fixed CLI execution bug in get_execution_logs() function
  • Fixed async database drivers in cloud requirements

Added

  • Snowflake Data Warehouse Plugin
    • Full Snowflake integration for cloud data warehouse operations
    • Multiple authentication methods:
      • Password authentication for development
      • RSA key-pair authentication (recommended for production)
      • External authentication (SSO, OAuth, browser-based)
    • Advanced warehouse management:
      • List available virtual warehouses
      • Switch between warehouses dynamically
      • Optimize compute costs by right-sizing warehouses
    • Stage operations for data loading:
      • Upload files to internal/external stages
      • Download files from stages
      • Bulk load data from stages into tables (CSV, JSON, Parquet)
      • Create and manage stages (S3, Azure, GCS)
    • Comprehensive query capabilities:
      • Execute SELECT queries with parameterized statements
      • Run INSERT/UPDATE/DELETE operations
      • Query history tracking and analysis
    • Schema introspection:
      • List tables, schemas, and databases
      • Describe table structures and column types
      • Explore data warehouse metadata
    • 12 LLM-callable tools for autonomous AI agent integration
    • Environment variable configuration support
    • Full async/await support with connection management
    • Installation: pip install daita-agents[snowflake]
    • Documentation: Snowflake Plugin Guide

Changed

  • Updated cloud executor dependencies to support all database plugins (PostgreSQL, MySQL, MongoDB, Snowflake, Elasticsearch)

[0.2.2] - 2025-11-13

Fixed

  • daita executions now works reliably and displays your execution history
  • daita deployments delete command now works properly

Changed

  • daita executions command now displays executions in a readable manner
  • daita run command now much more pleasant to the eye and gives better insight into the operation run
  • removed daita download command

[0.2.1] - 2025-11-11

Fixed

  • Fixed issue with CLI displaying incorrect daita push command after initial project creation.

[0.2.0] - 2025-11-10

Fixed

  • Bug fixes for tool calling
  • Fixed issue with LLM providers having different tool result output types

Changed

  • Removed handler system due to conflicts with tooling
  • Changed process() run method to run() across all agent functions

[0.1.2] - 2025-11-02

Fixed

  • Bug fix for substrate agent tool registration

[0.1.1] - 2025-10-31

Added

  • Fixed daita-agent package file

[0.1.0] - 2025-10-30

Added

Core Framework

  • Initial beta release of Daita AI agent framework
  • Substrate agent architecture for flexible AI workflows
  • Multi-step workflow orchestration
  • Plugin system for database, API, and messaging integrations
  • Remote execution on AWS Lambda with managed infrastructure

CLI Tools

  • daita init - Initialize new projects
  • daita create - Create agents and workflows from templates
  • daita test - Local testing and debugging
  • daita push - Deploy to Daita-managed cloud (production/staging)
  • daita status - View deployment status and health
  • daita logs - Stream execution logs with filtering
  • daita webhook - Manage webhook endpoints

Integrations & Plugins

  • Database Plugins: PostgreSQL, MySQL, MongoDB
  • API Plugins: REST API client, AWS S3, Slack
  • Search & Messaging: Elasticsearch, Redis
  • LLM Providers: OpenAI, Anthropic Claude, Google Gemini

Deployment Features

  • Webhook support for event-driven execution
  • Field mapping for webhook payload transformation
  • Environment-specific configurations (staging, production)
  • Automatic Lambda layer optimization
  • Package size reduction through framework layers
  • EventBridge scheduling for recurring tasks
  • Timezone-aware cron job execution

Configuration

  • YAML-based project configuration (daita-project.yaml)
  • Agent-level retry policies with exponential backoff
  • Environment variable management via .env
  • Authentication configuration for LLM providers

Observability

  • Execution logging and error tracking
  • Tracing for multi-step workflows
  • Deployment status monitoring
  • CloudWatch integration for logs

Version Numbering

We follow Semantic Versioning:

  • MAJOR (X.0.0) - Incompatible API changes
  • MINOR (0.X.0) - Backwards-compatible functionality additions
  • PATCH (0.0.X) - Backwards-compatible bug fixes

Change Categories

  • Added - New features
  • Changed - Changes in existing functionality
  • Deprecated - Soon-to-be removed features (will be removed in next MAJOR version)
  • Removed - Removed features
  • Fixed - Bug fixes
  • Security - Security vulnerability fixes

How to Upgrade

Check Current Version

# CLI version
daita --version

# Project framework version
cat daita-project.yaml | grep version

Upgrade CLI

# Using pip
pip install --upgrade daita

# Using pipx (recommended)
pipx upgrade daita

Upgrade Project

# Redeploy to use latest framework
daita push

# Or for specific environment
daita push --env production

Breaking Changes

When upgrading across MAJOR versions, review the migration guide below each release for breaking changes and required updates.


Release Notes & Announcements