Changelog¶
All notable changes to MiMinions are documented here.
The format follows Keep a Changelog and the project adheres to Semantic Versioning.
Current version
The latest published release is 0.4.0 (requires Python ≥ 3.12). Install it with pip install miminions, or pip install miminions[sqlite] to add SQLite vector memory. See Getting Started for the full matrix.
[Unreleased]¶
Work in progress toward the next release.
Added¶
- TBD
[0.4.0] - 2026-08-24¶
Latest published release on PyPI.
Added¶
- Streaming replies.
Minion.run_stream()yields the LLM reply as incremental text deltas; the CLIchatloop now streams every reply to the terminal. See Agent. - Retries, timeouts, and observability hooks.
create_minionacceptsrequest_timeout(per-HTTP-request, default 60 s),max_retries(default 2) with exponential backoff on transient provider errors (429/5xx, connection failures), and optionalon_tool_call/on_turn_endcallbacks.miminions chat start --verboseuses them to show tool calls, token usage, and latency per turn. - Message-history trimming.
trim_message_historycaps the LLM context for long chat sessions at 40 messages, cutting only at user-turn boundaries so tool call/return pairs are never split; the on-disk transcript stays complete. - Workspace schema versioning. Persisted workspace records carry a
schema_versionfield (currently 1) with a migration hook at load time; unversioned records are treated as v1 and stamped on the next save. SQLiteMemoryas a context manager.with SQLiteMemory(...) as mem:closes the connection automatically.- Centralized path resolution (
miminions.core.paths). All persistent state resolves throughget_config_dir(), honoring a newMIMINIONS_HOMEenvironment variable to relocate~/.miminions.get_global_memory_db_pathmoved here (still re-exported frommiminions.memory.sqlite).
Changed¶
- Atomic JSON persistence. Shared
load_json/save_jsonhelpers (miminions.core.persistence) write all CLI/JSON stores atomically and fail loudly on corrupt files. - Fail-fast OpenRouter key check. With the default
openrouterprovider, a missingOPENROUTER_API_KEYnow raisesValueErroratcreate_minion(...)construction instead of failing later at call time. miminions agent addderives unique agent ids: a name collision gets a_2,_3, … suffix instead of an error, andcreated_atis now a real UTC timestamp.- Chat errors preserve any partially streamed reply in the session transcript alongside the
[error]marker.
[0.3.0]¶
Previous published release on PyPI.
Added¶
- Click-based CLI (
miminions/python -m miminions) with nine command groups:auth,agent,task,knowledge,workspace,execution,chat,gateway, andprompt. State persists locally under~/.miminions/. See CLI. - First-run bootstrap.
miminions.core.bootstrap.ensure_default_setupidempotently creates adefaultworkspace and a default agent record under~/.miminions/on first use, so the CLI works out of the box. - Three-tier memory with an LLM distiller. A chronological session log (
HISTORY.md), stable workspace facts (MEMORY.md→ "Project Facts"), and a cross-workspace SQLite vector store (~/.miminions/global_memory.db).MemoryDistillerextracts and promotes insights across tiers using ancreate_llm_filter-built extractor. See Memory. - Workspace system. A node/rule graph model (
Workspace,Node,Rule,NodeType,RulePriority) with rule inheritance and priority-sorted evaluation, a JSON-backedWorkspaceManager, and an on-disk layout (prompt/,memory/,skills/,sessions/,data/) scaffolded byinit_workspace. See Workspaces. - Context injection.
ContextBuilder().build(workspace, root_path)composes a single markdown context block (Identity, Tool Boundary, Prompt Files, optional Global Knowledge, Memory, Workspace Graph Summary, Skills Index) that is wired into the agent system prompt viaMinion.set_context. See Context. - MCP tool loading. Connect to a stdio MCP server with
await agent.connect_mcp_server(name, StdioServerParameters(...))and register its tools withawait agent.load_tools_from_mcp_server(name). Uses themcppackage, which is a core dependency. See Agent. - Gateway runtime building blocks (
miminions.core.gateway): an async pub/subMessageBus, aBaseChannelabstraction, a JSONLSessionManager, aCronService(one-shot, recurring, and cron-expression schedules; cron expressions require the optionalcroniterpackage), and a phasedGatewayOrchestrator. Provided as an extensible runtime layer, not a turnkey server. See Gateway. - Workflow tracing models (
WorkflowTrace,WorkflowRun,ToolCallRecord,AgentRunRecord) and aWorkflowController, persisted by themiminions executionCLI.
Changed¶
- Replaced
sentence-transformerswithfastembed(ONNX Runtime) forSQLiteMemoryembeddings, removing the PyTorch/CUDA dependency. Sameall-MiniLM-L6-v2model and 384-dim output, so existing databases need no migration. SQLite vector memory now installs via the[sqlite](or[all]) extra alongsidesqlite-vecandpysqlite3. - Simplified the user module to a lean
Userdataclass (miminions.user.model).
Removed¶
- Heavy embedding stack (PyTorch/CUDA) is no longer pulled in for SQLite vector memory.
- Complex user authentication and validation systems.
Not yet enabled
A workflow CLI command group exists in the tree but is not registered ("not yet implemented"). The --async flag on miminions agent run is currently a no-op placeholder. These are tracked for a future release and are documented as planned, not present.
[0.2.2] - 2026-04-02¶
Added¶
- Agent layer built on
pydantic_ai:create_minion/Minionwith a tool registry, optional vector memory (auto-registering seven memory + ingestion tools), and an asyncrun()reasoning loop. ModelFactoryprovider selection —openrouter(default,openai/gpt-oss-20b:free),openai,anthropic,gemini, and an offlinetestmodel.SQLiteMemoryvector store with vector, keyword, full-text, metadata, regex, hybrid, and date-range search, backed bysqlite-vec.GenericTool/@tool/create_tooltool abstraction and an MCP tool adapter.LocalDataManagercontent-addressable (SHA-256) local storage with deduplication, a JSON master index, and an append-only transaction log.
[0.1.0]¶
Initial release.
Added¶
- Core MiMinions package structure.
- Generic tool system and agent management foundations.
- Local data management system.
- User module with a basic data model.
- A test suite structure.
Version history¶
| Version | Notes |
|---|---|
| Unreleased | TBD |
| 0.4.0 | Current published release — streaming replies, retries + timeouts + hooks, history trimming, workspace schema versioning, MIMINIONS_HOME, atomic JSON persistence |
| 0.3.0 | CLI, three-tier memory + distiller, workspaces, context builder, MCP loading, gateway building blocks; fastembed embeddings |
| 0.2.2 | Agent, vector memory, tools, local data |
| 0.1.0 | Initial release with core functionality |
How to read this changelog¶
Categories¶
- Added — new features
- Changed — changes to existing functionality
- Deprecated — features slated for removal
- Removed — features that have been removed
- Fixed — bug fixes
- Security — security-related changes
Versioning¶
We follow Semantic Versioning (MAJOR.MINOR.PATCH):
- MAJOR — incompatible API changes
- MINOR — new functionality, backward-compatible
- PATCH — backward-compatible bug fixes
Contributing¶
When adding changelog entries:
- Add the entry under the appropriate category.
- Use clear, concise language.
- Reference issue numbers where applicable.
- Keep the Unreleased section current as development proceeds.
See Contributing for the full workflow.