A new nightly version has been released! ![]()
See the quickstart guide for installation instructions: Quickstart | MAX
MAX changelog updates:
- Hardened decoding of client-supplied images.
Image.openis now restricted
to an explicit format allowlist (PNG, JPEG, WEBP, GIF, BMP, PPM, TIFF, TGA,
and AVIF where the platform provides it), shrinking the native-decoder attack
surface and keeping image bytes away from decoders such as EPS/Ghostscript. - Media memory is now governed by a single knob,
MAX_SERVE_MAX_MEDIA_BYTES
(default 100 MiB). The fetched size of all resolved media (http(s)://,
data:, andfile://images and videos) for a request is bounded in
aggregate by it, rather than each item being capped independently. No single
image may decode to more than it either. That decoded size is estimated
from the image header and rejected before the pixel buffer is allocated,
which is what catches a decompression bomb (a small on-the-wire image that
expands to hundreds of MB). This replaces both the former per-item
MAX_SERVE_MAX_BYTESserver cap and a separate decoded-pixel limit. It is
deliberately separate fromMAX_SERVE_MAX_REQUEST_BYTES, which bounds only
the request body. A small body can name URLs the server then fetches, so
raising one limit should not silently widen the other.
Mojo changelog updates:
- [docs] Cut over Mojo 1.1 changelog for release branch cut.
- [stdlib] Move
simdtostd/simd.mojo - [stdlib] Rename
CStringSlicetoCStringSpan - [Mojo][stdlib] Add an
@inline(value)decorator
Raw MAX diff: https://github.com/modular/modular/compare/48d33430b478f47fea76c0bb01b5246fa26989e1...da4f8b76ac0f51091f927e4a9b6f0b17f40b11e6)>
Current Mojo changelog: https://github.com/modular/modular/blob/main/Mojo/docs/site/nightly-changelog.md