# ElizaOS Developer Update (June 29 - July 5, 2025)

## 1. Core Framework

The ElizaOS framework received significant enhancements this week, with a major focus on improving environment handling and streamlining the developer experience. The CLI environment variable system has been completely refactored to provide better maintainability and usability ([#5326](https://github.com/elizaos/eliza/pull/5326)). This overhaul now intelligently detects required environment variables for model plugins and improves the project creation workflow.

The platform also saw improvements in the agent runtime with automatic synchronization of secrets from local `.env` files for characters that don't have secrets configured ([#5329](https://github.com/elizaos/eliza/pull/5329)). This ensures a smoother development workflow when testing characters that depend on external API services.

Additionally, ElizaOS v1.0.16 and v1.0.17 were released this week, bringing stability improvements and bug fixes to the core platform.

## 2. New Features

### AI-Powered Migration Tool
A standout feature this week is the introduction of an AI-powered plugin migration tool ([#5311](https://github.com/elizaos/eliza/pull/5311)). Leveraging Claude's capabilities, this tool streamlines the process of upgrading plugins from v0.x to v1.x through a stepwise, gated approach with detailed progress reporting and validation.

```typescript
// Example usage of the new plugin migration tool
import { migratePlugin } from '@elizaos/plugin-upgrade';

await migratePlugin({
  pluginPath: './my-legacy-plugin',
  verbose: true,
  skipConfirmation: false
});
```

### CLI Improvements
The CLI now uses `@clack/prompts` consistently across all input methods ([#5359](https://github.com/elizaos/eliza/pull/5359)), replacing the previous mix of `inquirer` and Bun's global `prompt()`. This change provides a more consistent, visually appealing, and error-resistant user experience.

```typescript
// Previous approach with inquirer
const answers = await inquirer.prompt([{
  type: 'input',
  name: 'name',
  message: 'Plugin name:',
  validate: (input) => input.length > 0 || 'Name required'
}]);

// New approach with clack
const name = await clack.text({
  message: 'Plugin name:',
  validate: (input) => input.length > 0 ? undefined : 'Name required'
});

if (clack.isCancel(name)) {
  clack.cancel('Operation cancelled.');
  process.exit(0);
}
```

### UI Redesign
The client UI has undergone a significant redesign to align with the new Figma specifications. Major components like the Agent Card ([#5344](https://github.com/elizaos/eliza/pull/5344), [#5351](https://github.com/elizaos/eliza/pull/5351)), Chat interface ([#5349](https://github.com/elizaos/eliza/pull/5349)), and Sidebar ([#5373](https://github.com/elizaos/eliza/pull/5373)) now feature improved layouts, better spacing, and more intuitive interactions.

## 3. Bug Fixes

Several critical bugs were addressed this week:

1. **Environment File Creation**: The `.env` file creation process was simplified to use clean templates without runtime environment pollution, preventing clutter with unrelated variables ([#5340](https://github.com/elizaos/eliza/pull/5340)).

2. **Plugin Installation**: Fixed an issue where AI model plugins weren't being automatically installed during project creation despite being selected and configured ([#5335](https://github.com/elizaos/eliza/pull/5335)).

3. **REST API Performance**: Removed redundant `express.json` middleware in the API router that was causing duplicate JSON parsing and creating unnecessary overhead ([#5384](https://github.com/elizaos/eliza/pull/5384)).

4. **CLI Project Creation**: Corrected the directory display in the `elizaos create` command and ensured proper cleanup on interruption, improving the developer experience ([#5321](https://github.com/elizaos/eliza/pull/5321)).

5. **Type Safety**: Resolved several TypeScript issues across the codebase, particularly in the client components, ensuring better type safety and reducing potential runtime errors ([#5346](https://github.com/elizaos/eliza/pull/5346), [#5395](https://github.com/elizaos/eliza/pull/5395)).

## 4. API Changes

The REST API documentation has been updated to match the actual implementation ([#5380](https://github.com/elizaos/eliza/pull/5380)), fixing discrepancies where the docs showed non-existent endpoints and incorrect request parameters. Developers should review the updated documentation to ensure their integrations are using the correct API patterns.

Key changes include clarification of the message endpoint structure:

```typescript
// Correct message posting endpoint
POST /messages
{
  "agentId": "your-agent-id",
  "text": "your message",
  "userId": "some-user-id"
}

// NOT the incorrect version that was documented
POST /message
```

Additionally, knowledge plugin APIs are now clearly documented as internal only, not exposed through the REST API.

## 5. Social Media Integrations

The team is working to restore suspended X/Twitter accounts, with positive dialogue with X support and restoration expected within the next week. In the meantime, the team has been active on Farcaster.

The Twitter plugin has seen improvements to its documentation ([#5408](https://github.com/elizaos/eliza/pull/5408)), providing clearer guidance for developers integrating with the Twitter API. Additionally, there's ongoing work to address the 403 response issue when fetching Twitter/X timelines, as mentioned in Discord discussions.

## 6. Model Provider Updates

A new Grok language model integration ([#5338](https://github.com/elizaos/eliza/pull/5338)) has been proposed to enable using xAI's Grok models with ElizaOS. This plugin leverages Grok's OpenAI-compatible API and allows users with an XAI API key to access these models within the ElizaOS ecosystem.

```typescript
// Example configuration for Grok plugin
// In .env file:
XAI_API_KEY=your_xai_api_key

// In character file:
{
  "id": "gork",
  "settings": {
    "name": "Gork",
    "description": "A character powered by Grok",
    "systemPrompt": "You are Gork, a helpful assistant.",
    "provider": "grok"
  }
}
```

Additionally, Discord discussions highlighted successful configurations with different model combinations, including SQLite + OpenRouter + Ollama for embeddings.

## 7. Breaking Changes

For developers upgrading from V1 to V2, several important changes should be noted:

1. **V2 Beta Status**: According to Discord discussions, V2 has been in beta since March with hackathons and production agents already using it. The team is currently focused on stabilizing V2 before wider release.

2. **ElizaOS Cloud**: This has been released and is in production according to team members, with ongoing enhancements visible in Shaw's Farcaster posts.

3. **Plugin Compatibility**: The plugin-image-generation is outdated and doesn't work with ElizaOS 1.x versions. Developers should use LLM providers in 1.x that support image generation instead.

4. **Character File Configuration**: System prompts in character files now require specific formatting for consistent behavior. When migrating, ensure your character files follow the updated structure to avoid unexpected results.

A key migration consideration is that V2 is usable now but still undergoing stabilization, with marketing initiatives planned once the X/Twitter account is restored. If you're experiencing issues with V2, comprehensive support is available through the GitHub knowledge repository and builder updates channel on Discord.

---

For detailed guidance on implementing these changes or troubleshooting issues, visit our [documentation](https://docs.elizaos.com) or join our [Discord community](https://discord.gg/ai16z).