Skip to content

Add changelog for 2025-08-11 #609

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 11, 2025
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
35 changes: 35 additions & 0 deletions fern/changelog/2025-08-01.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# New Features & Enhancements

1. **Enhanced Call [`Artifacts`](https://api.vapi.ai/api#:~:text=Artifact)**: You can now store detailed information about call workflows and outcomes using [`Artifact`](https://api.vapi.ai/api#:~:text=Artifact) objects. Key properties include:
- `nodes`: History of workflow nodes executed during the call.
- `messages`: All messages spoken during the call.
- `logUrl`: **New!** Direct URL to detailed call logs for debugging.
- `pcapUrl`: Packet capture URL for phone calls (provider: `vapi` or `byo-phone-number`).
- `recording`: Recording URL (requires `assistant.artifactPlan.recordingEnabled`).
- `transcript`: Convenient full call transcript.
- `variableValues`: Final workflow variable states.
- `messagesOpenAIFormatted`: Spoken messages, formatted for OpenAI.

<Warning>
`recordingUrl`, `videoRecordingUrl`, `stereoRecordingUrl`, and `videoRecordingStartDelaySeconds` are now deprecated in favor of the new `recording` and related properties within the `Artifact` object.
</Warning>

2. **Improved Azure Speech Segmentation Tuning**: You can now fine-tune speech segmentation in your [`Azure Speech Transcriber`](https://api.vapi.ai/api#:~:text=AzureSpeechTranscriber) using `segmentationStrategy`, `segmentationMaximumTimeMs`, and `segmentationSilenceTimeoutMs` properties for better transcription control. This applies to both [`Azure Speech Transcriber`](https://api.vapi.ai/api#:~:text=AzureSpeechTranscriber) and [`Fallback Azure Speech Transcriber`](https://api.vapi.ai/api#:~:text=FallbackAzureSpeechTranscriber).

<Warning>
The `segmentationMaxTimeMs` property in [`AzureSpeechTranscriber`](https://api.vapi.ai/api#:~:text=AzureSpeechTranscriber) has been replaced by `segmentationMaximumTimeMs` for consistency.
</Warning>

## Deprecations
<CardGroup cols={3}>
<Card title="Assistant & Related Objects" icon="cog">
<code>messagePlan</code> and <code>backgroundDenoisingEnabled</code> are now part of <code>Assistant.backgroundSpeechDenoisingPlan</code> instead of <code>Assistant</code> and <code>AssistantOverrides</code> directly.
</Card>
<Card title="Org" icon="building">
<code>stripeCustomerId</code> is now part of <code>Subscription</code> instead of <code>Org</code>.
</Card>
<Card title="AzureSpeechTranscriber" icon="brands microsoft">
<code>segmentationMaxTimeMs</code> property has been renamed to <code>segmentationMaximumTimeMs</code> for consistency.
</Card>
</CardGroup>

3 changes: 3 additions & 0 deletions fern/changelog/2025-08-02.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Azure Speech Segmentation Strategy Tuning

1. You can now tune `Assistant.transcriber[provider="AzureSpeechTranscriber"].segmentationStrategy` using `"Default"`, `"Time"`, and `"Semantic"` strategies, offering more control over phrase boundary detection.
28 changes: 28 additions & 0 deletions fern/changelog/2025-08-03.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

#### 🎤 New Gladia Transcription Provider Support
1. **Custom vocabulary support**: Enable a custom vocabulary with [`Gladia`](https://api.vapi.ai/api#:~:text=GladiaTranscriber) using `Assistant.transcriber[provider="GladiaTranscriber"].customVocabularyEnabled`. You can also specify simple strings or detailed objects with fields for value, language, intensity, and alternative pronunciations using `Assistant.transcriber[provider="GladiaTranscriber"].customVocabularyConfig` - letting you fine-tune recognition of domain-specific terms.

2. **Endpointing & Speech Threshold**: Configure endpointing time (wait time before considering speech ended) and speech sensitivity, enabling more accurate and responsive transcription with `Assistant.transcriber[provider="GladiaTranscriber"].endpointing` and `Assistant.transcriber[provider="GladiaTranscriber"].speechThreshold`.

3. **Prosody & Audio Enhancer**: Optionally enable prosody (for transcribing non-verbal cues like laughter) and audio enhancement for improved accuracy with `Assistant.transcriber[provider="GladiaTranscriber"].prosodyEnabled` and `Assistant.transcriber[provider="GladiaTranscriber"].audioEnhancerEnabled`.

4. **Flexible Language Detection**: Choose between manual and automatic language detection modes with `Assistant.transcriber[provider="GladiaTranscriber"].languageDetectionMode`.

5. **Confidence Thresholds & Hints**: Discard low-confidence transcripts and provide context hints for improved accuracy with `Assistant.transcriber[provider="GladiaTranscriber"].confidenceThreshold` and `Assistant.transcriber[provider="GladiaTranscriber"].hints`.

## 💳 Subscription Updates

<CardGroup cols={3}>
<Card title="RBAC" icon="user-shield">
<b>Role-based access control (RBAC):</b><br />
Enable RBAC for your subscription using <code>Subscription.rbacEnabled</code>.
</Card>
<Card title="Call & Chat Retention" icon="clock-rotate-left">
<b>Retention settings:</b><br />
Configure how long calls and chats are stored with <code>Subscription.callRetentionDays</code> and <code>Subscription.chatRetentionDays</code>.
</Card>
<Card title="Minutes Included Reset Frequency" icon="rotate">
<b>Reset frequency:</b><br />
Set how often included minutes reset using <code>Subscription.minutesIncludedResetFrequency</code>.
</Card>
</CardGroup>
29 changes: 29 additions & 0 deletions fern/changelog/2025-08-08.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# New: Smarter Conditions & Security Filters

1. **New Condition & Filter Types**: You can now use the following new condition and filter types to build more robust rejection plans and security filter plans:
- **MessageTarget**: Target specific messages by role and position for conditions using `Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=regex].target`.
- **GroupCondition**: Combine multiple conditions using AND/OR logic, with support for recursive nesting using `Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=group]`.
- **RegexCondition**: Flexible pattern matching, with full support for JavaScript regex and negation using `Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=regex]`.
- **LiquidCondition**: Use Liquid templates for complex, context-aware logic using `Assistant.hooks.do[type=tool].tool.rejectionPlan.conditions[type=liquid]`.
- **Security Filters**: New filter types for RCE, XSS, SSRF, SQL injection, prompt injection, and regex-based filtering using `Assistant.compliancePlan.securityFilterPlan.filters`.

2. **Tool Rejection Plans**: You can now use [`Assistant.hooks.do[type=tool].tool.rejectionPlan`](https://api.vapi.ai/api#:~:text=ToolRejectionPlan) in all tool calls to prevent accidental tool execution, enforce confirmation steps, and build more robust conversation flows. This helps you to define complex logic for when a tool call should be rejected, enhancing both safety and call experience. Rejection plans can be built using regex conditions, [Liquid templates](https://liquidjs.com/), or logical groups (AND/OR). For example, you can prevent an `endCall` tool from executing unless the user says goodbye, or block a transfer if the user is actually asking a question.

**Example:**
```json
{
"conditions": [
{
"type": "regex",
"regex": "(?i)\\b(bye|goodbye|farewell|see you later|take care)\\b",
"target": { "position": -1, "role": "user" },
"negate": true
}
]
}
```

3. **Security Filter Plans for Transcripts and Messages**: You can now use [`Assistant.compliancePlan.securityFilterPlan`](https://api.vapi.ai/api#:~:text=SecurityFilterPlan) to define how transcripts and messages are filtered against threats like SQL injection, XSS, prompt injection, and more. Choose between `sanitize`, `reject`, or `replace` when threats are detected, and specify custom replacement text. User messages and transcript objects now include:
- `isFiltered`: Indicates if content was filtered for security.
- `detectedThreats`: Lists detected threats.
- `originalMessage` / `originalTranscript`: Preserves original content if filtering occurred.
57 changes: 57 additions & 0 deletions fern/changelog/2025-08-09.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
## New: Call Metrics & Artifact Improvements

You can now access detailed call performance metrics and structured output IDs directly from your call artifacts.

<CardGroup cols={3}>
<Card title="Turn Latencies" icon="stopwatch">
<b>Each conversation turn's latency</b>
<br/>
<code>Call.artifact.performanceMetrics.turnLatencies</code>
</Card>
<Card title="Model Latency (avg)" icon="robot">
<b>Average time for the model to generate a response</b>
<br/>
<code>Call.artifact.performanceMetrics.modelLatencyAverage</code>
</Card>
<Card title="Voice Latency (avg)" icon="volume-up">
<b>Average time to synthesize voice</b>
<br/>
<code>Call.artifact.performanceMetrics.voiceLatencyAverage</code>
</Card>
</CardGroup>

<CardGroup cols={3}>
<Card title="Transcriber Latency (avg)" icon="wave-square">
<b>Average time to transcribe voice</b>
<br/>
<code>Call.artifact.performanceMetrics.transcriberLatencyAverage</code>
</Card>
<Card title="Endpointing Latency (avg)" icon="flag-checkered">
<b>Time to detect end of a conversation turn</b>
<br/>
<code>Call.artifact.performanceMetrics.endpointingLatencyAverage</code>
</Card>
<Card title="Turn Latency (avg)" icon="clock">
<b>Average latency to complete a conversation turn</b>
<br/>
<code>Call.artifact.performanceMetrics.turnLatencyAverage</code>
</Card>
</CardGroup>

<Card title="Structured Output IDs & Results" icon="list-ol" size="large">
<b>Track and extract structured outputs from your calls</b>
<ul>
<li>
<b>During call:</b> Access array of output IDs<br/>
<code>Call.artifactPlan.structuredOutputIds</code>
</li>
<li>
<b>After call:</b> Extracted outputs are stored here<br/>
<code>Call.artifact.structuredOutputs</code>
</li>
</ul>
</Card>

<Info>
These improvements help you monitor, debug, and analyze your calls with greater detail.
</Info>
Loading