# ElizaOS Developer Update - August 28, 2025

## Core Framework

The ElizaOS team has made significant architectural improvements this week, focusing on browser compatibility and performance optimizations:

### Browser Core Development
Work continues on the browser core functionality by @cjft and @sayonara, with a draft PR (#5828) implementing browser compatibility without polyfills. This approach uses universal libraries that work across Node.js, Deno, and browsers, with PGLite implementation via WebAssembly for in-memory database functionality.

```typescript
// Browser compatibility approach
// Using pure JS without polyfills and universal libraries
export class ElizaOS {
  // New browser-compatible implementation
}
```

### Multi-Step Processing
The much-anticipated multi-step feature has been completed and merged (#5825), enabling more sophisticated agent reasoning. This implementation introduces character-level template overrides for multi-step decision and summary templates, with environment-based strategy toggling:

```typescript
// Character can now define their own templates
const character = {
  multiStepDecisionTemplate: `{{custom template}}`,
  multiStepSummaryTemplate: `{{custom summary}}`
};
```

### Runtime Improvements
Several runtime enhancements have been merged:
- Added `initPromise` property to better manage initialization flow (#5827)
- Ensured runtime is always included in emitted events for consistent API
- Added `getServiceLoadPromise` interface to track service initialization (#5801)
- Implemented async embedding generation via queue service (#5793), reducing message processing latency from 500ms+ to near-zero

## New Features

### Sessions API
A comprehensive Sessions API has been introduced (#5799) with enhanced timeout configuration and lifecycle control:

```typescript
// Creating a new session
const session = await sessionsAPI.create({
  agentId: "agent-uuid",
  userId: "user-uuid",
  metadata: { ethAddress: "0x123..." }  // Custom metadata now propagates through message pipeline
});

// Session configuration with advanced timeout
const session = await sessionsAPI.create({
  agentId: "agent-uuid",
  timeout: {
    duration: 30 * 60 * 1000,  // 30 minutes
    autoRenew: true,           // Auto-renew on activity
    renewThreshold: 0.2        // Renew at 20% of time remaining
  }
});
```

### Cross-Environment Logger Support
The logger module has been refactored (#5797) to support both browser and Node.js environments:

```typescript
// Consistent logging API across environments
import { createLogger } from '@elizaos/core';

const logger = createLogger('my-component');
logger.info({ event: 'initialization' }, 'Component initialized');
```

### Cloud Service Implementation
@sam-developer has made progress on ElizaOS cloud with video generation capabilities. A Railways link for testing is expected soon.

## Bug Fixes

### XML Parsing Vulnerabilities
Critical fixes were applied to the XML parsing in utils.ts (#5791), replacing an unsafe regex-based fallback with a linear scan approach:

```typescript
// Before: Vulnerable to ReDoS attacks
const fallbackRegex = /<(\w+)[^>]*>([\s\S]*?)<\/\1>/g;

// After: Safe linear scan implementation
export function extractXmlContent(xml: string, tag: string): string | null {
  const startTag = `<${tag}`;
  const endTag = `</${tag}>`;
  const startIndex = xml.indexOf(startTag);
  // ... safe linear scanning logic
}
```

### Entity Creation SQL Parameter Mismatch
A critical database error in entity creation was fixed (#5791):

```typescript
// Fixed SQL parameter mismatch in plugin-sql
// Before: Only passing 2 parameters when 5 were expected
// After: Properly handling all required parameters for entity creation
```

### TypeScript Declaration Issues
Problems were identified in the core package TypeScript declarations affecting plugin-solana integration. This is being tracked for resolution.

## API Changes

### AgentLog Type Structure
The `AgentLog` type structure has been updated (#5834) to fix action viewer mapping:

```typescript
// Updated type mapping in client/src/lib/api-type-mappers.ts
export function mapAgentLog(log: AgentAPIResponse): AgentLog {
  return {
    // Fixed property mapping
    id: log.id,
    actions: log.actions.map(mapAction),
    // Other properties...
  };
}
```

### Runtime API Enhancements
New methods have been added to the runtime API:
- `getServiceLoadPromise`: Track service initialization
- `initPromise`: Promise-based initialization flow

## Social Media Integrations

### Twitter/X API Issues
Multiple users reported ElizaOS agent accounts being suspended on X. Discussions highlighted Twitter's V1 API limitations and potential alternatives:

1. Alternative solutions:
   - @Rabbidfly suggested switching to Telegram plugin
   - @DorianD recommended twitterapi.io as a third-party service alternative

```typescript
// Example of using alternative Twitter API provider
const twitterService = new ThirdPartyTwitterService({
  apiKey: 'your-key',
  provider: 'twitterapi.io'
});
```

### Discord Integration
Proposals were made to create a Discord bot for the ElizaOS ecosystem, possibly with a separate bridged server. @jin and @Odilitime discussed reviewing bot slots for potential Discord integration.

## Model Provider Updates

### OpenRouter Integration
OpenRouter announced the launch of Gemini 2.5 Image Preview, their first image generation model with 32k context length. An enhancement to the plugin-openrouter with PR #8 is awaiting review and merge.

### DeepSeek Integration
A user inquired about compatibility between ElizaOS and DeepSeek, indicating interest in expanding the supported model providers.

### SWE-agent Implementation
Discussion about converting a Python SWE-agent (Software Engineering agent) to TypeScript, potentially shipping as "eliza-codes." This implementation could replace Claude-based autocoders.

## Breaking Changes

### Build System Migration
A major migration from tsup to Bun-based builds is in progress (#5807), which will affect how plugins are built:

```bash
# Before (with tsup)
npx tsup

# After (with Bun)
bun run build
```

This change will require plugin developers to update their build scripts. The PR includes standardized build utilities and is expected to be merged in the upcoming 1.5.x release.

### V1 to V2 Migration
The team is preparing for a 1.5.x release that will include TAO changes and Bun build integration. A final 1.4.x release (1.4.5) is planned before this transition, which will include several breaking changes. Developers are advised to review their plugins for compatibility.

[PR #5825](https://github.com/elizaOS/eliza/pull/5825) - Multi-step implementation  
[PR #5828](https://github.com/elizaOS/eliza/pull/5828) - Browser compatibility core (draft)  
[ERC-8004 Panel](https://example.com/erc-8004-panel) - Upcoming panel on Trustless Agents