# ElizaOS Developer Update (2026-01-25 → 2026-01-31)

This update covers the week of **Jan 25, 2026** through **Jan 31, 2026**.

Relevant links:
- Core repo: https://github.com/elizaos/eliza
- Docs: https://github.com/elizaos/docs
- Twitter plugin: https://github.com/elizaos-plugins/plugin-twitter
- GitHub analytics site: https://github.com/elizaos/elizaos.github.io

---

## 1) Core Framework

### V2 track accelerating (runtime-first, minimal surface area)
The V2 effort continues to consolidate around a slimmer runtime core (Rust + TypeScript, with Python parity work in progress), de-emphasizing “app/server/CLI as core” and focusing on runtime + critical plugins.

- **V2 working branch PR:** “V2.0.0” https://github.com/elizaos/eliza/pull/6351 (open)
- **Dynamic execution engine / schema-driven prompt execution (V2):** https://github.com/elizaos/eliza/pull/6384 (open)  
  Introduces `dynamicPromptExecFromState` (TS) / equivalents (Rust/Python) to reduce structured-output failures when context windows truncate.

### MCP support + self-maintaining repo/channel tracking (merged)
In Discord core-dev discussions, **MCP (Model Context Protocol)** support and dynamic tracking of GitHub repos/Discord channels were merged (auto-detect active/inactive repos; new/archived channels) to reduce manual config drift. (Discord note, 2026-01-28; PR link not provided in this dataset.)

### Runtime initialization performance + correctness improvements
- **Runtime init parallelization & atomic upserts:** https://github.com/elizaos/eliza/pull/6342 (merged)  
  Reported impact: **~30% faster cold starts** and **~40% faster warm starts** by parallelizing independent initialization steps and using atomic upserts (notably affecting SQL-backed deployments).

### Security posture formalized
- **Add SECURITY.md:** https://github.com/elizaos/eliza/pull/6428 (merged)  
  Establishes a disclosure process for vulnerabilities (important as more “agent runs” and automation capabilities land).

---

## 2) New Features

### Code Execution plugin (agents can write + run code)
A **Code Execution** plugin landed as part of the week’s push to expand agent capability beyond text/tool calls:
- Tracking issue: https://github.com/elizaos/eliza/issues/6408

While the implementation details aren’t included here, the intent is a first-class action/tool for “write → execute → inspect output → iterate,” enabling workflows like:
- deterministic transforms (parsing, ETL)
- lightweight computations
- unit-test style checks for generated code

### GitHub plugin finalized (repo management workflows)
- Tracking issue: https://github.com/elizaos/eliza/issues/6406  
This positions agents to manage issues/PRs/repo state as a native capability, and is a stepping stone toward “agentic maintenance” flows.

### N8N workflow engine integration (primary automation layer, V2)
The team is converging on N8N as the primary workflow substrate (instead of writing bespoke plugins for each SaaS). This is paired with an OAuth gateway concept for multi-tenant credentials.

- **Integration issue:** https://github.com/elizaos/eliza/issues/6429

Proposed 3-layer architecture (from core-dev discussion, 2026-01-27):
1. **AI Workflow Generator** (NL → workflow JSON)
2. **Workflow Engine** (TaskService/cron + execution)
3. **OAuth Gateway** (multi-tenant credential brokering)

Example developer workflow (current test path via V2 “next” builds):
```bash
npm install @elizaos/core@next
```

### Embeddings init optimization: `EMBEDDING_DIMENSION`
Agent initialization previously incurred an extra embedding call to discover dimensions for the embedding model. A new setting allows skipping that call:

- **PR:** https://github.com/elizaos/eliza/pull/6357 (merged)

Example (character settings):
```json
{
  "name": "my-agent",
  "settings": {
    "EMBEDDING_PROVIDER": "openai",
    "EMBEDDING_MODEL": "text-embedding-3-small",
    "EMBEDDING_DIMENSION": 1536
  }
}
```

This is particularly helpful in serverless/cold-start heavy deployments where ~500ms matters.

