Release Notes

What's new in Guava.


August 18, 2026

Guava 0.39.0 adds TTS pronunciation directions (aliasing) to the Python and TypeScript SDKs, ships updated starter project templates, and introduces preview support for agent audio testing.

New Features

  • The Python and TypeScript SDKs now support TTS pronunciation aliasing, allowing string replacements that indicate how your agent should pronounce specific words or phrases.
  • guava create now generates improved starter projects with better inbound templates for both Python and TypeScript. See the CLI Reference.
  • The Python SDK now supports agent audio testing with pre-recorded caller audio files and captured agent audio output.
  • The Guava WebRTC helper now accepts input and output WAV files, enabling scripted audio playback and capture for testing.

Improvements

  • Campaign APIs now enforce stricter request validation across the CLI, REST API, and TypeScript SDK.

Bug Fixes

  • Fixed an issue where agent-sent DTMF sequences could overlap when sent back-to-back.
  • Fixed a bug where a failed automatic login in the CLI could block the manual login flow.
  • Fixed campaign conversation date filters not being applied on the dashboard.

August 11, 2026

Guava 0.38.0 introduces immediate call transfers, brings campaign contact uploads to the dashboard, and adds functionality for testing pronunciation outside of live calls.

New Features

  • Preview how a Guava agent will sound pronouncing a certain word or phrase using the guava say CLI command.
  • call.immediate_transfer is now available in the Python and TypeScript SDKs for transferring a call without waiting for agent turn completion.
  • Contacts can now be uploaded for campaigns directly from the dashboard.

Improvements

  • guava deploy now shows clearer progress messaging during deployments.

Bug Fixes

  • Fixed a bug in the Python SDK where errors could be silently lost during call attachment.
  • Fixed an issue where conversation rows were not clickable in older versions of Safari.
  • Fixed the installation flow on the dashboard home page.

August 4, 2026

Guava 0.37.0 tightens CLI usability, adds TestSession.id to the SDK testing APIs, and improves the on_escalate handler with direct access to the triggering event.

New Features

  • The on_escalate handler in the Guava Agent API now receives the triggering escalation event, making it possible to inspect event details directly from the handler. See the Agent reference.
  • TestSession.id is now available in the Python and TypeScript SDK testing APIs.
  • openai is now an optional peer dependency in the TypeScript SDK and won't be automatically installed. If you're using the OpenAI helpers, you should add openai as a direct dependency to your project.
  • The TypeScript SDK runner now handles process signals for graceful shutdown.

Improvements

  • guava update now names the target directory in its initialization prompt.
  • CLI command instructions and install scripts have been improved across all platforms.
  • Agents now reflect the caller's request back more accurately.
  • Dialog processing latency has been reduced.
  • CLI help output has been reordered for increased clarity.

Bug Fixes

  • Fixed a crash that could occur during agent conversation processing.

July 28, 2026

Guava 0.36.0 brings TypeScript project support to the CLI and deployment pipeline, expands TypeScript SDK parity with campaign management and ported helpers, and introduces customizable WebRTC widgets with an interactive configurator.

New Features

  • guava create now scaffolds Node.js/TypeScript projects in addition to Python, and the deployment pipeline transpiles TypeScript modules automatically so Node.js projects can be deployed directly.
  • A new guava purge command removes a deployment and cleans up its associated build artifacts.
  • Campaign management is now available in the TypeScript SDK.
  • DTMF sending via call.sendDtmf is now available in the TypeScript SDK.
  • Agents can now use DTMF input to fill numeric field types.
  • The IntentRecognizer, DatetimeFilter, and DocumentQA helpers have been ported to the TypeScript SDK, along with the action item helper.
  • Customizable WebRTC widgets are now supported, with an interactive widget configurator for generating embed codes.
  • The built-in health check server now distinguishes readiness from liveness probes and adds a draining stage for graceful shutdown.
  • The Python SDK core can now be imported without optional dependencies installed, making it easier to integrate into lightweight environments.

Improvements

  • The Python SDK now uses the standard typing_extensions.deprecated annotation, surfacing deprecation warnings directly in editors and type checkers.

