Skip to content

afm 0.9.15

Choose a tag to compare

@scouzi1966 scouzi1966 released this 12 Aug 16:04
· 22 commits to main since this release

afm 0.9.15

Apple Foundation Models + MLX local models — OpenAI-compatible API, WebUI, all Swift.

Changes since v0.9.14

  • Prepare AFM 0.9.15 stable release (fb9b858)
  • Merge pull request #168 from scouzi1966/codex/nemotron-3-5-lightning (ff1f59a)
  • Harden Nemotron checkpoint validation (91de79f)
  • Address DeepSeek batching review findings (3f0750a)
  • Add Nemotron 3.5 Lightning support (764299e)
  • Improve DeepSeek V4 concurrent cache batching (528a098)
  • Improve Xet downloads and DeepSeek admission tracing (7921079)
  • Fix DwarfStar provider integration (e8fec43)
  • Activate DSpark through AFMKit (a8a58ef)
  • Add DwarfStar tools and macOS 27 provider bridge (21f9e07)
  • Harden release regression coverage (3b193aa)
  • Fix DeepSeek patch order in clean builds (d643f07)
  • Merge pull request #160 from scouzi1966/codex/fix-149-vlm-image-routing (e9e1c50)
  • Merge pull request #159 from scouzi1966/codex/ds4-main-b030961 (fcecc08)
  • Document safe qualification subprocess boundary (2308d86)
  • Fix MLX multimodal lifecycle review findings (721d3ac)
  • Address DwarfStar release review findings (16d5921)
  • Add Vapor Swift server to infographic (bfac03b)
  • Restore versioned install guidance (8c10862)
  • Fix MLX multimodal routing for dual-mode models (09b278f)
  • Merge latest main with README update (1247db9)
  • Update README with AFM overview (4fc3367)
  • Fix DwarfStar qualification review findings (5f00d0c)
  • Update DwarfStar for accelerated prefill (e0b16c4)
  • Document AFM 0.9.15 nightly changes (0792a35)
  • Make nightly wheel site builds deterministic (36fb60a)
  • Fix generated nightly formula audit metadata (25b408b)
  • Harden AFM nightly packaging (e70cc52)
  • Fix MLX batch timeout and cancellation (ff2dde5)
  • Batch DeepSeek V4 hybrid caches (41f82df)
  • Checkpoint AFM 0.9.15 release candidate (9924369)
  • Sync AFMKit curated models with Vesta (ddfb755)
  • Support patched MLX in Xcode checkouts (726a644)
  • Fix DeepSeek DSpARK verifier rollback (9b12f4b)
  • Expose supported MLX runtime controls (19f3f4e)
  • Add DeepSeek thinking controls (d9db347)
  • Integrate canonical DS4 runtime (8d7660d)
  • Integrate DwarfStar runtime for AFM checkpoints (b053ed1)
  • Improve DeepSeek V4 MLX performance path (f1a11ed)
  • Load official DeepSeek V4 checkpoints (e0c11f2)
  • Accelerate DeepSeek DSpark proposal heads (c9762ca)
  • Document rejected DeepSeek kernel variants (d22f0b1)
  • Accelerate DeepSeek grouped attention projection (28c5037)
  • Benchmark canonical DeepSeek runtime (48b68ba)
  • Compile initialized MLX vendor sources (105e6de)
  • Prevent stale MLX vendor builds (45b5e67)
  • Make MLX metallib discovery reliable (7088d72)
  • Allow longer Metal trace finalization (a29ada2)
  • Finalize bounded Metal traces reliably (aca36af)
  • Reduce DeepSeek MXFP4 kernel synchronization (b055c46)
  • Tune DeepSeek Metal command scheduling (802b95c)
  • Compile DeepSeek decode attention prefix (ecb3ea7)
  • Correct canonical DS4 performance guidance (810e593)
  • Optimize DeepSeek V4 native decode scheduling (9aebc13)
  • Stage MLX metallib for all XCTest runs (b414de6)
  • Fix reliable MLX test resource setup (788ceeb)
  • Make SwiftPM builds reliable on Xcode 27 (c34a68b)
  • Add experimental DeepSeek V4 kernel engine (4b92b63)
  • Optimize DeepSeek V4 decode performance (2db11e2)
  • Add DeepSeek V4 0731 MLX support (b39d192)
  • Preserve MLX throughput during streamed generation (68f7f58)
  • Complete AFMKit MLX serving integration (62c8f11)
  • Preserve MLX throughput through Foundation Models (1dc86c0)
  • Disable MLX thinking by default in Foundation adapter (5bea511)
  • Fix AFMKit MLX resource bundle lookup (1041e29)
  • Add speculative completion policy (2f507e9)
  • Add speculative runtime completion decision (cf23750)
  • Add speculative unloaded state policy (6ab563d)
  • Add EAGLE3 drafter download state policy (38c5d26)
  • Add MLX generation completion policy (2ecde7b)
  • Add MLX generation loop timing policy (5c341de)
  • Add MLX chat history policy to AFMKit (604214a)
  • Add MLX image input policy to AFMKit (0ee3259)
  • Move MLX orphan projection into AFMKit (b8437d1)
  • Move MLX TTS package patterns into AFMKit (ddca7ee)
  • Refresh AFMKitCore API baseline (4be517f)
  • Add MLX local directory lookup policy (b7f34bc)
  • Add MLX imported fallback access policy (5151aa1)
  • Add MLX downloaded deletion policy (2ddca81)
  • Plan remote MLX model load targets in AFMKit (23fe89f)
  • Track MLX loading phase in AFMKit state (38afd03)
  • Add AFMKit MLX load cancellation state (a5a20e7)
  • Move MLX load failure messaging into AFMKit (a2f2ec4)
  • Move MLX runtime progress policy into AFMKit (78a04ac)
  • Move MLX runtime load state policy into AFMKit (34e3f50)
  • Move Foundation structured completion into AFMKit (97034e1)
  • Route AFM CLI presentation through model descriptors (036d816)
  • Add AFM parity runtime controls (1107506)
  • Add AFM parity report gate (1c3e982)
  • Add AFMKitCore dependency graph gate (eca8eef)
  • Share MLX persisted selection policy (9c4522d)
  • Share MLX model presentation policy (4f1eb03)
  • Share MLX quick picker option policy (fb9caa8)
  • Share MLX quick picker ID policy (d3dca4e)
  • Share MLX quick picker selection policy (8a01a6e)
  • Share MLX quick selection identity policy (bfbdf50)
  • Share MLX local availability policy (7c0939a)
  • Share MLX repository projection policy (8b19cee)
  • Share MLX runtime reset policy (2a5277c)
  • Share MLX downloaded registry store (e6989cf)
  • Share MLX legacy load policy (c3cfa5d)
  • Share MLX legacy startup selection policy (01076a5)
  • Share MLX load selection policy (323932d)
  • Share MLX clearable package policy (56cb1de)
  • Share MLX imported model selection policy (3b1483e)
  • Share MLX loaded mode switch policy (7cd903c)
  • Share MLX quick delete policy (e1bc612)
  • Share MLX quick reload policy (2f15f3b)
  • Share MLX tool model policy (2df1ba2)
  • Share MLX speculative runtime setup policy (7d8cf3f)
  • Share MLX settings selection policy (34644c5)
  • Share MLX startup model selection policy (42a57ce)
  • Share MLX current model reload policy (1c85f21)
  • Share MLX path resolution policy (e512a49)
  • Share MLX helper model path policy (0c44d11)
  • Resolve MLX model presentations through AFMKit (648823b)
  • Share MLX model presentation projection (6a223d6)
  • Share MLX Foundation model planning (2014075)
  • Share MLX runtime coordination policy (7030ca5)
  • Share MLX runtime memory policy (37b0935)
  • Add shared MLX generic runtime defaults (ed03ccf)
  • Move MLX runtime loading into AFMKit (a485410)
  • Add shared MLX runtime adapter (e62b2f7)
  • Add shared MLX runtime events (27c7a0a)
  • Add shared generation loop policy (b7bde44)
  • Add shared MLX generation planner (b066714)
  • Add shared MLX generation parameters (bc7dc6d)
  • Add shared reasoning stream reducer (b1b3a6a)
  • Cover MLX Foundation tool definitions (4e039ab)
  • Move MLX tool parser disable policy into AFMKit (bd1ecb4)
  • Move MLX grammar downgrade policy into AFMKit (7ca3d63)
  • Cover Foundation MLX schema response format (8889b81)
  • Guard MLX GPU setup without Metal devices (c675639)
  • Share MLX model option resolution (d08de1f)
  • Add selectable AFM parity cases (e287ec2)
  • Persist AFM parity artifacts in reports (0692381)
  • Support multi-model AFM parity runs (bbd4136)
  • Expand AFM parity check fixtures (dc7d019)
  • Share OpenAI response format policy (aba9078)
  • Add MLX metadata name fallback (da29853)
  • Add MLX local metadata inspector (49db2b9)
  • Add MLX speculative compatibility helper (535300b)
  • Add MLX directory architecture helper (4bd2224)
  • Add shared MLX architecture preflight (acee931)
  • Reuse shared reasoning extractor in proxy (74fd3f4)
  • Reuse shared reasoning extractor in chat controller (ba9672d)
  • Share reasoning content extraction (a0664be)
  • Add shared reasoning output parser (af12e1d)
  • Add MLX speculative decoding policy (4d011be)
  • Add MLX model architecture policy (593c2f3)
  • Add MLX vision factory classification (490cbb4)
  • Add MLX generation config presets (52d30ad)
  • Add MLX vision model detection policy (f1c53ae)
  • Add MLX persisted model cleanup policy (ae22703)
  • Add MLX specialty model classification (d8b74b7)
  • Add MLX repository identifier validation (c65307d)
  • Add MLX model identifier candidate helper (0b1bcd1)
  • Add Foundation active generation coordinator (f5a2edb)
  • Add PCC quota status descriptions to AFMKit (fc323b5)
  • Add Foundation native availability reason descriptions (7157424)
  • Add Foundation native provider capability snapshots (ded6cd6)
  • Add Foundation tool availability policy (a82a365)
  • Share Foundation tool pending status policy (ab98d0c)
  • Fix Foundation stream runner isolation (968d317)
  • Add Foundation string stream runner (92bf7cf)
  • Add Foundation generation options policy (49f1e3c)
  • Add Foundation structured response validation (566dd2d)
  • Add Foundation generated content reader (7cf5c92)
  • Add Foundation single-response telemetry (59584c1)
  • Fix Foundation transcript planner isolation (2d8deb9)
  • Add Foundation transcript window planner (03b61a8)
  • Add Foundation prompt builder (207c84c)
  • Finalize Foundation stream telemetry in processor (db92942)
  • Add Foundation string stream processor (186ff64)
  • Map Foundation session usage telemetry (af582db)
  • Extract Foundation generation telemetry (ae9d96d)
  • Relax snapshot accumulator progress state isolation (67fdd37)
  • Extract Foundation snapshot accumulator (7254b5d)
  • Extract Foundation transcript snapshot parser (1b1fc39)
  • Extract Foundation Models session coordinator (ed22d24)
  • Extract MLX Foundation event channel adapter (95fa37c)
  • Extract MLX Foundation request adapter (ef6d9fd)
  • Align AFMKit reasoning parity (96ea1d2)
  • Support tool fixtures in AFMKit parity gate (1d9472e)
  • Expand AFMKit HTTP parity contract (569188f)
  • Add AFMKit HTTP parity gate (b219643)
  • Expose AFMKit curated MLX configurations (c09e044)
  • Expose AFMKit MLX discovery package metadata (c6e330f)
  • Add shared AFMKit MLX model catalog (ac5a3bf)
  • Expose MLX model package validation helpers (ea450d3)
  • Resolve MLX flat cache models by repo ID (5ee00a9)
  • Resolve newest complete MLX snapshots (847dcfb)
  • Add AFMKit MLX model download lifecycle (5dae71e)
  • Add AFMKit MLX model deletion lifecycle (0a2dc6f)
  • Add AFMKit MLX model load references (fbd2660)
  • Promote MLX chat serving contract to AFMKit (b17d0ea)
  • Move MLX compatibility helpers into AFMKit (07e13a3)
  • Move MLX chat generation contract into AFMKit (286153b)
  • Move MLX serving configuration into AFMKit (ffe9cb7)
  • Move MLX batch control behind AFMKit (345d0a8)
  • Move MLX generation results into AFMKit (d872258)
  • Move MLX API profiling behind AFMKit (5740a2b)
  • Move MLX tool call cleanup behind AFMKit (bcfeca3)
  • Move grammar downgrade policy behind AFMKit (3739666)
  • Introduce AFMKit MLX runtime lifecycle (ee20adb)
  • Move MLX model discovery into AFMKit (d5f20ce)
  • Route batch and tokenization through AFMKit (b92ac88)
  • Route HTTP chat through AFMKit MLX adapter (70d45e7)
  • Route CLI prompts through AFMKit (9ec9771)
  • Enforce AFMKit required tool calls (02c2be7)
  • Complete AFMKit MLX executor translation (eb9c87f)
  • Close AFMKit core contract and graph gates (caeac80)
  • Expose shared AFMKit MLX model store (9a42d5e)
  • Route AFMEngine MLX through the provider contract (8091ac2)
  • Add the shared AFMKit MLX provider (156dd34)
  • Add macOS 27 MLX language model adapter (4c13d03)
  • Split AFMKit optional Apple products (1f2947e)
  • Extract the AFMKit MLX runtime (65ff26c)
  • Extract OpenAI compatibility DTOs (bc5f497)
  • Split dependency-free AFMKitCore contracts (ca7488e)
  • Define portable AFMKit provider contracts (af22a88)
  • Clean AFMKit integration baseline (3623b56)
  • Load complete MLX snapshots offline (c030cec)
  • Resolve AFMKit resources in app bundles (b82f083)
  • Share XGrammar with host applications (363fcb9)
  • Namespace AFMKit grammar target (2d766e9)
  • Add Foundation Models MLX adapter (3365a9a)
  • fix(afmlib): align PR with maclocal-api 0.9.14 APIs (dc8f24d)
  • test(agentblaster): add AgentBlaster suite definitions (5c98339)
  • build(afmlib): make test target compile + de-ArgumentParser AFMServer (435c1af)
  • docs(afmlib): fork-regen script + URL-consumption guide (2512c29)
  • build(afmlib): depend on mlx-swift-lm via fork URL (no submodules for consumers) (575c3ec)
  • build(afmlib): vendor xgrammar source in-repo (de-submodule for URL consumers) (52f8249)
  • test(afmlib): differential parity harness — AFMKit-direct == afm HTTP server (4dfa5dc)
  • feat(afmlib): conform FoundationModelService to AFMLanguageModel + vesta integration doc (7950235)
  • feat(afmlib): AFMEngine 100% feature parity — logprobs, batch, aux services (ae9b2e9)
  • refactor(afmlib): drop ArgumentParser from AFMKit (MetalLibraryError replaces ValidationError) (a22032b)
  • refactor(afmlib): 3-way split — Vapor-free AFMKit core + AFMServer + AFMCLI (f5d6a94)
  • fix(afmlib): public-ify embeddings resolver for the AFMKit module boundary (93c32ea)
  • fix(afmlib): AFMEngine must init the MLX metallib (runtime fix, proven by running the example) (24a5738)
  • chore(afmlib): Stage 6 — build scripts, tests, docs for AFMKit/AFMCLI split (00af7a0)
  • fix(afmlib): nonisolated streamRespond + example import proof builds (e121340)
  • feat(afmlib): Stage 4+5 — AFMEngine facade + AFMLanguageModel + WWDC26 map (5dfd9bf)
  • feat(afmlib): Stage A — AFMKit is now an importable library (2-way split builds) (3f088ae)
  • wip(afmlib): split into AFMKit library + AFMCLI executable (structural move) (ecdb8a3)
  • Document release test artifact publishing (1c80712)
  • Move previous version install instructions (8b065e6)

Install / Upgrade via Homebrew

Fresh install:

brew tap scouzi1966/afm
brew install scouzi1966/afm/afm

Upgrade:

brew upgrade afm

Install via PyPI

pip install macafm==0.9.15