Skip to content

Releases: render-oss/sdk

TypeScript SDK v1.2.0

Choose a tag to compare

@mdbenjam mdbenjam released this 23 Sep 21:54
3ad842a

Added

  • (Workflows) startTask() and runTask() accept an options object with an idempotencyKey, 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 bare AbortSignal
  • (Workflows) ctx.metadata exposes taskRunId, rootTaskRunId and parentTaskRunId for 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, rootTaskRunId equals taskRunId and parentTaskRunId is undefined
  • (Sandbox) Snapshot names: snapshots.create() accepts name, and sandboxes.create() accepts snapshotName to start from the snapshot that name resolves to. SandboxCreateInput takes either snapshotId or snapshotName, not both
  • (Sandbox) The Sandbox type is exported, and sandboxes.create() is typed to return it

Changed

  • Regenerated the REST API types from the latest OpenAPI schema: blueprint creation, includePreviews when listing build sources, and allowed domains on sandbox network policies. Deploy no longer has a buildId field

Fixed

  • The npm package no longer ships e2e-helpers or .d.ts.map files
  • js-yaml is 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

Choose a tag to compare

@mdbenjam mdbenjam released this 23 Sep 21:50
68da4c0

Added

  • (Workflows) start_task() and run_task() accept a keyword-only idempotency_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.metadata exposes task_run_id, root_task_run_id and parent_task_run_id for the running task. The IDs come from the task's initial input, so reading them does not make a network request; each is None when unavailable
  • (Sandboxes) Snapshot names: snapshots.create() accepts name, sandboxes.create() accepts snapshot_name to start from the snapshot that name resolves to, and Snapshot exposes name. Passing both snapshot_id and snapshot_name raises ValueError

Changed

  • Regenerated the REST client from the latest OpenAPI schema: blueprint creation, include_previews when listing build sources, and allowed domains on sandbox network policies. Deploy no longer has a build_id field

Full Changelog: python/v1.1.0...python/v1.2.0

Python SDK v1.1.0

Choose a tag to compare

@emmax86 emmax86 released this 11 Sep 00:15

What's New

Added

  • (Sandboxes) sandboxes.list_groups(), async and sync, returning a SandboxGroupList of SandboxGroup snapshots and an optional next_cursor. Alpha guarantees at most one group per workspace, so the page holds zero or one group
  • (Sandboxes) Sandbox snapshots through sandboxes.snapshots, with create, from_id, list and delete, async and sync
  • (Sandboxes) Snapshot kind in snapshots.create(): filesystem captures the writable filesystem, runtime also captures memory and CPU state; optional expires_at
  • (Sandboxes) sandboxes.create() accepts snapshot_id to start from a snapshot instead of the base image
  • (Sandboxes) Snapshot error types SnapshotNotFoundError, SnapshotNotReadyError and SnapshotPlanMismatchError, each exposing the API error code when the API sends one
  • (Key Value) The size-based plan names (256mb, 1g, 5g, 10g, 20g, 40g) are accepted as InstanceConfiguration.plan for automatic provisioning
  • ClientError.code carries the API error code when the response includes one

Fixed

  • (Blueprints) ResourceRefType.WORKFLOW, so BlueprintDetail.from_dict parses a blueprint that declares workflows instead of raising ValueError

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

Choose a tag to compare

@emmax86 emmax86 released this 11 Sep 00:11

What's New

Added

  • (Sandbox) sandboxes.listGroups(), returning SandboxGroupWithCursor[] and taking an optional ownerId. Alpha guarantees at most one group per workspace, so the array holds zero or one group
  • (Sandbox) Sandbox snapshots through sandboxes.snapshots, with create, get, list and delete
  • (Sandbox) Snapshot kind in snapshots.create(): filesystem captures the writable filesystem, runtime also captures memory and CPU state; optional expiresAt
  • (Sandbox) sandboxes.create() accepts snapshotId to start from a snapshot instead of the base image
  • (Sandbox) Snapshot error types SandboxSnapshotNotFoundError, SandboxSnapshotNotReadyError and SandboxSnapshotPlanMismatchError, each exposing the API error code when the API sends one
  • (Key Value) The size-based plan names (256mb, 1g, 5g, 10g, 20g, 40g) are accepted by autoProvision.plan on keyValue.connectionInfo()
  • ClientError exposes the API error code when the response includes one

Full Changelog: https://github.com/render-oss/sdk/blob/main/typescript/CHANGELOG.md

Typescript SDK v1.0.0

Choose a tag to compare

@cal-smith cal-smith released this 21 Aug 19:03
66dfc92

What's New

Changed

  • Breaking (Workflows) Tasks now take a TaskContext as 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 a TaskDefinition rather than a wrapped function. A definition is not callable; use ctx.run to schedule it, or its func property to invoke it in-process
  • Breaking (Workflows) TaskFunction now takes a TaskContext as its first parameter
  • Breaking (Workflows) Removed getCurrentContext and setCurrentContext — the context is now passed explicitly

Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md

Python SDK v1.0.1

Choose a tag to compare

@cal-smith cal-smith released this 21 Aug 18:54
66dfc92

What's New

Changed

  • Breaking (Workflows) Tasks now take a TaskContext as 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.task returns a TaskDefinition rather than a TaskCallable. A definition is not callable; use ctx.run to schedule it, or its func attribute 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.run is fully typed: a task's inputs and result are inferred from its function signature, for sync and async bodies alike
  • (Workflows) TaskContext is a Protocol, so a test can supply its own stand-in without subclassing. The runtime implementation is exported as WorkflowTaskContext

Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md

TypeScript SDK v0.7.0

Choose a tag to compare

@render-tej render-tej released this 19 Aug 22:49

What's New

Added

  • Experimental Sandbox client
  • Sandbox life cycle through create, get, list and terminate, 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 upload and download

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

Choose a tag to compare

@render-tej render-tej released this 19 Aug 23:07

What's New

Added

  • Experimental Sandbox client, async and sync
  • Sandbox life cycle through create, from_id, list and terminate, 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_to and copy_from, for files and directories

Changed

  • Idempotent subtask submission
  • Moved openapi-python-client to dev dependencies

Full Changelog: https://github.com/render-oss/sdk/blob/main/python/CHANGELOG.md

TypeScript SDK v0.6.0

Choose a tag to compare

@mdbenjam mdbenjam released this 03 Jun 13:44

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

Choose a tag to compare

@mdbenjam mdbenjam released this 03 Jun 00:16

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