# ElizaOS Developer Update (2025-12-21 → 2025-12-27)

This week centered on hardening the V2-era runtime/messaging stack, unblocking real-time streaming, and stabilizing early ElizaOS Cloud usage after launch. GitHub activity in `elizaOS/eliza` was light at the end of the week (2 PRs opened, 0 merged), but it builds on substantial mid-week core and plugin work captured in the weekly summary.

---

## 1) Core Framework

### Runtime & messaging stack maturation (V2 direction)
Several changes from earlier this week continue to shape how agents should be built and integrated:

- **True Server-Sent Events (SSE) support** landed this week (referenced in the weekly summary) to replace less efficient real-time approaches and provide a consistent streaming surface across client/server.
  - Tracking issue: https://github.com/elizaos/eliza/issues/5930

- **Typed custom event payloads** were added so plugin authors can register strongly-typed events (reduces “any”-heavy integrations and makes cross-plugin event contracts safer).
  - PR: https://github.com/elizaos/eliza/pull/6277

- **Unified messaging direction** continues: the ecosystem is moving away from older event-style hooks toward `messageService`-centric flows (see Breaking Changes for migration guidance).

### Server routing consistency
A server-side cleanup is in progress to standardize message server route naming:
- PR (open): https://github.com/elizaOS/eliza/pull/6285  
  This is a correctness + maintainability change that reduces route alias drift between server, api-client, and plugin integrations.

---

## 2) New Features

### ElizaOS Cloud launch (platform capability)
ElizaOS Cloud launched publicly this week (Discord + daily summary), enabling developers to **build and deploy agents** without self-hosting the full stack.

Key operational constraints and roadmap notes surfaced in Discord:
- **File uploads:** 50MB limit today; **file upload optimization is in progress**.
- **Multiple Markdown files** per agent knowledge upload should work (optimization ongoing).
- **Custom model hosting** (bring-your-own GPU / OSS models) is *not available yet* but is on the near-term roadmap.

Developer note: if your agent depends on large corpora, prefer splitting knowledge into multiple `.md` files (topic-sharded) and upload as multiple documents rather than one monolith to reduce re-upload costs during iteration.

### Multi-step workflow retry + parameter extraction (core)
A new core enhancement is proposed (not merged yet) to improve reliability of multi-step workflows:
- PR (open): https://github.com/elizaOS/eliza/pull/6286

Based on the PR description in Discord summaries, expect:
- **Retry logic** for multi-step workflows (useful for flaky tool calls, intermittent provider failures, or eventual-consistency resources).
- **Parameter extraction** improvements (reduces boilerplate parsing between steps).

Until this merges, developers implementing retries should keep them *idempotent* and store step outputs in memory/DB to prevent duplicated side effects.

---

## 3) Bug Fixes

### OpenAI streaming breakage traced to dependency mismatch
A critical issue discussed in `#core-devs`: **streaming was broken due to wrong core dependencies**, affecting real-time responses.

- Fix in progress: OpenAI plugin PR #22 (referenced in Discord; repository PR number as discussed)  
  Context: the streaming implementation depends on compatible core streaming/types. A dependency mismatch can silently degrade streaming into buffered completion behavior or fail mid-stream.

Mitigation for developers until the fix is merged:
- Pin compatible versions of `@elizaos/core` and `@elizaos/plugin-openai` (avoid mixing pre-streaming core with streaming-enabled plugin).
- Add a fallback path: if `stream` negotiation fails, re-issue as non-stream completion.

### ElizaOS Cloud early user issues (triage items)
Post-launch reports from Discord:
- **Agent deployment error:** `username null` during deploy/chat (cloud-side validation/identity propagation issue).
- **Login/application errors** for some users attempting to access ElizaCloud.
- **GitHub Actions failure** observed due to Claude billing needing a top-up (CI stability item; impacts automation reliability, not runtime).

These are not yet linked to public issues/PRs in the provided data, but they are active investigation items in Discord.

---

## 4) API Changes (Developer-impacting)

### Message server route naming standardization (server)
- PR (open): https://github.com/elizaOS/eliza/pull/6285

If you maintain custom clients or reverse proxies, watch for:
- Route/path normalization (e.g., pluralization or segment renames)
- Potential deprecation of older aliases

Recommendation:
- Avoid hardcoding routes; prefer the official `api-client` package wherever possible.
- If you must hardcode, add a compatibility mapping layer (old → new) during upgrade windows.

### Ongoing migration to `messageService` API (ecosystem)
The project continues migrating away from deprecated message event systems toward `messageService.handleMessage()` patterns (seen in prior work referenced by the monthly/weekly summaries).

---

