2.31.3
In addition to the many changes and improvements in mlx-swift-lm, this also:
- uses mlx-swift 0.31.3
- switches Package.swift to use the 6.1 swift-tools-version -- this will help keep the code concurrency safe
Important
This will be the last tag for the 2.x releases. We will continue with some breaking API changes on main with 3.x
What's Changed
- Enforce structured concurrency for MLXEmbedders by @CodebyCR in #111
- Add wiredMemoryTicket to GenerateTokens by @ronaldmannak in #117
- Adding Support for Qwen3.5 & Qwen3.5 MoE (Text-only) by @johnmai-dev in #97
- Allow reading LFM2 models nested rope params by @adrgrondin in #122
- Fix KVCache serialization by @petrukha-ivan in #121
- Adding Support for Qwen3.5 & Qwen3.5 MoE (Vision) by @johnmai-dev in #120
- Add JSON5 support by @ronaldmannak in #125
- Pick up swift-transformers 1.1.9 by @davidkoski in #126
- ensure models have links back to where they were ported from by @davidkoski in #105
- add optional toolCall dispatch and tool output injection by @davidkoski in #114
- Pass additionalContext to Qwen3VL by @adrgrondin in #127
- Qwen3.5 performance optimization by @johnmai-dev in #129
- Fix XMLFunctionParser regex to match newlines by @pixelsoccupied in #131
- audit RoPE use across models by @davidkoski in #115
- fix Sendable issues, unused code, deprecation warnings by @davidkoski in #113
- Add qwen3_5_text model type support by @adhney in #135
- Fix LFM2.5 VL tools by @viktike in #139
- Fix tool calling for Mistral 3 by @atdrendel in #132
- Fixed tool calling for qwen3.5 by @tpae in #133
- Adding support for GLM-OCR model by @smdesai in #144
- Add topK, minP and penalty parameters to GenerateParameters by @adrgrondin in #141
- Add gemma 3 embedding model by @CodebyCR in #136
- fix: @ModuleInfo for pooler + attention mask dtype in Bert/NomicBert by @jowharshamshiri in #153
- Fix LFM2 tool calling with nested parentheses in arguments by @tpae in #152
- fix unreliable tests by @davidkoski in #128
- add missing context/toolcall parameters by @davidkoski in #140
- perf: eliminate CPU←GPU sync in penalty processors, optimize TopPSampler by @spokvulcan in #147
- Add copy() to KVCache protocol and all implementations by @alankessler in #158
- Add KV cache initializers and cache access to ChatSession by @alankessler in #151
- Add model-defined pooling fallback for embedding models by @sxy-trans-n in #156
- Handle multiple tool calls in ChatSession by @alankessler in #162
- switch to swift 6 -- prevent concurrency issues, fix concurrency issues by @davidkoski in #165
New Contributors
- @johnmai-dev made their first contribution in #97
- @pixelsoccupied made their first contribution in #131
- @adhney made their first contribution in #135
- @viktike made their first contribution in #139
- @atdrendel made their first contribution in #132
- @jowharshamshiri made their first contribution in #153
- @spokvulcan made their first contribution in #147
- @alankessler made their first contribution in #158
- @sxy-trans-n made their first contribution in #156
Full Changelog: 2.30.6...2.31.3