Releases: pitahayaDevSoft/mentask.py
Releases · pitahayaDevSoft/mentask.py
Release list
v0.32.2
[0.32.2] - 2026-07-12
Changed
- CLI Agent Prefix: Renamed
cli:prefix toagent:across all providers, session, config, and discovery modules. - CLI Agent Registry: Removed
gemini-cli,claude,aiderfrom supported CLI agents. Addedpi,copilot(GitHub Copilot CLI), anddevin. - Gemini-Specific Logic Removed: Stripped
GEMINI.mdprompt file injection and Gemini session management fromconfigure_cli_agent(). - Dead Code Cleanup: Removed Gemini API fetcher, Claude/Aider fallback model lists, and associated unused imports from
model_discovery.py. - Status Bar Model Display: Status bar now shows the underlying CLI agent model (e.g.,
opencode / o3-pro) instead of just the agent name.
Fixed
- CLI Argument Order: Fixed argument construction for CLI agents — subcommand (
exec,run) now correctly precedes the--modelflag. Was producingcodex --model o4-mini exec --jsoninstead ofcodex exec --json --model o4-mini. - CLI Agent Prompt Header: Prompt now includes
ENGINEandMODELlines so the external agent knows which model it's running as.
v0.32.1
[0.32.1] - 2026-07-12
Fixed
- Empty Response Handling: When thinking-only models (e.g., gemma4) produce only `` content with no trailing text, the thinking is now emitted as the text response so the renderer has content to display. Guarded
chunk["choices"][0]access to prevent `IndexError` on empty chunks. - Error Event Handling: Orchestrator error events are now handled gracefully in
stream_response()instead of silently dropped.
v0.32.0
v0.32.0 — 2026-07-12
Security (CRITICAL)
- Sandbox Validation: Added command validation against dangerous shell patterns (command substitution, /etc redirects, mkfs, dd) while preserving normal shell features.
- Subprocess Safety: Routed 12+ direct subprocess.run calls through
core/subprocess_safety.pywith command whitelisting in git_logic, system_tools, model_discovery, paths, and ui_utils. - CLI Provider: Replaced 6 bare excepts with specific exception types (ValueError, JSONDecodeError) for proper error tracking.
- SECURITY.md: Customized with real project versions (0.31.x, 0.30.x) and vulnerability reporting guidelines.
Code Quality (HIGH)
- repl_tool.py: Eliminated
self.__init__()anti-pattern → clean_restart()method with extracted_start_process(). - Type Annotations: Typed CLIProvider.config as SettingsProvider instead of Any; removed dead
ui_adapterparameter from ChatAgent. - Dead Code Removal: Removed dead
load_api_keyfrom GemStyleRenderer, inline class-body imports (logging/os/Any), and no-op if/pass block in compression.py.
Features
- Rate Limit Headers: Added
parse_rate_limit_headers()utility to parse Retry-After, X-RateLimit-Remaining, and X-RateLimit-Reset from API responses.
v0.31.0
v0.31.0 — 2026-07-12
Fixed
- i18n Auto-Detection: Restored the commented-out
_detect_language()call so mentask auto-detects the system locale instead of always defaulting to English. - Exception Handling: Replaced 37 bare
except Exception:blocks with properexc_info=Truelogging across core modules (history, memory, metrics, rag, ollama, audit, trust). - Sandbox Logging: Added debug logging for command execution in LocalSandbox and DockerSandbox.
- Logger Unification: Migrated 30+ files from generic
getLogger("mentask")to module-specific loggers (e.g.,mentask.core.i18n,mentask.agent.chat).
Changed
- ChatAgent Decomposition: Extracted tool registry factory into
agent/tool_factory.py, reducing ChatAgent's responsibilities. - Config Typing: Added SettingsProvider Protocol in config_manager.py; typed BaseProvider.config instead of Any.
- Command Registry: Replaced monolithic if/elif chain in commands.py with O(1) dict lookup via
_build_command_registry(). - Legacy Tools Cleanup: Relocated FILE_SESSIONS to core/constraints.py, decoupling orchestrator from legacy tools/ directory.
- Retry Strategy: Enhanced to detect transient API errors (HTTP 429/503, network errors) with exponential backoff and jitter.
v0.30.0
v0.30.0 — 2026-06-20
Added
- RAG Persistent Cache: SQLite-backed disk cache for indexed workspaces. Bypasses re-computation on subsequent queries unless files are modified.
- Git-Cliff Configuration: Setup automatic generation of CHANGELOG.md via
cliff.tomland a custom Makefile recipemake changelog. - Dynamic CLI Changelog: The
--list changelogoption now dynamically parses and formats the latest release notes from CHANGELOG.md using Rich Markdown. - Developer Guidelines: Created a comprehensive CONTRIBUTING.md outlining project setup, code quality checks, pytest conventions, and Conventional Commits.
Changed
- MCP Resource Management: Migrated MCP stdio and client sessions to use AsyncExitStack for guaranteed lifecycle cleanup on failures or shutdown.
- Strict Docstring Linting: Integrated Google Style docstring linting (D rules) with Ruff and formatted all existing modules to comply.
v0.29.0
v0.29.0 — 2026-06-19
Added
- Multi-Agent CLI Bridge: Seamless integration for external CLI binaries (gemini-cli, codex, opencode) with hierarchical model discovery and dynamic autocompletion.
- Git Mastery Integration: Introduced
commit_changestool for structured Conventional Commits, including automated staging and diff previsualization. - New Core Tools: Added
GitCommitToolandgit_logic.pyto ensure high-quality repository history. - Dynamic API Key Detection: Configured ConfigManager to automatically resolve and switch the default model to available alternatives depending on which API keys are configured.
Changed
- Slash Commands Modularization: Refactored the command handling logic to split it from the dispatcher class into a structured package
src/mentask/agent/core/command_handlers/with category-scoped modules. - Google GenAI Decoupling: Deferred imports of google.genai in tools_registry.py and changed signatures to Any to prevent startup errors on environments without the SDK installed.
Fixed
- CLI Bridge Event Leak: Resolved a visual bug where raw JSONL events leaked to the terminal due to stdout buffering.
- CLI Streaming Parsers: Extended JSONL streaming to support Codex, OpenCode, and Gemini schemas.
- Actual Token Metrics: Extracted precise input_tokens and output_tokens directly from CLI JSONL streams.
- Context Snapping Crashes: Fixed a KeyError on status-only chunks and a reference bug that mutated history.
- Test Suite Resilience: Resolved critical integration failures related to Ollama PATH issues.
- Provider Stability: Enabled streaming of tool_call, info, and error events for all external providers.
v0.27.9
[0.27.9] - 2026-05-12
Fixed
- Worktree Tools: Fixed an
IndentationErrorinsrc/mentask/tools/worktree_tools.pythat prevented the CLI from starting. - Improved Tooling: Added comprehensive unit tests for worktree tools to ensure stability.
v0.27.8
[0.27.8] - 2026-05-12
Added
- Thought Process Toggle: Introduced the
/thinking [true|false]command to show or hide the agent's internal reasoning loop. - Unified Status Line: Merged the session status bar and turn divider into a single, cohesive line that matches the user's prompt theme.
Fixed
- CLI Bridge Robustness: Refactored
CLIProviderto usestdinfor prompt delivery, bypassing OS command-line length limits on Windows. - Improved Diagnostics: Implemented parallel reading of
stdoutandstderrfor CLI providers, enabling the capture of system warnings and errors. - UI Layout: Removed aggressive grid-based padding in agent responses for a more natural conversational flow.
- Error Filtering: Automatically suppress repetitive system warnings (e.g., Windows 10 detected, Ripgrep missing) in CLI output.
v0.27.7
[0.27.7] - 2026-05-12
Fixed
- GemStyleRenderer: Resolved a critical
NameError: name 'self' is not definedduring initialization by fixing the default parameter signature in the__init__method.
v0.27.5
[0.27.5] - 2026-05-12
Added
- Selective Memory via Side-Query: Implemented a lightweight "sidechain" selection mechanism to identify and inject only the most relevant memory files into the context.
- Memory Metadata Caching: Introduced
.metadata_cache.jsonin the memories directory to support thousands of learning files with zero performance lag. - Intelligent Context Pre-selection: Refactored
ContextManagerandChatAgentto automatically pre-select relevant context based on the user query before every turn.