Modal 1.3.1
- We've improved our experimental support for Python 3.14t (free-threaded Python) inside Modal containers. The container environment will now use the Python implementation of the Protobuf runtime rather than the incompatible upb implementation.
Also shipped Jan 22, 2026Modal in January 2026 →
Visualization suggestions updates
Visualization Suggestions , which were introduced in Grafana 8.3.0 , have been updated to provide more applicable suggestions, and are now the default method to select a panel visualization.
Expo SDK 55 Beta is now available
Learn about the changes, how to try it out, and how to give feedback.
Monitor your dedicated inference endpoints with the new Metrics API, providing Prometheus-compatible metrics...
Monitor your dedicated inference endpoints with the new Metrics API, providing Prometheus-compatible metrics for requests, tokens, latency percentiles, and endpoint health. Metrics are aggregated at the minute level and integrate directly with Prometheus. Learn more in our Metrics guide.
Cloudflare One, Access - Require Access protection for zones
You can now require Cloudflare Access protection for all hostnames in your account. When enabled, traffic to any hostname that does not have a matching Access application is automatically blocked. This deny-by-default approach prevents accidental exposure of internal resources to the public Internet.
Access - New granular API token permissions for Cloudflare Access
Three new API token permissions are available for Cloudflare Access, giving you finer-grained control when building automations and integrations: Access: Organizations Revoke , Grants the ability to revoke user sessions in a Zero Trust organization.
Rules - New cryptographic functions , encode_base64() and sha256()
Cloudflare Rulesets now includes encode_base64() and sha256() functions, enabling you to generate signed request headers directly in rule expressions. These functions support common patterns like constructing a canonical string from request attributes, computing a SHA256 digest, and Base64-encoding the result.
More from ModalEvery Modal release →
Modal 1.3.2
- Modal objects now have a .get_dashboard_url() method. This method will return a URL for viewing that object on the Modal dashboard: python fc = f.spawn() print(fc.get_dashboard_url()) # Easy access to logs, etc.
Modal 1.3.3
- We've added a new modal billing report CLI and promoted the modal.billing.workspace_billing_report API to General Availability for all Team and Enterprise plan workspaces. We've added modal.Queue.from_id() and modal.Dict.from_id() methods to support referencing a Queue or Dict by its object id. Modal's async usage warnings are now enabled by default.
Modal 1.3.4
- We're introducing "Directory Snapshots": a new beta feature for persisting specific directories past the lifetime of an individual Sandbox. Using the new methods modal.Sandbox.snapshot_directory() and modal.Sandbox.mount_image(), you can capture the state of a directory and then later include it in a different Sandbox: python notest sb =...
Modal 1.3.0
Modal now supports Python 3.14. Python 3.14t (the free-threading build) support is currently a work in progress, because we are waiting for dependencies to be updated with free-threaded support. Additionally, Modal no longer supports Python 3.9, which has reached end-of-life.
Modal 1.2.6
- Fixed bug where iterating on a modal.Sandbox.exec output stream could raise unauthenticated errors.
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.
Modal 1.2.5
- It is now possible to set a custom name= for a Function without using serialized=True. This can be useful when decorating a function multiple times, e.g. applying multiple Modal configurations to the same implementation. It is now possible to start modal shell with a Modal Image ID (modal shell im-abc123).
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.