diff --git a/fern/changelog/2025-08-01.mdx b/fern/changelog/2025-08-01.mdx new file mode 100644 index 00000000..c4576485 --- /dev/null +++ b/fern/changelog/2025-08-01.mdx @@ -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. + + + `recordingUrl`, `videoRecordingUrl`, `stereoRecordingUrl`, and `videoRecordingStartDelaySeconds` are now deprecated in favor of the new `recording` and related properties within the `Artifact` object. + + +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). + + + The `segmentationMaxTimeMs` property in [`AzureSpeechTranscriber`](https://api.vapi.ai/api#:~:text=AzureSpeechTranscriber) has been replaced by `segmentationMaximumTimeMs` for consistency. + + +## Deprecations + + + messagePlan and backgroundDenoisingEnabled are now part of Assistant.backgroundSpeechDenoisingPlan instead of Assistant and AssistantOverrides directly. + + + stripeCustomerId is now part of Subscription instead of Org. + + + segmentationMaxTimeMs property has been renamed to segmentationMaximumTimeMs for consistency. + + + diff --git a/fern/changelog/2025-08-02.mdx b/fern/changelog/2025-08-02.mdx new file mode 100644 index 00000000..1a536ea1 --- /dev/null +++ b/fern/changelog/2025-08-02.mdx @@ -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. diff --git a/fern/changelog/2025-08-03.mdx b/fern/changelog/2025-08-03.mdx new file mode 100644 index 00000000..a22b865e --- /dev/null +++ b/fern/changelog/2025-08-03.mdx @@ -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 + + + + Role-based access control (RBAC):
+ Enable RBAC for your subscription using Subscription.rbacEnabled. +
+ + Retention settings:
+ Configure how long calls and chats are stored with Subscription.callRetentionDays and Subscription.chatRetentionDays. +
+ + Reset frequency:
+ Set how often included minutes reset using Subscription.minutesIncludedResetFrequency. +
+
diff --git a/fern/changelog/2025-08-08.mdx b/fern/changelog/2025-08-08.mdx new file mode 100644 index 00000000..1933751f --- /dev/null +++ b/fern/changelog/2025-08-08.mdx @@ -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. diff --git a/fern/changelog/2025-08-09.mdx b/fern/changelog/2025-08-09.mdx new file mode 100644 index 00000000..ef8e81bb --- /dev/null +++ b/fern/changelog/2025-08-09.mdx @@ -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. + + + + Each conversation turn's latency +
+ Call.artifact.performanceMetrics.turnLatencies +
+ + Average time for the model to generate a response +
+ Call.artifact.performanceMetrics.modelLatencyAverage +
+ + Average time to synthesize voice +
+ Call.artifact.performanceMetrics.voiceLatencyAverage +
+
+ + + + Average time to transcribe voice +
+ Call.artifact.performanceMetrics.transcriberLatencyAverage +
+ + Time to detect end of a conversation turn +
+ Call.artifact.performanceMetrics.endpointingLatencyAverage +
+ + Average latency to complete a conversation turn +
+ Call.artifact.performanceMetrics.turnLatencyAverage +
+
+ + + Track and extract structured outputs from your calls + + + + + These improvements help you monitor, debug, and analyze your calls with greater detail. +