Skip to content

Commit a8fee72

Browse files
mwaskommodal-bot
authored andcommitted
Release v1.5.4 of the Python SDK (#52926)
GitOrigin-RevId: d4f603b5f82e1afe16229212df387f158da82209
1 parent bfb89f8 commit a8fee72

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

py/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ This changelog documents user-facing updates (features, enhancements, fixes, and
44

55
## Latest
66

7+
### 1.5.4 (2026-08-12)
8+
9+
With this release, it's now possible to opt into a [more performant Sandbox backend](/blog/scaling-to-1-million-concurrent-sandboxes-in-seconds), which affords substantially higher creation rates and concurrency. Set `MODAL_SANDBOX_V2=1` as an environment variable and your Sandboxes will use this new system without any code changes. This will become the default behavior in version 1.6.0 of the Python SDK. Note that the new backend does not support the deprecated FileIO-based Sandbox filesystem API; please [migrate](/docs/guide/migrate-sandbox-filesystem) any code that is currently issuing deprecation warnings before enabling the feature flag.
10+
11+
- We've added logs APIs to the `modal.App` and `modal.Image` objects:
12+
- The [`App.logs`](/docs/sdk/py/latest/App#logs) API allows you to `fetch()`, `tail()`, or `stream()` all logs from an App.
13+
- The [`Image.logs`](/docs/sdk/py/latest/Image#logs) API supports `fetch()` and `tail()` on Image build logs. Streaming build logs is not supported at this time.
14+
- We've also added a [`modal image logs`](/docs/cli/latest/image#modal-image-logs) CLI command with equivalent functionality.
15+
- We now support querying basic information about your Workspace's current pricing structure via the [`Workspace.billing.rates()`](/docs/sdk/py/latest/Workspace#billingrates) API and [`modal billing rates`](/docs/cli/latest/billing#modal-billing-rates) CLI.
16+
- The [`Function.update_autoscaler()`](/docs/sdk/py/latest/Function#update_autoscaler) and [`Server.update_autoscaler()`](/docs/sdk/py/latest/Server#update_autoscaler) methods now return the complete state of the autoscaler configuration after applying the update.
17+
- The `target_concurrency` parameter in [`@app.server()`](/docs/sdk/py/latest/App#server) and [`Server.update_autoscaler()`](/docs/sdk/py/latest/Server#update_autoscaler) now supports fractional values for more fine-grained control over autoscaling behavior.
18+
719
### 1.5.3 (2026-07-23)
820

921
- We've added new APIs for programmatically retrieving logs on several object types: [`Function`](/docs/sdk/py/latest/Function#logs), [`Server`](/docs/sdk/py/latest/Server#logs), and [`FunctionCall`](/docs/sdk/py/latest/FunctionCall#logs). 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.

py/CHANGELOG_DEV.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,3 @@
22

33
**When releasing, move these changelog items to `CHANGELOG.md`.**
44

5-
- Updated `Function.update_autoscaler()` and `Cls.update_autoscaler()` to return a `FunctionAutoscalerSettings` dataclass reflecting the current settings after applying the update.
6-
- Updated `Server.update_autoscaler()` to return a `ServerAutoscalerSettings` dataclass reflecting the current settings after applying the update.
7-
- Added `Image.logs`(/docs/sdk/py/latest/Image#logs) namespace to retrieve image build logs. This is useful for debugging image build failures. Use `Image.logs.fetch()` to fetch logs for multiple build layers and `Image.logs.tail()` to retrieve the latest build entries.
8-
- Added `App.logs`(/docs/sdk/py/latest/App#logs) namespace to retrive app logs directly from the SDk. The namespace has 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.
9-
- Added `Workspace.billing.rates()` and `modal billing rates` as frontends to programmatically get current pricing information.
10-
- Updated `target_concurrency` for `@app.server()` and `Server.update_autoscaler()` to support floating point values.

py/modal_version/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Copyright Modal Labs 2026
22
"""Supplies the current version of the modal client library."""
33

4-
__version__ = "1.5.3"
4+
__version__ = "1.5.4"

0 commit comments

Comments
 (0)