> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trynavi.guide/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Track the latest updates and new features for the Navigator SDK

# Changelog

All notable changes to the Navigator SDK will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## \[1.6.0] - 2025-09-25

### Added

* **Company Tracking**: New `company` parameter for enhanced user tracking and analytics
  * Track users by company or organization name
  * Filter conversations by company in the dashboard
  * Generate company-specific reports and usage statistics
  * Supports both static and dynamic company assignment
  * Integrates with existing user tracking for comprehensive analytics

### Usage

```javascript theme={null}
// Basic company tracking
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  user_identifier: "user-123",
  company: "Acme Corporation" // Track by company
});

// Dynamic company assignment
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  user_identifier: String(currentUser.id),
  company: currentUser.organization // Use from user data
});
```

## \[1.5.0] - 2025-08-21

### Added

* **Widget Initialization Callback**: New `onInitialized` callback that provides precise control over widget initialization state
  * Called when initialization completes (success or failure)
  * Provides `success` boolean, `error` message (on failure), and `widgetReady` status
  * Enables developers to handle initialization states properly
  * Supports both authorization and configuration error scenarios

### Usage

```javascript theme={null}
// Handle widget initialization state
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  onInitialized: (result) => {
    if (result.success) {
      console.log("Widget ready!");
      // Enable UI elements, show controls, etc.
    } else {
      console.error("Widget failed:", result.error);
      // Show error state, disable features, etc.
    }
  }
});
```

## \[1.4.0] - 2025-08-20

### Added

* **Memory Context for Onboarding Agents**: New `enableMemoryContext` option that enables intelligent conversation continuity for onboarding agents
  * Automatically tracks user progress across conversations
  * Stores Q\&A responses and milestones completed
  * Personalizes agent responses based on previous interactions
  * Dynamically overrides first message for returning users
  * Only works with agents of type "onboarding"

### Usage

```javascript theme={null}
// Enable memory context for onboarding continuity
initUnifiedWidget({
  agentConfigId: "your-onboarding-agent-id",
  agentKey: "your-agent-key",
  user_identifier: "user123", // Required for memory context
  enableMemoryContext: true // Enable intelligent conversation continuity
});
```

## \[1.3.0] - 2025-08-19

### Added

* **Multilingual Voice Support**: Added support for 32 languages in voice conversations
  * Configure default language using `defaultLanguage.voice` parameter
  * Supports all major languages including Spanish, French, German, Chinese, Japanese, and more
  * Language is fixed for the duration of the conversation
  * Works with ElevenLabs provider using v2.5 Multilingual model

### Changed

* **Panel Configuration Structure**: Moved title and description into `panelConfig` object
  * Old: `title` and `description` as top-level properties
  * New: `panelConfig: { title, description, expanded }`
  * Provides better organization and adds `expanded` option

### Usage

```javascript theme={null}
// Language support
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  defaultLanguage: {
    voice: "es" // Spanish
  }
});

// Panel configuration
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  name: "Assistant",
  panelConfig: {
    title: "Welcome",
    description: "How can I help you today?",
    expanded: false
  }
});
```

## \[1.2.4] - 2025-08-18

### Changed

* **Usage Limit Checking Now Enabled by Default**: Usage checking is now automatically enabled when `user_identifier` is provided
  * Previously required explicitly setting `enableUsageChecking: true`
  * Now checks usage limits automatically to help manage costs
  * Can be disabled by setting `enableUsageChecking: false`
  * Fail-safe behavior: If usage check fails, widget still initializes

### Usage

```javascript theme={null}
// Usage checking is now automatic when user_identifier is provided
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  user_identifier: "user123", // Automatically triggers usage checking
});

// To disable usage checking (not recommended for production)
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  user_identifier: "user123",
  enableUsageChecking: false, // Explicitly disable
});
```

## \[1.2.1] - 2025-08-14

### Added

* **Widget Customization**: New properties to customize the widget's appearance and messaging
  * `name`: Custom name shown in the widget header
  * `title`: Title displayed in the expanded panel
  * `description`: Description text explaining the assistant's capabilities
  * Perfect for branding and tailoring the experience to different use cases

### Improved

* **Voice UI Enhancements**: Updated the voice interface with improved styling and user experience

### Usage

```javascript theme={null}
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  
  // Widget Customization
  name: "Shop Assistant",
  title: "Need Help Shopping?",
  description: "I'm your personal shopping assistant! I can help you find products, compare prices, and guide you through checkout.",
});
```

## \[1.1.0] - 2025-08-12

### Added

* **Conversation Persistence for Voice**: New `enableConversationRestore` option that allows voice conversations to continue seamlessly after page refreshes
  * Conversations automatically restore if refreshed within 5 minutes
  * The AI assistant remembers the context and continues naturally
  * No need to repeat information after navigating between pages
  * Enable with `enableConversationRestore: true` in your configuration

### Usage

```javascript theme={null}
initUnifiedWidget({
  agentConfigId: "your-agent-id",
  agentKey: "your-agent-key",
  enableConversationRestore: true, // Enable conversation persistence
});
```

## \[1.0.9] - Previous Release

* Base functionality for chat and voice interactions
* Multi-provider support
* Tool execution framework
