Skip to content

v0.5.0

Choose a tag to compare

@anvie anvie released this 22 May 07:56

Changelog

110 changes in 255 commits

New Features (11)

  • Agent Artifacts - persistent file output system with save_artifact tool, artifact modal viewer, read_attachment tool with cross-agent isolation, delete endpoint with auth check, and attachment cleanup on session delete
  • RTK Token Compressor - 8-stage modular compression pipeline with TOML schema, Python and Rust builtin filters, agent-specific and project-level filter overrides via KB, token savings tracking API (/api/rtk/gain), config knobs (RTK_NO_COMPRESS, RTK_VERBOSE), and safety net fallback
  • Thinking Budget Cap - per-model round-based budget enforcement for small model efficiency (Phase 2)
  • Quality Monitor with Auto-Correction - automatic correction and output parser for improved response quality
  • Long-running command guardrail - detects build/compile commands and suggests tmux/screen alternatives
  • /exec slash command - switch agent mode from plan to execute directly via chat
  • forget_memory tool - long-term memory deletion for soft-deleting stale or irrelevant memories
  • assign_skills / unassign_skill super-agent tools - assign and remove skills from agents programmatically
  • Evonic Backup System - CLI-based backup, restore, and verification with evonic backup command (evonic-backup-[YYYYMMDD]-[HHMM].tar.gz naming format)
  • File upload in web chat UI - upload files directly from the chat interface
  • Per-agent model fallback - configurable fallback chain with 1 retry, persistence across sessions, and UI badge indicator

Plugin’s Features (2)

  • Model-router plugin - per-model base system prompts (SYSTEM_PROMPTS), model list endpoint, and token widget UI overhaul (model-router plugin)
  • Plugin widget mechanism - auto-load *_widget.html in plugin detail page for custom UI

