Releases: Pomilon/Plexir
v1.5.0 - Overhaul & Core Hardening
This major release focuses on transforming the user experience with a completely redesigned TUI and significantly hardening the core infrastructure for production-grade reliability.
✨ Premium UI/UX
- Auto-Expanding Input: The command input area now dynamically adapts to your text, expanding from 1 to 5 lines as you type. This provides a modern, comfortable typing experience for complex instructions.
- Redesigned Chat Interface: A complete rewrite of the stylesheet (styles.tcss) introduces distinct, color-coded chat bubbles for User, Model, and System messages, making conversation history much easier to parse.
- Visual Polish:
- Fixed text visibility issues when the input field is focused.
- Added distinct highlighting for the active cursor line.
- Improved spacing, borders, and padding throughout the application.
- Smart Rendering: The sidebar file tree now acts intelligently, only refreshing when file-modifying tools (like write_file or git) are executed, eliminating UI flicker during read-only operations.
- Visual Polish:
⚡ Performance & Reliability
- Non-Blocking I/O: Configuration and Session management have been migrated to fully asynchronous operations (save_async). This eliminates the "UI stutter" that previously occurred when auto-saving large chat histories.
- Exponential Backoff: The Router now employs a smart retry strategy with exponential backoff (e.g., 1s, 2s, 4s...) to gracefully handle API rate limits (429 errors) without freezing the application.
- Robust Failover: Enhanced the context distillation logic to ensure critical system instructions and recent context are preserved when failing over to backup providers.
🛡️ Tooling & Infrastructure
-
MCP Hardening: Implemented a robust fallback mechanism for MCP (Model Context Protocol) tool schema generation. This ensures the application remains stable even when connecting to dynamic MCP servers with complex or non-standard tool definitions.
-
Verification: Added a new specialized test suite (tests/test_robustness.py) to rigorously verify failover logic, retry mechanisms, and async operations.
-
Security Policy: Updated SECURITY.md to clarify the support model and responsible disclosure process.
📦 Changes
- feat: Overhaul UI with auto-expanding input and new theme.
- fix: Resolve invisible text input on focus.
- perf: Implement async I/O for config and sessions.
- perf: Optimize DirectoryTree refresh cycles.
- chore: Bump version to 1.5.0.
v1.4.1 - Stable Milestone
Release Notes
Key Features & Improvements
- Multi-line Input Support: Replaced the legacy single-line input with a robust
TextAreacomponent, allowing for complex, structured prompting. - Async Message Queuing: Implemented asynchronous processing for message submission to ensure a responsive UI during heavy inference.
- UX Enhancements: Added
Ctrl+Entersupport for submissions and refined the styling of the input interface. - Provider Stability Layer: Introduced sophisticated role mapping (e.g., system turns to user turns) to resolve Gemini '400' errors and stabilize OpenAI '500' role validation failures.
- Persistent Docker Verification: Finalized support for persistent sandboxes, successfully tested with multi-stage deployments involving FastAPI, SQLite, and background process management.
Technical Validation
This release was verified through the autonomous build and deployment of a "System Pulse" Monitoring Suite. During this test, Plexir successfully:
- Initialized a full-stack environment within the Docker sandbox.
- Architected a Python/FastAPI backend and an SQLite persistence layer.
- Managed background processes using
nohupanduvicorn. - Self-Corrected networking issues by identifying and killing processes on conflicting ports (e.g., port 8000).
- Exposed the internal sandbox IP (
172.17.0.2) for host-to-container connectivity.
Bug Fixes
- Template Logic: Fixed provider compatibility with local models by merging assistant messages and stabilizing tool IDs to prevent chat template crashes.
- Validation Errors: Resolved
missing fielderrors in Gemini function declarations. - Connection Resilience: Improved tool result extraction and cleaned up internal imports to reduce overhead.