Changelog
Release notes and upgrade guidance for AbstractCore.
AbstractCore follows Keep a Changelog and Semantic Versioning. For the full history, see CHANGELOG.md.
2.11.2 (2026-02-04)
Added
- Skim tool benchmarks: added
examples/skim_tools_benchmark.pyto measure output footprint and latency forskim_websearch/web_searchandskim_url/fetch_url. - Import-safety test: added a test to ensure
import abstractcoredoes not eagerly import optional deps (requests,bs4,sentence_transformers,pymupdf*, ...).
Changed
- Skim outputs stay compact:
skim_websearchnow truncates long titles/snippets to keep tool outputs prompt-friendly by default. - Tool guidance for prompted models: tool prompts now render short
when_to_usehints for small tool sets and a few high-impact tools (edit/write/execute + web triage tools). - Tool examples: globally-capped examples now include
skim_websearch/skim_urlearlier so models learn the token-efficient web triage workflow. - Native tool payload compatibility: native tool schemas no longer include non-standard metadata keys (
tags,when_to_use,examples) to avoid strict provider schema validation failures. - Docs accuracy: clarified
fetch_urlbehavior for PDFs/binaries and documented the recommendedskim_*→fetch_*workflow in the docs entry points.
2.11.1 (2026-02-04)
Added
- Security policy: added
SECURITY.mdwith responsible disclosure guidance. - API overview doc: added
docs/api.mdas a user-facing map of the public Python API. - FAQ: added
docs/faq.mdand linked it from the docs entry points. - Events + logging docs: added
docs/events.mdanddocs/structured-logging.md. - Skim tools: added
skim_url(fast URL triage) andskim_websearch(compact/filtered search) to keep prompts smaller when you only need “what is this about?”.
Changed
- Install composition (default stays small): docs and packaging emphasize a lightweight core install, with heavy features enabled via explicit extras (
tools,media,embeddings,server, provider SDKs). - Dependency compatibility: relaxed
abstractcore[huggingface]transformersupper bound to<6so it can co-install withabstractcore[mlx]. - Documentation polish: refreshed wording and navigation; ensured internal links/anchors resolve across docs.
- Skim output footprint: tuned
skim_urldefaults (smaller preview/headings) and madeskim_websearchoutput more compact by default. - Web search URLs:
web_searchnow unwraps DuckDuckGo redirect URLs for more readable links and smaller tool outputs.
Fixed
- Docs accuracy: aligned event fields and examples with the current codebase (events, telemetry, and usage data).
- Optional imports: made Telegram Bot API tools import-safe when
requestsis not installed (returns a clearabstractcore[tools]install hint when used). - HTML extraction edge cases: improved main-content selection/pruning so
fetch_url/skim_urlpreviews don’t get wiped by over-aggressive boilerplate removal on some pages.
2.11.0 (2026-01-28)
Added
- MLX throughput benchmarking: added
examples/mlx_concurrency_benchmark.pyto sweep concurrency with continuous batching and generate summary CSVs + PNG plots.
Changed
- MLX install extras: refreshed/clarified
mlx+mlx-benchoptional dependencies for Apple Silicon throughput benchmarking.
Fixed
- Embedding model detection: treat
model_type: "embedding"as the canonical signal; addednomic-embed-text-v1.5and LMStudio aliastext-embedding-nomic-embed-text-v1.5@q6_kto the capabilities database. - MLX model discovery:
MLXProvider.list_available_models()scans LM Studio's local cache (~/.lmstudio/models) and loads from those local directories when present. - GPT-OSS (Harmony) on MLX: improved prompt formatting, extracts Harmony transcripts into clean
content(stores reasoning inmetadata.reasoning), and propagates correctfinish_reason(stop/length).