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

This week prioritized “getting unblocked” for builders (CLI/project generation + docs), hardening runtime/security defaults (env/secrets precedence, SQL isolation), and pushing V2 forward (streaming + dynamic prompt execution patterns). Discord discussion also surfaced urgent QA gaps (integration tests, provider routing regressions) and active scam activity around token migration support.

---

## 1) Core Framework

### CLI “front door” restored: `elizaos create` works again
A critical onboarding regression prevented new projects from being generated due to an invalid import path into the scoped CLI package.

- Issue: **Can not generate project** [#6388](https://github.com/elizaos/eliza/issues/6388)
- Fix: **Update import to use package alias** [#6389](https://github.com/elizaos/eliza/pull/6389)
- Docs alignment: **Use `@elizaos/cli` install path** [docs PR #83](https://github.com/elizaOS/docs/pull/83)

**Correct install / create flow**
```bash
bun i -g @elizaos/cli
elizaos create
```

### Runtime initialization performance + correctness
Runtime initialization was optimized using parallelization and atomic upserts (notably impacts cold start and “agent boot” latency).

- **Optimize runtime initialization with parallelization and atomic upserts** [#6342](https://github.com/elizaos/eliza/pull/6342)

### Env/secrets precedence hardened (prevents accidental secret leakage)
A subtle but high-impact behavior: `dotenv.config()` does not override existing `process.env` by default. This could cause shell environment variables to unintentionally influence plugin loading and secret resolution.

- **Prevent shell env var leakage into agent secrets** [#6360](https://github.com/elizaos/eliza/pull/6360)

**Practical impact**
- If you were relying on “whatever is in my shell” to drive plugin behavior, expect more deterministic behavior now: `.env` + explicit agent secrets win, and filtering is stricter.

### Message transport consolidation: unified hooks and multi-transport support
Client + server were aligned around consistent transport naming and support for HTTP/SSE/WebSocket.

- **Unified hooks with multi-transport support (HTTP/SSE/WebSocket)** [#6300](https://github.com/elizaos/eliza/pull/6300)

### V2 architecture direction (ongoing)
V2 continues as a major restructuring that removes non-essentials (app/server/CLI) and centers the runtime + critical plugins.

- **V2.0.0 working branch** [#6351](https://github.com/elizaos/eliza/pull/6351)

Discord (core-devs) emphasized that V2 needs stronger integration testing to avoid regressions that repeatedly hit V1.x.

---

## 2) New Features

### Faster embeddings init: `EMBEDDING_DIMENSION` skips a costly API call
Agent initialization previously performed an embedding dimension call (~500ms reported). You can now set the dimension explicitly to skip that call.

- **Support `EMBEDDING_DIMENSION` setting** [#6357](https://github.com/elizaos/eliza/pull/6357)

**Example (character / agent settings)**
```json
{
  "name": "my-agent",
  "settings": {
    "EMBEDDING_DIMENSION": 1536
  }
}
```

### SQL plugin: Neon serverless support + stronger RLS posture
Neon support landed along with improvements to Row Level Security behavior and tests.

- **Add Neon serverless support & improve RLS security** [#6343](https://github.com/elizaos/eliza/pull/6343)

If you’re deploying Postgres on Neon, prefer the Neon adapter entrypoints introduced here rather than treating it as “just pg”.

### V2 Python runtime improvements: streaming + runtime API parity
The V2 Python port received a major stability pass and brought Python closer to Rust/TS parity:

- Adds/standardizes runtime helpers like `get_available_actions()` and `get_entity()` alias.
- Improves plugin correctness (e.g., `plugin-inmemorydb` exported as a proper `Plugin` object, Pydantic model handling).

- **fix(v2.0.0): Python example testing & fixes** [#6358](https://github.com/elizaos/eliza/pull/6358)

**API surface additions (Python/V2)**
- `AgentRuntime.get_available_actions()`
- `AgentRuntime.get_entity()` (alias)
- `get_memories()` now accepts keyword args / params patterns more consistently

### Dynamic prompt execution engine (V2, in review)
A schema-driven, validation-aware execution path was proposed for V2 to detect truncated/invalid structured output and retry with backoff.

- **V2.0.0: dynamic execution engine** [#6384](https://github.com/elizaos/eliza/pull/6384) (open)

This is not shipped in V1.x; treat as experimental until merged and documented.

### N8N automation layer planned (V2 / “Eliza App” direction)
An N8N workflow engine integration is being positioned as a primary automation substrate: agent generates workflow JSON, persists per tenant, executes via hosted or self-hosted N8N.

- **[Plugin] Integrate N8N Workflow Engine** [#6429](https://github.com/elizaos/eliza/issues/6429) (open)

---

## 3) Bug Fixes (with technical context)

### CLI project generation crash (`ERR_PACKAGE_PATH_NOT_EXPORTED`)
Root cause: the wrapper bin imported `@elizaos/cli/dist/index.js`, which is not exported via `package.json#exports` under Node ESM resolution. Fix was to import via the package alias.

- Report: [#6388](https://github.com/elizaos/eliza/issues/6388)
- Fix: [#6389](https://github.com/elizaos/eliza/pull/6389)

### SQL isolation regression: `SET LOCAL ... $1` parameterization bug
PostgreSQL `SET` statements don’t support parameterized values. Drizzle’s tagged templates auto-parameterize, producing `syntax error at or near $1`. Fix uses `sql.raw()` for `SET LOCAL`.

- Fix: **use sql.raw() for SET LOCAL** [#6316](https://github.com/elizaos/eliza/pull/6316)
- Regression prevention: add isolation tests + CI coverage [#6330](https://github.com/elizaos/eliza/pull/6330)

### PGLite stability fixes (shutdown + pgcrypto handling)
PGLite does not support `pgcrypto`; also fixes prevent unsafe `null as T` behavior and improve pool/error handling.

- Fixes: [#6323](https://github.com/elizaos/eliza/pull/6323), [#6339](https://github.com/elizaos/eliza/pull/6339)

### Dev-watch infinite rebuild loop
`generate-version.ts` wrote to a watched file on every build, retriggering the watcher endlessly.

- Fix: **prevent infinite rebuild loop in dev-watch mode** [#6361](https://github.com/elizaos/eliza/pull/6361)

### Known unresolved / newly reported issues (Discord)
These were raised in Discord and should be treated as active risk areas until tied to a PR:

- **Provider selection fails in one-shot mode on `develop`** (core-devs, 2026-01-30) — regression affecting single-turn executions.
- **Eliza 1.7.2 action callback execution order reversed** (Discord, 2026-01-29) — callbacks reportedly emit messages out-of-order and omit structured return text; impacts custom plugins (not yet linked to a GH issue/PR in provided data).

---

## 4) API Changes (Developer-facing)

### `serverId` → `messageServerId` migration in bootstrap + SQL schema
The framework has been migrating away from `serverId` to `messageServerId` for room/world context consistency across messaging platforms.

- **plugin-bootstrap (+ sql minor) actions/providers for serverId => messageServerId** [#6333](https://github.com/elizaos/eliza/pull/6333)

**What to change in your code**
- If you read `room.serverId` or log `serverId`, update to:
  - `room.messageServerId`
  - `world.messageServerId`

**Type/script migration example (TS)**
```ts
// before
const sid = room.serverId;

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

### V2 Python runtime API additions (already merged into V2 PR #6358)
If you maintain Python integrations against V2 code:
- expect new helper methods and adjusted memory APIs (`get_memories()` kwargs / params patterns).
- ensure your plugins export `Plugin` objects (not plain dicts), matching Rust/TS semantics.

---

## 5) Social Media Integrations

### Twitter: “Broker Authentication” mode (enterprise-grade auth posture)
The Twitter plugin gained a Broker Auth mode intended for more secure/professional deployments (e.g., delegated auth flows rather than long-lived tokens embedded in agent configs).

- **Broker Authentication** [plugin-twitter PR #47](https://github.com/elizaos-plugins/plugin-twitter/pull/47)

### Planned: account connection page + Composio-based auth
Discord (2026-01-29) discussed building a connection page that links social accounts and redirects back to the bot, and evaluating Composio for auth + integration plumbing. A community Composio plugin was referenced:

- Repo: https://github.com/standujar/plugin-composio (shared in Discord)
- Status: exploratory / RFC in progress (no upstream PR link provided)

---

## 6) Model Provider Updates

### Embeddings: reliability issues with OpenRouter; V2 direction is “embeddings as plugins”
Discord (2026-01-28) reported OpenRouter embeddings failing for some users in the knowledge plugin, while OpenAI embeddings were consistently working. Core direction (per Odilitime): move embeddings entirely out of runtime and into plugins in V2.x.

Practical guidance this week:
- If you’re blocked by embedding provider instability, use OpenAI or Ollama embeddings until OpenRouter issues are reproduced and fixed.
- Track local embeddings improvements: Odilitime noted ongoing work on `plugin-local-ai` for “easy embeddings” (development branch; no PR link in provided data).

### Anthropic model choice constraints (operational note)
Discord notes referenced being “forced to use Sonnet 4.5 vs Opus” for some workloads; treat this as a provider/plan constraint rather than an ElizaOS integration change this week.

### CI model update (Claude workflows)
Automation workflows were upgraded to Opus 4.5 for reviews/security/maintenance.

- **Upgrade Claude workflows with Opus 4.5 + security/maintenance jobs** [#6324](https://github.com/elizaos/eliza/pull/6324)
- **Allow cursor bot to trigger Claude workflows** [#6328](https://github.com/elizaos/eliza/pull/6328)

---

## 7) Breaking Changes (V1 → V2 migration warnings)

### V2 is not a drop-in upgrade
V2 explicitly restructures the repo around runtime + critical plugins and removes non-essentials.

- V2 branch PR (massive): [#6351](https://github.com/elizaos/eliza/pull/6351)

**Migration implications**
- If you depend on the monorepo app/server/CLI layout as shipped in V1.x, plan on either:
  1) staying on V1.x for now, or
  2) vendoring/rebuilding those layers on top of the V2 runtime.

### Embeddings behavior will change in V2
Per Discord direction: embeddings will move fully into plugins in V2.x. Don’t assume runtime-owned embedding configuration persists.

### Field rename impacts (`serverId` → `messageServerId`)
Even in V1.x, plugin-bootstrap + SQL schema updates mean downstream code reading `serverId` will drift. Update now to reduce future migration pain.

- PR: [#6333](https://github.com/elizaos/eliza/pull/6333)

---

## References / Further Reading

- Core repo: https://github.com/elizaos/eliza
- Docs: https://github.com/elizaOS/docs
- Weekly summary (Jan 25–31): https://github.com/elizaOS/knowledge (see `github_summaries_week_latest_2026-01-25.md` in provided data)
- Migration portal (security reminder: official support does **not** DM): https://migrate.elizafoundation.ai
- Discord reports flagged active scam attempts around “support tickets” (2026-01-30 discussion).