Bug Fixes

  • Fixed a crash in the phone numbers dashboard that occurred when no numbers for an area code were available.

July 21, 2026

Guava 0.35.0 introduces PCI-compliant field handling, expands DTMF capabilities, adds built-in SDK health checks, and advances TypeScript SDK parity.

New Features

  • guava run now supports TypeScript projects.
  • DTMF tones can now be sent mid-call from SDK code using call.send_dtmf (not to be confused with set_agent_dtmf, introduced for the Python SDK in 0.30.0 and added to the TypeScript SDK in this release — see below).
  • Both the Python and TypeScript SDKs now validate field values at configuration time, surfacing misconfigured parameters before a call starts.
  • Both the Python and TypeScript SDKs now expose a built-in health check HTTP server, simplifying readiness probes in containerized deployments.
  • A new cvv field type is available for PCI-compliant use cases. Parsed CVV values are handled in accordance with PCI DSS requirements, including redaction from audio recordings and transcripts.
    • For other fields that require audio and transcript redaction, a general purpose sensitive flag is available for all Field instances.
  • The TypeScript SDK now supports on_escalate, on_action_request with SuggestedAction, and set_agent_dtmf.
  • call.id and call.callInfo are now available in the TypeScript SDK.
  • listen_sip and voice configuration options are now available in the TypeScript SDK.
  • New organizations are now prompted to specify their compliance requirements during signup, enabling appropriate feature restrictions from the start.
  • The compliance dashboard now includes a Do Not Call list view.

Bug Fixes

  • on_escalate now handles concurrent triggers correctly, preventing duplicate escalation callbacks when multiple escalation conditions fire simultaneously.

July 14, 2026

Guava 0.34.0 brings phone number filtering and navigation enhancements to the dashboard, adds SIP header forwarding to SDK event handlers, and improves CLI authentication feedback.

New Features

  • SIP headers are now included in SDK call event payloads, making them accessible from event handlers.
  • The CLI authentication flow now shows clearer success and error feedback after the OAuth callback.

Improvements

  • The Conversations view in the dashboard can now be filtered by phone number, with the filter state preserved in the URL for shareable, bookmarkable links.
  • Navigating back from a conversation detail page now highlights and scrolls to the previously viewed entry in the list.
  • Call detail pages now display the reason a conversation ended.

Bug Fixes

  • Transcripts now correctly truncate at the point of an interruption, removing speech that was cut off before the caller finished speaking.

July 7, 2026

Guava 0.33.0 streamlines CLI workflows with direct project targeting, establishes agent.roleplay() as the canonical testing method name, and adds automated, voice-based "Do Not Call" detection and flagging for outbound campaigns.

New Features

  • guava deploy and guava update now accept a project_id argument directly. The previous task_id parameter has been removed. See the CLI Reference.
  • agent.roleplay() is now the canonical method name for running simulated test calls, replacing agent.test_roleplay(). The previous name continues to work as an alias. See Agent Testing.
  • Voice-based Do Not Call (DNC) detection is now available for outbound campaigns. Callers who verbally opt out are automatically flagged, and a corresponding SDK event is emitted.

June 30, 2026

Guava 0.32.0 adds outbound campaign support to the TypeScript SDK, refines outbound voicemail detection, and introduces filtering by status for campaign conversations.

New Features

  • The attach_campaign method is now available in the TypeScript SDK, bringing parity with the Python SDK for campaign-based agent workflows.
  • Campaign conversations can now be filtered by status in the dashboard.

Improvements

  • Voicemail detection on outbound calls has been improved, driving greater accuracy of campaign statistics.

Bug Fixes

  • Fixed attach_campaign in the Python SDK not exiting cleanly on Ctrl-C.
  • Fixed datetime fields in the CallAttempt API response not being serialized correctly.

June 24, 2026

Guava 0.31.0 adds DTMF (keypress tones) support to the TypeScript SDK, introduces datetime filtering for campaign calling attempts, and enables bundling of documentation directly into new projects.

New Features

  • on_dtmf is now supported in the TypeScript SDK, enabling agents to handle caller keypresses in TypeScript projects.
  • guava create now downloads the Guava documentation bundle into new projects, giving immediate access to SDK reference material.
  • Campaign attempts can now be filtered by a datetime range, making it easier to query attempt history for specific time windows.