Enhancements (53)

  • Search bars on /plugins and /skills pages - client-side filtering for quick navigation (#362, #365)
  • Compact plugin and skill cards - redesigned to match /agents card pattern with compact layout (#361, #364)
  • Token list SVG icons - replaced text Edit/Delete buttons with SVG icons in API token list (#333)
  • Test Model feedback modal - loading spinner, success/error states with icons, dark mode support (#371)
  • /model command simplification - removed model UUID from output, formatted list as Markdown (#372)
  • Prompt-only skill badges - show skills without tools as badges with divider line between Tasks and Skills
  • State API with loaded skills - /api/state now exposes loaded_skills with skill badges rendered in sessions page (#359)
  • SSE bridge state-change trigger - add use_skill/unload_skill to SSE state-change trigger list (#358)
  • Remove Regular category badge - removed from non-system plugin cards (Robin feedback)
  • User-directory plugin UI refactor - migrated to evonic standard styling with profile section cleanup (#331)
  • Evonet GUI improvements - Clear button in toolbar (#343), version number in window title, FyneApp.toml for macOS metadata
  • Translate remaining Indonesian to English - all Indonesian copy in cli/commands.py translated (#342)
  • Backup file format - standardized naming to evonic-backup-[YYYYMMDD]-[HHMM].tar.gz (#341)
  • send_agent_message focus mode guard - reject message when target agent is in focus mode
  • Script placement rule - all scripts must be in scripts/ directory; migrations in scripts/migrations/
  • Smart quote normalization - normalize_code_quotes replaces smart quotes with ASCII equivalents in str_replace and patch
  • Remove TONE_PRESETS mechanism - replaced with {communication_style} placeholder in super agent prompt template
  • Add tmux to tools Dockerfile - added for long-running command execution support
  • Long-running guard error message - inline run script into error message for weaker models
  • Upload evonic helpers to SSH - auto-upload evonic helpers to remote SSH host on first run_python call
  • nohup PID file fallback - nohup fallback now saves PID to file for cross-session tracking
  • Migration scripts cleanup - moved all migration scripts to scripts/migrations/
  • Remove _scripts/ directory - consolidated into scripts/
  • Auto-load all skill tools for super agent - skills auto-loaded for super agent; fix scheduler config type handling
  • Get version from GitHub Releases API - instead of local git tags for more reliable update detection
  • Make patch handle JSON \\uXXXX escapes - handles LLM double-escaping and JSON unicode escapes in context matching
  • portal_copy tool - binary file transfer between workspaces and portals
  • Treat code files as plain text - in artifacts explorer for better inline preview (#312)
  • Improve read_attachment tool - with file parsing, access checks, and cross-agent isolation
  • Delete attachments on session clear - purge files on session delete and clear-all sessions
  • Add gh CLI installation guide - comprehensive guide for all OS in GitHub skill KB
  • Add EVONIC_BANNER refactor - deduplicate banner, import from cli.commands
  • Structured logging for agent_messaging - add agent_messaging tool inclusion in agent log routes
  • Intent-based Skill Injection - dynamic tool guidance by injecting relevant skill context based on agent intent
  • Write-vs-Edit guard - write_file now refuses to overwrite existing files, guiding agents to use str_replace or patch for surgical edits
  • Improved patch tool - tiered fuzzy matching with exact, indent-tolerant, and unescape-tolerant fallback tiers
  • Process tracker - immediate /stop interrupt for running tool executions via PID-based process tracking
  • Dynamic edit tool suggestion - writes overwrite guard dynamically suggests the best edit tool based on agent's assigned tools
  • Channel user identity injection - inject channel user identity into agent context for personalized responses
  • Dynamic enabled-agent roster injection - inject live list of enabled agents into super agent system prompt
  • Cloud \u2192 Tunnel rename - full rename across DB schema, migration, routes, config, templates, tests, KB files, and README
  • Scheduler session_prompt action type - trigger full LLM sessions from scheduled jobs with tool access
  • Scheduler detail modal - display static_message content in scheduler detail view
  • Improve webhook input filter - per-event-type JSON filter configuration for webhook payloads
  • Sanitize Docker/container language - remove container terminology from tool descriptions for non-sandbox agents
  • Telegram username allowlist - enhance Telegram user allowlist to include username-based filtering
  • Accurate tiktoken token counts - compiled context now shows memories and summary with precise token counts
  • Extract user-directory plugin - moved user-directory plugin to its own independent git repository

Bug Fixes (44)

  • False-positive continuation nudge - fixed on report-style responses, completion/summary responses, and permission-seeking responses (sessions 67fd3ea1, 25ac767d)
  • Continuation nudge negation fix - PLANNING_RE nudge negation broke out of loop instead of falling through
  • Spaced character evasion false positive - fixed false positive on normal words
  • Safety pipeline import graceful fallback - all tool files (bash.py, patch.py, str_replace.py, write_file.py) now wrap safety_pipeline import in try/except with warning log and graceful degradation
  • _skip_safety flag hardening - requires strict boolean True to skip safety checks
  • Kanban tool_guard self-heal - clears stale pending status for done/reassigned tasks
  • Dark mode UI fixes - hover text on Advanced Settings button (#352), hover styling for session items (#360), fix dark mode for user-directory plugin modals and table
  • EvoNET build fix - fixed evonet build and portal_copy for absolute paths
  • Old CHECK constraint migration - handle old CHECK constraint during cloud-to-tunnel workplace migration
  • /clear chat input fix - clear chat input after /clear command submission (#392)
  • Task text sanitization - prevent inconsistent status indicator rendering from sanitized task text
  • Loaded skill badge persistence - clear in-memory _session_skill_mds/_session_skill_tools in slash command handler (#373)
  • Add from __future__ import annotations - for Python 3.9 compatibility
  • Max_lines zero head/tail - fix max_lines=0 behavior in token compressor
  • ls -la regex fix - handle ls -la output in token compressor filter
  • git add empty-input - handle empty input in git add operations
  • False-positive SSH path detection - fix false positive for normal paths containing .ssh
  • Artifact CSS fix - missing group-hover:opacity-100 CSS rule for artifact action buttons (#344)
  • Replace native confirm() with showConfirm() - in deleteArtifact() for consistent UI (#344)
  • Fix misleading Execution stopped by user - for sudo/signal deaths that were not user-initiated
  • /help command visibility - fix /help showing /cd and /cwd commands to non-super agents
  • Auto-detect task completion status - from embedded markers in text
  • Tool date booking L3 test fix
  • Fix smart quote in showTab() - replaced smart quote with regular quote
  • Use Jinja {{ plugin_id }} - instead of global PLUGIN_ID in widget scripts
  • Fix spaced_character_evasion rule - false positive on normal words
  • Fix nohup fallback - PID file for cross-session tracking
  • Update token compressor filters - fix filters for ls command
  • Fix agent detail Advanced Settings - dark mode hover text
  • Fix eval page real-time logs - escape HTML in Real-Time Logs (#335)
  • Fix session state task list display - not shown in chat UI right panel (#226)
  • Fix renderAgentState - now passes session_id and renders task list correctly (#226)
  • Fix portal Add button - 6 JavaScript/HTML ID mismatches causing silent failure
  • Forward sub-agent replies to parent agent - ensure replies reach correct session
  • Fix escalate_to_user - deliver messages to both channel and web sessions
  • Fix slash command interception - in send_as_user and scheduler routing for real users
  • Fix session persistence for mobile web - ensure mobile chat state survives navigations
  • Fix trailing newline in patch.py - when no lines remain after patch application
  • Fix normalize curly quotes - in SQL answer extraction for reliable parsing
  • Fix restart ready message - proper web chat thinking bubble for slash commands
  • Show webhook secret as plain text - instead of masked for copy-paste (#212)
  • Fix missing build script - chat-ui.js not regenerated after changes
  • Re-route SSE adapter after turn_split - maintain real-time updates in monolith mode
  • Update progress persistence - survive crashes during update with progress tracking and pre-flight checks