Skip to content

Releases: lpalbou/AbstractCore

AbstractCore v2.13.31

31 May 08:11

Choose a tag to compare

Changed

  • Vision plugin floor: raised AbstractVision integration requirements to abstractvision>=0.3.18 so Core installs pick up the MLX-Gen 0.18.8 runtime floor and Wan 2.2 A14B text-to-video/image-to-video catalog support.

Fixed

  • Embedding endpoint validation: LM Studio, vLLM, and generic OpenAI-compatible embedding clients now skip eager chat-model catalogue validation for embedding-only setup. Embedding requests still surface provider errors at call time, but incomplete /models catalogues no longer disable remote embeddings before the first request.
  • Remote-light voice/audio extras: abstractcore[voice] and abstractcore[audio] now install the AbstractVoice capability plugin without omnivoice, torch, or torchaudio. Local OmniVoice engines remain in the explicit local aggregate profiles such as abstractcore[all-apple] and abstractcore[all-gpu].

AbstractCore v2.13.30

29 May 09:44

Choose a tag to compare

Changed

  • Vision plugin floor: raised AbstractVision integration requirements to abstractvision>=0.3.17 so Core installs pick up the MLX-Gen 0.18.7 runtime floor and latest Wan video/model fixes.
  • Voice plugin floor: raised AbstractVoice integration requirements to abstractvoice>=0.10.17 so Core optional installs pick up the one-shot TTS CLI release and current voice package metadata.

AbstractCore v2.13.29

26 May 16:12

Choose a tag to compare