Bug Fixes

  • Fixed the guava login command holding TCP ports open if the OAuth callback fails.

June 16, 2026

Guava 0.30.0 adds a new chat widget supporting audio and text, inbound SMS support, in-CLI management of outbound campaigns, Do Not Call list checks for outbound campaigns, and an updated intent recognizer.

New Features

  • A new multimodal widget (guava-widget-audio-chat) supports audio and text chat within a single session.
  • Agents can now send DTMF digits during a call using call.set_agent_dtmf(enabled=True).
  • on_session_end handlers now receive a termination_reason field describing why the session ended, available in both the Python and TypeScript SDKs.
  • GET /v1/conversations now accepts phone-number query parameters to filter results by caller or callee.
  • Reach-person detection has been updated to v2 with improved accuracy.
  • Agents can read incoming messages via a new inbox API endpoint and the next_sms (Python) / nextSms (TypeScript) SDK methods.
  • Agent.chat mode in the TypeScript SDK enables text-based (non-voice) conversation sessions.
  • MockCall and per-handler unit test support have been added to the TypeScript SDK, allowing agent handlers to be tested in isolation.
  • SDK agents now attach to an existing campaign via campaign_code. Create campaigns through the API or dashboard before starting an agent.
  • Do Not Call (DNC) list support has been added to campaigns; numbers on the list are automatically skipped when dialing.
  • Contacts API v2 adds expanded filtering and batch management capabilities.
  • A new IntentRecognizer class in guava.helpers.llm uses Guava's LLM endpoint for intent recognition.
  • OpenAI-compatible wrappers have been added for document QA and vector store workflows. VertexAI helpers have been renamed to GenAI helpers (guava.helpers.genai).
  • New CLI subcommands: guava contact upload, guava conversations, and guava campaigns.
  • guava login now accepts a --no-launch-browser flag for headless and CI environments.
  • CLI configuration is now stored as a plain TOML file, making it easy to inspect and edit by hand.
  • guava deploy now includes a dashboard view showing the status of active deployments.
  • Campaigns can now be created and edited directly from the dashboard.

Improvements

  • Updated guava create project templates. See the CLI Reference.
  • Outbound dialing and SMS compliance forms have been updated with bug fixes and improved field syncing.
  • A skipDeprecationCheck option has been added to the TypeScript SDK client constructor.

June 9, 2026

Guava 0.29.0 introduces text-based chat sessions, an agent testing framework, CLI self-upgrade, and TypeScript SDK Transport v2.

New Features

  • Agents can now conduct text-based chat sessions in addition to voice calls.
  • An initial agent testing framework has been added to the Python SDK, including guava.testing.MockCall for mocking call interactions.
  • The guava CLI now supports self-upgrade via guava self-upgrade, updating the binary in place. See the CLI Reference.
  • The TypeScript SDK has been updated to Transport v2, with a rewritten socket layer, updated event types, and improved inbound call handling.
  • The TypeScript SDK now supports CLI-based authentication, removing the need to pass API keys explicitly when the guava CLI is in use.
  • The LLM helper (guava.helpers.llm) in the Python SDK now authenticates via CLI credentials.
  • Added outbound scheduling examples to the Python SDK with --local flag support.

Improvements

  • Phone numbers are now displayed and formatted correctly during guava create flows.
  • Improved error handling when agent code throws exceptions during execution.
  • Improved call screener resilience against transient errors in both the Python and TypeScript SDKs.

Bug Fixes

  • Fixed guava deploy up incorrectly defaulting to an inbound deployment when run on an existing project without a .guava configuration file.

June 2, 2026

Guava 0.28.0 brings smarter intent handling, automated SMS follow-up for unanswered campaign calls, and CLI improvements.

New Features

  • Agents now handle ambiguous user intents more robustly. A new intent helper method returns a list of plausible matches, and the on_action_request callback accepts this list to naturally disambiguate with the caller.
  • Agentic campaigns now automatically send an SMS follow-up when a call goes unanswered, informing the recipient of the attempt to reach out.
  • guava run now accepts additional arguments to pass through to the running agent. See the CLI Reference.
  • The TypeScript SDK now supports local calling.

