Repository navigation
Tale v0.5.72
Highlights
- Chat can use OpenAI's GPT-6 models. GPT-6 Astra, GPT-6 Sol, GPT-6 Luna and GPT-6.1 Sol are
offered through an OpenAI API key or environment-variable credential, and Tale calls Astra and
GPT-6.1 Sol through the Responses API, the only way they make tool calls. Project agents and
automations run those two on Codex; another runtime now says so instead of refusing without a
reason. Subscription credentials are marked Tasks and automations only in Settings, and the
chat model list names the subscriptions it leaves out.
Run the GPT-6 models
· #4181 - A standing task that stays in Backlog or To do while its agent works is retried
automatically after a retryable failure, as long as its status, assignee, archive state and
review stay unchanged. Before, the task kept reporting a pending retry and held an idle agent.
Triggers
· #4187 - A workflow step whose sandbox workspace is being destroyed now fails at once with the reason,
instead of waiting up to two hours for room and then running in a fresh, empty workspace.
Sandboxes
· #4144 - A data-subject erasure completes only once the sandbox service confirms that the person's agent
workspaces are deleted. Until then its receipt reads Partial, and Retry finishes it
later. The audit log's Sandbox workspace deleted event also waits for that confirmation.
Data subject requests
· #4094 - Sandboxes hold up better under sustained load. They release finished command output,
disconnected readers and stalled streams, cap held-open input at 8 MiB, rotate the logs of
nested Docker containers, replay long runs faster and no longer repeat cleanup work that used
CPU. A package-cache volume deleted shortly after it was prepared comes back writable, so
package installs no longer fail with permission errors.
#4174,
#4182,
#4184,
#4185,
#4188,
#4154 - The sandbox runtime updates all nine bundled agent runtimes (Claude Code 2.1.285, Codex 0.160.0,
Cursor 2026.10.01, Gemini CLI 0.62.0, Hermes 0.19.0, OpenClaw 2026.9.8, OpenCode 1.18.34,
Pi 1.0.1 and Qwen Code 0.24.7) on Node 24.21.0. Qwen Code no longer starts the Playwright MCP
server on every turn; the server starts with the first browser tool call.
Harnesses
· #4140 - Fixes you can see in the app:
- Add credential shows a loading state while the provider or connector catalog loads,
instead of reporting that the deployment ships no provider files.
#4161 - Home drops a deleted or archived project's tasks and chats without a reload
(#4162), and shows the Draft badge for
a draft of literal code such as<Button />
(#4204). - Comments written by automations are labelled as automation instead of "Deleted agent".
#4164 - A recorded approval decision no longer answers with an error when waking the run fails
afterwards, and the approval card offers Try again when the approval cannot be loaded or
keeps Approve and Reject when a decision was not recorded.
Approvals in workflows
· #3881 - Adding teams to a project's audience one after another keeps every team
(#4197), and a renamed team shows its new
name in the open detail panel and editor
(#4193). - Product Create stays disabled while the product is saved, so a repeated click cannot send
a second request (#4198), and the product
list formats prices in the reader's locale
(#4205). - A queued or failed outbound mail and a chat message keep the attachment bytes they list, so
deleting the file no longer breaks the send or a later chat turn.
#4157 - A website's scan-failure alert no longer comes and goes with the page filter
(#4135), and the arrow, Home and End keys
select the focused option of a segmented control such as that filter
(#4163).
- Add credential shows a loading state while the provider or connector catalog loads,
- The front pages of the website, the documentation and the UI documentation are reworked, and
the pricing table names the data processing agreement as the service only Enterprise includes.
#4139,
#4148 - Operators can sample backend HTTP and worker spans through the existing Sentry integration. It
is off by default.
Observability
Upgrade notes
- The backend applies database migration
0149when it starts. It adds the state that standing
task retries need and an index on task activity, and it retires the pending retries of failed
standing-task runs from earlier versions without starting catch-up work; their history stays.
Building the index can lengthen the first start on an instance with a long task history. - Two optional environment variables, documented in the
environment reference,
change nothing until you set them:SANDBOX_DOCKER_WORKLOADSlimits which workloads may start Docker inside the sandbox when
the deployment enables it. The default,project,workflow, keeps today's behavior;project
runs workflow agents without Docker. It applies to sessions created afterwards. The
repository'scompose.ymlandtale deploypass it to the sandbox service; a hand-written
Compose file or manifest must pass it as well.BACKEND_SENTRY_TRACES_SAMPLE_RATE,0by default, samples backend HTTP and worker spans.
It needsSENTRY_DSNand a destination that accepts Sentry transactions. Recreate the
backend API and worker services after changing it.
- Without an explicit
SANDBOX_AGENT_MEMORY, a sandbox session without Docker inside now
defaults to4gof memory and a session with Docker to8g, even when other sessions in the
deployment use Docker. - The sandbox runtime image grows to about 6.0 GB on amd64 with the refreshed agent runtimes.
Allow for the larger pull and disk use. - Update the sandbox service and connected sandbox devices together with the platform. Older
versions cannot confirm workspace deletion, so erasure receipts remain Partial until those
services and devices are updated; retrying alone cannot fix the missing confirmation. - On Kubernetes, sandbox Pods that are still Pending count against admission, and maintenance
removes a Pod left Pending past its startup deadline plus 60 seconds while keeping its
workspace volume. A deleted workspace counts as erased once its volume is handed to the storage
provisioner; with aRetainreclaim policy, its files stay until you remove the volume.
Kubernetes - Known limitations: bytes that a queued mail or a chat message keeps are not removed when that
mail or chat ends, and a chat attachment can keep a document's bytes after a retention
destruction (#4208). GPT-6 models in chat
do not carry their reasoning across tool rounds within a turn. - The API contract stays at 3.15.0.
API contract changes
None in this range. The contract stays at 3.15.0: 139 operations.
What's Changed
- fix(sandbox): release resources safely under concurrent load by @yannickmonney in #4150
- fix(platform): end itest /events tails and exit a truncated run by @yannickmonney in #4133
- docs(manual): document the mock provider wiring for setup mode A by @yannickmonney in #4137
- test(platform): keep the RAG sweep's clock off the watchdog lanes by @yannickmonney in #4145
- fix(platform): fail a step whose workspace is being destroyed by @yannickmonney in #4144
- fix(sandbox): keep Qwen Code discovery from starting Playwright MCP by @yannickmonney in #4140
- feat(marketing-ui): rework the public website front pages by @yannickmonney in #4139
- fix: reduce stream retention and add performance telemetry by @yannickmonney in #4156
- fix(sandbox): refresh and harden all bundled harnesses by @yannickmonney in #4155
- fix(sandbox): keep erasure pending until workspace bytes are deleted by @yannickmonney in #4094
- fix(platform): decide a website's scan alert from the site's counts by @yannickmonney in #4135
- fix(sandbox): repair pruned cache volumes, keep the destroy mount lookup by @yannickmonney in #4154
- fix(web): name the DPA in the pricing table and resync de-CH by @yannickmonney in #4148
- fix(platform): keep bytes a pending mail or a chat message lists by @yannickmonney in #4157
- fix(sandbox): bound agent execution and recover session state by @yannickmonney in #4174
- feat(platform): run GPT-6 models in chat, subscriptions only in tasks by @yannickmonney in #4181
- fix(sandbox): release retained command memory and bound stdin by @yannickmonney in #4185
- docs(manual): qualify database-unavailable reporting expectations by @yannickmonney in #4180
- fix(sandbox): bound logs and repair persistent storage cleanup by @yannickmonney in #4182
- fix: show catalog loading state in credential picker by @yannickmonney in #4161
- fix(platform): invalidate home lists on project hints by @yannickmonney in #4162
- fix(platform): label reserved workflow comment authors as automation by @yannickmonney in #4164
- docs(manual): match RESP-F23 and RESP-F24 to the phone Home by @yannickmonney in #4175
- fix(sandbox): speed replay and harden session streams by @yannickmonney in #4188
- fix(ui): check segmented options on keyboard navigation by @yannickmonney in #4163
- fix(cli): verify release runs from the canonical main merge by @yannickmonney in #4074
- fix(platform): retain saved project audience before readback by @yannickmonney in #4197
- fix(sandbox): bound replay consumers and preserve agent output by @yannickmonney in #4170
- fix(sandbox): prevent accumulated cleanup and streaming CPU work by @yannickmonney in #4184
- fix(platform): preserve product create submission lifecycle by @yannickmonney in #4198
- fix(platform): resolve selected teams from current list by @yannickmonney in #4193
- fix(platform): retry unchanged standing agent tasks by @yannickmonney in #4187
- fix(platform): preserve literal plaintext draft badges in Home by @yannickmonney in #4204
- fix(platform): format product list prices in the reader's locale by @yannickmonney in #4205
- fix(platform): preserve approval decisions and scope card recovery by @yannickmonney in #3881
- fix(platform): narrow the contacts list by its locale filter by @yannickmonney in #4207
- fix(platform): date the Indexed dialog from epoch milliseconds by @yannickmonney in #4206
- fix(platform): apply the row menu's rule to contact bulk delete by @yannickmonney in #4215
- fix(sandbox): harden agent runs and resource recovery by @yannickmonney in #4189
- fix: gate package tags on release notes and trim Prepare's checkout by @yannickmonney in #4179
- fix(platform): isolate project overview drafts on navigation by @yannickmonney in #4229
- fix(platform): reject blank DSAR cooling-off hours by @yannickmonney in #4213
- fix(platform): preserve attachments when editing chat messages by @yannickmonney in #4223
- fix(platform): clear the product fields an edit empties by @yannickmonney in #4230
- fix(platform): preserve reviewer focus and explain policy refusals by @yannickmonney in #4232
- fix(platform): refuse comment and dependency writes on archived tasks by @yannickmonney in #4219
- docs: add v0.5.72 release notes by @yannickmonney in #4228
- fix(platform): arbitrate concurrent knowledge entry writes by @yannickmonney in #4225
- fix(platform): refuse a malformed body on project duplicate by @yannickmonney in #4236
- docs(platform): align phone Home project narrowing guides by @yannickmonney in #4240
- fix(platform): show active automation cursor by @yannickmonney in #4245
- fix(platform): preserve task comment drafts edited while saving by @yannickmonney in #4246
- fix(platform): require an identity when creating contacts by @yannickmonney in #4247
- fix(platform): discard a pending image upload with its product draft by @yannickmonney in #4253
- fix(platform): read quoted CSV cells across line breaks by @yannickmonney in #4235
- fix(platform): redact sandbox placements for developers by @yannickmonney in #4234
Full Changelog: v0.5.71...v0.5.72