# ElizaOS Developer Update - Week of August 25-27, 2025

## 1. Core Framework

### Browser Compatibility Initiative
We're making significant progress on making ElizaOS fully browser-compatible without polyfills:
- Using universal libraries that work across Node.js, Deno, and browsers
- Implementing PGLite via WebAssembly for in-memory database functionality in browsers
- Developing a new `ElizaOS` class that removes client polyfills
- This will enable enterprise developers to integrate agent functionality directly in web apps, with 300% better performance and cost efficiency

### Build Performance Improvements
- Merged bun build integration (PR #5807), removing tsup dependency
- Reduced build time from 36s to 28s
- Added `@elizaos/utils` package for shared build utilities (PR #5821)

### Runtime Enhancements
- Added `getServiceLoadPromise` interface to runtime (PR #5801)
- Implemented asynchronous embedding generation via queue service (PR #5793)
- Fixed critical database error during entity creation (PR #5791)
- Fixed typo in runtime.ts comment: "initalized" → "initialized" (PR #5812)

## 2. New Features

### Multi-Step Processing
The highly anticipated multi-step functionality is now ready for release:
- Exposes multi-step templates via character config (PR #5822)
- Enables environment-based strategy toggle
- Allows characters to define their own multi-step decision and summary templates

```typescript
// Example of configuring multi-step templates in a character
const character = {
  name: "CustomAgent",
  multiStepDecisionTemplate: `Custom decision template with specialized reasoning...`,
  multiStepSummaryTemplate: `Custom summary template for domain-specific synthesis...`
};
```

### Sessions API
A comprehensive new Sessions API has been implemented (PR #5799):
- Timeout management with auto-renewal capabilities
- Enhanced error handling for session lifecycle events
- Proper metadata propagation for plugin actions (PR #5805)

```typescript
// Creating a new session with custom timeout configuration
const session = await sessionsApi.createSession({
  agentId: "agent-uuid",
  userId: "user-uuid",
  timeoutMs: 3600000, // 1 hour
  metadata: {
    ethAddress: "0x123...",
    customData: { key: "value" }
  }
});

// Session metadata is available to plugins
action.handler = async (params, context) => {
  const { ethAddress } = context.message.metadata;
  // Use ethAddress in plugin logic
};
```

### MCP (Message Communication Protocol) Support
We're planning to support MCP as a standard for remote plugins:
- Adding MCP as a core plugin type alongside vanilla plugins and tools
- This will standardize communication between different agent components

## 3. Bug Fixes

### Critical Bootstrap Plugin Issues
- Fixed `GENERATE_IMAGE` in bootstrap plugin to properly return ActionResult (PR #5823)
- Corrected metadata handling in sessions (PR #5805)
- Fixed plugin-sql test issues (PR #5802)

### XML Parsing and Error Handling
Improved XML parsing reliability (PR #5792):
- Replaced unsafe XML fallback regex with linear scan to avoid potential security issues
- Enhanced error logging to help diagnose parsing failures

### Plugin and Build Fixes
- Fixed comma placement when adding entries to registry index.json (PR #5774)
- Resolved Phala CLI argument handling and TEE starter Docker build issues (PR #5773)
- Fixed CLI test failures in CI environment

## 4. API Changes

### Runtime API Updates
- Added `getServiceLoadPromise` interface to runtime for better service initialization handling
- Made component queries in `plugin-sql` more flexible
- Improved error handling in service implementations

### Sessions API Changes
The new Sessions API introduces several new endpoints:
- `POST /api/v1/sessions` - Create a new session
- `GET /api/v1/sessions/:id` - Get session details
- `DELETE /api/v1/sessions/:id` - End a session
- `PUT /api/v1/sessions/:id/renew` - Renew a session before timeout
- `POST /api/v1/sessions/:id/messages` - Send a message in a session context

## 5. Social Media Integrations

### Platform Status
- Users reported that the ElizaOS X account is suspended
- Investigation is underway to resolve this issue and restore our presence
- The elizawakesup.ai website is now requiring a password to access

### Discord Plugin
- Users reported issues with image generation in Discord
- Direct messaging functionality may also be affected
- The team is actively working on these issues

## 6. Model Provider Updates

### OpenRouter
- Announced the launch of Gemini 2.5 Image Preview, their first image generation model
- Features 32k context length and costs $0.3/m input tokens
- Released a free variant for users to try

### DeepSeek Integration
- A user asked about compatibility between ElizaOS and DeepSeek
- Investigation is underway to fully support this model provider

### SWE-agent
- A new "SWE-agent" (Software Engineering agent) implementation could replace Claude-based autocoders
- This would enhance code generation capabilities with more domain-specific knowledge

## 7. Breaking Changes

### V1 to V2 Migration
When transitioning from V1 to V2, be aware of these changes:
- Browser compatibility requires updating any Node.js-specific code
- The new asynchronous embedding generation means you need to handle embeddings differently in your plugins
- Session API usage requires updating your client code to support metadata propagation

The team recommends testing your plugins thoroughly with the new version before deploying to production.

For more details on these changes, check out the related PRs on GitHub and join our upcoming "getting started" session focused on creating and publishing plugins.