## 5) Social Media Integrations

### Twitter (X) plugin
- A reliability fix for applying posting enablement settings was merged earlier this week:
  - PR: https://github.com/elizaos-plugins/plugin-twitter/pull/42

New issues were opened to correct chat UX behavior in the Twitter plugin (defaults/duplication):
- “Open most recent conversation by default”: https://github.com/elizaos-plugins/plugin-twitter/issues/6281  
- “Conversation duplication bug”: https://github.com/elizaos-plugins/plugin-twitter/issues/6282

Operational note from Discord (non-code but impacts integrations): the team is working to regain the official X account, which affects distribution/verification workflows around Twitter-based agents.

### Discord plugin
Refactoring/type-safety improvements and message handling overhaul landed earlier this week (per weekly summary):
- PRs: https://github.com/elizaos-plugins/plugin-discord/pull/38, https://github.com/elizaos-plugins/plugin-discord/pull/32  
Also under discussion: multi-bot voice architecture proposal:
- PR: https://github.com/elizaos-plugins/plugin-discord/pull/36

### Telegram plugin
Unified messaging API refactor work has been active (per monthly summary context):
- PR: https://github.com/elizaos-plugins/plugin-telegram/pull/22

### Farcaster
A self-hosted Farcaster integration was added to the plugin registry (removes dependence on third-party APIs):
- PR: https://github.com/elizaos-plugins/registry/pull/243

---

## 6) Model Provider Updates

### Streaming support rollout (cross-provider)
Streaming support has been a coordinated theme across providers (per weekly/monthly summaries), with OpenAI streaming currently getting a dependency-level fix (see Bug Fixes).

Related provider streaming work referenced this month/week:
- OpenAI streaming feature PR (plugin): https://github.com/elizaos-plugins/plugin-openai/pull/21  
- Anthropic streaming PR (plugin): https://github.com/elizaos-plugins/plugin-anthropic/pull/12  
- OpenRouter streaming PR (plugin): https://github.com/elizaos-plugins/plugin-openrouter/pull/21  

### Ollama configuration clarification (self-host inference)
Discord support confirmed the configuration variable usage for smaller Ollama models:
```bash
OLLAMA_SMALL_MODEL=llama3.2:latest
```

If you ship agents with Ollama fallbacks, ensure you validate model availability at startup and fail fast with a helpful diagnostic (model list / pull instructions), rather than failing at first inference.

---

## 7) Breaking Changes (V1 → V2 Migration Warnings)

### Messaging API migration: event hooks → messageService
V2 continues consolidating around the `messageService` API. If your plugin/project still relies on older event-style hooks (e.g., legacy `MESSAGE_RECEIVED`-style patterns referenced in prior work), expect increasing incompatibility.

**Migration guidance (conceptual):**
- Route inbound user messages through the runtime’s message service, not custom event emitters.
- Avoid intercepting low-level transport events as your primary integration surface; build on the unified messaging abstractions so your plugin works consistently across Discord/Telegram/Twitter/Cloud.

### Tooling: Bun is required
Discord confirmed that **npm is not supported** for the core developer workflow at this time—developers should continue using **Bun**. Plan CI and local dev environments accordingly.

### Streaming dependency alignment
Until OpenAI streaming fixes are fully merged and released, treat streaming as **version-sensitive**:
- Do not mix-and-match core/plugin versions across streaming boundaries.
- Add fallback behavior for non-stream completions where possible.

---

## Links & References (this week’s most relevant)
- Core PRs (open):
  - Standardize message server route naming: https://github.com/elizaOS/eliza/pull/6285
  - Multi-step workflow retry + parameter extraction: https://github.com/elizaOS/eliza/pull/6286
- Core runtime type-safety:
  - Generic types for custom event handlers: https://github.com/elizaos/eliza/pull/6277
- SSE streaming tracking:
  - https://github.com/elizaos/eliza/issues/5930
- Twitter plugin:
  - Fix posting enablement setting application: https://github.com/elizaos-plugins/plugin-twitter/pull/42
  - Conversation behavior issues: https://github.com/elizaos-plugins/plugin-twitter/issues/6281, https://github.com/elizaos-plugins/plugin-twitter/issues/6282
- Discord plugin refactors / proposals:
  - https://github.com/elizaos-plugins/plugin-discord/pull/38
  - https://github.com/elizaos-plugins/plugin-discord/pull/32
  - https://github.com/elizaos-plugins/plugin-discord/pull/36
- Telegram unified messaging refactor:
  - https://github.com/elizaos-plugins/plugin-telegram/pull/22
- Farcaster local hub registry addition:
  - https://github.com/elizaos-plugins/registry/pull/243