Added

  • Video generation through Core: added Python generate(..., output={"task":"text_to_video"|"image_to_video"}) callback forwarding for AbstractVision progress events, plus OpenAI-compatible /v1/videos/generations, /v1/videos/edits, and async /v1/vision/jobs/videos/* routes.
  • Video job progress: async video jobs now capture normalized backend progress events in progress.last_event while preserving step/frame counters for polling clients.

Changed

  • Vision plugin floor: raised AbstractVision integration requirements to abstractvision>=0.3.16 so Core installs pick up MLX-Gen 0.18.6, exact model id routing, and text/image-to-video support.

Fixed

  • Generated media callback boundary: top-level progress callbacks supplied to multimodal generate(...) calls are attached to generated image/video output specs instead of leaking into the text-provider kwargs path.

Verified

  • pytest tests/test_packaging_extras.py tests/test_output_specs.py tests/test_multimodal_generate_output.py tests/server/test_server_vision_image_endpoints.py tests/capabilities/test_vision_catalog_helper.py tests/server/test_server_model_residency_control_plane.py -q

AbstractCore v2.13.28

26 May 03:13

Choose a tag to compare

Changed

  • Capability plugin floors: updated optional capability plugin install floors to abstractvoice>=0.10.16 and abstractvision>=0.3.14 so Core installs consume the latest OmniVoice catalog and MLX-Gen vision surfaces.
  • Capability defaults: added shared capability default configuration support for server and downstream hosts.
  • Embedding configuration: expanded remote embedding provider configuration and server routing coverage.

Fixed

  • Vision catalog propagation: preserved AbstractVision's canonical mlx-gen q4/q8 model catalog through Core discovery without hardcoded provider fallbacks.

AbstractCore v2.13.27

23 May 20:15

Choose a tag to compare

Changed

  • Capability plugin floors: updated optional capability plugin install floors to abstractvoice>=0.10.15, abstractvision>=0.3.13, and abstractmusic>=0.1.12 (plus matching turnkey profiles and docs references).

Verified

  • Hermetic test suite: pytest passes with local/provider/live tests disabled (CI-style defaults).

AbstractCore v2.13.26

23 May 18:43

Choose a tag to compare

Changed

  • Server music routing contract: /v1/audio/music now documents provider as the music backend selector (aligned with the server’s 422 rejection of legacy backend / music_backend fields).

Fixed

  • Dev server plugin resolution: the server now prefers a sibling ../abstractmusic/src checkout (alongside abstractvision and abstractvoice) when ABSTRACTCORE_DEV_PREFER_SIBLINGS=1, avoiding stale site-packages imports during local plugin development.
  • README install matrix: added the missing abstractcore[music] extra so users can install the AbstractMusic capability plugin directly from the main install section.

Verified

  • Hermetic test suite: pytest passes with local/provider/live tests disabled (CI-style defaults).

AbstractCore v2.13.25

21 May 22:59

Choose a tag to compare

Changed

  • Capability plugin floors: updated optional capability plugin install floors to abstractvoice>=0.10.14, abstractvision>=0.3.9, and abstractmusic>=0.1.8 (plus matching turnkey profiles).
  • Docs: refreshed plugin-floor references across README, Server, Capabilities, and llms*.txt.

Verified

  • Capability residency integration: /acore/models/load, /acore/models/loaded, and /acore/models/unload were validated against the released plugin builds for STT/TTS, voice-clone engine preloads, and local MFLUX image residency.

AbstractCore v2.13.24

20 May 23:31

Choose a tag to compare

Changed

  • Lightweight music integration: raised the optional abstractcore[music] floor to abstractmusic>=0.1.4, which installs AbstractMusic's lightweight remote-capable base package without local model runtime extras.
  • Remote ACE Music routing: music_backend / server backend selectors now recognize acemusic, ace-music, remote, and related ACE aliases as abstractmusic:acemusic, while still allowing explicit plugin backend ids.
  • Music server formats: /v1/audio/music and /{provider}/v1/audio/music now accept and document wav, mp3, and flac, matching the remote ACE Music backend's advertised formats.

Fixed

  • Music API diagnostics: plugin-side upstream 5xx/timeouts, including ACE Music HTTP 504 responses, now preserve gateway-style HTTP statuses instead of being collapsed into generic 500 errors.

AbstractCore v2.13.23

20 May 22:44

Choose a tag to compare

Added

  • Generic capability plugin contract: added the planned Core/plugin contract record for optional modality plugins, including shared provider/model discovery, typed task methods, host text-generation access, and cycle-free plugin integration expectations.
  • Music capability integration: added first-class music output routing through llm.generate(..., output="music"), the llm.music.generate(...) facade, and typed server routes for POST /v1/audio/music and POST /{provider}/v1/audio/music when abstractmusic is installed.
  • Memory bloc maintenance control plane: added public local helpers and matching server operations to list, delete, and prune blocs or provider/model KV artifacts while preserving live-binding safety checks for loaded cache keys.

Changed

  • Capability registry consistency: normalized voice, audio, vision, and music plugin discovery around a shared Core-owned registry surface so optional plugins can expose capabilities without hard dependencies or import cycles.
  • Server media routing: music requests now support request-level backend/model/provider routing and typed music parameters instead of relying only on environment-selected plugin defaults.
  • Documentation set: refreshed README, API, server, capabilities, memory-bloc, backlog, and LLM index docs for the new music and bloc-maintenance surfaces.

Verified

  • Music smoke proofs: generated valid 3-second WAV outputs through both Python generate(..., output="music") and the server music route using the local AbstractMusic ACE-Step backend.

AbstractCore v2.13.22

20 May 20:20

Choose a tag to compare

Added

  • Provider-wide durable memory bloc caches: unified exact durable bloc KV artifacts across MLX, HuggingFace Transformers, and HuggingFace GGUF, including shared Python/server APIs, provider-native artifact formats, manifest validation, and request-time prompt_cache_binding proof.
  • Durable cache validation tooling and reports: added the durable bloc cache benchmark script plus real-provider validation reports covering processing-phase speedups, correct cached answers, artifact sizes, and provider compatibility limits.
  • HuggingFace cache-state coverage: expanded Transformers prompt-cache save/load coverage for standard dynamic caches, sliding-window caches, Qwen3.5 hybrid cache state, and Mamba-style tensor state; expanded GGUF persistence around llama.cpp RAM-cache state.
  • Prompt-cache planning records: completed the unified bloc-cache, HF Transformers, and HF GGUF backlog items; accepted ADR 0007 for durable memory bloc cache binding; kept speculative superbloc/exact-prefix recipe and live snapshot persistence work proposed.

Changed

  • Generation defaults: providers now consume inference_parameters from model/architecture metadata for omitted sampling knobs such as temperature, top_p, and top_k; Hugging Face Transformers also applies loaded generation_config.json defaults when present.
  • MLX sampling controls: MLX generation now builds an mlx-lm sampler from unified temperature, top_p, and top_k values instead of ignoring those controls at decode time.
  • Prompt-cache compatibility metadata: architecture and model capability assets now capture cache, reasoning/thinking, quantization, and generation-parameter defaults used by provider capability discovery.
  • Voice/audio compatibility floors: optional voice/audio install profiles now target abstractvoice>=0.10.11 and omnivoice>=0.1.5.

Fixed

  • HuggingFace greedy decoding: Transformers pipeline generation now treats temperature=0 as greedy decoding (do_sample=false) instead of forwarding an invalid sampling temperature.
  • HuggingFace model compatibility failures: unsupported FP8-on-MPS and broken quantized Transformers load paths now fail explicitly instead of being mistaken for prompt-cache failures.
  • Prompt-cache abstraction boundaries: live prompt-cache snapshot persistence is now documented as a proposed local-admin decision, not as a durable bloc or thin-client binding surface.