Skip to content

Commit f59b88f

Browse files
release: 1.17.0 (#780)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 11183e4 commit f59b88f

25 files changed

Lines changed: 336 additions & 33 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.16.0"
2+
".": "1.17.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 109
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-b0d4f639559e78ee64d536a35464cff1ef1928e92c2a32a0384dc887da662ef3.yml
3-
openapi_spec_hash: a822f02fec32ae89e2bc6a6f95b8845f
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/runloop-ai%2Frunloop-a1c7e69cbbf7a7cf63893358470cee52714633e6d31ce6dff2e7255c7445a1aa.yml
3+
openapi_spec_hash: a0e88c05a9b74c2bc9192bd7d94de3c0
44
config_hash: ecb1ff09d29b565ed1452b5e0362e64d

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## 1.17.0 (2026-04-09)
4+
5+
Full Changelog: [v1.16.0...v1.17.0](https://github.com/runloopai/api-client-python/compare/v1.16.0...v1.17.0)
6+
7+
### Features
8+
9+
* Add protocol, launch etc arguments to attach axon grpc, persist them in the db ([#8564](https://github.com/runloopai/api-client-python/issues/8564)) ([76ad33d](https://github.com/runloopai/api-client-python/commit/76ad33d7da11f4324b576f4b03a5eab437eecd2f))
10+
* **api:** add lifecycle configuration to launch parameters ([#8606](https://github.com/runloopai/api-client-python/issues/8606)) ([1dd716d](https://github.com/runloopai/api-client-python/commit/1dd716d820546f3d088ad61a714a0d5c219124f4))
11+
* stream kernel messages (kmsg) to devbox logs ([#8588](https://github.com/runloopai/api-client-python/issues/8588)) ([8f0ad67](https://github.com/runloopai/api-client-python/commit/8f0ad674d85e44b02aa0d708fe2037dbce6d5fca))
12+
13+
14+
### Bug Fixes
15+
16+
* **broker:** remove codex in favor of codex via acp ([#8602](https://github.com/runloopai/api-client-python/issues/8602)) ([118162e](https://github.com/runloopai/api-client-python/commit/118162e3b64d531c5e2b66f66d47724b01fefb1c))
17+
* **client:** preserve hardcoded query params when merging with user params ([5ce9b5d](https://github.com/runloopai/api-client-python/commit/5ce9b5d4cb882a93b802275622471086530146f0))
18+
* propagate git ref to maverick for git-based agents ([#8608](https://github.com/runloopai/api-client-python/issues/8608)) ([fc633d6](https://github.com/runloopai/api-client-python/commit/fc633d64b89ac81aa00cdf5f3528b7b9a2e61627))
19+
20+
21+
### Chores
22+
23+
* Cleanup remaining junk left over from browser and computer use ([#8553](https://github.com/runloopai/api-client-python/issues/8553)) ([ddccee2](https://github.com/runloopai/api-client-python/commit/ddccee245aaea07df9d7b6a9b307cb9cd77878cb))
24+
25+
26+
### Documentation
27+
28+
* fix typo, fix repoc/git-based agent mounts ignoring custom mount paths ([#8537](https://github.com/runloopai/api-client-python/issues/8537)) ([638bc7a](https://github.com/runloopai/api-client-python/commit/638bc7ac64b07b686d5ddbb6756ac9fabd42dc32))
29+
330
## 1.16.0 (2026-04-03)
431

532
Full Changelog: [v1.15.0...v1.16.0](https://github.com/runloopai/api-client-python/compare/v1.15.0...v1.16.0)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "runloop_api_client"
3-
version = "1.16.0"
3+
version = "1.17.0"
44
description = "The official Python library for the runloop API"
55
dynamic = ["readme"]
66
license = "MIT"

src/runloop_api_client/_base_client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,10 @@ def _build_request(
540540
files = cast(HttpxRequestFiles, ForceMultipartDict())
541541

542542
prepared_url = self._prepare_url(options.url)
543+
# preserve hard-coded query params from the url
544+
if params and prepared_url.query:
545+
params = {**dict(prepared_url.params.items()), **params}
546+
prepared_url = prepared_url.copy_with(raw_path=prepared_url.raw_path.split(b"?", 1)[0])
543547
if "_" in prepared_url.host:
544548
# work around https://github.com/encode/httpx/discussions/2880
545549
kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}

src/runloop_api_client/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "runloop_api_client"
4-
__version__ = "1.16.0" # x-release-please-version
4+
__version__ = "1.17.0" # x-release-please-version

src/runloop_api_client/resources/devboxes/devboxes.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,9 @@ def enable_tunnel(
761761
policies, resetting the idle timer. Defaults to true if not specified.
762762
763763
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
764-
resume. Defaults to false if not specified.
764+
resume. Defaults to false if not specified. Prefer
765+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
766+
both are set, lifecycle.resume_triggers.http takes precedence.
765767
766768
extra_headers: Send extra headers
767769
@@ -2394,7 +2396,9 @@ async def enable_tunnel(
23942396
policies, resetting the idle timer. Defaults to true if not specified.
23952397
23962398
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
2397-
resume. Defaults to false if not specified.
2399+
resume. Defaults to false if not specified. Prefer
2400+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
2401+
both are set, lifecycle.resume_triggers.http takes precedence.
23982402
23992403
extra_headers: Send extra headers
24002404

src/runloop_api_client/types/blueprint_view.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,7 @@ class BlueprintView(BaseModel):
7878
Services can be explicitly started when creating a Devbox.
7979
"""
8080

81-
devbox_capabilities: Optional[List[Literal["unknown", "computer_usage", "browser_usage", "docker_in_docker"]]] = (
82-
None
83-
)
81+
devbox_capabilities: Optional[List[Literal["unknown", "docker_in_docker"]]] = None
8482
"""Capabilities that will be available on Devbox."""
8583

8684
failure_reason: Optional[Literal["out_of_memory", "out_of_disk", "build_failed"]] = None

src/runloop_api_client/types/devbox_create_params.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,5 +153,7 @@ class Tunnel(TypedDict, total=False):
153153
wake_on_http: Optional[bool]
154154
"""
155155
When true, HTTP traffic to a suspended devbox will automatically trigger a
156-
resume. Defaults to false if not specified.
156+
resume. Defaults to false if not specified. Prefer
157+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
158+
both are set, lifecycle.resume_triggers.http takes precedence.
157159
"""

src/runloop_api_client/types/devbox_enable_tunnel_params.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ class DevboxEnableTunnelParams(TypedDict, total=False):
2121
wake_on_http: Optional[bool]
2222
"""
2323
When true, HTTP traffic to a suspended devbox will automatically trigger a
24-
resume. Defaults to false if not specified.
24+
resume. Defaults to false if not specified. Prefer
25+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
26+
both are set, lifecycle.resume_triggers.http takes precedence.
2527
"""

0 commit comments

Comments
 (0)