Skip to content

release: 1.13.1#765

Merged
dines-rl merged 6 commits intomainfrom
release-please--branches--main--changes--next
Mar 25, 2026
Merged

release: 1.13.1#765
dines-rl merged 6 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app bot commented Mar 25, 2026

Automated Release PR

1.13.1 (2026-03-25)

Full Changelog: v1.13.0...v1.13.1

Features

Bug Fixes

  • broker: broker protocol renames for clarity / future proof (#8285) (4f07960)

Chores

  • ci: skip lint on metadata-only changes (b276bc4)
  • tests: bump steady to v0.19.7 (2f380b6)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 4951ecc to c2b894e Compare March 25, 2026 01:40
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Mar 25, 2026

🧪 Testing

To try out this version of the SDK:

pip install 'https://pkg.stainless.com/s/runloop-python/d3135f4791d18c685981d3cb959568d36414ac81/runloop_api_client-1.13.0-py3-none-any.whl'

Expires at: Fri, 24 Apr 2026 02:27:15 GMT
Updated at: Wed, 25 Mar 2026 02:27:15 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch 2 times, most recently from 363b630 to ca4ae65 Compare March 25, 2026 02:10
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from ca4ae65 to f50438b Compare March 25, 2026 02:27
@dines-rl dines-rl changed the title release: 1.14.0 release: 1.13.1 Mar 25, 2026
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Mar 25, 2026

Release version edited manually

The Pull Request version has been manually set to 1.13.1 and will be used for the release.

If you instead want to use the version number 1.14.0 generated from conventional commits, just remove the label autorelease: custom version from this Pull Request.

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from f50438b to 462c331 Compare March 25, 2026 02:28
@dines-rl dines-rl enabled auto-merge (squash) March 25, 2026 02:40
@dines-rl dines-rl merged commit cee8ae7 into main Mar 25, 2026
7 checks passed
@dines-rl dines-rl deleted the release-please--branches--main--changes--next branch March 25, 2026 02:41
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Mar 25, 2026

tode-rl added a commit that referenced this pull request Apr 1, 2026
- Create CancellationToken class with sync/async event support
- Update poll_until() and async_poll_until() with cancellation_token parameter
- Add cancellable sleep using threading.Event.wait() and asyncio.wait_for()
- Update PollingRequestOptions TypedDict with cancellation_token field
- Propagate cancellation_token through Blueprint and ScenarioRun polling methods

Part of porting TypeScript PR #765 features to Python SDK.
tode-rl added a commit that referenced this pull request Apr 1, 2026
- Update Blueprints: await_build_complete, create_and_await_build_complete
- Update ScenarioRuns: await_scored, score_and_await
- Update Devboxes: await_running, await_suspended, create_and_await_running
- Update DiskSnapshots: await_completed
- Update Executions: await_completed
- Update SDK wrappers: ScenarioRun.await_env_ready
- Add comprehensive docstrings with PollingCancelled exception

All methods support both sync and async variants.
Part of porting TypeScript PR #765 features to Python SDK.
tode-rl added a commit that referenced this pull request Apr 1, 2026
- Update AsyncScenarioRun.await_env_ready to pass cancellation_token
- Completes cancellation support across all SDK polling operations

Part of porting TypeScript PR #765 features to Python SDK.
tode-rl added a commit that referenced this pull request Apr 1, 2026
- Add AxonSubscribeSseParams with after_sequence parameter (internal use only)
- Wrap subscribe_sse() with ReconnectingStream/AsyncReconnectingStream
- Automatically resume from last received event on timeout using sequence-based offset
- Add opt-out via RAW_RESPONSE_HEADER for users who want raw streams
- after_sequence is handled internally by reconnector, not exposed in public API

Per code review feedback from @dines-rl on TypeScript PR #765:
'after_sequence should just be a variable in the reconnector for follow-up'

Part of porting TypeScript PR #765 features to Python SDK.
tode-rl added a commit that referenced this pull request Apr 1, 2026
Add extensive test coverage for:

1. CancellationToken class (test_cancellation.py):
   - Thread-safe cancellation behavior
   - Sync and async event handling
   - Lazy async event creation
   - raise_if_cancelled() method
   - Multiple tokens independence
   - Cross-thread cancellation

2. Polling with cancellation (test_polling.py):
   - Cancellation before first poll
   - Cancellation during polling loop
   - Cancellation during sleep with immediate wake-up
   - Cancellation with error handlers
   - Backward compatibility (None token)
   - Multiple polls with same token

3. Async polling with cancellation (test_polling_async.py):
   - All sync tests adapted for async
   - Concurrent polling with shared token
   - Cancellation from different async tasks
   - asyncio.TimeoutError handling

4. SSE auto-reconnect for Axons (test_axon_sse_reconnect.py):
   - ReconnectingStream/AsyncReconnectingStream usage
   - Sequence-based resumption after disconnect
   - RAW_RESPONSE_HEADER opt-out mechanism
   - Missing/None sequence handling
   - Request options preservation
   - AxonSubscribeSseParams structure

Total: 60+ new test cases ensuring robustness of both features.

Part of porting TypeScript PR #765 features to Python SDK.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant