⬆ Bump modal from 1.3.0.post1 to 1.3.1 in /packages/shared
Type: Pull Request
State: Open
Association: Unknown
Comments: 1
(5 months ago)
(5 months ago)
dependencies python
Bumps modal from 1.3.0.post1 to 1.3.1.
Changelog
Sourced from modal's changelog.
1.3.1 (2026-01-22)
- 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
upbimplementation.- As 3.14t images are not being published to the official source for our prebuilt
modal.Image.debian_slim()images, we recommend usingmodal.Image.from_registryto build a 3.14t Image:modal.Image.from_registry("debian:bookworm-slim", add_python="3.14t")- Note that 3.14t support is available only on the 2025.06 Image Builder Version.
- Support is still experimental, so please share any issues that you encounter running 3.14t in Modal containers.
- It's now possible to provide a
custom_domainfor amodal.Sandbox:Note that Sandbox custom domains work differently from Function custom domains and must currently be set up manually by Modal; please get in touch if this feature interests you.sb = modal.Sandbox.create(..., custom_domain="sandboxes.mydomain.com")- We added a new
modal token infoCLI command to retrieve information about the credentials that are currently in use.- We added a
--timestampsflag to a number of CLI entrypoints (modal run,modal serve,modal deploy, andmodal container logs) to show timestamps in the logging output.- The automatic CLI creation for
modal runentrypoints now supportsLiteraltype annotations, provided that the literal type contains either allstror allintvalues.- We've fixed a bug that could cause App builds to fail with an uninformative
CancelledErrorwhen the App was misconfigured.- We've improved client resource management when running
modal.Sandbox.exec, which avoids a rare thread race condition.1.3.0 (2025-12-19)
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.
We are adding experimental support for detecting cases where Modal's blocking APIs are used in async contexts (which can be a source of bugs or performance issues). You can opt into runtime warnings by setting
MODAL_ASYNC_WARNINGS=1as an environment variable orasync_warnings = trueas a config field. We will enable these warnings by default in the future; please report any apparent false positives or other issues while support is experimental.This release also includes a small number of deprecations and behavioral changes:
- The Modal SDK will no longer propagate
grpclib.GRPCErrortypes out to the user; our ownmodal.Errorsubtypes will be used instead. To avoid disrupting user code that has relied onGRPCErrorexceptions for control flow, we are temporarily making some exception types inherit fromGRPCErrorso that they will also be caught byexcept grpclib.GRPCErrorstatements. Accessing the.statusattribute of the exception will issue a deprecation warning, but warnings cannot be issued if the exception object is only caught and there is no other interaction with it. We advise proactively migrating any exception handling to use Modal types, as we will remove the dependency ongrpclibtypes entirely in the future. See themodal.exceptiondocs for the mapping from gRPC status codes to Modal exception types.- The
max_inputsparameter in the@app.function()and@app.clsdecorators has been renamed tosingle_use_containersand now takes a boolean value rather than an integer. Note that onlymax_inputs=1has been supported, so this has no functional implications. This change is being made to reduce confusion with@modal.concurrent(max_inputs=...)and so that Modal's autoscaler can provide better performance for Functions with single-use containers.- The async (
.aio) interface has been deprecated frommodal.FunctionCall.from_id,modal.Image.from_id, andmodal.SandboxSnapshot.from_id, because these methods do not perform I/O.- The
replace_bytesanddelete_bytesmethods have been removed from themodal.file_iofilesystem interface.- Images built with
modal.Image.micromamba()using the 2023.12 Image Builder Version will now use a Python version that matches their local environment by default, rather than defaulting to Python 3.9.1.2
1.2.6 (2025-12-16)
- Fixed bug where iterating on a
modal.Sandbox.execoutput stream could raise unauthenticated errors.1.2.5 (2025-12-12)
- It is now possible to set a custom
name=for a Function without usingserialized=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 shellwith a Modal Image ID (modal shell im-abc123). Additionally,modal shellwill now warn if you pass invalid combinations of arguments (like--cputogether with the ID of an already running Sandbox, etc.).- Fixed a bug in
modal shellthat caused e.g.vito fail with unicode decode errors.- Fixed a thread-safety issue in
modal.Sandboxresource cleanup.- Improved performance when adding large local directories to an Image.
- Improved async Sandbox performance by not blocking the event loop while reading from
stdoutorstderr.
... (truncated)
Commits
2a31e94Release v1.3.1 of the Python SDK (#32651)e35ff6dRelease modal client 1.3.1.dev35 (#32612)f7c045cUpdate dependency astral-sh/uv to v0.9.26 (#32600)8d44e82Use local changelog for docs page (#32508)99f3871Update Modal client version (#32524)fa34c82Update Modal client version (#32505)0f980daCopybara configuration to push changes to public client repo (#32305)db254b3Manually sync client on last time (#3904)0f94603Remove release workflow from this repo (#3903)9689e5c[auto-commit] [skip ci] Bump the build number- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Package Dependencies
modal
pip
1.3.0.post1 → 1.3.1
Patch
/packages/shared
Technical Details
| ID: | 13138769 |
| UUID: | 3852506376 |
| Node ID: | PR_kwDORAsO4s6_MhtF |
| Host: | GitHub |
| Repository: | Driver-Adam-Testing/python-backend-test-g |