### Unified client hooks: multi-transport chat (HTTP/SSE/WebSocket)
A unified hooks layer was introduced to simplify clients switching between transports and to align naming between api-client and server:

- **PR:** https://github.com/elizaos/eliza/pull/6300 (merged)

If you previously hard-coded SSE and hit deployment MIME/type mismatches (seen in Discord), this change supports migrating to Socket.IO / WebSockets more cleanly at the client layer.

---

## 3) Bug Fixes (critical + high-impact)

### CLI project creation restored (`elizaos create` unblocked)
A major onboarding regression prevented new projects from being generated due to an exports/path mismatch (`ERR_PACKAGE_PATH_NOT_EXPORTED`).

- **Issue:** https://github.com/elizaos/eliza/issues/6388 (closed)
- **Fix PR:** https://github.com/elizaos/eliza/pull/6389 (merged)
- **Docs fix (correct install command):** https://github.com/elizaos/docs/pull/83 (merged)

Key change: the launcher now imports via the package alias (scoped CLI) instead of a non-exported deep path.

Recommended install (aligns with docs update):
```bash
bun i -g @elizaos/cli
elizaos create
```

### Prevent secret/env leakage from shell into runtime/plugin loading
A subtle but important bug: `dotenv.config()` does not override existing `process.env` by default, so shell env vars could unexpectedly influence plugin loading decisions and secrets.

- **PR:** https://github.com/elizaos/eliza/pull/6360 (merged)

If you run agents in shared shells/CI, this reduces “works on my machine” behavior and accidental secret shadowing.

### plugin-sql reliability hardening (multiple fixes)
Several fixes landed that address real production failure modes:

- **Postgres SET LOCAL parameterization bug:** https://github.com/elizaos/eliza/pull/6316 (merged)  
  Fixes `syntax error at or near $1` when `ENABLE_DATA_ISOLATION=true`, by using `sql.raw()` for `SET LOCAL` statements (Postgres doesn’t allow parameterized SET).
- **RLS tests + isolation enabled in CI:** https://github.com/elizaos/eliza/pull/6330 (merged)  
  Ensures the above issue is caught by CI if it regresses.
- **Pool config + error handler + PGLite shutdown fix:** https://github.com/elizaos/eliza/pull/6323 (merged)
- **Skip `pgcrypto` install for PGLite:** https://github.com/elizaos/eliza/pull/6339 (merged)

Net effect: fewer runtime crashes, more predictable behavior across Postgres/PGLite/Neon.

### Dev tooling stability
- **Prevent infinite rebuild loop in dev-watch:** https://github.com/elizaos/eliza/pull/6361 (merged)  
  Fixes repeated rebuilds caused by version generation writing to watched files.
- **Backend hot reload enabled:** https://github.com/elizaos/eliza/pull/6293 (merged)

---

## 4) API Changes (developer-facing)

### `serverId` → `messageServerId` migration (rooms/world)
The ecosystem is migrating from `serverId` to `messageServerId` across bootstrap providers/actions and SQL schema docs.

- **PR:** https://github.com/elizaos/eliza/pull/6333 (merged)

What to do:
- If your plugin/provider reads `room.serverId` or expects `message.content.serverId`, update it to `room.messageServerId`.
- Update logs/telemetry keys similarly to keep observability consistent.

Example patch (TypeScript-ish):
```ts
// before
const sid = room.serverId;

// after
const sid = room.messageServerId;
```

Note: Some older types may still carry `serverId` for backward compatibility, but current core plugins are being updated to stop referencing it.

### Python runtime surface area expanded (V2 parity)
The V2 Python work added/standardized several runtime methods and fixed plugin export expectations:

- **PR:** https://github.com/elizaos/eliza/pull/6358 (merged)
  - `AgentRuntime.get_available_actions()`
  - `AgentRuntime.get_entity()` alias
  - `get_memories()` kwargs support
  - corrected plugin export type (Plugin object vs dict)
  - improved Pydantic model handling in inmemorydb adapter

This matters if you maintain Python examples or integrate via the Python runtime.

---

