- Replace closed Model enum with flexible string-based Model type
with constructor methods for all current models (Mistral Large 3,
Small 4, Magistral, Codestral, Devstral, Pixtral, Voxtral, etc.)
- Add new API endpoints: FIM completions, Files, Fine-tuning, Batch
jobs, OCR, Audio transcription, Moderations/Classifications, and
Agent completions (sync + async for all)
- Add new chat fields: frequency_penalty, presence_penalty, stop,
n, parallel_tool_calls, reasoning_effort, min_tokens, json_schema
response format
- Add embedding fields: output_dimension, output_dtype
- Tool parameters now accept raw JSON Schema (serde_json::Value)
instead of limited enum types
- Add tool call IDs and Required tool choice variant
- Add DELETE HTTP method support and multipart file upload
- Bump thiserror to v2, add reqwest multipart feature
- Remove strum dependency (no longer needed)
- Update all tests and examples for new API
* feat(Model)!: Update model constants
- Add new models Mistral Nemo and Codestral Mamba
- Add aliases to models constant to be deserialized seemlessly from the versioned forme (e.g.: "mistral-large-2407")
- The commonly named Mistral Large 2 is now `constants::Model::MistralLargeLatest` when the old one is `Model::MistralLarge`
* tests(Model): Update the tests to check the new model variants.