Skip to content

Releases: Pomilon/Plexir

v1.5.0 - Overhaul & Core Hardening

30 Dec 11:30

Choose a tag to compare

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.

⚡ 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

27 Dec 09:39

Choose a tag to compare

Release Notes

Key Features & Improvements

  • Multi-line Input Support: Replaced the legacy single-line input with a robust TextArea component, 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+Enter support 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 nohup and uvicorn.
  • 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 field errors in Gemini function declarations.
  • Connection Resilience: Improved tool result extraction and cleaned up internal imports to reduce overhead.