# ElizaOS Developer Update: 2025-06-09 to 2025-06-12

## Core Framework

This week brought significant architectural improvements to the ElizaOS framework with the release of versions 1.0.7 and 1.0.8. Major focus areas included:

### Type System Restructuring
- Comprehensive split of monolithic `types.ts` into granular domain-specific files for better organization and searchability ([#4999](https://github.com/elizaos/eliza/pull/4999))
- Complete refactoring of core types with new service interfaces for common service types ([#5020](https://github.com/elizaos/eliza/pull/5020))
- Added dummy service implementations for testing and development ([#5030](https://github.com/elizaos/eliza/pull/5030))

### Messaging Architecture
- Fixed critical issues in agent cross-interference and self-response infinite loops ([#4935](https://github.com/elizaos/eliza/pull/4935), [#4934](https://github.com/elizaos/eliza/pull/4934))
- Implemented real-time message deletion via SocketIO ([#4968](https://github.com/elizaos/eliza/pull/4968))
- Improved environment configuration loading sequence ([#5048](https://github.com/elizaos/eliza/pull/5048))

### Plugin System
- Complete rewrite of `plugin-sql` to support dynamic loading of database tables and migrations ([#5018](https://github.com/elizaos/eliza/pull/5018))
- Centralized all generated files into `.eliza` directory for standardized project structure ([#5043](https://github.com/elizaos/eliza/pull/5043))
- Fixed plugin auto-import when starting from plugin directory ([#4900](https://github.com/elizaos/eliza/pull/4900))

## New Features

### Enhanced Agent Creation & Management
```typescript
// Improved agent loading from project files, no character flag needed
const myAgent: ProjectAgent = {
  character: customCharacter,
  init: async (runtime: IAgentRuntime) => initCharacter({ runtime }),
};

const project: Project = {
  agents: [myAgent],
};
```

### Split Button Component
The new SplitButton component provides a powerful way to group related actions:

```tsx
<SplitButton
  text="Primary Action"
  options={[
    {
      label: "Option 1",
      description: "First option description",
      onClick: () => handleOption1Click()
    },
    {
      label: "Option 2",
      description: "Second option description",
      onClick: () => handleOption2Click()
    }
  ]}
  variant="primary"
/>
```

### Dynamic Database Operations
The rewritten SQL plugin now supports dynamic table loading:

```typescript
// Define a new database table
const myTable = {
  name: 'custom_data',
  schema: {
    id: 'TEXT PRIMARY KEY',
    value: 'TEXT NOT NULL',
    created_at: 'INTEGER NOT NULL'
  }
};

// Register with the SQL service
await sqlService.registerTable(myTable);

// Migrations happen automatically
```

### Responsive Design Improvements
Enhanced mobile experience with improved sidebar handling and responsive UI elements:

```tsx
<div className="md:flex-row flex-col gap-4">
  <div className="md:w-1/2 w-full">{/* Left content */}</div>
  <div className="md:w-1/2 w-full">{/* Right content */}</div>
</div>
```

## Bug Fixes

### Agent Interaction Issues
- Fixed critical bug where agents were responding to each other's messages, creating endless back-and-forth conversations ([#4934](https://github.com/elizaos/eliza/pull/4934))
- Fixed issue where metadata loss caused `agent_response` messages to lose their target information ([#4935](https://github.com/elizaos/eliza/pull/4935))
- Resolved problem where custom characters were not loading after upgrading to 1.0.7 ([#5039](https://github.com/elizaos/eliza/pull/5039))

### Database Operations
- Fixed incorrect `agentId` usage in database operations that was causing memory creation issues ([#5045](https://github.com/elizaos/eliza/pull/5045))
- Resolved date handling issues in database operations that prevented proper record updates ([#5032](https://github.com/elizaos/eliza/pull/5032))

### UI and Communication
- Fixed empty logs display issue when data was actually present ([#5006](https://github.com/elizaos/eliza/pull/5006))
- Fixed chat history selector reloads and message deletion in UI ([#5034](https://github.com/elizaos/eliza/pull/5034), [#5035](https://github.com/elizaos/eliza/pull/5035))
- Fixed incorrect API URL when `SERVER_PORT` was not set to 3000 ([#4980](https://github.com/elizaos/eliza/pull/4980))

## API Changes

### Reorganized API Routes
The API routes have been comprehensively reorganized into a logical domain-based structure ([#5010](https://github.com/elizaos/eliza/pull/5010)):

```
/api
├── agents
│   ├── [agentId]
│   │   ├── rooms
│   │   ├── memories
│   │   └── settings
│   └── ...
├── auth
│   ├── login
│   └── register
├── messages
│   ├── [messageId]
│   └── ...
└── ...
```

### New API Endpoints
- Added missing `GET /agents/:agentId/rooms/:roomId` endpoint ([#4860](https://github.com/elizaos/eliza/pull/4860))
- Added comprehensive Postman collection with 90+ REST API endpoints ([#5047](https://github.com/elizaos/eliza/pull/5047))

## Social Media Integrations

### Twitter Plugin Improvements
- Fixed Twitter client startup failures in release 1.0.2 ([#4894](https://github.com/elizaos/eliza/issues/4894))
- Resolved issues with Twitter bot not responding to mentions ([#4588](https://github.com/elizaos/eliza/issues/4588))
- Fixed action processing in Twitter client ([#4405](https://github.com/elizaos/eliza/issues/4405))
- Standardized Twitter-related environment variables across multiple files and documentation ([#4883](https://github.com/elizaos/eliza/pull/4883))

### Discord & Telegram
- Improved environment variable prompting for plugin installation, making it easier to set up social integrations ([#4945](https://github.com/elizaos/eliza/pull/4945))
- Fixed plugin loading with environment variable handling in the Discord plugin ([#4873](https://github.com/elizaos/eliza/pull/4873))

## Model Provider Updates

### OpenAI Integration
- Fixed GPT-4o access errors with OpenAI API keys ([#5023](https://github.com/elizaos/eliza/issues/5023))
- Added explicit error handling for API key validation issues

### Anthropic Integration
Users reported API key validation issues with Anthropic in the ElizaOS CLI. The development team is investigating this issue, which may be related to the new version's more stringent validation requirements.

### Local AI Models
Known issue: LOG_LEVEL from .env is not working properly in version 1.0.6, affecting model logging ([#5005](https://github.com/elizaos/eliza/issues/5005))

## Breaking Changes

### V1 to V2 Migration Issues

1. **Custom Character Loading**
   - Issue: Custom characters fail to load after upgrading to 1.0.7 ([#5039](https://github.com/elizaos/eliza/issues/5039))
   - Workaround: Ensure your character definition includes the correct `ProjectAgent` structure:
   ```typescript
   const myAgent: ProjectAgent = {
     character: myCharacter,
     init: async (runtime: IAgentRuntime) => initCharacter({ runtime }),
   };
   ```

2. **Knowledge Plugin**
   - Issue: Knowledge management (RAG) functionality is not working in 1.0.6 despite documentation ([#5004](https://github.com/elizaos/eliza/issues/5004))
   - Status: The implementation is incomplete with TODO comments in the code indicating work in progress
   - Workaround: Use the `@elizaos/plugin-bootstrap` for basic text search until the RAG functionality is fully implemented

3. **Plugin Callbacks**
   - Issue: Callbacks from plugin actions not reaching end user responses in chat ([#5017](https://github.com/elizaos/eliza/issues/5017))
   - Workaround: Use the bootstrap provider's `REPLY` action type for immediate responses

For assistance with any migration issues, join us in the #development channel on Discord where the team is actively monitoring and addressing upgrade concerns.

[Link to GitHub repository for more details](https://github.com/elizaos/eliza)