## 5) Social Media Integrations (Twitter / Telegram / Discord / Farcaster)

### Twitter plugin: Broker Authentication (enterprise-grade auth mode)
- **PR:** https://github.com/elizaos-plugins/plugin-twitter/pull/47 (merged)

This introduces a more secure authentication mode suitable for “managed accounts” and more professional automation workflows (vs single-user token handling).

### Social account connection page + redirect flow (in progress)
Core-dev discussion (2026-01-29) confirms work is underway on a connection page where users:
1. link social accounts
2. are redirected back to the bot/app context

This is being evaluated alongside Composio (see below) to avoid re-implementing in-chat auth flows.

### Telegram / Discord notes
- Telegram plugin stability issues have been reported (image processing TypeError): https://github.com/elizaos-plugins/plugin-telegram/issues/23
- Discord plugin has reported undefined message function issues: https://github.com/elizaos-plugins/plugin-discord/issues/43

(No fixes for these are included in this week’s merged PR set.)

---

## 6) Model Provider Updates (OpenAI / Anthropic / OpenRouter / others)

### Claude workflows upgraded to Opus 4.5 in CI
ElizaOS is also using model providers internally for automation (code review/security review workflows):

- **PR:** https://github.com/elizaos/eliza/pull/6324 (merged)
- **PR (bot trigger fix):** https://github.com/elizaos/eliza/pull/6328 (merged)

If you rely on these workflows in forks, note the action versions/models have been updated.

### Embeddings provider state (runtime → plugins direction)
From Discord (2026-01-28), embeddings are currently supported via **Ollama, OpenAI, OpenRouter**, but several developers reported OpenRouter embeddings failing in the Knowledge plugin while OpenAI worked reliably. The team reiterated an important architectural direction: **v2.x will move embeddings completely into plugins** (reducing runtime coupling and making provider-specific behavior easier to swap).

### Knowledge plugin cost footgun: contextual embeddings
A recurring support theme: `CTX_KNOWLEDGE_ENABLED=true` can dramatically increase embedding/computation cost for “simple” queries (tens of thousands of tokens reported), because contextual embeddings expand payloads. This is not a code change this week, but it’s impacting real deployments and should be treated as an operational constraint until better defaults/docs land.

---

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

### Install / CLI naming (onboarding scripts may break)
Docs were updated to reflect the scoped CLI package:
- Docs PR: https://github.com/elizaos/docs/pull/83

If your onboarding scripts still run:
```bash
bun i -g elizaos
```
…you should update them to:
```bash
bun i -g @elizaos/cli
```

### Runtime surface changes in V2 (“next”)
V2 is explicitly removing/relocating “non-essentials” (app/server/CLI) out of core. Expect:
- different package boundaries
- different defaults for what ships “in runtime”
- more plugin responsibility (especially embeddings and integrations)

Track the V2 umbrella PR:
- https://github.com/elizaos/eliza/pull/6351

### `messageServerId` field migration
As noted above, `serverId` → `messageServerId` is a practical breaking change for plugins/providers that inspect room/world identity keys.
- https://github.com/elizaos/eliza/pull/6333

### Known unresolved regression (V1.7.2): action callback ordering
A critical runtime behavior mismatch was raised (Discord, 2026-01-29): callbacks execute in reverse order and the structured return message can be omitted, affecting plugins like `plugin-sql`, `plugin-openai`, `plugin-bootstrap`. This is **not fixed** in the provided GitHub activity for the week, but developers should be aware before shipping callback-heavy actions.

(Reported in Discord; no issue/PR link in this dataset.)

---

### Appendix: Repo/Project Health Signals (this month-to-date context)
From 2026-01-01 → 2026-02-01 (so far):
- `elizaos/eliza`: **38 PRs (22 merged)**, **96 new issues**, **31 active contributors**  
(Source: monthly summary embedded in dataset)

Key open strategic items referenced this week:
- N8N integration: https://github.com/elizaos/eliza/issues/6429
- “Eliza App” competitive research: https://github.com/elizaos/eliza/issues/6394