Skip to content

Releases: pitahayaDevSoft/mentask.py

v0.32.2

Choose a tag to compare

@github-actions github-actions released this 12 Jul 12:00

[0.32.2] - 2026-07-12

Changed

  • CLI Agent Prefix: Renamed cli: prefix to agent: across all providers, session, config, and discovery modules.
  • CLI Agent Registry: Removed gemini-cli, claude, aider from supported CLI agents. Added pi, copilot (GitHub Copilot CLI), and devin.
  • Gemini-Specific Logic Removed: Stripped GEMINI.md prompt file injection and Gemini session management from configure_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 --model flag. Was producing codex --model o4-mini exec --json instead of codex exec --json --model o4-mini.
  • CLI Agent Prompt Header: Prompt now includes ENGINE and MODEL lines so the external agent knows which model it's running as.

v0.32.1

Choose a tag to compare

@julesklord julesklord released this 12 Jul 12:00

[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

Choose a tag to compare

@julesklord julesklord released this 12 Jul 08:42

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.py with 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_adapter parameter from ChatAgent.
  • Dead Code Removal: Removed dead load_api_key from 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

Choose a tag to compare

@julesklord julesklord released this 12 Jul 08:29

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 proper exc_info=True logging 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

Choose a tag to compare

@github-actions github-actions released this 20 Jun 08:41

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.toml and a custom Makefile recipe make changelog.
  • Dynamic CLI Changelog: The --list changelog option 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

Choose a tag to compare

@github-actions github-actions released this 19 Jun 16:33

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_changes tool for structured Conventional Commits, including automated staging and diff previsualization.
  • New Core Tools: Added GitCommitTool and git_logic.py to 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

Choose a tag to compare

@github-actions github-actions released this 12 May 15:25

[0.27.9] - 2026-05-12

Fixed

  • Worktree Tools: Fixed an IndentationError in src/mentask/tools/worktree_tools.py that prevented the CLI from starting.
  • Improved Tooling: Added comprehensive unit tests for worktree tools to ensure stability.

v0.27.8

Choose a tag to compare

@julesklord julesklord released this 12 May 14:29

[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 CLIProvider to use stdin for prompt delivery, bypassing OS command-line length limits on Windows.
  • Improved Diagnostics: Implemented parallel reading of stdout and stderr for 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

Choose a tag to compare

@github-actions github-actions released this 12 May 10:54

[0.27.7] - 2026-05-12

Fixed

  • GemStyleRenderer: Resolved a critical NameError: name 'self' is not defined during initialization by fixing the default parameter signature in the __init__ method.

v0.27.5

Choose a tag to compare

@github-actions github-actions released this 12 May 10:49

[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.json in the memories directory to support thousands of learning files with zero performance lag.
  • Intelligent Context Pre-selection: Refactored ContextManager and ChatAgent to automatically pre-select relevant context based on the user query before every turn.