Modal 1.4.3
- This release introduces a new "regional routing" concept for Function inputs, which is now in Public Beta. By setting routing_region="..." in the @app.function() or @app.cls() decorators, you can configure the Function to route its inputs through servers in us-west, eu-west, or ap-south instead of us-east.
Also shipped May 18, 2026Modal in May 2026 →
Cloudflare WAN, Magic Transit - Network Analytics support for Unified Routing
Network Analytics is now fully supported for accounts using Unified Routing mode. Traffic that traverses Unified Routing onramps and offramps is now visible in Network Analytics with the same dimensions and filters as traffic on the standard data plane.
Workers - Share local dev servers through Cloudflare Tunnel in Wrangler and Vite
You can now share local dev sessions through Cloudflare Tunnel and get a public URL when using either Wrangler or the Cloudflare Vite plugin . This is useful when you need to share a preview, test a webhook, or access your app from another device.
SLM update: Maintenance Windows and Facet Compliance are now Generally Available
- Service Level Maintenance Windows : You can now schedule maintenance windows directly within the SLM module. During these windows, any "bad events" or downtime are automatically excluded from your SLI calculations.
Artifacts - Manage Artifacts namespaces and repos with Wrangler CLI
You can now manage Artifacts namespaces, repos, and repo-scoped tokens directly from Wrangler CLI. Available commands: wrangler artifacts namespaces list , List Artifacts namespaces in your account. wrangler artifacts namespaces get , Get metadata for a namespace. wrangler artifacts repos create , Create a repo in a namespace.
Sections in Figma Slides
Figma Slides now has sections, making it easier to organize and navigate your presentation.
View audit logs across spaces
Live on cloud Self-hosted version 3.391.0 and later Organization admins in the admin space can now view audit logs from all spaces on the same instance directly from the Audit logs page. Use the Space filter to view events from a specific child space, or select all spaces to view events from every space at once.
More from ModalEvery Modal release →
Modal 1.5.0
This is a major release that includes several new features (named Images, version-pinned Function lookups, Sandbox domain allowlists), a new modal skills CLI, and a small number of breaking changes. We're introducing a "named Image" concept, akin to a Modal-native Image registry.
Modal 1.4.2
- We've added a new modal app rollover CLI command for triggering a redeployment of an App without making any code or configuration changes. A rollover replaces existing containers with fresh ones.
Modal 1.5.1
This release includes several major new features, including the debut of a new serverless compute primitive for low-latency HTTP applications (@app.server()) and a new CLI for deploying production-ready LLM inference endpoints with minimal configuration (modal endpoint).
Modal 1.4.1
- We're introducing a concept of "readiness probes" for modal.Sandbox. This feature lets you configure a readiness check on a TCP port (modal.Probe.with_tcp()) or by executing a process (modal.Probe.with_exec()).
Modal 1.5.2
- We've added new interfaces for programmatic management of workspace settings: Use the modal.Workspace.settings.list() method or modal workspace settings list CLI to see current workspace-level settings. Use the modal.Workspace.settings.set() method or modal workspace settings set CLI to configure new values.
Modal 1.4.0
We've made significant CLI enhancements so that Modal logs can be more accessible to coding agents: The modal app logs and modal container logs commands now have the ability to fetch historical logs using counting (e.g. --tail 1000) or time-based (e.g., --since 4h, --until 2026-03-15, etc.) configuration.
Modal 1.5.3
- We've added new APIs for programmatically retrieving logs on several object types: Function, Server, and FunctionCall. Each object exposes three different methods, allowing you to stream() logs as they are generated, fetch() logs from a specific date/time range, or tail() the most recent logs.
Modal 1.3.5
- We've added a modal changelog CLI for retrieving changelog entries with a flexible query interface (e.g. modal changelog --since=1.2, modal changelog --since=2025-12-01, modal changelog --newer). We expect that this will be a useful way to surface information about new features to coding agents.