# ElizaOS Developer Update - Week of December 4-10, 2025

## 1. Core Framework

The core ElizaOS framework has undergone significant refactoring and optimization this week with PR #6213 merging a major cleanup effort focused on improving code quality. This includes:

- Removing unnecessary `try/catch` blocks that were causing excessive verbosity
- Fixing ambiguous `any` and `unknown` type declarations with proper typing
- Removing dead code and files to streamline the codebase
- Improving comments for better code documentation

A significant technical issue was identified where calling `composeState` from within an action's validator can cause infinite loops, which developers should be aware of when implementing custom validators.

The team is also working on transitioning to "jeju", which will integrate cloud services with payment infrastructure and Ethereum interoperability, though no specific release date has been announced.

## 2. New Features

### Parallel Action Execution (PR #6209)

A new draft PR has been submitted to implement parallel action execution within the `processActions()` method:

```typescript
// Before: Sequential execution
for (const action of actions) {
  const result = await executeAction(action, state);
  state = { ...state, ...result.values };
}

// After: Parallel execution with Promise.allSettled
const results = await Promise.allSettled(
  actions.map(action => executeAction(action, initialState))
);
state = results.reduce((acc, result) => {
  if (result.status === 'fulfilled') {
    return { ...acc, ...result.value.values };
  }
  return acc;
}, initialState);
```

This change improves performance for multi-action responses while maintaining a consistent state model between response batches.

### Streaming Support (PR #6212)

Enhanced streaming support for text generation has been introduced:

```typescript
// New interfaces for streaming
interface TextStreamResult {
  textStream: AsyncIterable<string>;
}

// Update to model parameters
interface GenerateTextParams {
  // ... existing parameters
  stream?: boolean;
}

// Example usage
const stream = await runtime.useModel({
  type: 'TEXT_LARGE',
  stream: true,
  // other params...
});

// Consuming the stream
for await (const chunk of stream.textStream) {
  console.log(chunk); // Process each chunk as it arrives
}
```

This allows for incremental text responses from LLMs, providing a more responsive user experience.

### ElizaOS Cloud Default AI Provider (PR #6208)

The CLI now includes ElizaOS Cloud as the default and recommended AI provider option in the `elizaos create` command, with integrated browser-based login flow for API key setup.

## 3. Bug Fixes

Several critical bugs have been addressed this week:

- Twitter posting functionality, which was described as "convoluted" by users, is being fixed by Jin (mentioned in Discord)
- Server performance issues have been resolved in PR #6199, addressing request timeouts that occurred after approximately 30 seconds with multiple user connections
- SQL plugin has been updated to automatically create the `.eliza` directory if it doesn't exist, preventing crashes (PR #6202)
- Markdown rendering in AI-generated responses has been improved to address excessive vertical spacing (PRs #6159, #6197)

## 4. API Changes

A significant change to the API pattern is underway with PR #6200, which implements JWT authentication and user management:

```typescript
// JWT Verification Flow
// 1. Request with Bearer token
// 2. JWTVerifierFactory.create()
// 3. Priority: Ed25519 > JWKS > Secret > Disabled
// 4. verifier.verify(token)
// 5. Extract payload.sub
// 6. entityId = stringToUuid(sub)  <- Derived, NOT stored in JWT
// 7. req.entityId = entityId
```

This change enables proper multi-tenancy and user isolation. New environment variables to support this feature:

| Variable | Description | Example |
|----------|-------------|---------|
| `ENABLE_DATA_ISOLATION` | Enable JWT auth mode | `true` |
| `JWT_SECRET` | HS256 symmetric secret | `your-secret-key` |
| `JWT_PUBLIC_KEY_ED25519` | Ed25519 public key (base64) | `MCowBQYDK2Vw...` |
| `JWT_JWKS_URI` | JWKS endpoint URL | `https://auth0.com/.well-known/jwks.json` |

## 5. Social Media Integrations

Twitter integration has been a pain point for users, with SecretRecipe describing it as "convoluted" in the Discord channel. Jin has promised to fix the issues with Twitter posting functionality. The current implementation faces severe API read limits, with the first 50 mentions check consuming 50% of the free tier limit immediately.

Telegram plugin is available at [github.com/elizaos-plugins/plugin-telegram](https://github.com/elizaos-plugins/plugin-telegram) as confirmed by community member 0xbbjoker.

## 6. Model Provider Updates

Claude Opus 4.5 is being used for code cleanup tasks despite higher costs. Shaw mentioned in Discord that "now that opus 4.5 costs the same as sonnet 4.5, yes [it's worth using]," indicating that the team considers the performance benefits worthwhile for complex tasks.

Discussion about alternative data formats (TOON and POML) versus traditional formats like JSON/XML concluded that traditional formats remain more practical due to better model training.

## 7. Breaking Changes

While the parallel action execution change (PR #6209) is technically backward compatible, developers should be aware that actions that previously assumed sequential execution within a batch will now run in parallel. Since all actions receive the same state snapshot, behavior should be equivalent for independent actions, but this could cause issues for actions that depended on sequential execution order.

The updated `messageHandlerTemplate` in the prompts file has been modified to reflect the parallel execution model, changing "IMPORTANT ACTION ORDERING RULES" to "IMPORTANT ACTION EXECUTION RULES" and adding guidance to use multi-step workflows for sequential dependencies.

---

**Links:**
- PR #6213: [Shaw/chore/deslop](https://github.com/elizaos/eliza/pull/6213)
- PR #6209: [feat(core): Implement parallel action execution in processActions](https://github.com/elizaos/eliza/pull/6209)
- PR #6212: [feat: enhance streaming support in text generation](https://github.com/elizaos/eliza/pull/6212)
- PR #6200: [feat(auth): implement JWT authentication and user management](https://github.com/elizaos/eliza/pull/6200)
- PR #6199: [refactor(server): optimization and reorganization](https://github.com/elizaos/eliza/pull/6199)
- Telegram Plugin: [github.com/elizaos-plugins/plugin-telegram](https://github.com/elizaos-plugins/plugin-telegram)