# ElizaOS Developer Update - Week of June 1-7, 2025

## 1. Core Framework Updates

The ElizaOS framework has undergone significant architectural enhancements this week with a complete refactoring of the message server architecture:

- **Message Server Refactoring**: The message service has been completely refactored to operate as a standalone component separate from agents. This architectural change improves scalability and isolation between system components. [#4864](https://github.com/elizaos/eliza/pull/4864)

- **Plugin Specifications in Core**: The team has implemented plugin specifications directly in the core framework, enabling future plugin migration paths. This prepares the groundwork for a more modular plugin ecosystem while maintaining backward compatibility. [#4851](https://github.com/elizaos/eliza/pull/4851)

- **Agent Communication Fixes**: A critical bug causing agent self-response infinite loops in the message service has been fixed, preventing agents from getting trapped in endless conversation cycles. [#4934](https://github.com/elizaos/eliza/pull/4934)

- **Circular Dependency Resolution**: Fixed circular dependency issues during plugin testing that were causing test failures, improving overall system stability. [#4917](https://github.com/elizaos/eliza/pull/4917)

## 2. New Features

### Chat UI Improvements
```typescript
// Enhanced message persistence after page refresh
// packages/client/src/components/Chat.tsx
useEffect(() => {
  if (messages.length === 0) {
    // Fetch messages from API on component mount
    const fetchData = async () => {
      try {
        const response = await apiClient.getMessages(params.agentId, room.id);
        if (response?.data?.messages) {
          // Extract thought and action data from rawMessage
          const enhancedMessages = response.data.messages.map(message => {
            if (message.rawMessage) {
              const parsed = JSON.parse(message.rawMessage);
              return {
                ...message,
                thought: parsed.thought,
                action: parsed.action
              };
            }
            return message;
          });
          setMessages(enhancedMessages);
        }
      } catch (error) {
        console.error("Error fetching messages", error);
      }
    };
    fetchData();
  }
}, [messages.length, params.agentId, room.id]);
```

### Mobile Support
The UI has been enhanced with improved mobile support, including:

- Mobile sidebar handling for better small-screen navigation [#4866](https://github.com/elizaos/eliza/pull/4866)
- Upgraded to Tailwind v4 for improved styling capabilities
- Consistent message alignment across different chat modes (DM and GROUP)

### TEE Starter Projects
Added support for Trusted Execution Environment (TEE) starter project creation through the ElizaOS CLI, providing a secure foundation for privacy-focused agent development. [#4830](https://github.com/elizaos/eliza/pull/4830)

## 3. Bug Fixes

Several critical bugs were addressed this week:

- **Plugin Route Handler Conflicts**: Fixed an issue where the plugin route handler was incorrectly intercepting agent API routes, causing communication failures. [#4916](https://github.com/elizaos/eliza/pull/4916)

- **Agent Response Logic**: Resolved a bug where ElizaOS was inappropriately responding as other characters. [#4920](https://github.com/elizaos/eliza/pull/4920)

- **Action Callbacks**: Fixed bootstrap process to ensure action callbacks properly reach users, and improved the shouldRespond logic to prevent unnecessary responses. [#4919](https://github.com/elizaos/eliza/pull/4919)

- **Version Display Inconsistency**: Identified an issue where the web client was displaying an incorrect framework version (v1.0.3 instead of v1.0.4). This issue is still being addressed. [#4924](https://github.com/elizaos/eliza/issues/4924)

- **Knowledge Plugin Path Inconsistency**: Fixed a path inconsistency where the agent creation process was creating a `/knowledge` folder but the plugin was expecting a `/docs` folder. This will be resolved in the upcoming v1.0.5 release.

## 4. API Changes

### New API Endpoints

```typescript
// GET /agents/:agentId/rooms/:roomId API endpoint
// Returns detailed information about a specific room
app.get('/api/agents/:agentId/rooms/:roomId', async (req, res) => {
  const { agentId, roomId } = req.params;
  
  try {
    const room = await roomRepository.findOne({
      where: { 
        id: roomId,
        agentId: agentId 
      }
    });
    
    if (!room) {
      return res.status(404).json({ error: 'Room not found' });
    }
    
    return res.json({ room });
  } catch (error) {
    console.error('Error retrieving room:', error);
    return res.status(500).json({ error: 'Internal server error' });
  }
});
```

### Knowledge Management API Updates

The knowledge management API has been updated with the transition from `runtime.addKnowledge()` to the plugin-knowledge functionality. New endpoints have been added to support:

- Managing multiple knowledge pools for different agents
- More efficient document embedding
- Security improvements for knowledge addition

Documentation for these new endpoints is being updated, with better examples and interface definitions coming in v1.0.5.

## 5. Social Media Integrations

### Twitter Plugin Updates (v1.0.1 and v1.0.2)
The Twitter plugin has received several important updates:

- Fixed Cloudflare blocking issues that were preventing interaction
- Added back the `TWITTER_TARGET_USERS` environment variable that was missing
- Improved cookie handling for more reliable authentication
- Fixed issues with tweet responses and mentions detection
- Enhanced TypeScript support for better developer experience

Known issues still being addressed:
- Image upload functionality in the `sendTweet` method
- Agent responses to Twitter mentions [#4921](https://github.com/elizaos/eliza/issues/4921)

### Discord Plugin Fixes
The Discord plugin is being fixed in the upcoming v1.0.5 release to address connection issues and message handling problems reported by users.

## 6. Model Provider Updates

### AWS Bedrock Integration
Fixed configuration issues with AWS Bedrock model providers to ensure they're properly available during project creation with `elizaos create`. [#4911](https://github.com/elizaos/eliza/issues/4911)

### OpenAI Plugin Configuration
Added the ability to configure specific model variants for the OpenAI plugin, enhancing flexibility for developers who need to target specific model versions.

### Plugin Loading Optimization
Plugin loading has been optimized to reduce startup log spam:

```typescript
// Smart strategy selection checks file existence before attempting imports
const findPluginEntryPoint = async (pluginPath: string): Promise<string | null> => {
  // Check package.json first (most likely)
  const packageJsonPath = path.join(pluginPath, 'package.json');
  if (await fileExists(packageJsonPath)) {
    try {
      const pkg = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf8'));
      if (pkg.main) {
        return path.join(pluginPath, pkg.main);
      }
    } catch (e) {
      // Fallback to other strategies
    }
  }
  
  // Then try common patterns in order of likelihood
  const patterns = [
    'dist/index.js',
    'build/index.js',
    'lib/index.js',
    'index.js'
  ];
  
  for (const pattern of patterns) {
    const candidatePath = path.join(pluginPath, pattern);
    if (await fileExists(candidatePath)) {
      return candidatePath;
    }
  }
  
  return null;
};
```

## 7. Breaking Changes

As ElizaOS transitions from v0.x to v1.x, developers should be aware of several breaking changes:

- **Knowledge Management**: The `runtime.addKnowledge()` method is now deprecated. Use the plugin-knowledge module instead, with Postgres recommended over Qdrant for v1.x.

- **Plugin Compatibility**: Older v0.x plugins are not compatible with ElizaOS v1.x. Update to the latest plugin versions (v1.0.x or higher).

- **Agent State Management**: The message state management has changed significantly with the refactoring of the message server. Review the updated documentation for the new pattern.

- **Environment Variables**: Many environment variables have been renamed for consistency, particularly in Twitter and Discord plugins. Check your .env files against the latest documentation.

For smoother migration, use the command `npx elizaos update` to update runtime and packages without modifying your code.

The full v2 announcement with detailed migration guidance is expected next week.