# ElizaOS Developer Update
**Week of October 17 to October 23, 2025**

## 1. Core Framework

### Architecture Updates
- **MessageService Interface**: The framework now features a pluggable message service with a DefaultMessageService implementation, centralizing message deletion and channel clearing functionality ([PR #6048](https://github.com/elizaOS/eliza/pull/6048))
- **Runtime Enhancements**: Agent runtimes now expose the `stateCache` to facilitate multistep conversations ([PR #6045](https://github.com/elizaOS/eliza/pull/6045))
- **Evaluator Performance**: Evaluators now run asynchronously in the background with robust error handling and logging, preventing them from blocking the main message flow ([PR #6066](https://github.com/elizaOS/eliza/pull/6066))
- **Unified Server Startup**: Server initialization has been streamlined via `AgentServer.start(config)`, enabling auto-initialization, port resolution, and optional agent loading ([PR #6078](https://github.com/elizaOS/eliza/pull/6078))

### Plugin System
- **UUID-based Agent Identity**: Agents now use randomly generated UUIDs instead of name-derived IDs, allowing multiple agents to share the same name ([PR #6036](https://github.com/elizaOS/eliza/pull/6036))
- **Character Schema Validation**: Added comprehensive Zod schema definitions with detailed descriptions for character configuration ([PR #6044](https://github.com/elizaOS/eliza/pull/6044))
- **Optional Embedding Service**: When no TEXT_EMBEDDING model is registered, the embedding service now operates in a no-op mode, optimizing resource usage ([PR #6075](https://github.com/elizaOS/eliza/pull/6075))

### Agent Runtime
- **Improved Action Context**: The agent's `thought` is now consistently included in action completion events for better observability ([PR #6084](https://github.com/elizaOS/eliza/pull/6084))
- **Memory Pagination**: Added database-level pagination to the `getMemories` function with `limit` and `offset` parameters for efficient memory retrieval ([PR #6032](https://github.com/elizaOS/eliza/pull/6032))

## 2. New Features

### Direct Text Generation API
The core framework now offers a simple Promise-based text generation API:

```typescript
// Simple text generation without character personality
const text = await runtime.generateText("What is the capital of France?");

// With options for model selection and parameters
const response = await runtime.generateText({
  text: "Summarize this article:",
  content: articleText,
  options: {
    model: "claude-3.5-sonnet",
    temperature: 0.7,
    maxTokens: 500
  }
});
```

This provides a straightforward way to generate text without the full agent conversation context ([PR #6062](https://github.com/elizaOS/eliza/pull/6062)).

### Streamdown Integration
Added modern AI response rendering with streaming support:

```tsx
// New component usage
<AiResponse 
  content={message.content}
  isStreaming={message.isStreaming}
  streamingProgress={message.streamingProgress}
/>
```

This enhances the user experience with elegant, streaming Markdown rendering of AI responses ([PR #6082](https://github.com/elizaOS/eliza/pull/6082)).

### Cross-Platform Crypto
New unified cryptographic utilities that work consistently across Node.js and browser environments:

```typescript
// Hashing
const hash = await CryptoCompat.sha256("secret data");

// Encryption
const encrypted = await CryptoCompat.encrypt("sensitive data", "encryption key");
const decrypted = await CryptoCompat.decrypt(encrypted, "encryption key");
```

This enables secure operations regardless of runtime environment ([PR #6082](https://github.com/elizaOS/eliza/pull/6082)).

### Server Port Autodiscovery
The server now automatically finds an available port if the configured one is in use:

```typescript
// Will try port 3000, then fall back to next available port if needed
const server = await AgentServer.start({
  port: 3000,
  autoDetectPort: true
});

// The actual bound port is available as
console.log(`Server running on port ${server.port}`);
```

This prevents startup failures due to port conflicts ([PR #6082](https://github.com/elizaOS/eliza/pull/6082)).

## 3. Bug Fixes

### Critical CLI Issue
- **Module Import Error**: Fixed CLI installation issue where `Cannot find module '@anthropic-ai/claude-code'` was preventing users from using the CLI ([Issue #6088](https://github.com/elizaOS/eliza/issues/6088), [PR #6087](https://github.com/elizaOS/eliza/pull/6087))

### Other Fixes
- **Project Templates**: Fixed the CLI to properly include dotfiles like `.gitignore` in newly created projects ([PR #6080](https://github.com/elizaOS/eliza/pull/6080))
- **Channel ID**: Corrected missing channelId in session API responses for reliable WebSocket connections ([PR #6079](https://github.com/elizaOS/eliza/pull/6079))
- **Plugin Documentation**: Addressed issues with incorrect documentation and scaffolding errors when creating new plugins ([PR #6071](https://github.com/elizaOS/eliza/pull/6071))
- **Agent Plugin Reloading**: Fixed issues where agent plugins were not properly updated when using the PATCH endpoint ([PR #6040](https://github.com/elizaOS/eliza/pull/6040))
- **Knowledge Base**: Debug tips added for Telegram plugin knowledge base failures (reported in Discord)

## 4. API Changes

### Breaking Changes
- **Agent Type Definition**: The `Agent.description` field has been replaced with `bio` to better reflect its purpose and support string arrays ([PR #6085](https://github.com/elizaOS/eliza/pull/6085))
- **CLI Commands**: Removed AI-powered plugin generation and upgrade commands from the CLI:
  ```
  # These commands are no longer available
  elizaos plugins generate
  elizaos plugins upgrade
  ```
  This change reduces dependencies and streamlines the CLI package ([PR #6087](https://github.com/elizaOS/eliza/pull/6087))

### New API Methods
- **Action Results Retrieval**: Added `getActionResults()` to the `IAgentRuntime` interface, enabling plugins to access previous action results ([PR #6081](https://github.com/elizaOS/eliza/pull/6081))
- **PATCH Support**: Added PATCH method support to the Route type for more RESTful API operations ([PR #6076](https://github.com/elizaOS/eliza/pull/6076))
- **Message Service API**: New `IMessageService` interface with methods for sending, deleting, and clearing messages ([PR #6048](https://github.com/elizaOS/eliza/pull/6048))

## 5. Social Media Integrations

### Twitter/X Status
- Official ElizaOS X accounts remain suspended, with legal action being pursued against the platform
- Community-run accounts (elizaOSc & elizaOS_news) are currently active as unofficial alternatives
- Development of Twitter integration using legacy authorization methods has been requested ([Discord discussion](https://discord.com/channels/1253563209462448241/1300025221834739744))

## 6. Model Provider Updates

### Multi-Chain Swap Inference
- A new generic multi-chain/multiwallet swap inference feature has been completed
- Requires QA and integration with zeroex before release
- Will enable more flexible token swapping across different blockchains

### Anthropic Skills
- Discussion in Discord about Anthropic's Skills feature compared to ElizaOS sub-agents
- Key difference: Skills share context with the main agent while sub-agents don't
- Team considering evaluation of similar functionality for ElizaOS agents

## 7. Breaking Changes (V1 to V2)

### Migration Path
As we continue moving from V1.x to V2.0, developers should be aware of several architectural shifts:

- **MessageService**: V1 code directly accessing agent runtime for message handling should migrate to the new `IMessageService` interface
- **Agent Identification**: Applications relying on unique agent names must update to use UUIDs instead, as duplicate agent names are now allowed
- **Server Configuration**: V1-style server initialization should be updated to use the new unified `AgentServer.start(config)` method
- **Plugin Development**: The plugin scaffolding process has been improved but remains a pain point for some developers, with ongoing work to address documentation issues

### Deprecation Notice
The following legacy APIs will be fully removed in V2.0:

- `AgentManager` and related classes
- Custom module loading utilities in CLI
- String-based ID generation from agent names
- Docker-based deployment in favor of the new bootstrapper architecture

For assistance with migration issues, refer to the expanded documentation or join the Discord #coders channel.

---

This update includes links to relevant PRs, GitHub issues, and Discord discussions from the week of October 17-23, 2025. For detailed technical implementation, please review the linked pull requests.