# ElizaOS Developer Update: June 16, 2025

## Core Framework

The ElizaOS framework underwent significant architectural improvements this week with the separation of server functionality into a dedicated `@elizaos/server` package. This change enables independent usage of server components while maintaining backward compatibility with existing CLI integrations ([PR #5122](https://github.com/elizaos/eliza/pull/5122)). 

The team also added comprehensive testing to core components, server, project-starter and plugin-starter modules ([PR #5125](https://github.com/elizaos/eliza/pull/5125)), and implemented strict typing in the CLI package ([PR #5126](https://github.com/elizaos/eliza/pull/5126)).

Several critical bugs were fixed, including:

- Resolved circular dependencies and missing runtime methods causing CI/CD pipeline test failures ([PR #5135](https://github.com/elizaos/eliza/pull/5135))
- Fixed bootstrap evaluator callbacks by properly forwarding callback handlers to runtime.evaluate() ([PR #5129](https://github.com/elizaos/eliza/pull/5129))
- Improved user input handling with better server-client synchronization ([PR #5128](https://github.com/elizaos/eliza/pull/5128))

## New Features

### API Improvements

New API endpoints were added to manage channels ([PR #5113](https://github.com/elizaos/eliza/pull/5113)), providing granular control over agent participation in conversations:

```typescript
// Example: Add an agent to a channel
await fetch(`/api/channels/${channelId}/participants`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ 
    entityId: agentId,
    type: 'agent'
  })
});
```

### Enhanced Chat UI

The chat interface received significant upgrades ([PR #5111](https://github.com/elizaos/eliza/pull/5111)) with animated markdown rendering, improved styling, and better code block visualization:

```typescript
// Improved markdown component with smooth rendering
<AnimatedMarkdown 
  content={message.content} 
  codeTheme="github-dark"
  animationSpeed={30}
/>
```

### Action Prompt Logging

Added comprehensive logging for action prompts ([PR #5099](https://github.com/elizaos/eliza/pull/5099)), enabling developers to better understand and debug agent decision-making:

```typescript
// Track prompts during action generation
const prompt = await this.generatePrompt(context, actions);
logger.debug('Generated action prompt:', { prompt });
```

## Bug Fixes

### Twitter Plugin Issues

The Twitter plugin experienced multiple issues this week that required fixes:

- Resolved unwanted formatting in replies by removing problematic newlines ([Discord discussion](https://discord.gg/elizaos))
- Fixed the issue where replies were adding `\n\n` by patching the plugin's index.js file
- Updated Twitter plugin to use the PRO $200/month plan for individual users due to API policy changes

### Message Server Stability

Several bugs were fixed in the message server to improve reliability:

- Fixed agent cross-interference loop in messaging ([PR #4935](https://github.com/elizaos/eliza/pull/4935))
- Resolved issues with real-time message deletion via SocketIO ([PR #4968](https://github.com/elizaos/eliza/pull/4968))
- Fixed problems with message duplication across channels ([PR #5049](https://github.com/elizaos/eliza/pull/5049))

### Knowledge Plugin

The knowledge plugin was reported non-functional despite updates to version 1.0.5. Investigation revealed that RAG functionality is not fully implemented in the current core version, with placeholder code commented out in several locations:

```typescript
// TODO: Implement the remaining adapters: ... - knowledge / memory
// From /packages/core/src/specs/v1/index.ts (line 50)
```

## API Changes

The API routes have been reorganized into a logical domain-based structure ([PR #5010](https://github.com/elizaos/eliza/pull/5010)), making the API more intuitive and maintainable. Key changes include:

- New endpoint for agent rooms: `/api/agents/:agentId/rooms/:roomId` ([PR #4860](https://github.com/elizaos/eliza/pull/4860))
- Updated Content Security Policy and error handling in API routes ([PR #5058](https://github.com/elizaos/eliza/pull/5058))
- Fixed port handling for the server when SERVER_PORT environment variable is set ([PR #5027](https://github.com/elizaos/eliza/pull/5027))

Developers should note that a detailed Postman collection has been created for all ElizaOS APIs ([PR #5047](https://github.com/elizaos/eliza/pull/5047)) and further updates are in progress ([Issue #5124](https://github.com/elizaos/eliza/issues/5124)).

## Social Media Integrations

### Twitter Account Suspension

The ElizaOS X (Twitter) account with 149K followers has been suspended due to API policy violations. The team is treating this as urgent and has contacted X to expedite resolution while preparing Farcaster as a backup platform, not a replacement.

Developers using the Twitter plugin should be aware of these updates:

- The plugin has been updated to work with X's new API policies
- Environment variable standardization across Twitter configuration ([PR #5055](https://github.com/elizaos/eliza/pull/5055))
- Breaking change: Authentication is now API-based instead of username/password

### Telegram Plugin

The Telegram plugin PR has been merged and deployment issues have been fixed, as mentioned in the Discord discussions.

## Model Provider Updates

No significant changes to model provider integrations were made this week. However, discussions around a "Token-based Utility Protocol" suggest future work on a SaaS/AaaS protocol that would provide LLMs for token holders without requiring their own API keys.

## Breaking Changes

### V1 to V2 Migration Issues

ElizaOS V2 (currently at version 1.0.9) has been released from beta with significant architectural improvements over V1. Developers should be aware of these migration challenges:

1. **Custom Character Loading**: Users reported issues loading custom characters after upgrading to 1.0.7+ ([Issue #5039](https://github.com/elizaos/eliza/issues/5039))

2. **Database Migration Errors**: PostgreSQL schema creation issues in v1.0.8:
   ```
   [2025-06-03 16:47:43] ERROR: Failed to run database migrations (pglite):
       message: "(RuntimeError) unreachable"
   ```
   
3. **Plugin Compatibility**: For V2 compatibility, use plugins with 1.x branches from https://github.com/elizaos-plugins/

4. **Action Handling**: V2 changes how multiple actions run simultaneously, affecting data passing between actions:
   ```typescript
   // Old pattern (callback-based)
   return async (callback) => { callback(result); }
   
   // New pattern (response-based)
   return { response: result };
   ```

Developers are encouraged to use migration tools (currently in development) that leverage LLMs to help transition plugins from V1 to V2.