Releases: render-oss/sdk
Releases · render-oss/sdk
Release list
TypeScript SDK v1.2.0
Added
- (Workflows)
startTask()andrunTask()accept an options object with anidempotencyKey, which makes starting a run safe to retry: repeating a call with the same key within 24 hours returns the run the first call started. The third argument still accepts a bareAbortSignal - (Workflows)
ctx.metadataexposestaskRunId,rootTaskRunIdandparentTaskRunIdfor the running task. The IDs come from the task's initial input, so reading them does not make a network request. For a root run,rootTaskRunIdequalstaskRunIdandparentTaskRunIdisundefined - (Sandbox) Snapshot names:
snapshots.create()acceptsname, andsandboxes.create()acceptssnapshotNameto start from the snapshot that name resolves to.SandboxCreateInputtakes eithersnapshotIdorsnapshotName, not both - (Sandbox) The
Sandboxtype is exported, andsandboxes.create()is typed to return it
Changed
- Regenerated the REST API types from the latest OpenAPI schema: blueprint creation,
includePreviewswhen listing build sources, and allowed domains on sandbox network policies.Deployno longer has abuildIdfield
Fixed
- The npm package no longer ships
e2e-helpersor.d.ts.mapfiles js-yamlis pinned to 4.3.2 or later through an npm override, which resolves GHSA-2883-xcg3-v3hh
Full Changelog: typescript/v1.1.0...typescript/v1.2.0
Python SDK v1.2.0
Added
- (Workflows)
start_task()andrun_task()accept a keyword-onlyidempotency_key, which makes starting a run safe to retry: repeating a call with the same key within 24 hours returns the run the first call started - (Workflows)
ctx.metadataexposestask_run_id,root_task_run_idandparent_task_run_idfor the running task. The IDs come from the task's initial input, so reading them does not make a network request; each isNonewhen unavailable - (Sandboxes) Snapshot names:
snapshots.create()acceptsname,sandboxes.create()acceptssnapshot_nameto start from the snapshot that name resolves to, andSnapshotexposesname. Passing bothsnapshot_idandsnapshot_nameraisesValueError
Changed
- Regenerated the REST client from the latest OpenAPI schema: blueprint creation,
include_previewswhen listing build sources, and allowed domains on sandbox network policies.Deployno longer has abuild_idfield
Full Changelog: python/v1.1.0...python/v1.2.0
Python SDK v1.1.0
What's New
Added
- (Sandboxes)
sandboxes.list_groups(), async and sync, returning aSandboxGroupListofSandboxGroupsnapshots and an optionalnext_cursor. Alpha guarantees at most one group per workspace, so the page holds zero or one group - (Sandboxes) Sandbox snapshots through
sandboxes.snapshots, withcreate,from_id,listanddelete, async and sync - (Sandboxes) Snapshot
kindinsnapshots.create():filesystemcaptures the writable filesystem,runtimealso captures memory and CPU state; optionalexpires_at - (Sandboxes)
sandboxes.create()acceptssnapshot_idto start from a snapshot instead of the base image - (Sandboxes) Snapshot error types
SnapshotNotFoundError,SnapshotNotReadyErrorandSnapshotPlanMismatchError, each exposing the API errorcodewhen the API sends one - (Key Value) The size-based plan names (
256mb,1g,5g,10g,20g,40g) are accepted asInstanceConfiguration.planfor automatic provisioning ClientError.codecarries the API error code when the response includes one
Fixed
- (Blueprints)
ResourceRefType.WORKFLOW, soBlueprintDetail.from_dictparses a blueprint that declares workflows instead of raisingValueError
Changed
- Regenerated the REST client from the latest OpenAPI schema: the new compute plan identifiers, sandbox execution listing and retrieval, service disk usage events, and env group linking against artifact sources
Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md
TypeScript SDK v1.1.0
What's New
Added
- (Sandbox)
sandboxes.listGroups(), returningSandboxGroupWithCursor[]and taking an optionalownerId. Alpha guarantees at most one group per workspace, so the array holds zero or one group - (Sandbox) Sandbox snapshots through
sandboxes.snapshots, withcreate,get,listanddelete - (Sandbox) Snapshot
kindinsnapshots.create():filesystemcaptures the writable filesystem,runtimealso captures memory and CPU state; optionalexpiresAt - (Sandbox)
sandboxes.create()acceptssnapshotIdto start from a snapshot instead of the base image - (Sandbox) Snapshot error types
SandboxSnapshotNotFoundError,SandboxSnapshotNotReadyErrorandSandboxSnapshotPlanMismatchError, each exposing the API errorcodewhen the API sends one - (Key Value) The size-based plan names (
256mb,1g,5g,10g,20g,40g) are accepted byautoProvision.planonkeyValue.connectionInfo() ClientErrorexposes the API errorcodewhen the response includes one
Full Changelog: https://github.com/render-oss/sdk/blob/main/typescript/CHANGELOG.md
Typescript SDK v1.0.0
What's New
Changed
- Breaking (Workflows) Tasks now take a
TaskContextas their first parameter, followed by their inputs - Breaking (Workflows) Subtasks are reached through the context instead of by calling a task directly:
ctx.run(task, input)runs it on its own compute and resolves with its result - Breaking (Workflows)
task()returns aTaskDefinitionrather than a wrapped function. A definition is not callable; usectx.runto schedule it, or itsfuncproperty to invoke it in-process - Breaking (Workflows)
TaskFunctionnow takes aTaskContextas its first parameter - Breaking (Workflows) Removed
getCurrentContextandsetCurrentContext— the context is now passed explicitly
Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md
Python SDK v1.0.1
What's New
Changed
- Breaking (Workflows) Tasks now take a
TaskContextas their first parameter, followed by their inputs - Breaking (Workflows) Subtasks are reached through the context instead of by awaiting a task directly:
await ctx.run(task, input)runs it on its own compute and returns its result - Breaking (Workflows)
@app.taskreturns aTaskDefinitionrather than aTaskCallable. A definition is not callable; usectx.runto schedule it, or itsfuncattribute to invoke it in-process - Breaking (Workflows) Registering a task whose first parameter cannot receive a context now raises
ValueError - (Workflows) The context parameter is excluded from the parameter schema sent at registration
- (Workflows)
ctx.runis fully typed: a task's inputs and result are inferred from its function signature, for sync and async bodies alike - (Workflows)
TaskContextis aProtocol, so a test can supply its own stand-in without subclassing. The runtime implementation is exported asWorkflowTaskContext
Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md
TypeScript SDK v0.7.0
What's New
Added
- Experimental Sandbox client
- Sandbox life cycle through
create,get,listandterminate, filtering a list by one status or several - Environment variable support in
create() - Execution in a Sandbox via streaming
exec, recording the run command for the execution audit trail - File transfer to and from a Sandbox with
uploadanddownload
Changed
- Idempotent subtask submission
Fixed
- Workflows errors are no longer stringified by the SDK
- Retry the SSE stream on error in
taskRunEvents - Void-returning task functions no longer fail
Full Changelog: https://github.com/render-oss/sdk/blob/main/typescript/CHANGELOG.md
Python SDK v0.8.0
What's New
Added
- Experimental Sandbox client, async and sync
- Sandbox life cycle through
create,from_id,listandterminate, filtering a list by one status or several - Environment variable support in
create() - Execution in a Sandbox via streaming
exec, recording the run command for the execution audit trail - File transfer to and from a Sandbox with
copy_toandcopy_from, for files and directories
Changed
- Idempotent subtask submission
- Moved
openapi-python-clientto dev dependencies
Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md
TypeScript SDK v0.6.0
Added
- Experimental Key Value SDK client for provisioning and connecting to Render Key Value (Redis) instances, with automatic provisioning and service configuration sync
- Local development support for Key Value client creation
Fixed
- Don't error when no API token is set in dev mode
- Preserve JSDoc comments in build output
Python SDK v0.7.0
Added
- Experimental Key Value SDK for provisioning and connecting to Render Key Value (Redis) instances, with automatic provisioning and service configuration sync
- Local development support for Key Value client creation
Changed
- Lazy-load SDK modules to speed up worker cold start
- Hand-rolled the workflows callback API to slim the worker import graph
Fixed
- Don't error when no API token is set in dev mode
Full Changelog: python/v0.6.1...python/v0.7.0