# ElizaOS Developer Update - October 1, 2025

## Core Framework

The ElizaOS team has made significant architectural improvements to the framework this week. A major focus has been on enhancing system stability and streamlining the agent runtime.

### Runtime Improvements
- **Runtime Initialization Refactor**: The runtime initialization process has been made idempotent, preventing potential issues with multiple initializations ([PR #6004](https://github.com/elizaOS/eliza/pull/6004))
- **Auto-Install Feature**: Implemented functionality to automatically install missing plugins during runtime, improving developer experience ([PR #6006](https://github.com/elizaOS/eliza/pull/6006))
- **Invalid Project References**: Fixed the root TypeScript configuration by removing invalid project references ([PR #6022](https://github.com/elizaOS/eliza/pull/6022))

### Plugin System
- **Plugin Loading Fix**: Addressed a critical issue with the `zod` dependency that was causing multiple plugins to fail loading. This has been resolved through a comprehensive upgrade to Zod v4 across the CLI, Core, plugins, and starter templates ([PR #5994](https://github.com/elizaOS/eliza/pull/5994))
- **Plugin Registry Clarification**: Documentation has been updated to clarify that plugins must be deployed to NPM before being added to the registry, addressing community confusion

## New Features

### Enhanced Agent UI
The Agent Runs Sidebar has received a significant upgrade with an improved timeline UI, providing developers with better visibility into agent execution flows:

```typescript
// Example of accessing the enhanced timeline data
import { useAgentRun } from '@elizaos/client';

function AgentRunTimeline({ runId }) {
  const { timeline, isLoading } = useAgentRun(runId);
  
  if (isLoading) return <p>Loading timeline...</p>;
  
  return (
    <div className="timeline-container">
      {timeline.events.map(event => (
        <TimelineEvent 
          key={event.id}
          type={event.type}
          timestamp={event.timestamp}
          details={event.details}
        />
      ))}
    </div>
  );
}
```

### Memory Management
The Beacon Protocol has been highlighted as a solution for AI agent memory storage, allowing agents to maintain persistent memories across sessions. The team is working to resubmit this to the registry for wider use.

```typescript
// Example usage of Beacon Protocol for agent memory
import { BeaconMemory } from '@elizaos/plugin-beacon';

const memory = new BeaconMemory({
  namespace: 'customer-support',
  persistenceKey: 'user-123'
});

// Store a memory
await memory.add({
  content: 'User prefers email communication over phone calls',
  metadata: { confidence: 0.95, source: 'conversation-20251001' }
});

// Retrieve relevant memories
const relevantMemories = await memory.search('communication preferences');
```

## Bug Fixes

### CLI Improvements
A critical issue that was causing infinite restart loops in the development server has been fixed ([PR #5991](https://github.com/elizaOS/eliza/pull/5991)). The fix includes:

- Added recursion prevention mechanisms
- Improved client directory detection
- Enhanced error handling to prevent cascading failures

### Environment Variable Standardization
The environment variable for PGLite data directory has been standardized across examples, CLI, and SQL plugin, improving configuration consistency ([PR #5987](https://github.com/elizaOS/eliza/pull/5987)).

### Plugin Passing in CLI
Fixed an issue where `ProjectAgent.plugins` weren't properly passed to `server.startAgents` in the CLI start command ([PR #6021](https://github.com/elizaOS/eliza/pull/6021)), ensuring plugins are correctly loaded when starting agents.

## API Changes

### Plugin Configuration via Environment Variables
The Discord plugin now supports configuration through environment variables, making it easier to deploy in different environments:

```typescript
// Previous approach required manual configuration in code
const discordPlugin = new DiscordPlugin({
  allowedChannelIds: ['1234567890', '0987654321'],
  shouldIgnoreDirectMessages: false,
  shouldRespondOnlyToMentions: true
});

// New approach allows configuration via environment variables
// .env file
DISCORD_ALLOWED_CHANNEL_IDS=1234567890,0987654321
DISCORD_IGNORE_DIRECT_MESSAGES=false
DISCORD_RESPOND_ONLY_TO_MENTIONS=true

// Code
const discordPlugin = new DiscordPlugin(); // Automatically uses env vars
```

## Social Media Integrations

### Discord Plugin Updates
The Discord plugin has received significant refactoring with improved defaults, environment variable support, and comprehensive tests. Key improvements include:

- Configuration via environment variables for `allowedChannelIds`, `shouldIgnoreDirectMessages`, and `shouldRespondOnlyToMentions`
- Fixed image generation support in Discord channels
- Enhanced error handling for failed messages

### IoTeX Integration
ElizaOS has furthered its strategic partnership with IoTeX's newly announced "Real-World AI Foundry" initiative. This collaboration integrates IoTeX's DePIN networks with ElizaOS to enable AI agents to access physical data and control devices, opening new possibilities for IoT-aware agents.

## Model Provider Updates

### New Models Available
- **GLM 4.6**: Now available on OpenRouter with improved capabilities including 200k context length and 128k max tokens
- **Claude Sonnet 4.5**: Released with performance exceeding Opus 4.1 in Anthropic's benchmarks

### Cursor AI Integration
Cursor AI has expanded its capabilities with ElizaOS integration, now offering:
- Chrome browser access and browser log visibility
- Direct chat with Eliza agents
- Message sending capabilities

### Hugging Face Provider
A Hugging Face provider is in active development, with early discussions in the community channels. This will expand the available model options for ElizaOS developers.

## Breaking Changes

### Zod v4 Migration
As part of addressing plugin loading issues, ElizaOS has migrated from Zod v3 to v4 across the framework. This may require updates to custom plugins:

```typescript
// Old Zod v3 schema
import * as z from 'zod';
const configSchema = z.object({
  apiKey: z.string(),
  temperature: z.number().optional().default(0.7)
});

// New Zod v4 schema (note import path change)
import { z } from 'zod';
// Rest of the schema remains the same
```

### AI16Z to ElizaOS Token Migration
The token migration from AI16z to ElizaOS is scheduled for October 6th. This is a critical update for all token holders. Detailed migration instructions will be provided closer to the launch date. An upcoming AMA with Shaw will address migration questions.

---

For detailed information on any of these updates, please refer to our [documentation](https://docs.elizaos.com) or join the discussion in our [Discord community](https://discord.gg/elizaos).