Repository navigation
Releases
Releases · dswd/ai
v0.5.0
Full Changelog: v0.3.0...v0.5.0
v0.3.0
v0.3.0 – Skills, Provider Flavors & Security
Added
- Skills system — load reusable
SKILL.mddefinitions via--skill=PATH(file or folder) or auto-discovery from the skills directory (configurable viaskills_dir). Skills are listed in the system prompt and their full instructions are loaded on demand with theload_skilltool. - Provider flavors — all 9 wizard providers (OpenAI, Anthropic, Ollama, Groq, DeepSeek, Google, Mistral, OpenRouter, xAI) now work at runtime, each mapped to an OpenAI- or Anthropic-compatible endpoint. New generic
openai-compatible/anthropic-compatibleproviders support custom endpoints viaapi_base. --model/--providerCLI overrides — switch model/provider for a single invocation without editing the config.
Changed
- CLI cleanup —
--interactiverenamed to--ask;-s/--sessionnow implies--ask(previously tools silently failed in interactive sessions);--yoloconflicts with--ask;--init/--configand--list/--delete/--init/--sessionare mutually exclusive; removed the stale/toolsREPL command. - Typed message roles —
session::Message.roleis now aRole { User, Assistant, System }enum instead of a raw string (session files stay backward compatible)./compactsummaries are now consistently persisted and resumed as system messages. - Enforced external-command timeouts — external commands now run through async
tokio::processwithkill_on_drop, so a long-running command (e.g.sleep 300) is killed at the configured timeout instead of running to completion and blocking a worker thread. main()decomposed — split into a thin entry point plus arun()orchestrator with extracted helpers;--list/--deleteno longer fail on a broken policy file.- Misc — shared HTTP client with connection pooling;
fmt_bytes()deduplication; replaced hand-rolled UTC conversions with thetimecrate.
Security
- Resolved RUSTSEC-2026-0187/0195/0194 (high-severity lopdf/quick-xml advisories) by replacing
markitdownwithmarkdownify+pdf-extract; removed the stale CI audit ignore list. - Replaced deprecated
serde_yamlwith the maintainedserde_yaml_ngfork. - Hardened JS-injection in browser/search tools — selectors and queries are now emitted as proper JSON string literals.
Quality
- ~30 new unit tests across config, memory, util, tool output helpers, CLI parsing, and policy path resolution (71 total).
Full Changelog: v0.2.0...v0.3.0
v0.2.0
v0.1.0
Full Changelog: https://github.com/dswd/ai/commits/v0.1.0