MAX Nightly 26.5.0.dev2026062406 (Mojo 1.0.0b3.dev2026062406) Released

:astronaut: A new nightly version has been released! :astronaut:

See the quickstart guide for installation instructions: Quickstart | Modular

MAX changelog updates:

  • Added a poison-all mode to the MODULAR_DEBUG_DEVICE_ALLOCATOR environment
    variable for debugging uninitialized device-memory reads. Unlike the existing
    uninitialized-poison (which fills graph tensors with a type-aware, non-NaN
    sentinel and is detected by an instrumented load check), poison-all fills
    every memory-manager allocation β€” including internal scratch and other
    non-tensor buffers β€” with a raw byte (default 0xFF, a NaN pattern for
    float32/bfloat16), so an uninitialized read propagates NaN into the output
    and trips existing differential tests without any kernel instrumentation. The
    fill byte is configurable via
    MODULAR_DEVICE_CONTEXT_MEMORY_MANAGER_POISON_PATTERN, and the mode composes
    with out-of-bounds redzone checks. Because the NaN can also surface on
    legitimately-uninitialized allocation padding, it is a manual debugging aid
    rather than a default.
  • Added opt-in SHA-256 KV-cache block hashing. A new kv_cache_hash_algo
    field on KVCacheConfig (default ahash64; opt-in sha256 and
    sha256_64) threads through the pipeline and serve config, selecting a
    Mojo block_hasher_sha256 and the matching hash_request_tokens SHA-256
    path. Chat-completion requests also accept an optional cache_salt field
    that scopes prefix-cache reuse to a single per-request KV chain. Default
    behavior is the same as the existing ahash64 path.
  • Added max.experimental.nn.subgraphable for Module subgraph compilation: a
    repeated block (via the @subgraphable class decorator, or the
    subgraphable(layer)(x) call form) lowers to one shared subgraph reused per
    call. Opt out per compile with Module.compile(..., allow_subgraphs=False).

Mojo changelog updates:

  • [stdlib] Support input dependencies for DeviceGraphBuilder.collect_dependencies
  • [lint] Fix or ignore various typos

Raw MAX diff: https://github.com/modular/modular/compare/a80dd6b9e549a2f2ee9d74c581caf2b225caac0a...0f7c9887f2f70a8b9a125a388911442f6f1d6a4c)>
Current Mojo changelog: https://github.com/modular/modular/blob/main/mojo/docs/nightly-changelog.md