# MAX Nightly 26.8.0.dev2026102305 (Mojo 1.3.0.dev2026102305) Released

**URL:** <https://forum.modular.com/t/max-nightly-26-8-0-dev2026102305-mojo-1-3-0-dev2026102305-released/3584>\
**Category:** Nightly\
**Created:** [October 23, 2026, 7:31am UTC](https://forum.modular.com/t/max-nightly-26-8-0-dev2026102305-mojo-1-3-0-dev2026102305-released/3584 "2026-10-23T07:31:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Modular](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.modular.com/modular/32/17_2.png) [@Modular](https://forum.modular.com/u/Modular)\
**Post date:** [October 23, 2026, 7:31am UTC](https://forum.modular.com/t/max-nightly-26-8-0-dev2026102305-mojo-1-3-0-dev2026102305-released/3584/1 "2026-10-23T07:31:22Z")

</div>

🧑‍🚀 A new nightly version has been released! 🧑‍🚀

See the quickstart guide for installation instructions: [Quickstart | MAX](https://max.modular.com/get-started/#set-up-your-project)

MAX changelog updates:

- Qwen 3.5 now passes every `chat_template_kwargs` entry to its chat template,  
such as `add_generation_prompt` or `preserve_thinking`. It used to keep only  
`enable_thinking`, which still defaults to on.

- `generate()`, `GenerateIterator`, `AutoModel.generate()`,  
`AutoModel.generate_iter()` and `AutoPipeline` take `chat_template_kwargs`,  
which reach the chat template of every `messages` row, such as  
`{"enable_thinking": False}` to turn off Qwen 3.5’s thinking.

- `images` on `generate()`, `GenerateIterator`, `AutoModel.generate()` and  
`AutoModel.generate_iter()` takes PIL images as well as encoded bytes, and  
the tokenizer uses a PIL image without decoding it again. `AutoProcessor`  
now passes a copy of each PIL image instead of encoding it.

- `AutoProcessor` and `AutoPipeline` now read images from http(s) URLs, `data:`  
URIs and base64 data, including OpenAI `image_url` parts. URLs are fetched  
with a 30 second timeout and a 100 MiB limit per image.

- `max serve` now returns a 400 for a prompt given as token ids, on  
completions, chat `prompt_tokens` or embeddings, when an id is below 0 or  
past the model’s vocabulary. Such a request used to fail its whole batch.  
`generate()`, `GenerateIterator` and `AutoModel.generate()` raise  
`InputError` for such an id in `input_ids`. Embeddings requests the  
tokenizer rejects, such as a too-long prompt, now return a 400, not a 500.

Mojo changelog updates:

- [stdlib] Make `String` nicheable.

Raw MAX diff: [https://github.com/modular/modular/compare/f85b9f5ef2f9986dbfdfab9c65534959deba8030...da0db31d422e19ad5952d8d106b6da1d6899cf0a](https://github.com/modular/modular/compare/f85b9f5ef2f9986dbfdfab9c65534959deba8030...da0db31d422e19ad5952d8d106b6da1d6899cf0a)  
Current Mojo changelog: [https://github.com/modular/modular/blob/main/Mojo/docs/site/nightly-changelog.md](https://github.com/modular/modular/blob/main/Mojo/docs/site/nightly-changelog.md)
