# ElizaOS Developer Update (2026-02-15 → 2026-02-21)

This week focused on beta-launch readiness: stabilizing core runtime behavior, expanding integrations (messaging + workflows), and pushing forward the V2 architecture work (multi-language runtime + slimmer distribution). Community feedback also surfaced several ElizaCloud dashboard regressions that are now tracked for fixes.

---

## 1) Core Framework

### Request-scoped configuration propagation (per-user/per-entity)
Core now supports request-scoped entity settings via `AsyncLocalStorage`, allowing runtime services to access the originating entity without threading parameters through every call chain.

- PR: **feat(core): add request context for per-user entity settings** ([elizaos/eliza#6457](https://github.com/elizaos/eliza/pull/6457))

**Why it matters**
- Enables multi-tenant deployments where per-request identity/config is required (e.g., BYOK, per-tenant model routing, per-tenant memory policies).
- Reduces accidental cross-entity leakage by scoping settings to the request context.

**Example (conceptual usage)**
```ts
import { RequestContext } from "@elizaos/core";

await RequestContext.withEntity({ entityId: "acme" }, async () => {
  // runtime/services can now read entityId implicitly
  await runtime.messageService.handleIncoming(message);
});
```

### Bootstrap/plugin robustness & prompt-footprint optimization
`plugin-bootstrap` received a significant optimization/robustness pass including caching improvements and safer providers, reducing repeated work and improving runtime stability under partial configuration.

- PR: **feat(plugin-bootstrap): comprehensive optimization and robustness improvements** ([elizaos/eliza#6476](https://github.com/elizaos/eliza/pull/6476))
- PR: **fix(plugin-bootstrap): add null check for runtime.providers** ([elizaos/eliza#6473](https://github.com/elizaos/eliza/pull/6473))
- PR: **fix: add null checks to Object.entries calls in settings utilities** ([elizaos/eliza#6471](https://github.com/elizaos/eliza/pull/6471))

### Action selection scaling (reduce prompt bloat)
Introduced `ActionFilterService` (vector search + BM25 reranking) to dynamically reduce the action/provider set presented to the LLM (e.g., from 200+ actions to ~10–20 relevant ones).

- PR: **feat: ActionFilterService — vector search + BM25 reranking** ([elizaos/eliza#6475](https://github.com/elizaos/eliza/pull/6475))

**Developer impact**
- Lower token usage and faster inference on agents with large plugin catalogs.
- Improves tool-use precision by narrowing the toolset to high-signal candidates.

**Example (high-level)**
```ts
const filtered = await runtime.actionFilter.filterActions({
  query: state.lastUserMessage,
  actions: runtime.actions,
  topK: 15,
});

// Feed `filtered` into your prompt/tool schema instead of `runtime.actions`
```

### Logging runtime typing improvements (in progress)
Work started on stricter typing in the logger runtime to reduce `any` usage and improve correctness.

- PR: **refactor(core): strict typing for logger runtime** ([elizaos/eliza#6519](https://github.com/elizaos/eliza/pull/6519)) *(open)*

---

## 2) New Features

### SAID Protocol: automatic Solana on-chain identity for agents
Agents created via `elizaos create` can now automatically register a SAID identity, generating an Ed25519 keypair locally (Node `crypto`, no new deps) and registering via SAID REST.

- PR: **feat: add SAID Protocol on-chain Solana identity for ElizaOS agents** ([elizaos/eliza#6510](https://github.com/elizaos/eliza/pull/6510)) *(tracked this week; see PR for current status)*  
- Related registry expansion: `@elizaos/plugin-said` ([elizaos-plugins/registry#264](https://github.com/elizaos-plugins/registry/pull/264))

**Behavior**
- Writes wallet key to `.said-wallet.json` (ensure it’s gitignored).
- Non-fatal: registration errors are caught and do not fail project creation.

**Output example**
```text
⚡ SAID Protocol identity created
  Wallet: <pubkey>
  Profile: https://saidprotocol.com/agents/<pubkey>

  Key saved to .said-wallet.json (add to .gitignore!)
```

### n8n Workflow plugin: REST control plane + stability fixes
The n8n workflow plugin shipped a REST API “control panel” for direct workflow management (reducing dependence on NL-only control), plus a critical fix for multi-step confabulation handling when the AI provides incomplete properties.

- PR: **REST API for direct workflow management and monitoring** ([elizaos-plugins/plugin-n8n-workflow#16](https://github.com/elizaos-plugins/plugin-n8n-workflow/pull/16))
- PR: **Fix: AI workflow properties stability (multi-step confabulation issues)** ([elizaos-plugins/plugin-n8n-workflow#18](https://github.com/elizaos-plugins/plugin-n8n-workflow/pull/18))
- Discord report referencing this fix: “critical fix addresses AI node multi-step confabulation issues” (community summary, 2026-02-20)

### Platform surface: Discord added as a messaging option on landing
ElizaOS product surface now lists Discord as a 4th messaging option, alongside baseline product metrics for beta tracking (as reported in Discord dev progress summary, 2026-02-20).

---

## 3) Bug Fixes (critical / developer-facing)

### Runtime hardening against null/undefined configuration
Several defensive fixes prevent runtime crashes when settings/providers are partially defined—important for cloud environments and incremental plugin loading.

- `runtime.providers` null guard (bootstrap provider)  
  PR: [elizaos/eliza#6473](https://github.com/elizaos/eliza/pull/6473)
- `Object.entries()` null guards in settings utilities  
  PR: [elizaos/eliza#6471](https://github.com/elizaos/eliza/pull/6471)

**Technical context**
These failures typically manifest as:
- `TypeError: Cannot read properties of null (reading 'filter')`
- `TypeError: Cannot convert undefined or null to object`

The fixes reduce crash loops in deployments where configuration is loaded from remote stores, environment variables, or per-entity overrides.

### Server event emission correctness
Fixed missing `EventType.MESSAGE_SENT` emission when sending agent responses to the central server API.

- PR: **fix(server): emit MESSAGE_SENT event after sending to central server** ([elizaos/eliza#6378](https://github.com/elizaos/eliza/pull/6378))

**Why it matters**
If you rely on MESSAGE_SENT for downstream telemetry, UI updates, or bus-driven workflows, this corrects missing events and makes message lifecycle tracking consistent.

### Cloud chat image content stripping (closed this month)
Issue identified and closed related to `/api/v1/chat/completions` message conversion stripping image content in cloud chat.

- Issue: **Image content stripped from LLM requests in cloud chat** ([elizaos/eliza#6494](https://github.com/elizaos/eliza/issues/6494)) *(closed)*

---

## 4) API Changes (developer actionable)

### JWT authentication & user management (server + client)
JWT auth mode is available behind a feature flag and introduces user management + protected routes patterns.

- PR: **feat(auth): implement JWT authentication and user management** ([elizaos/eliza#6200](https://github.com/elizaos/eliza/pull/6200))

**Notes**
- Requires `ENABLE_DATA_ISOLATION=true` to activate JWT auth mode (per PR description).
- Adds/updates server endpoints and middleware for auth, plus client protected route handling.

### Environment variables documentation
If you’re deploying self-hosted or need to secure server endpoints, the env var documentation was expanded:

- PR: **docs: add environment variables documentation** ([elizaos/eliza#6377](https://github.com/elizaos/eliza/pull/6377))

### CLI agent commands: .env loading for auth
CLI now loads `.env` files for `elizaos agent ...` commands to support `ELIZA_SERVER_AUTH_TOKEN` flows when targeting remote servers.

- PR: **fix(cli): load .env files in agent commands for authentication** ([elizaos/eliza#6376](https://github.com/elizaos/eliza/pull/6376))

---

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

### Twitter plugin: stability + media upload
Work this month (and actively referenced by the community as key for “live agents on social”) includes resolving auth retry loops and adding media upload support.

- PR: **Twitter plugin fixes + media upload** ([elizaos-plugins/plugin-twitter#48](https://github.com/elizaos-plugins/plugin-twitter/pull/48))

### Discord
Product surface now highlights Discord as a supported messaging option (reported in Discord dev progress summary, 2026-02-20). If you are using Discord as a primary channel, ensure your agent runtime configuration aligns with the latest connector expectations and event emission semantics (see MESSAGE_SENT fix above).

### Telegram / Farcaster
No concrete PRs were included in the provided week’s GitHub activity for Telegram/Farcaster connectors. Community comms note: Shaw’s AI/dev updates are posted on Twitter while crypto updates are posted on Farcaster (Discord discussion, 2026-02-20).

---

## 6) Model Provider Updates (OpenAI / Anthropic / DeepSeek / etc.)

### Added model support: Opus 4.5
- Issue: **Add support for the Opus 4.5 model** ([elizaos/eliza#6368](https://github.com/elizaos/eliza/issues/6368)) *(tracked in weekly summary)*

### Chain-of-Thought reasoning support (tracked)
- Issue: **Chain-of-Thought reasoning** ([elizaos/eliza#6294](https://github.com/elizaos/eliza/issues/6294))

### OpenAI-compatible endpoints (requested)
Feature request to allow a custom OpenAI endpoint URL for OpenAI-compatible providers (e.g., SiliconFlow).

- Issue: **Support custom OpenAI endpoint URL for OpenAI provider** ([elizaos/eliza#6490](https://github.com/elizaos/eliza/issues/6490)) *(open)*

**Developer takeaway**
If you need OpenAI-compatible routing today, you may need to use a different provider integration or proxy layer until endpoint override is implemented.

### Ollama plugin: Linux embeddings failure under investigation
- Issue: **embedding failures on Linux environments** ([elizaos-plugins/plugin-ollama#17](https://github.com/elizaos-plugins/plugin-ollama/issues/17))

---

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

### V2 branch direction: slimmer distro + multi-language runtimes
Two large V2 efforts remain open and represent significant breaking changes relative to V1 expectations:

- PR: **V2.0.0 working branch** ([elizaos/eliza#6351](https://github.com/elizaos/eliza/pull/6351)) *(open; major restructure)*
- PR: **next generation multi-language Eliza (Rust, Python, TypeScript)** ([elizaos/eliza#6485](https://github.com/elizaos/eliza/pull/6485)) *(open)*
- PR: **next** ([elizaos/eliza#6474](https://github.com/elizaos/eliza/pull/6474)) *(open)*

**What to expect (per PR descriptions)**
- Removal of default app/client/server/CLI from the “core” distribution in favor of focusing on runtimes (Rust/TS/Python) + critical plugins.
- Agents may respond without requiring `roomId` / `worldId`.
- `planningMode` can be disabled to skip planning and execute a single action (useful for games/simple agents).
- Actions can accept arguments and behave more like direct tools.

**Migration guidance (practical)**
- If your integration assumes a bundled webapp/server/CLI in core: plan to pin to V1 until you explicitly adopt V2 packaging.
- If you rely on `roomId/worldId` invariants: add guards for optional IDs and update any downstream storage keys accordingly.
- If you have custom plugins: verify compatibility with the V2 plugin/runtime APIs and consider maintaining a `next` branch (community guidance: “plugins can be integrated if they have a next branch available”, Discord 2026-02-18).

---

## ElizaCloud Developer Notes (community-reported regressions to watch)

From Discord testing (2026-02-20), several dashboard issues were identified:

- Broken mousepad scrolling on API Explorer  
  URL: https://www.elizacloud.ai/dashboard/api-explorer
- “Send request” test returns **`api key is required`** even when a key appears present
- Requests for:
  - per-model pricing breakdown in-dashboard
  - clarification whether “use a different key” supports BYOK (OpenRouter-like)

These are not yet linked to public PRs in the provided dataset; treat as known issues when onboarding developers to ElizaCloud this week.

---

## References / Docs

- Plugin creation guide: https://docs.elizaos.ai/guides/create-a-plugin
- Core docs added this month (architecture/concepts/deployment/API reference):  
  PR: [elizaos/eliza#6356](https://github.com/elizaos/eliza/pull/6356)
- Environment variables:  
  PR: [elizaos/eliza#6377](https://github.com/elizaos/eliza/pull/6377)