# ElizaOS Developer Update: Week of July 28 to August 3, 2025

## 1. Core Framework

The ElizaOS core framework received several notable optimizations this week focusing on build processes and developer experience:

### Build Optimizations
- Removed docs filter from the main build process for more efficient builds ([#5701](https://github.com/elizaos/eliza/pull/5701))
- Reduced core package bundle size by removing unnecessary dependencies
- Cleaned up repository structure by removing obsolete GitHub workflow files ([#5699](https://github.com/elizaos/eliza/pull/5699))

### Developer Experience
- Implemented automatic `@elizaos/cli` installation as a dev dependency when running `start` or `dev` commands in non-monorepo environments ([#5702](https://github.com/elizaos/eliza/pull/5702))
- Added comprehensive error handling and environment awareness to the dependency manager
- Fixed database integration test issues in plugin-sql by properly configuring embedding dimensions

### Architecture
- Proposed new `IStorageService` type in core to consolidate remote file handling ([#5698](https://github.com/elizaos/eliza/issues/5698))
- Added proposal for `unregisterAction` functionality in core package to complement existing action registration ([#5697](https://github.com/elizaos/eliza/issues/5697))

## 2. New Features

### Sessions API
A major new API for simplified agent-user communication is under development ([#5704](https://github.com/elizaos/eliza/pull/5704)):

```javascript
// Create a session
const { sessionId } = await fetch('/api/messaging/sessions', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    agentId: 'agent-uuid',
    userId: 'user-uuid',
    metadata: { platform: 'discord-activity' }
  })
}).then(r => r.json());

// Send a message
await fetch(`/api/messaging/sessions/${sessionId}/messages`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    content: 'Hello, agent!'
  })
});

// Poll for responses
const { messages } = await fetch(
  `/api/messaging/sessions/${sessionId}/messages?after=${lastTimestamp}`
).then(r => r.json());
```

Key benefits of the new Sessions API include:
- Simplified interface: abstracts away servers, channels, and participants
- Session-based: each conversation has a unique session with automatic cleanup
- Stateless clients: clients only need to track a session ID
- Unified response format: consistent messaging across endpoints

### Enhanced Markdown Rendering
- Added support for GitHub Flavored Markdown (GFM) in the client ([#5701](https://github.com/elizaos/eliza/pull/5701))
- Improved rendering capabilities for technical content, tables, and code blocks

### Swarm Orchestration
Community member RATi introduced "rati" swarm orchestration for Discord and other platforms with NFT and OpenRouter support, capable of handling thousands of agents on minimal spec systems.

## 3. Bug Fixes

A critical issue in the message bus was identified where messages were being incorrectly discarded, causing AI responses to fail. The team is working on a fix to prevent messages from being discarded when they shouldn't be.

MySQL support received important fixes:
- Resolved issues with MySQL compatibility
- Fixed a dedupe bug with identical names

The team also addressed a database integration test failure in plugin-sql:
```typescript
// Before: Test was creating embeddings with mismatched dimensions
// After: Now properly ensuring correct dimensions
await adapter.ensureEmbeddingDimension(768);
```

## 4. API Changes

### Sessions API (New)
A new set of endpoints for session-based messaging:

```
POST /api/messaging/sessions
POST /api/messaging/sessions/:sessionId/messages
GET /api/messaging/sessions/:sessionId/messages?limit=50&after=timestamp
GET /api/messaging/sessions/:sessionId
DELETE /api/messaging/sessions/:sessionId
```

This API offers a more streamlined approach compared to the previous Discord-specific simple API:

```
# Old (Discord-specific):
GET /api/messaging/simple/agents
POST /api/messaging/simple/:agentId/message
GET /api/messaging/simple/:agentId/messages?sessionId=xxx

# New (Platform-agnostic):
GET /api/agents
POST /api/messaging/sessions
POST /api/messaging/sessions/:sessionId/messages
GET /api/messaging/sessions/:sessionId/messages
```

### Core Service Interface (Proposed)
- New `IStorageService` type to be added to core for handling remote file storage
- Service type changing from `ServiceType.REMOTE_FILES` to `ServiceType.STORAGE`

## 5. Social Media Integrations

### Twitter/X
- Community members reported that official ElizaOS X/Twitter accounts have been suspended
- Team members clarified that this doesn't affect the project's operations
- Users experiencing 401 errors with Twitter API authentication are advised to check if they're subscribed to the basic plan with read/write permissions enabled
- The platform is now requiring keys instead of email addresses for Twitter authentication

### Farcaster
Work continues on the Farcaster plugin:
- Planning to implement webhooks support for plugin-farcaster
- Working to refactor the plugin to use webhooks and a more efficient posting engine
- Previously reported issues with frequent/repetitive posting have been addressed

## 6. Model Provider Updates

### OpenRouter Updates
- Released Horizon Beta, an improved version of Horizon Alpha, available for free
- Horizon Alpha will be discontinued, users advised to migrate to Beta
- Fixed fraud check issue that prevented some users with no credits from accessing Horizon
- Added default system message in the Chatroom to help with markdown formatting and model identity

### Model Performance
- Kimi and Qwen models were mentioned as performing well based on benchmark comparisons
- Horizon Beta offers 256k context length with improved response quality

## 7. Breaking Changes

As ElizaOS continues its transition from V1 to V2, developers should be aware of several key migration points:

- Automatic V1 to V2 character conversion on import was implemented in a previous update, helping to ease migration
- The CLI now expects specific formats for agent configurations and may require adjustments to existing workflows
- Plugin namespacing has moved to a structured format (`plugins/<namespace>`) rather than a flat structure
- The proposed replacement of the simple messaging API with the Sessions API will require client updates
- Twitter API authentication now uses keys instead of email addresses, requiring updates to authentication flows

Railway deployment for Eliza Cloud is being explored ([#5703](https://github.com/elizaos/eliza/issues/5703)), which may offer a streamlined deployment option for developers in the future.