Improvements

  • The WebRTC Helper has been updated to v0.2.0, fixing slow bot audio and Bluetooth headset connection issues.
  • The API and Python SDK now warn when attempting to stop a campaign that has already dispatched calls.

Bug Fixes

  • Fixed a crash triggered by multiple action requests or questions said at once.
  • Fixed a bug where admin users were unable to delete deployments from the dashboard.
  • Fixed an issue where inbound calls could be routed incorrectly.

May 27, 2026

WebRTC support arrives in the TypeScript SDK, agentic tenacity comes to campaigns with SMS, and CLI messaging is refined.

New Features

  • The TypeScript SDK now includes WebRTC support, with an updated property-insurance example to get started.
  • Python SDK examples now open an interactive phone number picker when run in an interactive terminal session.
  • The guava deploy command now provides clearer, more informative output messages.
  • Agentic tenacity is now available for campaigns with SMS enabled.

Bug Fixes & Improvements

  • Updated the quickstart guide with separate install method sections and added agent test and stop steps.
  • The docs section now has its own dedicated navigation bar.
  • Various website fixes and content updates.

May 19, 2026

Guava introduces new and improved tools for measuring outbound calling campaign performance.

New Features

  • A new Campaign Stats Endpoint enables querying of call outcome statistics, with support for filtering by multiple statuses. See the Campaign reference for details.
  • A PowerShell install script has been added for Windows CLI installation.

Bug Fixes & Improvements

  • Voicemail detection accuracy is improved. "Voicemail" as a call termination reason is now reported by agents and tracked in autodialer campaigns, yielding better campaign outcomes data. See set_voicemail_action() for related configuration.
  • The process for approving outbound calling and SMS agent workflows has been streamlined. Read more about requesting outbound permissions here.
  • Various refinements to ASR (speech recognition), TTS (text-to-speech), and background noise handling.

May 12, 2026

The Guava CLI makes gains in utility and flexibility. TTS pronunciation is improved.

New Features

  • guava create and guava update now support non-interactive mode, making it easier for scripts, CI pipelines, and agents to run commands. See the CLI Reference.
  • Added guava numbers list to list phone numbers from the CLI.
  • Added guava run to run your agent project locally. See the CLI Reference.
  • The Guava CLI is now available as a Windows binary. See the CLI Reference.
  • Added get_var / set_var as shorter aliases for get_variable / set_variable in the Guava Agent API.
  • call_info is now accessible directly on the call object.
  • The Python SDK can now authenticate using CLI credentials.

Bug Fixes & Improvements

  • For spelling back words (e.g. "I have that as 'Guava, spelled G-U-A-V-A'"), TTS pronunciation and rate of speech are improved.

May 5, 2026

The Guava Agent API gains voice configuration, DTMF event support, and call ID access. Campaigns now support custom caller IDs for pre-approved accounts.

New Features

  • Added a voice parameter to the Agent class.
  • Exposed call.id for use in agent code.
  • Added support for DTMF events in the Guava Agent API.
  • Pre-approved accounts can set their own number as the caller ID for outbound calls. See the Campaign reference.
  • guava deploy can now use .env files to mount secrets. See the Deployment guide.
  • One login can now access multiple orgs.

Bug Fixes & Improvements

  • Increased robustness of ASR background noise rejection and short utterance handling.
  • Various ease-of-use updates to the Guava CLI.

April 29, 2026

The Guava SIP Trunk goes live, bringing inbound SIP calling support. Agent capabilities and campaign management see significant additions.

New Features

  • The Guava SIP Trunk is now live, enabling agents to receive inbound calls over SIP. See the SIP Integration guide.
  • Voicemail behavior is now configurable via set_voicemail_action().
  • The guava widget CLI command generates embed codes for WebRTC-based voice widget integrations.
  • agent.on_escalate enables agents to hand off calls to another destination. See transfer() for related functionality.
  • set_language_mode() has been added to allow language configuration.
  • The Campaigns API now supports streamlined outbound campaign creation and modification.

Questions? hi@goguava.ai