# ElizaOS Developer Update - Week of 10/01/2025 to 10/07/2025

## 1. Core Framework

### UUID-Based Agent Identification
A major architectural change has been implemented to use UUIDs for agent identification instead of names, allowing multiple agents to share the same name without conflicts. This is a significant step for cloud deployments and multi-tenant environments.

```typescript
// Before: Agent ID derived from name
const agentId = hashString(agent.name);

// After: Random UUID generation
import { v4 as uuidv4 } from 'uuid';
const agentId = agent.id || uuidv4();
```

PR [#6036](https://github.com/elizaOS/eliza/pull/6036) migrates the entire ElizaOS architecture to support this new identification model, updating the core runtime, server, SQL plugin, and CLI.

### Server Architecture Refactoring
PR [#6037](https://github.com/elizaOS/eliza/pull/6037) introduces a complete refactoring of the ElizaOS server configuration and plugin modules, adding robust plugin management with auto-installation, dependency resolution, and configuration utilities. This enables better interoperability between ElizaOS components.

### Core Task System Improvements
Runtime initialization has been made more robust with PR [#6039](https://github.com/elizaOS/eliza/pull/6039), ensuring the database is fully initialized before task access. This resolves a critical bug where the runtime would fail with: 
```
"undefined is not an object (evaluating 'this.adapter.getTasks')"
```

## 2. New Features

### Platform-Agnostic Mention Detection
A new `MentionContext` interface has been added to improve how agents determine when they should respond across different platforms:

```typescript
interface MentionContext {
  isMention?: boolean;  // User explicitly mentioned the agent (@Agent)
  isReply?: boolean;    // Message is a direct reply to the agent
  isThread?: boolean;   // Message is in a thread started by the agent
}

interface Content {
  // ... existing fields
  mentionContext?: MentionContext;
}
```

This enables a fast-path optimization to bypass unnecessary LLM calls when a platform-native mention is detected, saving tokens and improving response time.

### Memory Pagination for Large Datasets
To support agents with large memory stores, database-level pagination has been added to `getMemories`:

```typescript
interface MemoryOptions {
  // ... existing options
  limit?: number;    // Maximum number of memories to retrieve
  offset?: number;   // Starting position for retrieval
}

// Example usage
const memories = await runtime.getMemories({ 
  limit: 100, 
  offset: 200, 
  sortDirection: 'desc' 
});
```

This enhancement (PR [#6032](https://github.com/elizaOS/eliza/pull/6032)) is critical for scaling agents to handle large memory volumes efficiently.

## 3. Bug Fixes

### ZodError Handling
Fixed an issue in the plugins system where the incorrect API was being used for ZodError handling:

```typescript
// Before (incorrect)
zodError.errors.map(issue => issue.message)

// After (correct)
zodError.issues.map(issue => issue.message)
```

This fix ensures proper error reporting when plugin configurations don't match their schemas.

### Server Port Configuration
The SERVER_PORT environment variable was not being respected in recent versions. This has been fixed with a proper environment variable parser:

```typescript
// Before
const port = process.env.SERVER_PORT || 3010;

// After
const port = parseInt(process.env.SERVER_PORT || '3010', 10);
```

Additionally, a new CLI port option (`-p`) has been added to replace the SERVER_PORT environment variable for better user experience.

### Agent Plugins Reloading
Fixed a race condition in PR [#6040](https://github.com/elizaOS/eliza/pull/6040) where agent plugins were not properly reloading on PATCH updates and services could stop prematurely.

## 4. API Changes

### Database Interface Updates
The core database interface now supports pagination in memory retrieval:

```typescript
// packages/core/src/types/database.ts
export interface DatabaseAdapter {
  // ...
  getMemories(options?: {
    limit?: number;
    offset?: number;
    // ... other existing options
  }): Promise<MemoryDocument[]>;
}
```

All database adapters must implement this updated interface to ensure compatibility.

### ElizaOS Configuration Module
The newly refactored configuration module provides standardized ways to:
1. Parse and validate character configurations
2. Load environment variables from .env files
3. Populate secrets from local environment files

This reduces code duplication and ensures consistent configuration handling across the platform.

## 5. Social Media Integrations

### Twitter Integration Fix
Users reported that the Twitter plugin was flagging requests as automated. This issue is being tracked, with one user mentioning that Eliza version 1.9.25 allows posting on X (Twitter) without API authentication, though this appears to be a temporary workaround.

### Discord Plugin Enhancement
The Discord plugin now leverages the new MentionContext interface, allowing for more intelligent response behavior and better control over when the agent should respond. This reduces unnecessary LLM calls for messages that don't require agent attention.

## 6. Model Provider Updates

### OpenAI New Capabilities
OpenAI has released several new features that the ElizaOS team is planning to integrate:
- Sora-2 API for advanced video generation
- Agent builder for creating complex agent workflows
- Web search integration for up-to-date information access
- Codex cloud and SDK improvements

The team is evaluating these capabilities and planning integration timelines.

## 7. Breaking Changes

### Migration from V1 to V2
As part of the UUID migration, developers should be aware of these breaking changes:

1. **Agent Identification**: All systems that reference agents by name must be updated to use UUID-based identification instead.

2. **Database Schema**: The SQL plugin has dropped the unique constraint on `agents.name`, allowing duplicate names. If you have custom queries assuming uniqueness, they must be updated.

3. **Environment Variables**: The environment variable prefixing now derives from the agent ID rather than name, which may affect existing deployments.

Developers should migrate existing agents to include explicit UUIDs before upgrading:

```typescript
// Update your agent definitions to include explicit IDs
const agent = {
  id: "550e8400-e29b-41d4-a716-446655440000", // Add a UUID
  name: "MyAgent",
  // ...other properties
};
```

For cloud deployments, the ElizaCloud architecture will now use separate databases for different ElizaOS versions to accommodate varying schemas, ensuring backwards compatibility during the migration period.

---

For detailed implementation information, please refer to the linked PRs and the updated documentation. If you encounter any issues during migration, please open a GitHub issue or discuss in our Discord community.