# ElizaOS Developer Update - Week of June 23 to June 30, 2025

## 1. Core Framework

### Architecture Changes
- **Major Server Package Separation**: Split server functionality into separate `@elizaos/server` package (#5122), enabling independent usage of server components while maintaining backward compatibility with CLI integrations.
- **Runtime Initialization Improvements**: Fixed critical issues in the Eliza runtime's initialization process and database adapter handling, focusing on stability and proper agent ID synchronization (#5092).
- **Type System Refactoring**: Added `target` field to Content type (#5026), enabling more precise message targeting capabilities.
- **Database Schema Fixes**: 
  - Fixed type mismatch between `message_servers.id` (TEXT) and `server_agents.server_id` (UUID) that was causing foreign key constraint failures in fresh deployments (#5287).
  - Corrected column types from `text` to proper `uuid` for better type safety and consistency (#5189).

### Plugin System Updates
- **Agent-Scoped Plugins**: Changed plugins from project-scoped to agent-scoped architecture (#5270), allowing different plugins for different characters rather than forcing all agents to share the same plugin set.
  - **Note**: This change was temporarily rolled back (#5297) due to implementation issues and will be reintroduced with fixes in a future update.
- **Bootstrap Plugin Requirements**: Enhanced documentation to clearly communicate that `plugin-bootstrap` is mandatory for core agent communication and functionality (#5309).

## 2. New Features

### Enhanced CLI Experience
- **Google AI Support**: Added Google Generative AI (Gemini) support to the ElizaOS CLI (#5217).
```bash
elizaos create myproject
# Now includes Google Generative AI in the model selection options
```

- **Ollama Integration**: Added Ollama as AI provider option in create command (#5160), alongside existing Local AI, OpenAI, and Anthropic options.
```bash
# Sample Ollama configuration
export OLLAMA_HOST=http://localhost:11434
export OLLAMA_MODEL=llama3
elizaos create --ai ollama myproject
```

- **OpenRouter Support**: Added OpenRouter to model selection & selection for embedding models (#5264), improving flexibility for both language models and embedding models.

- **Environment Variable Prompting**: Enhanced plugin installation with interactive environment variable configuration using modern `@clack/prompts` instead of basic readline (#5291, #4945).
```typescript
// Sample plugin installation with env vars
import { prompt } from "@clack/prompts";
const answer = await prompt.text({
  message: "Enter your API key:",
  placeholder: "sk-...",
  validate: (value) => (value.length < 5 ? "API key too short" : undefined)
});
```

### UI/UX Improvements
- **Chat UI Enhancements**: Added improved styling and components including:
  - Animated markdown with smooth rendering (#5111)
  - Better code block components with syntax highlighting
  - Enhanced message styling and layout

- **Memory Management**: Added option to clear memories (#5187), allowing users to reset agent context when needed.

- **Agent Settings**: Implemented comprehensive agent configuration management (#5202) with improved UI for managing agent properties and settings.

- **Media Content Support**: Added support for user-uploaded plain text (.txt) files in the GUI (#5262) and improved attachment handling (#5257).

## 3. Bug Fixes

### Critical Fixes
- **Character File Size Limit**: Increased Express JSON payload limit from 100KB to 2MB to fix "request entity too large" errors when saving complex character files (#5308).

- **Static Content Serving**: Fixed "Client UI not available" errors by ensuring CLI build depends on client build, preventing problems when accessing the frontend (#5307).

- **Chat UI Issues**:
  - Fixed "agent is thinking" state getting stuck when the chat failed or agent chose to ignore messages (#5274, #5151).
  - Resolved issues with resending messages (#5141) that only worked for older messages.

- **Database Schema Migration**: Fixed issues with PostgreSQL schema selection and migration that were preventing proper table creation (#5072).

### API Improvements
- **Message Handling**: Fixed callback issues from plugin actions where responses weren't making it to end users in chat (#5017), ensuring action callbacks properly appear in the chat interface.

- **Room Creation**: Fixed issues with creating rooms via REST API where calls returned success but resulted in empty rooms array when fetched (#4955).

## 4. API Changes

### Type-Safe Client
- **New API Client Package**: Added `@elizaos/api-client` package (#5240) providing a type-safe client for the ElizaOS server API with comprehensive TypeScript support.
```typescript
import { createApiClient } from '@elizaos/api-client';

const client = createApiClient({ baseUrl: 'http://localhost:3000' });
const agents = await client.agents.list();
```

- **Channel Management**: Added API endpoints to manage channels and participants (#5113), enabling better programmatic control of conversation spaces.

- **Message Deletion**: Implemented real-time message deletion via SocketIO (#4968), allowing proper removal of messages from chat history.

## 5. Social Media Integrations

### Twitter/X.com Updates
- **Deprecated Integration**: Twitter/X.com integration is now deprecated with recommendations to use alternative platforms (#5046).
  - Users who rely on Twitter functionality should update their configurations to use API-based authentication with Twitter API keys, tokens, and secrets instead of the previous username/password-based authentication.
  - New environment variables have been standardized: `TWITTER_API_KEY`, `TWITTER_API_SECRET`, `TWITTER_ACCESS_TOKEN` and `TWITTER_ACCESS_TOKEN_SECRET`.

## 6. Model Provider Updates

### OpenRouter Integration
- Added support for OpenRouter as a model provider option, giving access to a wide variety of models through a single API (#5264).
- Added ability to select embedding models separately from completion models, allowing for more flexible configurations.

### Google Generative AI
- Implemented full support for Google's Gemini models (#5217).
- Added configuration options specific to Google AI endpoints and authentication.

### Ollama Enhancements
- Fixed issues with Ollama plugin where responses appeared in Memory tab but not in chat window (#5017).
- Added Ollama embedding model selection to improve vector storage capabilities (#5285).

## 7. Breaking Changes

### Database Schema Updates
- V1 to V2 migration will require schema updates for `message_servers.id` from TEXT to UUID type (#5287).
- Character files now have stricter validation using Zod (#5167), which might reject previously valid files that have inconsistencies.

### Plugin Architecture
- Plugins are now scoped to individual agents rather than globally at the project level (#5270, rolled back in #5297).
- This change might be reintroduced in future versions, so plugin developers should prepare for this architectural shift.

### Critical Dependencies
- The `plugin-bootstrap` module is now explicitly documented as mandatory for core agent communication (#5309). Custom setups attempting to omit this plugin will not function properly.

For more details on these changes, please refer to the linked PRs and documentation at [eliza.how/docs](https://eliza.how/docs/intro).