# ElizaOS Developer Update
*Week of June 8, 2025 - June 11, 2025*

## Core Framework

### Significant Type System Refactoring
- The massive types.ts file has been completely split into granular, domain-specific files for improved maintainability and extensibility ([#4999](https://github.com/elizaos/eliza/pull/4999))
- Service interfaces have been introduced for common service types, enabling better plugin interoperability ([#5020](https://github.com/elizaos/eliza/pull/5020))
- Added dummy service implementations for testing and development purposes ([#5030](https://github.com/elizaos/eliza/pull/5030))

### Database & Architecture Improvements
- Implemented dynamic loading of database tables for improved plugin migrations ([#5018](https://github.com/elizaos/eliza/pull/5018))
- Plugin-SQL has been completely rebuilt with a more robust migration system
- Fixed environment loading sequence to ensure proper project initialization ([#5048](https://github.com/elizaos/eliza/pull/5048))

### Developer Tooling
- Added `.cursor` submodule for shared development configurations across plugins ([#5021](https://github.com/elizaos/eliza/pull/5021))
- Centralized directory detection with monorepo support, improving plugin development workflows ([#5011](https://github.com/elizaos/eliza/pull/5011))
- Reorganized API routes into a logical domain-based structure ([#5010](https://github.com/elizaos/eliza/pull/5010))

## New Features

### Enhanced User Interface
- Added split button component for grouping related actions in the character form UI ([#5000](https://github.com/elizaos/eliza/pull/5000))
```jsx
<SplitButton 
  label="Save Options" 
  options={[
    { label: "Save & Continue", description: "Save and stay on this page", onClick: handleSave },
    { label: "Save & Exit", description: "Save and return to home", onClick: handleSaveAndExit }
  ]} 
/>
```

### Plugin Development Enhancements
- Environment variable prompting during plugin installation ([#4945](https://github.com/elizaos/eliza/pull/4945))
```bash
# Example installing a plugin with environment prompting
elizaos plugins add @elizaos/plugin-twitter

# Now prompts for:
Twitter Username: yourhandle
Twitter API Key: ****
```

### CLI Improvements
- Migrated CLI prompts from legacy library to modern @clack/prompts for better UX ([#5016](https://github.com/elizaos/eliza/pull/5016))
- Enhanced create command with TEE support and improved handling of project types ([#4964](https://github.com/elizaos/eliza/pull/4964))

### Message Handling
- Added real-time message deletion via SocketIO ([#4968](https://github.com/elizaos/eliza/pull/4968))
- Fixed chat history selector reloads and proper message removal on delete ([#5034](https://github.com/elizaos/eliza/pull/5034))

## Bug Fixes

### Critical Agent Issues
- Fixed agent cross-interference in DMs where multiple agents were responding to messages meant for a single agent ([#4935](https://github.com/elizaos/eliza/pull/4935))
```
Root cause: Incorrect metadata preservation causing agent_response messages 
to lose their intended target information
```

- Resolved agent self-response infinite loop in message service ([#4934](https://github.com/elizaos/eliza/pull/4934))
```
The issue was that agents were processing and responding to any agent_response 
messages including their own, creating an endless conversation loop
```

- Fixed issue with custom characters not loading after upgrading to v1.0.7 ([#5039](https://github.com/elizaos/eliza/issues/5039))

### Plugin & Dependency Fixes
- Fixed dependency loop in local-AI plugin ([#4912](https://github.com/elizaos/eliza/issues/4912))
- Added lockfile cleanup for GitHub fallback installations to prevent circular dependency issues ([#5009](https://github.com/elizaos/eliza/pull/5009))
- Enabled loading project agents when no character files specified ([#5044](https://github.com/elizaos/eliza/pull/5044))

### UI & Usability Issues
- Resolved date conversion issues in agent creation ([#5032](https://github.com/elizaos/eliza/pull/5032))
- Fixed logs viewer incorrectly showing empty state when data was present ([#5006](https://github.com/elizaos/eliza/pull/5006))
- Enhanced error handling and resolved issue with refreshing on agent chat pages ([#4927](https://github.com/elizaos/eliza/issues/4927))

## API Changes

### Reorganized API Structure
- Completely restructured the `/packages/cli/src/server/api/` directory into domain-specific modules:
  - `/agents` - Agent management endpoints
  - `/messages` - Chat and message handling
  - `/plugins` - Plugin registration and configuration
  - `/system` - Core system operations

### Modified Message Handling
- Updated message serialization to preserve action and provider information
- Enhanced API client hooks for new messaging endpoints
- Fixed foreign key constraint issues in chat message handling ([#4898](https://github.com/elizaos/eliza/pull/4898))

### Deprecated Endpoints
- Legacy `/api/agent/:agentId/messages` endpoints will be removed in v2.0
- Use the new `/api/messages?agentId=x` endpoints with query parameters instead

## Social Media Integrations

### Twitter Plugin Improvements
- Fixed Twitter client startup failures in release v1.0.7 ([#4894](https://github.com/elizaos/eliza/issues/4894))
- Removed unnecessary manual truncation of Twitter posts ([#5028](https://github.com/elizaos/eliza/pull/5028))
- Standardized Twitter-related environment variables for better consistency ([#4883](https://github.com/elizaos/eliza/pull/4883))
```env
# New standardized Twitter environment variables
TWITTER_USERNAME=yourusername
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
```

### Discord & Telegram Updates
- Fixed agent message routing issues between channels ([#4972](https://github.com/elizaos/eliza/issues/4972))
- Improved participant handling in group chat contexts
- Enhanced error messages for better debugging of integration issues

## Model Provider Updates

### OpenAI
- Fixed access issues with GPT-4o when using valid OpenAI API keys ([#5023](https://github.com/elizaos/eliza/issues/5023))
- Improved error handling for rate limiting scenarios

### Anthropic
- Fixed validation issues with Anthropic API keys in ElizaOS CLI
- Updated to latest API version for Claude 3.7 compatibility

### Local Models
- Enhanced local model plugin stability with better dependency management
- Fixed model loading issues affecting new installations

## Breaking Changes

### Knowledge Management (RAG)
- Knowledge management functionality is not fully implemented in v1.0.7 ([#5004](https://github.com/elizaos/eliza/issues/5004))
- The following interfaces exist but lack complete implementation:
  ```typescript
  interface RagServiceDelegator extends Service {
    getKnowledge(message: Memory, scope?: { 
      roomId?: UUID; 
      worldId?: UUID; 
      entityId?: UUID 
    }): Promise<KnowledgeItem[]>;
    _internalAddKnowledge(
      item: KnowledgeItem, 
      options?: any, 
      scope?: any
    ): Promise<void>;
  }
  ```
- V2 will fully implement these interfaces with proper embedding support

### Environment Configuration
- Environment variable `LOG_LEVEL` from .env files is not being properly loaded ([#5005](https://github.com/elizaos/eliza/issues/5005))
- V2 will introduce a more robust environment variable loading system
- Use direct `process.env.LOG_LEVEL = "debug"` in your startup scripts as a temporary workaround

Remember to run `npm i -g @elizaos/cli` to update to v1.0.7 for all these improvements and fixes.